10月1日にDrupal 8のベータ版がリリースされましたので、早速テスト環境にインストールしてみました。
少しさわってみた範囲ですが、Drupal 7からの変更点は次のようなものがあります。
- Symfonyのコンポーネントをコアに組み込み
- SymfonyフレームワークのいくつかのコンポーネントがDrupalコアに組み込まれました。
サイト構築の際に直接影響が出そうなのは、デザインテーマの作成でしょうか。テンプレートエンジンが「Twig」に変更になったので既存テーマに関しては作り替えが必要です。
- Viewsモジュールをコアに組み込み
- Drupalでは必須と言えるViewsモジュールがコアに組み込まれました。使用感としてはDrupal 7の時のView 3とあまり変わりません。
コアに組み込まれたことにより、管理ページの一部もViewsで生成されています。
- スマートフォン、タブレットへの対応
- 標準でレスポンシブデザインを採用されていますので、管理メニューが画面サイズによって変化するようになりました。
デフォルトテーマの「Bartik」も、レスポンシブデザイン仕様になっています。
- CKEditorをコアに組み込み
- 記事作成の際のエディタにCKEditorが組み込まれました。
- インストールが簡単に
- 日本語を含む多言語のインストールがより簡単になりました。あらかじめ「.po」ファイルを用意する必要はなくなりました。
管理メニューを含むフロントページはDrupal 7から大きな変化はないようです。
記事作成の際に標準でCKEditorが使えるようになりました。
Drupal 7から引き続き「Bartik」が標準テーマです。レスポンシブデザイン仕様になっています。
コアに組み込まれたViewsは、Drupal 7の時と同様に便利です。
Drupal 8もベータ版になり、正式版のリリースまでもう少しになりました。
コアにSymfonyのコンポーネントが組み込まれたということで、内部的には大きな変化があったと思います。
Symfony自体は使っていないのですが、同じくSymfonyをベースにしたLaravelを最近使うようになったので、興味深いところもあります。
アルファ版が長かったことを考えると、正式版が出るまでにはかなりの時間を要するかもしれませんが、今後が非常に楽しみです。
Drupal 7インストール時の「Standard」と「Minimal」で、アクティベートされるモジュールの数は大きく違います。
また「Standard」ではコンテンツタイプに「Article」「Page」の2種類がプリセットで作成されますが、「Minimal」ではこれらも作成されません。
これらのモジュールやコンテンツタイプの違いにともない、データベースに作成されるテーブルも「Standard」は74点、「Minimal」は49点となっています。
|
Standard |
Minimal |
Aggregator |
|
|
Block |
○ |
○ |
Blog |
|
|
Book |
|
|
Color |
○ |
|
Comment |
○ |
|
Contact |
|
|
Content translation |
|
|
Contextual links |
○ |
|
Dashboard |
○ |
|
Database logging |
○ |
○ |
Field |
○ |
○ |
Field SQL storage |
○ |
○ |
Field UI |
○ |
|
File |
○ |
|
Filter |
○ |
○ |
Forum |
|
|
Help |
○ |
|
Image |
○ |
|
List |
○ |
|
Locale |
|
|
Menu |
○ |
|
Node |
○ |
○ |
Number |
○ |
|
OpenID |
|
|
Options |
○ |
|
Overlay |
○ |
|
Path |
○ |
|
PHP filter |
|
|
Poll |
|
|
RDF |
○ |
|
Search |
○ |
|
Shortcut |
○ |
|
Statistics |
|
|
Syslog |
|
|
System |
○ |
○ |
Taxonomy |
○ |
|
Testing |
|
|
Text |
○ |
○ |
Toolbar |
○ |
|
Tracker |
|
|
Trigger |
|
|
Update manager |
○ |
○ |
User |
○ |
○ |
Drupalでは非常に多くの寄与されたモジュールが存在しますが、初めはどのモジュールを入れたら良いのか迷ってしまいます。
Drupal 7になり、それまでモジュールとして提供されいた主要機能、たとえば「CCK」「ImageCache」などが標準で搭載され、新たに追加するモジュールの数がぐっと減りました。
その上で、これだけは最小限入れておいた方が良いと思うモジュールをいくつか挙げます。
Views |
コンテンツの表示方法を柔軟にコントロールすることができます。
とても多機能で奥の深いモジュールなので、使い方を覚えるまでが大変ですが、Drupalを利用する上で、最大のアドバンテージになり得ます。
具体的な応用例としては、サムネールの一覧表示や、ソート可能なテーブル形式の表示などです。 |
Chaos tool suite (ctools) |
「Views」の利用の際に必須です。管理画面で、モジュールのインターフェイス部分を担っています。 |
CKEditor |
WYSWYGエディタです。同様のエディタはいくつか存在しますが、これが一番使いやすい印象です。
CKEditorを利用するには、モジュールの他に、「CKEditor」本体も組み込む必要があります。
「sites/all/modules/ckeditor/ckeditor」のディレクトリの中に本体の「ckeditor」フォルダを入れます。(「ckeditor」フォルダが3つ入れ子になります) |
Insert |
コンテンツの作成で、画像のアップロードは標準の「Image」で行えますが、その画像を本文内に挿入するには、「Insert」が便利です。
アップロードした画像の横にボタンが追加され、テキストエリアのカーソルのある位置に画像を挿入してくれます。また画像スタイル(medium、largeなど)にも対応しています。
CKEditorと組み合わせることで威力を発揮します。 |
Pathauto |
DrupalではURLエイリアスという機能でURLを置き換えることができます。通常「node/1」「node/2」といったデフォルトのURLを「blog/1」「article/2011/12/2」といった具合に、コンテンツと関連性のあるURLに置き換えられます。
「Pathauto」では自分で設定したルールに基づいて、自動でURLエイリアスを作成することができます。 |
Token |
「pathauto」の利用の際に必須です。サイト内で扱っている動的なパラメータを利用するためのモジュールです。
たとえば投稿者名を、[node:author]と入力することで、実際の名前を表示することができます。
ただし利用できる場所は限られてはいます。 |
Backup and Migrate |
データベースのバックアップとリストアができます。
公開しているサイトのバックアップはもちろんですが、サイトの制作時に、開発環境のサーバから本サーバへ移すときにも便利です。 |
Webform |
お問い合わせなどのフォームを簡単に作成することができます。
フォームの項目も簡単に追加できるので、複雑なアンケートフォームの作成にも便利です。
エクセルでの管理用にCSVダウンロードもできます。 |
通常、管理画面で作成したメニューはブロックを使うことで割り当てられた場所に配置ができますが、テンプレート内に直接追加することもできます。
|
<?php print theme('links', array('links' => menu_navigation_links('menu-custom'), 'attributes' => array('class'=> 'custom'))); ?> |
上記では「menu-custom」という名前で作成したメニューを、テンプレートファイル「page.tpl.php」に追加することで、カスタムに表示することができます。
Drupalの管理画面へアクセスの際に、下記のようなエラーが表示されてアクセスできない場合があります。
|
Warning: MySQL server has gone away query: INSERT INTO watchdog... |
症状はMySQLへのアクセスに問題を生じているのですが、具体的にはモジュール等のアップデートのチェックで、MySQLがビジーになってしまっているようです。
暫定的な解決方法としてモジュールの管理ページ(admin/build/modules)にアクセスして、(画面にエラーは表示されたままですが)コアモジュールの「Update status」をオフにすることで、とりあえずエラーの表示はなくなります。