Drupal

as a Flamework

for Web Application

ウェブのアプリケーション化が進む今日、ウェブ・アプリケーション・フレームワークとしての Drupal は、様々な機能を備えたウェブサイトを構築・運営するためのコンテンツ・マネジメント・システムとして、また、業務用の情報処理・情報共有化などのためのウェブシステムの開発・運営基盤として、非常に有望な選択肢であると言えるでしょう。このセクションでは、そのような Drupal の概要とともに、TransNetCreation が開発した Drupal 用モジュールについてご紹介しています。
Drupal とは
Drupal は、ホワイトハウス(2009年秋リニューアル)や Twitter 社のアプリ開発者用公式サイト Twitter Developers(2011年7月公開)の CMS として採用されるなど、世界的に大きな信頼・評価を得ている CMS です。世界的に何故 Drupal の評価が高いのかということに関しましては、コラム「Power of Drupal」の vol.1「Drupal はウェブ・アプリケーションの夢を見るか」で解析を試みておりますが、 TransNetCreation では、結論としては、その理由を、Drupal は、高機能なサイトを構築するための土台となり、開発者による開発を強力に支援し、その結果、サイトの所有者・運用管理者に満足をもたらす CMS である、がゆえではないかと考えています。この点については、コラム「Power of Drupal」の vol.2「Drupal、6つの自由自在をもたらすCMS」でも、そのメリットを、 CMS を考える上でポイントとなる様々な視点から把握しつつ、より具体的に追求しています。もし、まだ Drupal について良くご存じでないという方で、Drupal についてより深く理解したいという方がおられましたら、この2つのコラム記事も参考にしていただけましたらと思います。ここでは、Drupal の特徴についてより簡潔にまとめると共に、Drupal に関する TransNetCreation の活動の概要をご紹介しています。
Drupal の特徴
Drupal は、日本での知名度はまだまだですが、その機能拡張性の高さから、高機能を求める運用管理者・開発者層において非常に有望視されている CMS です。プログラミング言語の PHP を使って構築されており、オープン・ソース・ソフトウエアとして活発に開発が行われています。インストールした直後の Drupal は、非常にシンプルな構成ですが、それだけで、会員制のマルチユーザー・マルチブログのサイトを構築できる機能が備わっています。さらに、Drupal の開発者用サイトに登録された数千ものモジュール(汎用モジュール)の中から必要なものをインストールすることにより、サイトに新たな機能を追加することができるようになっています。そればかりか、モジュールを開発することが容易な仕様になっているため、要望を満たすモジュールが存在しない場合には、新たにオリジナルのモジュール(カスタムモジュール、汎用モジュール)を開発することにより、サイトの機能を独自に拡張させることが可能となっています。
機能面の拡張性・柔軟性、デザイン面の柔軟性
そのため、Drupal は、CMS でありながら、ウェブ・アプリケーション・フレームワークとしても捉えられています。すなわち、PHP を用いたスクラッチ開発(プログラムをゼロから書き起こすという開発手法)のためのベース・アプリケーション(基盤アプリケーション)にもなりうるというわけです。逆に言えば、このモジュール開発による機能拡張の容易性が、他の CMS やスクラッチ開発に対する Drupal の優位性として、冒頭で述べたような高い評価に繋がっているものと考えられます。また、Drupal は、テーマシステムを採用しており、オリジナルのテーマを開発することにより、デザインを意図する通り自由自在にコントロールすることができるようになっています。テーマを変えることにより、一瞬にして新しいデザインを適用することができるため、頻繁にデザイン・レイアウトを変更したいというニーズにも対応できますし、サイトを大きくリニューアルする場合にも、その移行がスムーズにできるようになっています。そのため、Drupal は、機能面だけでなく、デザイン面においても、非常に柔軟性のある CMS となっています。
Drupal を採用する意義
以上、Drupal の CMS としての長所・利点・メリットをまとめると、(1)サイトに様々な機能を追加できるという「機能面における拡張性」、(2)サイトの機能を柔軟に変更できるという「機能面における柔軟性」、(3)サイトのデザインを自由自在にコントロールできるという「デザイン面における柔軟性」ということになります。ただ、他の CMS との比較においては、テーマシステムを完備している CMS であれば、(3)「デザイン面における柔軟性」は享受することができるため、Drupal を積極的に採用する理由としては、やはり、(1)「機能面における拡張性」と(2)「機能面における柔軟性」ということになるでしょう。例えば、「コーポレイト・サイト(企業サイト)において、顧客とのリレーション・シップを高めるために自社独自の仕組みを提供したい」「イントラネット・サイトにおいて、自社業務をシステム化したい」などのニーズがある場合には、CMS として Drupal を採用するという選択は、その特徴を存分に活かすことができるため、大変理に適ったものであると言えるでしょう。また、現在はともかく、将来的にはその可能性があり得るという場合にも、Drupal であれば追加的に機能を拡張することができるため、将来性という観点からも、Drupal は、CMS 選択に伴うリスク(=自社の可能性を狭めるリスク)を少なくし、自社の可能性を大きく拡げる、先見性のある選択肢であるということになるでしょう。
TransNetCreation の取り組み
TransNetCreation では、Drupal に関して、
(1)ウェブシステムの開発
(2)ウェブアプリケーションの構築
(3)ウェブサイトの制作
などの活動を行っております。
これらは、具体的には、汎用モジュールの開発カスタムモジュールの開発カスタムテーマの制作として展開されます。
特に(1)(2)に関して、Drupal とは、「CMS であると同時に、優れたウェブアプリケーション・フレームワークである」と言われます。その上で、TransNetCreation では、Drupal とは、「多数のモジュールにより構成されているモジュールの複合体を育む培養器(=土台)のような存在である」との認識のもと、要求される機能を Drupal のモジュールとして開発することにより、Drupal をベースにしたウェブシステムの開発・ウェブアプリケーションの構築に取り組んでいます。それにより、システムやアプリケーションに、ホワイトハウスのウェブサイトに採用されるほどの信頼性と、モジュールシステムやテーマシステムに基づく大きな自由度(=要求仕様実現性)をもたらすことができると考えています。
Drupal 用の汎用モジュール
ここでは、TransNetCreation による Drupal に関する活動の1つとして、TransNetCreation が開発しているDrupal 用の汎用モジュールを紹介させていただきたいと思います。 Drupal におけるモジュールとは、具体的には、Movable Type や WordPress におけるプラグインと似たような役割を担うもので、モジュールをインストールすることにより、サイトに新たな機能を付加することが可能となります。ただし、Drupal においては、それをより大胆に、よりドラスティックに行うことが可能となっています。繰り返しになりますが、Drupal を深く理解すると、Drupal とは、「多数のモジュールにより構成されているモジュールの複合体を育む培養器(=土台)のような存在である」との認識に至ります。つまり、Drupal におけるモジュールとは、単に付加的なもの・追加的なものというよりも、Drupal 上に構築されるサイトやシステムの性格を決定づける「本質的なもの」であると言えます。モジュールは、その目的において、カスタムモジュールと汎用モジュールに分類することができます。カスタムモジュールが、例えば Ajax に対応したページの描画など、特定のサイトのための固有の機能を実現するために作成されたモジュールであるのに対して、汎用モジュールは、より広く、Drupal サイトの運用管理者・開発者や Drupal サイトにアクセスするユーザーなどが有する、より一般的なニーズに対応した機能を実現するために作成されたモジュールです。ということで、以下に、TransNetCreation が開発している汎用モジュールをリストアップさせていただきます。
実例
ここで紹介させていただく汎用モジュールは、できる限り、当サイトでも実際に使用していきたいと考えおります。それらに関しましては、是非触っていただき、使い心地などを試していただけましたら幸いです。
■2011年01月06日追記
2011年01月06日の日記(ブログ)では「祝! Drupal 7 正式リリース」と題して、リリースされたばかりの Drupal 7 について簡単にレポート(レビュー)しています。