Drupalに触れてみた

2020/12/06に公開

URL

Drupalを基礎から学ぶワークショップ

参加したきっかけ

普段はバックエンド、インフラ側の仕事がメインではあるのですが、
WordPressで実装されている社内ポータルサイトが主管理チームがいるものの、
6年前からAzure PaaS(Azure App Service)で最近になり月額費用の割に、
ディスクサイズの小さななどを知り、コードベースでメンテナンスができないなら、
他にないかなーと思って、参加してみたことがきっかけです。

Drupalとは

CMS(Cotents Mangement System)で、
WebサーバApache(1.3以上)またはIIS(IIS5以上)、及びPHP(4.3.3以上)をサポートする環境、
MySQL、PostgreSQL、SQLite、MongoDBのようなデータベース管理システムを必要とします。

この辺は、WordPressなどと大差はなく、
今回、このイベントに参加していたのが自分一人だったということもあり、
スピーカー(Drupal 10年以上)の人から見た、WordPressとの違いについてフォーカスします。

私自身も、WordPressを使っているわけではないので、フラットな目線ではなく、
その方の経験・感覚に依存するところもありますので、
一般的な Drupal vs WordPress といったことは記載しません。

既に、一般的な比較をされている方のブログは多数あるので、そちらをご覧ください(回し者ではなりません)
WordPress vs Drupal – Which One is Better in 2020? (Pros and Cons)
Drupal vs WordPress SEOとパフォーマンスの観点から比較
3大CMSを比較!WordPress vs Drupal vs Joomla

歴史的な発展した背景

WordPressは、Webデザイナーなどを中心に発展したこともあり、
今も多くのユーザに広く使われている。
一方で、Drupalが広がらない背景には、エンジニアがドキュメントを書く文化はいいものの、
情報量が多すぎて、取っ掛かりがしづらい側面が生まれている。

Drupal - Documentation

Drupal APIs Guide

Drupal - Contributed modules

Contributedmodules

また、コミュニティでは Drupal DevOpsなどの議論も。

DevOps

Install

Download Drupal からzip download も手段として可能だが 非推奨
Using Composerを使うことで、
パッケージの依存性を解決してれる方法が断然楽。

composer create-project drupal/recommended-project my_site_name_dir

また、Drupal専用の管理コマンド drush を利用することで、
画面で操作することを、全てコマンドラインで管理できる。
これもDrupalが機能をAPIベースで作成されているエンジニア思想が反映(素晴らしい👏)

composer require drush/drush

drush

drush

Add module

Download & Extend から、
自分が必要とするモジュールを探して、 composer require xxxxx で追加することも可能。

コミュニティで開発されているため、最終更新から日が経過しているままのものは更新されていないこともあり、
公式ページにユーザ登録することで、直接製作者に問い合わせることも可能ですが、返信がない場合は、
慣れるまでは利用は避けたほうがいいとのこと。(自己責任なので仕方ないですね)

受講してみて

Drupalを探すと「高機能だが、その一方で使いづらい」といった感想があったりと、
触る機会を作れず(他のことを優先していたこともあり)にしました。

今回、既に業務で使っている人(あと歴史を知っている人)から、
Drupalの特徴を聞いたり、実際に触ることで目的があって、
必要な機能の選定といったエンジニア思考で行けばよいと感じました。

その他、主催者の方と別件の話(むしろDrupalよりこっちが盛り上がったり...💦)

今はWeb会議やチャットツールでSaaSを当たり前のように使っていますが、
どうしても会社のポリシーが理由で使えないことがある方に向けたサービスについてもいつくか話をしていました。

jitsi を使った、会議365というWeb会議
matrixelement.ioなどのツールを運用することを検討されているとのこと。

コミュニティなどでは、Slackだと保存できるサイズが運用費用の関係で限られているとか、
Discordでサーバを晒したくないとかいうところがあれば使い道があるかなと思いました。

Drupalは、公にメジャーバージョンの発表をされているので、このセミナーでは、8を利用しましたが、
自分でこれから触るのは、9で考えていこうかなと思います。
(あと可能な限りプラグインは必要最低限で)

以下、Drupalの創始者であるDires氏のブログで触れられているEOL時期に関する記載です。

Drupal 7, 8 and 9

Drupal 7 will be end-of-life in November 2021, Drupal 9 will be released in 2020, and Drupal 8 will be end-of-life in November 2021.

Discussion