【Drupal 8入門】モジュールのインストール、ユーザー作成と権限の設定
前回はサイトの多言語化を行い、URLで表示言語を切り替える機能を実装しました。今回は拡張モジュールの利用と、ユーザー作成と権限設定について説明していきます。Drupalには、2万を超える多彩な拡張モジュールがあり、これらを利用することでコードを書かずに、かなりの機能を実装できます。拡張モジュールの探し方からインストール方法、メンテナンス状況の見分け方など、今後Drupalでの開発を行う上で必要な事柄についても触れていきます。
ユーザー作成と権限の設定に関しては、今回は実際にユーザーを作成して、権限を割り当てて挙動を確認してみます。実際に試してみる事でイメージを掴んでください。
サンプルサイト http://demo.drupal8-getting-started.annai.co.jp
素材集 http://demo.drupal8-getting-started.annai.co.jp/download
拡張モジュールについての説明
拡張モジュールとは何か
これまでは、Drupal 8に実装されている標準機能(Coreの機能)のみでサイトの制作を行ってきました。特にDrupal 8では標準でViewsやWYSIWYGエディタが実装されているため、拡張モジュールを利用しなくても、ある程度は目的とするサイトを作ることが可能です。
しかし、Drupalの標準機能では対応できない機能を実装する場合はどうしたら良いでしょうか?
もちろん、独自にコードを書いて実装するのも一つの方法です。しかし、Drupalデベロッパーの間で有名なこんな言葉があります。
「There is a Module for that(そのモジュールはあるよ。)」
drupal.orgで公開されている2万を超える拡張モジュールの中には、あなたが実装しようとしている機能を実現するモジュールがあるかもしれませんという意味です。この言葉が意味するように、まずは目的とする機能を提供する拡張モジュールが存在しないかをdrupal.orgで探してみることをお勧めします。
このように、Drupalにおいて拡張モジュールとは、標準の機能を拡張するためのプログラムです。WordPressのプラグインに相当します。
コードだけのライブラリ的なモジュールも、もちろんありますが、GUIから設定や開発までできるモジュールとして、drupal.orgへコントリビュートするのがDrupalコミュニティの文化になっています。もちろんすべて無料でダウンロードでき再配布・カスタマイズ可能なGPL2ライセンスです。
拡張モジュールを追加すると何ができるのか
拡張モジュールを入れると何ができるかは、もちろんその拡張モジュールによって違いますので、一概には言えませんがDrupalの拡張モジュールの特徴としては、個々の拡張モジュール自体は比較的小さな機能を提供する点です。そのため、一つの拡張モジュールで求める機能を実装するというよりは、個々の拡張モジュールが提供する機能を組み合わせて目的の機能を実装していくのがDrupalのスタイルだと言えます。
この細かい機能を組み合わせて開発を行う様子は、しばしばレゴのブロックに例えられます。レゴのブロック一つ一つは無機質なブロックに過ぎませんが、それらを組み合わせる事でシンデレラ城やスターウォーズの宇宙船を作ることもできます。以下にDrupal 8で利用可能な有名なモジュールとその機能をご紹介します。
※インストール数は2016年9月現在の数
モジュール名 | 機能 | インストール数(全バージョン) |
---|---|---|
Token | Drupal標準以外のトークンを利用可能にする。 | 814,639 |
Pathauto | 自動URLエイリアス生成機能を実装する。 | 709,697 |
IMCE | 個人ディレクトリに対応したファイルアップローダー。 | 452,785 |
Google Analytics | Google analyticsを実装する。 | 388,770 |
Metatag | サイトのメタタグを自動生成する。 | 318,795 |
Backup and Migrate | サイトのバックアップとリストアを行う。 | 306,101 |
Rules | GUI上から条件に応じた、様々なアクションの設定を行う機能を実装。 | 295,421 |
XML sitemap | XMLサイトマップを自動生成する。 | 290,159 |
Views Slideshow | Viewsを利用したスライドショーを実装する。 | 264,802 |
Views Bulk Operations | Viewsで作成した一覧に対して、一括処理を可能にする。 | 251,083 |
Panels | GUI上から複雑な条件に応じたレイアウトを可能にする。 | 242,385 |
Display Suite | GUI上からテンプレートを書き換える事なしで、レイアウトの変更を可能にする。 | 152,928 |
Devel | 開発者向けの、さまざまな機能を提供する | 224,033 |
Drupalコアモジュールとコントリビュート(寄与)モジュール
モジュールには、Drupal本体(core)に含まれているコアモジュールと、コントリビュート(寄与)モジュールの2種類があります。先ほど例として挙げたモジュールはすべてコントリビュートモジュールです。コントリビュートモジュールはその名前の通り、世界中のDrupalデベロッパーから寄与されたモジュールで、drupal.orgで公開され、メンテナンスされています。
一方、Drupalのcoreに含まれているモジュールもあります。これらをコアモジュールと呼びます。実際にモジュールの管理ページからコアモジュールを確認してみましょう。
管理者メニューの「拡張機能」をクリックして、「拡張」ページをご覧ください。コアというセクションがあり、モジュールの一覧が表示されています。これらがコアモジュールです。初期状態で無効になっているコアモジュールもありますので、利用する際には有効化する必要があります。
コアモジュールとコントリビュートモジュールでは、セキュリティリスクが全く違うことは覚えておいてください。コアモジュールの脆弱性は全てのDrupalサイトに共通するリスクですので、一度脆弱性が明らかになった場合には、標的になりやすいです。コアモジュールに脆弱性が見つかった場合には早急なアップデートが必要となります。
Simple XML sitemapモジュールのインストール
では、実際に拡張モジュールをインストールして、機能を拡張してみましょう。
今回はSimple XML sitemapモジュールをインストールして、xmlサイトマップが自動的に作成されるように設定します。ここではGUIからのモジュールダウンロード方法を紹介しますが、SFTP、Drush、Drupal Consoleなどのコマンドラインから導入することが一般的です。
1.https://www.drupal.org/にアクセスして、ページ右上の検索バーに「Simple XML sitemap」と入力して、検索バー下のラジオボタンの「Modules」にチェックを入れて、「虫眼鏡」ボタンをクリックします。
2.検索結果が表示されます。検索結果一番上の、「Simple XML sitemap」リンクをクリックします。
3.「Simple XML sitemap」モジュールのページが表示されます。このように、モジュールやテーマはそれぞれ、個別のページを持っています。モジュールを探す上でこのページの情報はとても重要となります。後ほど、このページの情報の見方を詳しく説明します。
ページ下の「Downloads」セクションの「Recommended releases」の「tar.gz(○○KB)」のファイルへのリンクアドレスをコピーします。
※最新の安定バージョンを利用しますので、必ず背景が緑色の「Recommended releases」のリンクアドレスをコピーしてください。
4.制作中のサイトに戻ります。管理者メニューの「機能拡張」をクリックします。
5.「拡張」ページの「新しいモジュールをインストール」ボタンをクリックします。
6.「新しいモジュールをインストール」画面で、「次のURLからインストールする」の入力欄に先ほどコピーしたモジュールファイルのURLをペーストして「インストール」ボタンをクリックすると、インストールが始まります。
7.インストール完了後、「新しく追加されたモジュールを有効にします」リンクをクリックします。
8.「拡張」画面に戻ります。「新しいモジュールをインストール」ボタン下の入力欄に、「simple xml」と入力すると該当する拡張モジュールがフィルタリングされます。「Simple XML Sitemap」モジュールのチェックボックスにチェックを入れて、「インストール」ボタンをクリックします。
9.インストールが開始されます。インストールは数秒で終わります。
10.「Simple XML Sitemap」モジュールがインストールされました。「Simple XML Sitemap」モジュールのチェックボックスを確認すると、チェックが付いていてグレーアウトされています。これでモジュールが有効化されました。
Simple XML SitemapモジュールでXMLサイトマップを作成する
インストールしたSimple XML Sitemapモジュールを設定して、XMLサイトマップを作成します。このモジュールはコンテンツタイプごとにサイトマップを自動的に作成できます。
1.管理者メニューの「サイト構築」の「コンテンツタイプ」リンクをクリックします。
2.「コンテンツタイプ」画面の「基本ページ」コンテンツタイプの「フィールドの管理」横の矢印をクリックします。ドロップダウンメニューから「編集」をクリックします。
3.「基本ページ コンテンツタイプを編集」画面の「Simple XML sitemap」タブをクリックします。
4.「Index entities of this type」ラジオボタンをチェックして、「優先度」を設定し、「Regenerate sitemap after hitting Save」チェックボックスをチェックして、「コンテンツタイプの保存」ボタンをクリックします。
5.基本ページコンテンツタイプで作られたコンテンツのサイトマップが生成されます。
6./sitemap.xmlページにアクセスしてサイトマップを確認します。
以下の様にURLが羅列されています。
ブラウザでソースを確認するとxmlサイトマップが生成されているのが確認できます。
7.「新着情報」と「製品紹介」コンテンツタイプについても同様に設定を行います。
/sitemap.xmlページのソースコードを確認すると、以下のように「新着情報」と「製品紹介」コンテンツタイプについてもxmlサイトマップが生成されているのが確認できます。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- 【Drupal 8入門】コンテンツの翻訳と多言語設定(前編)
- 【Drupal 8入門】コンテンツの翻訳と多言語設定(後編)
- 【Drupal 8入門】Viewsによるコンテンツ一覧ページの作成(前編)―Viewsの概念と基本的な使い方
- 【Drupal 8入門】コンテンツタイプとタクソノミーの作成
- 【Drupal 8入門】Viewsによるコンテンツ一覧ページの作成(後編)―AJAXページャーや検索機能の実装
- 【Drupal 8入門】ブロックレイアウトとコンタクトフォーム作成
- Concrete5ってCMSを知ってますか?
- Drupalの歴史における革命的な変更を含むDrupal 9のリリースと今後の展望
- 【Drupal 8入門】Drupal 8の基礎知識とPantheonを用いたインストール
- 便利なWordPressプラグインの紹介