待望のDrupal 8のリリース!

1年以上前からリリースされるとアナウンスされていたDrupa8が、2015年11月19日に正式リリースがされました!

リリースのお祝ということで世界中で多数のリリースパーティが行われました。リリースパーティのスケジュールからも、その盛り上がりが伺えます。

Drupal 8パーティスケジュール

日本では、いち早く11/14,15に札幌のコミニティの人達の温泉合宿があり、参加させていただきました。

Drupal8プレパーティのケーキ

また、日本ではANNAIさまに主催いただき11/19は東京、11/20は大阪でリリースパーティが開催されました。

Drupal8 リリース パーティ

私自身は東京のイベントを通してDrupalの新しい仲間と出会うことができました。Drupalの日本でのコミニティが、これからもっともっと広がっていければと思います。

皆さまもDrupalのイベントがあれば、ぜひ参加いただければと思います。参加しづらいと思われていれば、お気軽に個別にご連絡いただければと思います。

Drupal 8の特徴

さて、Drupal 8の正式リリースされたこともあり、今回は、Drupal 8の新機能について説明したいと思います。
Drupal 8は、大きく12の特徴があります。それぞれの特徴を順番に説明させていただきます。

Drupal8の特徴

Drupalということではなく、Webの動向という視点でも読んでいただければ幸いです。

なお、Drupal 8では、エンタープライズ向けWebサイトを意識した機能が追加されていることもあり、Webサイト利用者側の立場ではあまり意識しなくてもよい特徴があります。

1.モバイルフレンドリーからモバイルファーストへ

これまで、モバイルデバイスへの表示については、極力モバイルにも対応できるように進められてきましたが、Drupal 8ではモバイルを前提にした形になっています。フレンドリーからファーストへの転換です。

例えば、これまでDrupalのインストール直後のテーマでは、モバイルには対応できていませんでした。今回は、インストール直後から管理画面含めて、モバイル対応が出来ています。

管理画面のレスポンシブWeb対応

2.多言語の対応

Drupalをダウンロードしたファイルからインストールを開始すると日本語でのインストール画面の選択ができるようになりました。

これまでは、事前に日本語化のファイルをダウンロードして所定のディレクトリに配置が必要でしたが、今回から、すべての言語が事前に登録されているため、インストール時に言語の選択が容易にできるようになっています。

なお、その分ダウンロードするファイルのサイズが4倍ぐらい大きくなっています。tar.gzファイルで12MB弱です。

3.Drupalの各種設定がYAMLファイルによる設定

Drupal上の各種設定は、データベース上に登録されていました。データベース上にはコンテンツも登録されており、コンテンツと各種設定が同じデータベース上で登録されている形です。

サイトの管理者、利用者は、特に意識する必要はなく、特段不便さもなかったと思います。
しかし、Webサイトの構築するデベロッパーには、とても有益な対応となっています。

デベロッパーは、開発環境、テスト環境、本番環境と環境を複数作る場合が多いです。特に複数人で開発している場合は、開発環境も複数台というケースがあります。

この場合、デベロッパーは開発環境でサイト構築してテストをしています。テストが完了後は、テスト環境にリリースが必要となります。その時に、設定内容がデータベース上にあるため、設定した差分のみをテスト環境、本番環境にリリースのが難しいです。(一部の設定は、エクスポートで抽出は可能ですが)
データベースを丸ごと置き換えるとコンテンツ自身も置き換わり、特に日々変更される本番環境では置き換えられない問題がありました。

また、設定内容自体の差分管理、更新管理をすることも難しい形です。いろいろと設定変更した結果、やっぱり元に戻したいなど。

Drupal 8では、YAML(ヤムル)というファイル形式で設定内容がテキストファイルとして出力、登録ができるようになりました。

テキストファイルでやり取りができるようになるため、Gitなどのバージョン管理ツールを利用すれば差分管理、更新管理が容易にできます。

個人的には、サイト構築する作業が劇的に便利になったと思っています。

設定内容のテキスト出力機能

4.アクセシビリティの統合

システム全体が出力するHTML,CSSがHTML5に対応されています。

また、WAI-ARIA(ウェイ・アリア)への準拠をしています。WAI-ARIAでは、ユーザエクスペリエンス(UX)の向上に役立ちます。

例えば、HTMLのエラーメッセージで「<prole="alert" >パスワードが違います</p>」と記述すると、alertという内容をブラウザが理解して、適切にエラーメッセージの表示(表示位置、色など)を出すということが実現できるようになります。

これまで、個々のシステム単位でHTML,CSSでメッセージの対応していたことがブラウザ側に任せられ、かつユーザにとっても統一されたインタフェースが実現できます。

例えば、Drupal 8で構築されたまったく別のサイトであっても、同じユーザインタフェースが提供できることで、ユーザが戸惑うこと無く利用できるというメリットがあります。

5.ユーザインタフェースの向上

これまでも利用されていますが、jQuery を利用した、モーダルダイアログ、オートコンプリート機能など、より使いやすい機能が積極的に利用されています。

追加モジュールをインストールせずに、管理画面でもモジュールの絞り込みなどができるようになっており、利用者向けだけではなく、管理者向けにも向上されていることが伺えます。

6.ビルトインWebサービス

Webと親和性を進めており、Drupal 8に登録したコンテンツをRESTful APIで出力することが標準で可能です。
アウトプットはJSON, XMLでの出力に対応しています。

さらにコンテンツをRDF出力に対応して、「データのウェブ」であるLinked Open Data (LOD)対応がされています。サイトのコンテンツが、別のサイトとつながりながら表現できることができます。

HTMLヘッダ内容(RDF対応)

ビルトインWebサービスの実装により、Drupal8がバックエンドに配置しての利用用途が広がります。
例えば、バックエンドにDrupal 8を配置して、スマフォアプリではAPI経由で各種コンテンツを取得するなどです。

コンテンツ管理部分はDrupalに任せられるため、開発工数も削減され、使いやすい管理画面(コンテンツ登録など)が素早く構築できます。

個人的に「ワンコンテンツ・マルチプラットフォーム」という言葉を使っていますが、1回のコンテンツ入力で、あとは配信先に合わせて最適な形で送ることがDrupalでは実現できると考えています。
今後はますます、Webの世界の中で、様々な形でコンテンツが配信される形が進むだろうと想像しています。

7.オーサリングツールの組み込み

今更感がありますが、コンテンツ入力時にWYSIWYG対応したツールが標準で実現できるようになりました。
これまでは、あとからモジュールをインストールすることで実現できましたが、標準対応となりインストール直後から利用できます。

オーサリングツールのメニュー

標準で組み込まれるということは、利用者の裾野を広げる上では必要だと思います。

8.テーマエンジンの変更

テーマ用のテンプレートエンジンが、Twigというテンプレートエンジンが採用されました。

Drupal8 Twigの例

これまでは、PanelsやViewsモジュールなどを利用したテンプレートは、divタグの階層が多く、不要と思われるclassが沢山出力されていました。
テーマエンジンの変更で、かなりスッキリしたHTML出力が実現できたようです。

これを機に、Webデザイナーさん達のマークアップも容易になり、Drupalのデザイナーさん達が増えると嬉しいです。

9.利用頻度の高いモジュールの標準実装

Drupalで最もよく使われている Viewsモジュールが標準でインストールされます。Coreとセットでメンテナンスもされ、より安心、安定してViewsモジュールが利用できるようになりました。

Drupal8 viewsモジュール

Viewsを使わないサイトは「ない」と考えているぐらい使うモジュールですので、本当に有り難い追加です。

今後は、構築後のセキュリティアップデートや日々のアップデートが、より安心して実行できます。

10.標準対応フィールドの追加

Drupalの特徴であるフィールド管理がさらに進み、これまで追加モジュールで対応していた型が標準で追加になりました。

コンテンツに対するコメントフィールドは、これまでは「コメント」という形で独立して管理されていましたが、コンテンツが1つフィールドとして管理できるようになっています。

また、フィールドの型として、Date型、E-mail型、URLリンクの型が追加されています。

Drupal8 フィールドの型一覧

Drupalのフィールド管理が整理されて、設計が美しくなった感想です。地味な変更かもしれませんが、今後の追加モジュールの開発で。より柔軟なコメントフィールドへの対応が期待できるかもしれません。

11.HTML5でのマークアップ

モバイルファーストということもあり、Flashの代替を意識して積極的にHTML5を使っています。

HTML5ロゴ

また、SEO対策、検索精度向上など、機械可読性の高いHTML出力ができます。ビルトインWebサービスでも述べましたが、相手に合わせてコンテンツ出力しやすくなっています。

「相手」はブラウザ以外にGoogleなどの検索エンジンも含まれていて、検索エンジン向けに処理しやすい形でコンテンツ出力も意識されています。

12.デファクトスタンダードとの共存

現在の技術動向を見て、デファクトスタンダードなオープンソースプロジェクトと一緒になり、技術革新、向上を目指しています。

PHP言語の標準では、PSRというコーディング標準に乗っ取っています。これによりソースプログラムの再利用性が高まります。Drupal以外のモジュールが、取り込みやすい可能性があります。

また、Drupal 8の開発フレームワークとしてSymfonyが採用されました。これにより、Symfonyプロジェクト自体が、よりよく改変されて良くなっているようです。

このようなコラボレーションがあると将来性や継続性に期待ができます。よりよい製品がリリースされ続けることで、ユーザは安心してオープンソフトウェアが利用できると考えています。

以上、数が多かったですが、Drupal 8の特徴でした。

Drupal 8の利用

個人的には、Drupal 8は本当にすぐに利用したい製品に仕上がっていると思っています。
魅力ある機能が多数あり、さらに便利で使いやすくなったというのが感想です。

しかし、2015.12月時点ですぐに実戦投入できるかというと残念ながら難しいと言わざるを得ません。

Drupal 8では、これまで開発されている Drupal 7のモジュールと互換性がありません。このため、Drupal 8用にモジュールの書き換えが必要となります。

Drupal 8に対応したモジュールがまだ出揃っていないことがあります。もちろん、Drupal 8の開発に合わせてメジャーなモジュールは平行してモジュール開発されているため、すでにリリースされているモジュールはありますが、まだバグが多いということもあります。

モジュールについては、時間が解決してくれると考えており、この数ヶ月で出揃うことを期待したいと思います。
最低限のモジュールが揃えば、積極的にDrupal 8を利用したいと考えています。

Drupal 6のサポート終了(EOL)について

Drupal 8のリリースされたことにより、Drupal 6は、2016年2月でサポートが切れます。2月以降は、有償サポートを実施する会社を見つける、あるいはDrupal 7、8にアップデートが必要となります。

Drupal 8のバージョンアップツールは、当初からDrupal 6を意識していることもあり、コンテンツの移行は比較的容易だと思います。Drupal 6のユーザは、今後の動向を見ながら検討を進めていっていただければと思います。

2月末とあまり期間があまりない状況です。すぐに移設ができることも出来ないと思いますが、移行の計画を立てながら、これまで以上にDrupalの情報を収集しながら時期を調整していっていただければと思います。

最後に

最後に、Drupalで利用しているPHP言語のバージョンの7がリリースされました。PHP 7は、かなり高速になっています。
DrupalもPHP 7を利用するだけで、2倍近く速くなるという結果があります。PHP 7もリリースされたばかりですが、とても嬉しいニュースです。

Drupalにとっては、今年の後半はよいニュースが多く、ますます発展していくように感じます。
弊社は、来年Drupal 8を利用したサイト構築を実施して公開できればと思っています。

それでは、みなさんよいお年を!