マイコミジャーナル

知りたい!を刺激する総合専門サイト


  1. エンタープライズ

  2. SE力
  3. コラム
  4. Yet Another 仕事のツール

【コラム】

Yet Another 仕事のツール

74 DrupalをBlogとして使う

2005/07/26

鶴田展之

Drupalは高機能なCMSだが、インターネット上の資料を漁ってみると、XOOPSなどほかのCMSとは異なり、主に「Blog」としての機能に焦点が当てられていることが多い。特に、Blogの実装としてはベンチマーク的な存在になっている「MovableType」との互換性の高さは、Drupalのセールスポイントのひとつになっているようだ。最近は某社の有名な社長をはじめ、Blogを仕事に活かしている例も多い。今回はDrupalをBlogとして使うための設定を行ってみよう。

個人的なBlogとして使う分には、インストール直後の素のDrupalでも充分だ。管理者アカウントで「ストーリー」を作成し、書きたいことを書けばよい。が、ひとつのDrupal上に複数ユーザのBlogを展開したい場合は、モジュールとして提供されている「blog」を有効にする必要がある。メニューの「管理」から「モジュール」を開き、「blog」モジュールの「有効」チェックボックスをオンにしよう。

画面最下部の「設定の保存」ボタンをクリックすればblogモジュールが有効になり、メニューの「コンテンツの作成」にも、コンテンツの種類として「個人のブログエントリー」が追加される。

さて、管理者以外の一般ユーザがBlogを書けるようにするには、管理者がユーザに対して投稿を許可しておく必要がある。「管理」-「アクセス権の管理」を開き、「blog」モジュールの「自分のブログの編集」を「authenticated user」パーミッションに対して許可しておこう。

これで、Drupalに登録済みのユーザは、ログイン後にBlogを書ける状態になった。試しに、記事をひとつ書いてみよう。

記事の投稿が完了すると、これまでトップページに表示されていた解説文が消え、代わりに、投稿したブログの記事が表示されている。

LAMP環境があらかじめ整っていることが前提なら、Blogを書き始めるまでの導入プロセスは、MovableTypeと比べてもDrupalの方が簡単だろう。複数のユーザが利用する際の設定手順もわかりやすく、操作の手順も少なくて済む。

簡単ついでに、サイト全体をもう少しBlogらしくしてみよう。過去記事のアーカイブへのアクセスを容易にするためのカレンダーを使ったインタフェースと、RSS/RDFシンジケーションの機能を追加する。Drupalではこれらの機能もあらかじめモジュールとして用意されているので、「管理」-「モジュール」から「aggregate」と「archive」を有効にすればよい。

ただ、Blogの記事コンテンツと違い、これらのモジュールの機能を画面に表示させるためには、もう1ステップ設定が必要だ。aggregate、archiveモジュールを有効にすると、それぞれの「ブロック」が利用できるようになる。「管理」メニューから「ブロック」を開いてみよう。

「アーカイブを参照するカレンダー」と「シンジケート」というブロックがあるのがわかるだろう。この「ブロック」の概念はXOOPSとだいたい同じだ。ブロックは、まず画面の左右に配置される「サイドバー」のどちらに表示するかを選択できる。その上で、上下のどこに表示するかを「表示順」として設定すればよい。ここでは、カレンダーとシンジケートのブロックを、右サイドバーに表示してみよう。それぞれに「有効」をチェックし、「サイドバー」は「右」を選択する。「表示順」はカレンダーを「0」、シンジケートを「1」としよう。「ブロックの保存」をクリックすると、画面の右にサイドバーが表示され、カレンダーとシンジケートブロックが表示される。

カレンダーから日付をクリックすれば、その日に書かれた記事が表示される。また、Mac OS XのSafariのようなRSSリーダ機能を持つブラウザなら、シンジケートの「XML」アイコンをクリックすると記事の一覧が表示される。

もちろん、他のBlogやCMS上からDrupalサイトのRSS/RDFを参照し、ニュースとして配信してもらうことも可能だ。

今回いくつかの基本的なモジュールを使ってみたが、Drupalが優れているのは、この「機能が徹底的にモジュールに分けて実装されている」点だと言える。DrupalはCMS(コンテンツ管理システム)であると同時に、「CMF (コンテンツ管理フレームワーク)」でもあり、そのアーキテクチャは、「Drupal Core」と呼ばれる基本モジュール群の上に、様々な機能を個別のモジュールとして追加していくように設計されている。元の設計の綺麗さが、操作性の統一感や拡張性の高さに反映しているという意味で、LAMPアプリケーション開発の模範的な例のひとつに挙げられるだろう。


特別企画


注目サイト