Drupal の特徴
よし、Drupal が CMS の一種だっていうのは分かった。でも、CMS って沢山あるんでしょ? Drupal の特徴って何なの?
これを書いている時点では、僕は残念ながらほかの CMS を深くいじったことがないので、これから書くことにはかなり主観に満ちていることを予め断っておくけれど、ぼくが考える Drupal の特徴は以下のようなものだ。
- 高い拡張性。または柔軟性。
- 安定性。
- すぐれたユーザーおよび権限管理。
高い拡張性。または柔軟性。
Drupal をダウンロードしてきてサーバーに設置しても、すぐに使える機能はすごく限られている。せいぜいほかのブログ向け CMS と同様、テキストベースのコンテンツを書き連ねて、それがトップページに新しいものから順に表示される、という程度のもの。あと、Drupal がコミュニティサイトのために作られたっていう背景があるから、フォーラム(会議室、討論欄とでも訳すのかな?)を開設することができる。でもその程度。ひどい話、そのまんまだと画像のアップロード・貼り付けすらできやしない。
でも、その貧弱に見える見た目の裏には、ものすごく洗練された機能向上のための仕掛けが隠されている。Drupal はコンテンツの作成や表示などの処理を行うとき、さまざまな段階でフックと呼ばれる「ほかのプログラムが割り込みできる仕組み」を提供している。このフックシステムを利用することで、テキスト以外のさまざまなタイプのコンテンツが扱えるようになったり、インターネット上のほかのサービス(たとえば Flickr、Youtube など)と連携をしたり、また何か特定のイベント(たとえば新ユーザーの登録など)が起きた時に特定のアクションを起こす(たとえばサイト管理者に通知メールを出すなど)といった機能拡張を可能にしている。でも、機能を拡張するためにはプログラミングが必要なんじゃないの、って心配かもしれないね。実は Drupal っていうのはソフトウェアであると同時に、そのソフトウェアを支援するコミュニティでもあるんだ。そしてそのコミュニティには数千〜数万という世界中のプログラマーが参加していて、彼らが作った機能拡張プログラム(モジュールって呼ばれている)を無料で公開してくれているんだ。その数は実に数千。だから、よほどあなたがひねくれていない限り、あなたの求める機能はすでに提供されているか、複数のモジュールを上手く組み合わせることで実現できると考えて、まず間違いない。
