対象読者
- HTML、JavaScript、PHPなどWeb開発の基礎に理解がある方
- Webサイト、アプリケーション開発の経験者
Drupalの概要
昨今のインターネットインフラ、スマートフォンデバイスの普及などにより、ユーザーがデジタルコンテンツに触れる機会が急増しています。Webサイトだけではなく、スマートフォンアプリ、街中のデジタルサイネージ、スマートスピーカーなどのチャネルを駆使し、ユーザーにとって最適なタッチポイントでより良いデジタル体験を提供する企業は、もはや珍しくありません。こういった背景から、デジタル体験を促進するためのWebプラットフォームは、さらに需要が高まってきています。
Drupalとは、2001年に誕生した、PHP製のオープンソースのコンテンツ管理システム(CMS)です。世界中で100万以上のサイトで稼働していると言われており、海外だとNASAやオーストラリア政府、また、NASDAQなどの金融機関、ネスレ、ジョンソン・エンド・ジョンソンなどのグローバル企業がDrupalを採用しています。
Drupalは、CMSとしてのコンテンツ管理はもちろんのこと、優れた拡張性と柔軟性を備えていることから、Ruby on RailsやLaravelといったWebフレームワークとして耐えうるスペックを兼ね備えています。
例えば、大規模会員サイトや社内情報ポータル、ECサイト、宿泊予約サイトの事例も多くあります。個人ブログから大規模なWebサービスまで幅広く活用できることも、Drupalの大きな魅力の1つです。
Drupalの特徴
ここからDrupalの主な特徴を詳しく見ていきます。公式ドキュメントで次のように紹介されています。
- 堅牢なセキュリティ
- パフォーマンスとスケーラビリティ
- 多言語対応
- コンテンツ作成
- Content as a Service(CaaS)
堅牢なセキュリティ
銀行、政府、行政などミッションクリティカルなサイトとアプリケーションでDrupalが選択されています。Drupalはオープンソースプロジェクトとして、精査、保守、セキュリティ修正の対処とリリースに協力するセキュリティ専門家の専任チームを持っています。それに加え、世界中で100万人以上の開発者がDrupalに貢献しており、Drupalを最も安全で安定したプラットフォームの1つにしています。
パフォーマンスとスケーラビリティ
Drupal標準のパフォーマンス機能は、負荷分散、高度なキャッシュなどのプレッシャー下でも十分なパフォーマンスを発揮します。これは、グラミー賞やNBCオリンピックなど極端な負荷が発生するサイトを強力にサポートします。
多言語対応
Drupalでは強力な多言語機能が標準で備わっており、Webサイトのあらゆる部分を翻訳することが可能です。100カ国以上の言語に対応しているほか、ユーザーのIPアドレス、ブラウザの設定、URL、セッションなどに応じて優先言語を検出することができます。アラビア語など右から左へのテキストの方向を持つ言語もサポートしています。
コンテンツ作成
CMSとしてよく耳にする一般的な機能のほとんどは標準機能に搭載されています。例えばユーザー権限に関しては、コンテンツの種類ごとに閲覧・編集をきめ細かく設定することが可能です。承認ワークフロー機能と組み合わせることで、大規模な組織でも適切な権限を与えながら安全に運用できます。
また、Drupalにはマルチサイト機能という、単一のコードベースから複数のサイトを提供できる機能があります。企業が持つ複数のシステム、WebサイトをDrupalに規格を統一することができれば、管理・運用コストを効率化できます。
Content as a Service(CaaS)
さまざまなWebサイトやサービスのコンテンツを1つの場所で管理し、マルチチャネルにデプロイすることが可能です。これはデカップルド・アーキテクチャ(Decoupled Architecture)およびヘッドレス(Headless)と呼ばれています。ニューヨーク地下鉄では、リアルタイムに運行情報をデジタルサイネージ、スマートウォッチなどマルチチャネルに発信する仕組みをDrupalで実現しました。通勤者に適切なデバイス、タイミングでデジタル体験を促進しています。
なぜDrupalが選ばれるのか
このように、世界中で100万サイトでの実績があるDrupalの魅力とは何でしょうか。筆者の考えとして、Drupalの強みを3つにまとめました。
多機能・高機能であること
上記で述べたように、Drupalは標準の機能だけで多くのことを成し遂げられます。また、データモデルの追加、各種モジュールの設定、柔軟なロール・権限の設定など、その多くは管理画面から設定することができるためコーディングを要しません。
モジュールとディストリビューションによる開発コスト削減
Drupalの標準機能ではカバーできない要件はどのように実装するかと言うと、「モジュール」と呼ばれるプログラムの一式を用意することで実現します。現在では4万以上のモジュールがDrupal.orgで公開されており、それらは自由にインストールして利用することができます。
独自システムからデータをインポートする必要がある場合など、要件に適したモジュールが無ければ、自身でモジュールを開発することで機能を拡張します。
また「ディストリビューション」と呼ばれる、特定の用途に合わせてモジュールやテーマをパッケージ化して配布することができます。要件に合ったディストリビューションを使用すればさらに開発工数を軽減することが可能です。
世界中に点在する多くのDrupal開発者
モジュール、ディストリビューションを使って開発工数を削減できると言っても、そのモジュールを選定し、オリジナルのデザインを実装するために開発者は必要です。
Drupalは世界最大のオープンソースコミュニティの1つです。100万人のコミュニティメンバー、10万人のアクティブコントリビューターがDrupalを支えています。これにより、開発者ボトルネックを回避することが可能です。グローバルでDrupalを活用する企業であれば、国ごとにDrupal制作会社や開発者を採用することも難しくありません。