コンテンツ移行のお知らせ ~ Drupal to WordPress

 announce, article  Comments Off on コンテンツ移行のお知らせ ~ Drupal to WordPress
Feb 122011
 

当サイトをDrupal 6.20からWordPress 3.0.5に移行しました。以下のサイトに掲載されているSQLを使ってます。
How I migrated a client’s blog from Drupal to WordPress 3.0 » underdog of perfection [ a blog on technology, music and geek culture from room34.com ]

Drupalは7にアップグレードするか悩んだのですが、6からの移行手順が存在しているWordPressにもう一度戻ってみることにしました。

DrupalはblogよりもCCKやWorkflowを使ったProject/Issue管理系での利用に興味があるので、そちらでの試用は続けるつもりです。

Jan 302009
 

safe modeの制約で動かないモジュールがあったり不便なので、CGIモードに変更した。

.htaccessに以下を追記。

AddHandler application/x-httpd-phpcgi .php

.htaccessのPHP関連設定はCGIだと効かなくなってしまうので、php.iniを作成して設定。

magic_quotes_gpc              = Off
register_globals              = Off
session.auto_start            = Off
mbstring.http_input           = pass
mbstring.http_output          = pass
mbstring.encoding_translation = Off

最初sites/default/settings.phpにini_set()で設定しようと思ったが、register_globalsは無理だったのでphp.iniにした。

参考:
PHPをCGIとして動かす方法について – CORESERVER.JP:コアサーバー

Oct 202008
 

PiwikというWebアクセス解析ツールがあります。
Piwik – Web analytics – Open source
トップページの情報によればphpMyVisitesの後継とのこと。

Note: piwik is the new version of phpMyVisites

こちらはDrupalのモジュール情報で知ったのですが、2種類のモジュールがあるようです。

両方ともPiwik用のトラッキングコード埋め込みと、DrupalからのPiwikレポート参照をサポートしているようです。

Jul 062008
 

Drupal-5の頃はAdSenseモジュールを使っていたのですが、今回は単なるBlockにして復活させました。

JavaScriptのコードを貼り付けるだけなのですが、普通のInput formatですと改行コードフィルタが入っていてよろしくないので、Filtersを全部無効にしたInput formatを用意してBlockを作成しています。
ほんとは”HTML Corrector”だけでも有効にしたかったのですが、<!–のコードが&lt;!–に変換されてしまってよろしくなかったので。
手っ取り早くやりたい人はPHP codeで作成すればよいようです。

以前のAdSenseモジュールですと表示させるユーザを細かく制御できて便利だったのですが、今回はBlock設定の”Role specific visibility settings”で、anonymous userだけにチェックを入れることで、(認証済みの)自分が間違ってクリックしてしまうのを予防しています 🙂

Drupal 6.2にアップグレード

 announce, article  Comments Off on Drupal 6.2にアップグレード
Apr 132008
 

Drupal 6.2にアップグレードした。モジュールは6非対応も結構あったけど、なんとかなると思ったので。
ところがアップグレード自体はうまくいったものの、最近投稿したblogエントリーを匿名ユーザで参照できないことが発覚。
原因がよくわからず管理メニューをうろうろしていると、Administer » Content managementのPost settingsで”Rebuild permissions”という表示が。こちらをクリックしたところ、無事表示されるようになった。

ついでにDefault ThemeもBlue Barsに変更。

Google AdSenseを設定してみました

 announce, article  Comments Off on Google AdSenseを設定してみました
Nov 072007
 

Google AdSenseを申し込んでみたらすぐに審査が通ったようなので設定してみました。

DrupalはAdSenseモジュールを入れれば簡単に設定できます。

  • Google AdSenseのサイトで「コンテンツ向け AdSense」の設定をし、AdSense用のIDを入手する。この時点では広告のタイプとか選ばなくてもOK。
  • “Administer » User management » Profiles”にいって、single-line textfieldとしてprofile_google_adsense_client_idフィールドを定義する。
    名前は”Google AdSense client ID”などとし、Private fieldに設定しておく。
  • 実際のUser ProfileにAdSenseのIDを設定する。
  • AdSenseモジュールの設定で、”Google AdSense client ID profile field”にprofile_google_adsense_client_idに設定した名前を選択する。
  • “Administer » Site building » Blocks”でAdSense用のブロックを定義する。広告のタイプはここで選ぶ。

あとは広告が表示されるのを待つだけ。

あとはAdSenseモジュールの設定で”Placeholder when ads are disabled?”というオプションがあるので、これをチェックしておくとAdSense IDを設定したユーザでは広告が表示されなくなり誤クリックを予防できます。これは便利。

Google Analyticsモジュールでも認証ユーザにはトラッキングコードを出さないようにできたり、やはり細々と配慮が行き届いてます。

Drupalテーマ変更 – Tech

 announce, article  Comments Off on Drupalテーマ変更 – Tech
Nov 012007
 

DrupalのデフォルトテーマをTechに変更してみました。
コンテンツ内のリストマーカーがはみ出してしまってるのが気になりますが…
non-zeroのときもそうだったのですが、スタイルシートに

#content ul{
  margin-left: 1em;
}

などを追加してあげればちょっとは改善するものの、他の部分にも微妙に影響が出るので、適用しようか否か悩んでます。

Jun 172007
 

DrupalのXML Sitemapモジュールが動いてませんでした。一時ファイルの出力に失敗しているようです。

The selected file ${tmp}/fileRKrk1l could not be copied.
The selected file ${tmp}/filexlYRBg could not be copied.
warning: readfile() [function.readfile]: Unable to access ${tmp}/drupal_gsitemap/${hostname}/index.xml.gz in /path/to/sites/all/modules/gsitemap/gsitemap.module on line 570.
warning: readfile(${tmp}/drupal_gsitemap/${hostname}/index.xml.gz) [function.readfile]: failed to open stream: Success in /path/to/sites/all/modules/gsitemap/gsitemap.module on line 570.

PHP Safeモードの問題なので、一時ディレクトリをあらかじめ作成し、所有者がウェブサーバの実行ユーザにならないようにして解決。

$ mkdir ${tmp}/drupal_gsitemap
$ mkdir ${tmp}/drupal_gsitemap/${hostname}
$ chmod -R +w ${tmp}/drupal_gsitemap

XREAでDrupalを使うなら、素直にCGIモードで動かしたほうがいいのかも。

Mar 112007
 

Drupalを日本語環境で使う場合、mbstring関係の設定をおこなう必要があります。

.htaccessに書く方法

Drupal 5 インストール – ステップ1 | ≡ Drupal Japan ≡でも紹介されている方法です。

php_value mbstring.language                     "neutral"
php_value mbstring.http_input                   "pass"
php_value mbstring.http_output                  "pass"
php_flag  mbstring.encoding_translation         off
php_value mbstring.func_overload                "0"
php_value mbstring.internal_encoding            "UTF-8"

php.iniに書く方法

cgi環境の場合、.htaccessは効きません。php.iniをいじれる場合はphp.iniに書くことも可能です。

mbstring.language = neutral
mbstring.http_input = pass
mbstring.http_output = pass
mbstring.encoding_translation = off
mbstring.func_overload = 0
mbstring.internal_encoding = UTF-8

site/default/settings.phpに書く方法

cgi環境でphp.iniに手を加えられない場合はsite/default/settings.phpに設定する方法もあります。

ini_set('mbstring.language',                    'neutral');
ini_set('mbstring.http_input',                  'pass');
ini_set('mbstring.http_output',                 'pass');
ini_set('mbstring.encoding_translation',        0);
ini_set('mbstring.func_overload',               '0');
ini_set('mbstring.internal_encoding',           'UTF-8');

site/default/settings.phpに限らず、必ず読み込まれるファイルがあればどれでもOKな筈です。

私はmod_php環境でもcgi環境でも使えるように、site/default/settings.phpに書くようにしています。

Mar 112007
 

Google Co-opをDrupal上で使えないものかと試してみました。
結論からいいますと、javascriptのコードを一部変更して無事動いてます(qパラメータをas_qに変更)。

最初はGoogle Co-opのColtrol Panelで”Search box and search results code for your website”にでているコードを貼り付ければいいのかと、単純に思ってたのですが。

ブロックとして検索ボックスを作成

Administer->Blocksで右メニューに表示するブロックを作成し、Google Co-opのColtrol Panelで
“Paste this code in the page where you’d like your search box to appear.”
に表示されているコードを貼り付けます。このとき”<input name=”q” ~”の部分を”<input name=”as_q” ~”に変更する必要があります。

検索結果表示ノードを作成

PageコンテンツとしてGoogle Co-opのColtrol Panelで
“Place this code in the page you’d like your search results to appear.”
に表示されているコードを貼り付けます。
フォーマットはFull HTMLで、
“Specify the URL of the page on your site where you want the search results to appear:”
に設定したURLでアクセスできるようにAliasを設定しておきます。

検索内容によっては一部文字化けすることもあるようですが、問題なく動きました 😀

最初はas_qに変更することを知らずに「Page not found」になって悩みました。
いろいろウェブを徘徊していたら見つかったのが以下の情報で、qパラメータがDrupalとバッティングしてしまうので、as_qに変更すればよいとのことでした。