Drupal の創始者 Dries 氏の会社である Acquia が配布している資料では世界のトップ 100 大学の内 71 の大学で Drupal が使用されており、世界の全ての大学で見ても 21% もの大学が Drupal を使用しているとデータがあります。トップ 100 大学を見てみると、ハーバードや MIT など凄い名前が連ねていますね。
Drupal 推しの私たちとしては是非国内の教育機関にも Drupal を利用していただきたいと考えておりますので、今回はなぜ海外の大学サイトで Drupal が採用されるのか、その理由について考えてみました。
セキュリティ的にどうなの?
よく「オープンソースってセキュリティ的にどうなの?」という質問されることがありますが、結論から言うとしっかりとメンテナンス(バージョンアップ)さえすれば、メジャーな CMS であればどれも同程度で問題ありません。 Drupal の公式サイトにある Drupal の安全性について書かれた記事を、弊社の後藤が翻訳したブログがありますのでよろしければそちらをご覧ください。
ワークフローの対応が簡単
ワークフローとは記事担当者が投稿した記事を、承認者が記事の内容を確認してから掲載する仕組みです。大手企業のサイトや公共機関のサイトで最も要求される機能の一つですが、大学サイトでも要件としてよくあがります。 Drupal にはこのワークフロー機能は標準で容易されていませんが Workbench モジュールなどのコントリビュートモジュールを利用することで比較的容易かつ柔軟に対応をすることができます。
権限管理が柔軟
大抵の CMS では各種操作の権限を役割またはロールと言う単位で設定し、それをユーザーへ付与することで各種権限の管理をすることが一般的です。 Drupal もそれは例外ではありません。一般的な CMS ですとユーザー一人に対して一つの役割(権限グループ)しか設定することができませんが、 Drupal では一人のユーザーに対して復数の役割を持たすことが可能です。これは大学サイトのようなユーザーによって権限がバラバラなケースに有効で、ユーザー毎に専用の役割を作る必要が無いということになります。
例えば、学部ごとに扱える記事の種類が違う場合、通常は学部ごとにユーザーの役割を「A学部編集者、B学部編集者」と言った形で分けて作りますが、さらに両方の学部を編集できる役割が欲しい場合、一般的な CMS では「A+B学部編集者」のような役割を作らなければなりません。 Drupal ではユーザーへ復数の役割を付与することができるので、「A学部編集者」と「B学部編集者」の両方の役割を付与すれば余計な役割を作らずにすみます。
コンテンツの種類を増やすことが容易
Wordpress などで言ういわゆるカスタム投稿タイプの作成が簡単です。大学サイトではお知らせなどの他にも、入力項目の違う様々な記事タイプが必要になるケースが多いのですが、 Drupal では簡単に管理画面上からこれらの記事タイプを増やすことができます。また、 同じ記事タイプでカテゴリを分けて投稿したい場合も簡単で、 Drupal 本体に最初から入っている Taxonomy モジュールを使うことで容易に実現することができます。
大学ならでは機能を作ることが他の CMS より比較的容易
Drupal はフレームワークを兼ね備えた CMS と言われるほど開発に便利な API がたくさん用意されているので、目的の機能を少ないコストかつ短時間で実装することができます。また、汎用的なモジュールも数多く Drupal.org へ寄与されているので一切コードを書かずに要件を満たせることも魅力の一つです。
スケーリングの実例が豊富
一般的に CMS で作られた動的なサイトは HTML で作られた静的サイトに比べるとサーバー負荷がかなり高くなるので、大学サイトのようなある程度のアクセス数のサイトになると何らかの対応をする必要があります。
具体的な方法としては、リバースプロキシ―を建てたり、アプリケーションサーバーを増設、Amazon AWS で自動的にスケールアウトするように構築したりなど、サイトの様態に合わせて様々な手法があります。日本語による資料はあまり見かけませんが、海外ではそういったスケーリングの方法などの記事が多数公開されており、また、高負荷時における運用方法の事例が多数あるので、そういった対策を闇雲に探す必要はありません。
他言語化が容易
大学サイトの需要が高い要件の一つに他言語化機能があげられます。
昨今では海外からの留学生を受け入れたい大学が多くなってきているようですので、サイトに他言語化の機能を求められることが多くあります。
Drupal では標準で多言語機能をサポートしていることに加え、 UI を含めたほぼ全ての画面上の文字列をローカライズすることができるようになっています。
Drupal 本体に同梱されている翻訳関連のモジュールだけでは不足している部分がありますが、それを補う Internationalization と言う強力なモジュールがありますので、それを使うのが通例になっています。また、最近では Entity Translation と言う別のアプローチで翻訳するモジュールが使われることも多くなってきているようです。これは従来のノードを丸ごと翻訳する方法に対し、フィールド(入力項目)単位で翻訳をすると言う手法なのですが、詳しく解説すると長くなってしまいますのでここでは割愛します。
その他にも言語判定の様々なロジックが用意されています。サブドメインやサブディレクトリ名を使った方法や、ブラウザーに設定されている言語による自動切り替え、ユーザーアカウントに設定された言語を使用するなどの方法があり、好みやサイトの形態に合わせて管理画面上から設定することができます。
Drupal で作られた国内の大学サイト
国内での採用実績も気になりましたので、文部科学省に掲載されている大学一覧のページからざっと洗い出してみました。参考としたページは以下のページです。
Drupal で構築されたサイトであるか判定するには素の状態であれば <head> タグ内にある <meta name="generator"> のメタタグを見ると解ります。 Wordpress や Movable Type なども無加工であればそこに名前が書かれているので、ついでにどんな割合なのか集計してみました。
掲載されている大学サイト 1128 校の内、Generator で CMS の身元を明かしているのは 148 サイトでした。その内の 17 校は集計したタイミングでウェブサイトにアクセスすることができませんでした。 Generator のメタタグは出力しない、もしくは隠している製品も多数ありますので、この 148 と言う数字は目安程度にお考えください。
148 サイトで使用されているソフトウェアのシェアは以下の通りです。
この集計方法では WordPress が過半数を超えています。流石の知名度です。上位は有償のプロダクトが多い様ですね。 Drupal で作られた大学サイトは沖縄大学と沖縄科学技術大学院大学の 2 校だけでした。正直言うともうちょっと採用事例があるんじゃないかと思っていたのですが何とも残念な結果です。ともあれ、このようなブログを通じて少しでも採用率が伸びればと思います! (この結果が逆効果になっているんじゃないかと少し心配ですが!)
この記事ではバージョンを載せていませんが、調査中に深刻な脆弱性があるバージョンの Wordpress のサイトが多く見受けられました。ウェブ担当者の皆様は Drupal や Wordpress に限らず動的なサイトであればオープン後にもメンテナンスが必要だと言うことをご認識くださればと思います。
良いことばかり紹介してしまいましたが、要件によっては不向きのサイトがあります。弊社後藤が書いたDrupal 開発者から見た Drupal 向きのサイトとそうでないサイトが参考になりますので是非そちらもご覧ください。
募集しています
スタジオ・ウミは「Drupal」に特化したサービスを提供する Drupal のエキスパートチーム。
フルリモート&フレックス制だから、働く場所を選ばず時間の使い方も自由です。
そんなワークライフバランスの整った環境で、当ブログに書かれているような
様々な技術を共に学びながら、Drupalサイト開発に携わってみたい方を募集しています。
まずはお話だけでも大歓迎!ぜひお気軽にご連絡ください。