モジュールの管理

Drupal システムでは、各機能はひとまとまりのファイルとして機能ごとにディレクトリに区分けされ、それらはモジュールと呼ばれている。

各機能がファイルとして完全に独立していることでシステムの拡張性が確保され、各ユーザーは自身が必要とするモジュールのみを組み込み、不必要と思われるものは自由に取り外すことが出来る。

Drupal 6 に元から含まれる拡張モジュール(任意コアモジュール)は以下の通り

  • Aggregator 他サイトからRSS/RDF/Atomフィードで配信されるコンテンツを収集する。
  • Blog ブログモジュール。
  • Blog API XML-RPC APIをサポートする外部アプリケーションから、コンテンツを投稿できるようにする。
  • Book サイトページを階層やアウトラインで構成できるようにする。
  • Color このモジュールに対応したテーマは配色を変更できるようになる。
  • Comment  掲載されたコンテンツにユーザがコメントを付けられるようになる。
  • Contact  個人用とサイト用のコンタクトフォームを利用できるようにする。
  • Content translation  コンテンツを多言語対応にする。
  • Database logging システムイベントをデータベースに記録する。
  • Forum 掲示板。
  • Help オンラインヘルプの表示を管理する。
  • Locale  言語処理の機能性を加え、ユーザインターフェイスを英語以外の言語へ翻訳できるようにする。
  • Menu  管理者がサイトのナビゲーションメニューをカスタマイズできるようにする。
  • OpenID  OpenID を使用してサイトへのログインができるようにする。
  • Path  URLのエイリアス(別名)を定義できるようにする。
  • PHP filter  埋め込まれたPHPコードやスニペットを評価(実行)するようにする。
  • Ping  サイトが更新された際に他のサイトへ通知するようにする。
  • Poll 多肢選択の質問形式で投票ができるようにする。
  • Profile  ユーザプロフィールを使用可能にする。
  • Search  キーワード検索が機能を提供する。
  • Statistics  サイトアクセスの統計情報を記録して、さまざまな形式で表示できるようになる。
  • Syslog  システムイベントを記録する。
  • Taxonomy コンテンツにタグやキーワードをつけられるようにする。
  • Throttle  サイトの混雑を制御するための自動スロットルメカニズムを組み込む。
  • Tracker  ユーザが最近の投稿を手早く知ることができるようになる。
  • Trigger 特定のシステムイベント(「新規コンテンツの作成時」のような)をトリガとして、任意の行動を起こせるようにする。
  • Update status Drupalやインストール済みのモジュールやテーマのアップデート状況を確認する。
  • Upload  ユーザがファイルのアップロードとコンテンツへの添付ができるようになる。

モジュールは組み込んだだけでは機能しない。モジュール管理ページで該当するモジュールを有効にして、初めてそのモジュールの機能が使用可能になる。 

モジュールの管理画面は 管理セクション>サイトの構築>モジュール(admin/build/modules) から開く。
モジュールリスト

モジュールリストの横にある”有効”のチェックボックスにチェックをいれ、設定を保存すればモジュールが稼動する。その後それぞれのモジュールの設定画面などからモジュールの詳細設定をおこなうことになる。

 モジュールの追加

コアモジュールのみで機能的に問題なくサイトを運営することが可能だが、これ以外にもいろいろなモジュールが公開されている。どのようなモジュールが存在するかは公式サイトのモジュールリストモジュール紹介サイトを参照してほしい。

各コアモジュールは Drupal 設置ディレクトリ下の modules ディレクトリに各サブディレクトリとして配置されている。独自に追加モジュールを組み込む場合はここに置くのは好ましくない。厳密に言えばここにここに配置しても動作はするが、パーミッションの問題や、メンテナンス上の問題が発生する可能性もある。ではどこに配置するのかというと、Drupal 設置ディレクトリ下の sites\all\modules ディレクトリーの中である。modules ディレクトリと同じ階層にはthemes ディレクトリも存在する。テーマにしろモジュールにしろ、ユーザーが後から追加する一般的なファイル群はここに置くことが推奨されている。

では実際に何かモジュールを追加してみよう。ここでは例として画像のズームやスライドショーといった表示のサポートをおこなってくれる lightbox2 モジュールを組み込んでみたいと思う。

まずは公式サイトなどからモジュールのパッケージをダウンロードしてくる。Drupal6 に対応したバージョンをダウンロードすること。モジュールファイルは圧縮されているので適当な場所に解凍する。lightbox2 というフォルダが解凍されるので、lightbox2 フォルダをそのままサーバーにアップロードすれば良い。アップロードする場所は、ルートディレクトリ\sites\all\modules の中だ。

 アップロードが終わったら、サイトを開いて、管理セクション>サイトの構築>モジュール(admin/build/modules) と進み、モジュールリストを表示させよう。正常に組み込まれていれば、リストのしたに lightbox2 モジュールが追加されているはずだ。
Lightbox モジュールリスト

これだけではモジュールは機能しない。リストの横にあるチェックボックスをチェックし設定の保存をおこなう。自動的にモジュールがインストールされ、必要なファイルが組み込まれた旨のメッセージが表示される。これでモジュールが有効になったはずだ。

lightbox2 モジュールが実際に有効になっているかどうか確かめてみよう。

適当に新規コンテンツ(pageなど)を作成する。コンテンツの作成>ページ、を選択すれば良い。タイトルに 「lightbox テスト」 と入力し、本文に以下のHTMLコードを書く

<a rel="lightbox" href="http://drupal.mayonakanouta.com/sites/
drupal.mayonakanouta.com/files/img/ss_module_list_lb.png
">
<img title="Lightbox モジュールリスト" alt="Lightbox モジュールリスト" width="200" height="122" src="http://drupal.mayonakanouta.com/sites/
drupal.mayonakanouta.com/files/img/ss_module_list_lb_tmn.png
" /></a>

入力書式を FullHtml にするのを忘れないこと。そうしないとHTMLが評価されず、imgタグが表示されない。

lightbox2では表示したい画像へのアンカータグ内に rel="lightbox" という要素を持たせることでリンク先の画像ファイルをlightboxモジュールで表示させるかどうかを判断する。

正常にlightbox2モジュールが機能していれば、サムネイル画像をクリックするとリンクで指定した画像が画面上にオーバーレイで表示されるようになる。 

以上のような手順で必要な拡張モジュールを追加していき、サイトをより充実したものへと仕上げていくことが出来る。