Drupalはどんなサイトに適しているのか

2022年12月14日にDrupal 10がリリースされる予定である。

これを機に改めてDrupalがどんなサイトに適しているのか考えてみたい。考えるにあたって参考にしたのは、What Is Drupal? Explained for Beginnersという記事である。Google翻訳でも十分に読めるこの記事で

Drupal will come in handy when looking forward to building and maintaining your website globally.
DrupalはグローバルなWebサイトの構築と維持を目指している場合に具合が良い(萩原意訳)

と書かれている。実際、多くの大企業や政府などが使っている。なぜだろうか。

ちなみに、私が本格的にDrupalに関わるようになったのは2013年の春。Drupal.orgにユーザー登録してからまもなく10年になろうとしている。Webでアプリケーションを作成するプラットホームとして一番魅力的に感じたのがその一番の理由である。オープンソースであること、多国語(Global)対応がしっかりしていることが好印象だったことにある。たまたま古い知り合いがDrupalに関わっていたことも大きい。2013年は独自でグローバルなWebサイトの構築と維持を必要とするビジネスの立ち上げに挑戦していたので、正にこの記事で書かれていることと合致していた。一方、参照記事の後半でDrupalの利点と欠点について触れらているところで一番の欠点にあげられている「開発者にとっても、エンドユーザーにとっても、学びにくく、バニラインストールのままでは使い物にならない」は今も現実で、私自身も痛い目にあった。地道に使い続けていると、どんどん、「あっ、こうやって設定すればすごく簡単にできるのか」という気づきが増え、やっぱDrupalすげー、と思うのだが、正直言ってとっつきは良くない。

記事では、Drupalの選択が正解となるサイトはというところで以下のように書いている。

  • Your website will have dozens of pages or more
    将来たくさんのページが見込まれる
  • You have more than 5 content editors on your team
    5人以上のコンテンツ編集者がいる
  • You have multiple websites that need to share media assets and user accounts
    画像や動画等の資産やユーザーアカウントを共有したい複数のWebサイトがある
  • Your organization has strict branding requirements for their online presence
    組織がオンライン上でのブランド要件を厳しく定めている
  • You want a publishing workflow that involves multiple stages like draft, review, scheduled, published, etc.
    コンテンツ公開に際して、レビューや公開日を指定するなどのワークフローを確立したい
  • You want to integrate your CMS with other components of your organization's digital experience like social channels, marketing automation tools, customer data platform, etc.
    CMSを他のDXツールと連携させたい(SNS、マーケティング自動化ツール、顧客情報基盤など)
  • Your organization wants/needs to use open source software
    組織がオープンソースソフトウェアを使いたいか使わなければいけない場合

これは概ね正しいと思う。体系的にコンテンツを管理して、複数の人で運用するサイトの管理に適しているが、それ故、アドホックな対応ではなく、コンテンツの構造と管理プロセスを設計しなければいけない。ある程度Drupalに対する知識と経験がないと設計が難しいから、シェルパが必要になる。同時に、シェルパに頼りすぎて管理責任者の知識習得が進まないとコスト増になったり、アドホックな対応をしてサイトが腐ることもある。覚悟を決めて取り組めば、素晴らしい結果を期待できるが、忍耐が必要なのだ。

社内ポータルとしても十分実用的なものを作ることができる。従業員にユーザーアカウントを発行し、その属性に従って、規定や業務文書へのアクセス権を与えて業務効率を上げることも可能だし、入力フォームを準備して申請業務、ワークフローを実現することもできる。他の業務システムとの双方向の連携も可能なので、覚悟をして育てていけば確実に生産性、品質に貢献できるのは間違いない。経費精算等のいろいろな専門アプリやクラウドサービスは魅力的なものが多いから、何でもDrupalでと考えるのは適切だとは思わないが、ベースとなる社内プラットホームとして十分期待できる。

その気になれば、Drupalで大抵の業務システムは実装可能である。徐々に版管理もレベルアップしていて、RDB相当のデータベース管理もノーコードで実現できる。計算アルゴリズム等はPHPで実装するしかない場合もあるし、手続き的な処理は素のDrupalでは実現できないから、どの部分をどのプラットホームでやるかは悩ましいところだが、業務システムは広義の文書管理システムでもあるので高度なCMSと業務システムは本来相性が良いのだ。

そういった、状況を踏まえ私は「Drupalはどんなサイトに適しているのか」について以下のような解を提案したい。

  1. 利用者毎に権限が異なるサイト
  2. 双方向性があるサイト(やがて一方的な情報提供では収まらなくなるサイト)
  3. 構造化されたコンテンツが10件以上あり追加更新が必要となるサイト
  4. 業務管理者を置く経済的合理性があるサイト(一人で管理できる限界を超えて業務分担が必要となるサイト)
  5. 必要な技術サポートが得られる場合

上記の条件1から5が全て満たされていれば、Drupalの選択を推奨したい。5の技術者問題はできればインハウスで持つのが望ましい。そういう意味では、IT専門家でない人で、Acquia社のサイトビルダー試験に合格する程度のレベルの人が簡単に採用できる時代が来るのが望ましいと言えるだろう。

別の方向から見れば、一発物の派手なサイトを作るのが目的であれば、Drupalエキスパートがやる場合を除いておすすめできない。

日本でも、Drupalで作成するのに適したサイトはたくさんある。思い切って言い切ってしまえば、全ての上場企業のホームページや社内ポータル、地方自治体、政府機関のページはみなDrupalの利用に適している。当初は日本語のみで始めても多言語への対応を後から追加していくこともできるし、スケーラビリティもあり、セキュリティ対策にも強い。一部で、セキュリティパッチがたくさん出るからセキュリティが弱いとする声があるが、むしろどんどんセキュリティホールが見つかり埋められている状態の方がセキュリティレベルは高い。実際、セキュリティFixの情報を見ると、Criticalと位置づけられているものでも自分のサイトではまず問題にならないケースのほうが圧倒的に多い。オープンソースコミュニティでコードの健全な管理ができているという点も利点だ。

より小さい組織やイベントページでも技術者さえ充足できればDrupalが有利になるケースは少なくない。ところが、上記5条件の5:「必要な技術サポートが得られる場合」が大きなネックとなっている。これは日本に限らなくて、少なくない国で問題となっていて、Drupalで商売している30人以上のプロフェッショナルサービス企業はほぼ例外なくいつも求人していて、上得意顧客の需要だけで食えている。小さな仕事には取り組む余裕はない。Drupalの世界では、今は育成が最大の課題だろう。ユーザー企業・組織で人材が育つ方法を考えなければいけないと思う。

Drupal7からDrupal8へのジャンプアップでは苦しい思いをしたが、Drupal10はDrupal8の自然な完成形でそこから始めても良いし、Drupal8以降のサイトは大きな苦労なしに移行できる。Drupal7以前からの移行もコンテンツに関しては難しくない。残りは、組み込まれている手続き処理的な機能にどう対処していくかという問題の解決だが、それが残っているとしてもDrupal10は安定的に使えるアプリケーションプラットフォームの選択肢として十分なレベルに達していると思う。攻めに出る時期が来ていると思う。日本のDrupalコミュニティもグレードアップの時期が来ていると思う。

※この記事はDrupal Advent Calendar 2022に掲載する目的で作成したものです。

タグ
feedback
こちらに記入いただいた内容は執筆者のみに送られます。内容によっては、執筆者からメールにて連絡させていただきます。