この連載が書籍になりました! Drupal 8初の日本語解説書『Drupal 8 スタートブック』好評発売中です。

【Drupal 8入門】モジュールのインストール、ユーザー作成と権限の設定

2016年9月29日(木)
ANNAI株式会社

モジュールページの情報を確認する

ここまで、Simple XML Sitemapをインストールして設定するまでの手順を一通り行ってきました。

途中でお約束した通り、ここではdrupal.orgのモジュールページの見方を説明します。モジュールページの情報を理解することは、モジュールを選定する上でとても大切です。

メンテナンスされていないモジュールを利用するのは、セキュリティ上のリスクがありますし、利用者が少ないモジュールを利用すると、思わぬ不具合に見舞われる可能性もあります。しっかりとメンテナンスされていて、多くの人が利用しているモジュールを選定すると、こういったリスクを下げることに繋がります。モジュールのページは英語ですが、ポイントを押さえれば、簡単に把握することができます。

モジュールページ各セクションの説明

まずは、このモジュールページのどこに何が書かれているのかを、今回使用したSimple XML Sitemapモジュールのページを例にとって確認してみましょう。

image alt text

image alt text


1.モジュール名

モジュールの名称です。モジュール名とdrupal.orgのモジュールページのURLは必ずしも一致するとは限りません。 Simple XML SitemapモジュールページのURLは「https://www.drupal.org/project/simple_sitemap」で、「simple_sitemap」というパスを利用しています。

2.説明文

モジュールの説明文です。モジュールの機能説明や、バージョン情報、現時点で発見されている不具合、作動に必要な条件など、そのモジュールに関する全般的な事が記載されています。

3.プロジェクト情報

モジュールのプロジェクト情報です。ここを確認することで、モジュールのメンテナンス状況や、開発状況、インストールサイト数などを確認できます。以下に各項目の意味を一覧表にしました。image alt text

項目名 日本語訳 説明
Maintenance status メンテナンス状況 Actively maintained (活発にメンテナンスされている)
Minimally maintained (最小限にメンテナンスされている)
Seeking co-maintainer(s) (共同でメンテンス者を募集中)
Seeking new maintainer(新しいメンテンス者を募集中)
Unsupported(サポート対象外)
Development status 開発状況 Under active development (活発に開発されている)
Maintenance fixes only (バグの修正などのメンテナンスのみ行われている)
No further development (これ以上の開発は行われない)
Obsolete (使用されない、廃止されている)
Module categories モジュールカテゴリ モジュールのカテゴリー。SEO、views、securityなど
Reported installs インストール数 このモジュールを利用しているサイト数。これはDrupalの全バージョンの合計数なので、各バージョンのインストール数を確認するには、「View usage statistics」から各バージョンの数を確認する必要があります。特にDrupal 8がリリースされた日が浅い間は、注意が必要です。
Downloads ダウンロード数 モジュールがダウンロードされた回数。
Automated tests 自動テスト モジュールにテストコードが含まれており、ソースコードの変更の度に自動的にテストが実行されている場合に表示されます。
この項目が表示されているモジュールについては、issueにパッチが添付された場合も自動的にテストが実行されるので、モジュールの品質をチェックする目安の1つにすると良いでしょう。 「Automated tests」タブから、最新のテスト結果を確認できます。
Last modified 最終更新日時 ページの最終更新日

4.ダウンロード

モジュールのダウンロードセクションです。ここからモジュールをダウンロードできます。

ここでは以下の図のように「Display Suite」モジュールのダウンロードセクションを例にとって説明します。

image alt text


各リリース(Release)の違い

ダウンロードセクションは、「Recommended releases」、「Other releases」、「Development releases」の3つのリリースに分かれています。それぞれのリリースの意味は以下の通りです。

リリース名称 説明
Recommended releases 奨励されるリリース。このリリースの利用が推奨される。
Other releases 過去の安定リリースが表示される。
Development releases 開発段階のリリース。不安定なことも多く、利用には注意が必要。

この場合、Drupal 8でこのモジュールを利用するのであれば「Recommended releases」である、「8.x-2.5」、Drupal 7であれば、「7.x-2.14」の利用が推奨されます。

バージョン(Version)とリリースタイプについて

拡張モジュールにはバージョン名が付けられています。Drupal 8用のモジュールであれば、「8.x-2.5」、Drupal 7用であれば、「7.x-2.14」のように対応するDrupal本体のバージョンの数値が割り当てられています。

DrupalコミュニティではDrupal 8リリースのタイミングでリリースバージョンにセマンティックバージョニングを採用することを決定しました。

  1. APIの変更に互換性のない場合はメジャーバージョンを上げる
  2. 後方互換性があり機能性を追加した場合はマイナーバージョンをあげる
  3. 後方互換性を伴うバグ修正をした場合はパッチバージョンを上げる

これが基本ルールです。コアのバージョンを例にすると、

  • 7.50 から 8.0 へは1.
  • 8.0 から 8.1.0 へは2.
  • 8.1.1 から 8.1.2 へは3.

にそれぞれ相当します。

なぜセマンティックバージョニングが採用されたかというと、それがオープンな仕様であり、他の多くのオープンソースでも利用されているからです。詳細は セマンティック バージョニング を参照してください。

Development releaseに表示されているバージョンをご覧ください。「8.x-2.x-dev」や「7.x-1.x-dev」のように末尾に「dev」という接尾辞が付いています。これは、「リリースタイプ」と呼ばれ、「dev」であれば「development(開発)バージョン」を意味します。「dev」以外にも「alpha」や「beta」、「rc」などの「リリースタイプ」も存在します。各バージョンの意味は以下の通りです。

リリースタイプ 意味
dev 開発中を意味し、issueで報告されたバグの修正など、次の「Recommended releases」でリリースされる予定の修正が入っている。あくまで「ある時点の最新」という扱いなので、テスト目的以外での利用は推奨しない。
alpha 最初のリリースであり、まだ動作は不安定。多くの人から寄せられたエラーの修正は行っているが、まだ既知の不具合が残っている。セキュリティ上の問題も残っている可能性がある。
beta 情報漏洩やセキュリティ上の問題に関わる全てのバグは修正されている。 全てのAPI開発が十分に完了していて、モジュールやテーマの作者はプロジェクトをアップデートする準備ができている。もし、どうしても必要な場合にはAPIやデータベーススキーマの変更が適用されることもある。操作性や翻訳可能な文字列に関してはまだ改善の余地残っている。
rc Release candidates(リリース候補版)の意味。betaバージョンにおいて、深刻なバグが報告されなければrcバージョンが作成される。コードはほぼ安定している。これ以上の操作性の変更や翻訳可能な文字列の変更は通常は行われない。Drupal開発者コミュニティでは、最初の安定バージョンとみなされる。

ここからも分かる通り、モジュールの開発はalpha、beta、rcを経て安定バージョンとしてリリースされます。これから利用しようとしているモジュールが、現在、開発のどの段階にあるのかを把握することで、

  • 「このモジュールはrcだからもう少しで安定版を使えるようになるな」
  • 「このモジュールはbetaだから、安定して使えるようになるまでには、まだ時間がかかるな。」
  • 「このモジュールはalphaだから、インストールするのはまだ早いな。しばらく様子を見よう。同じ機能を持つ他のモジュールも探してみよう。」

といった、目星をつけることができます。

シールドアイコンの意味

各バージョン名の横に「シールドアイコン」が表示されています。これは、セキュリティアドバイザリーの対象であるという意味です。モジュールやバージョンによっては「シールドアイコン」が表示されていないものもありますが、これらは、セキュリティーアドバイザリーの対象外ですので、脆弱性が存在する可能性が高いと言えます。

image alt text

5.メンテナンス者情報

モジュールのメンテナンス者の情報です。ここにはメンテナンス者の氏名と、このモジュールに対して、いくつのコミットを行ったかが表示されます。

6.バグや質問、新しい機能リクエスト

ここではDrupalコミュニティのメンバーから報告されたバグや、新しい機能のリクエストについて話し合うフォーラムへのリンクが表示されています。All issuesの項目をみると、「10 open」「81 total」と記載されています。これは、今現在フォーラムで議論されている未解決の問題(open)が10個、すでに解決済みの問題も含めて全部で81個あるという意味です。「10 open」をクリックすると、「Issues for Simple XML sitemap」というフォーラムへ移動します。ここでは「Simple XML sitemap」モジュールに関する、質問、新しい機能リクエスト、バグ報告などさまざまなディスカッションが行われています。モジュールを利用していて不具合などに遭遇した際には、このフォーラムで情報を探してみると解決策に繋がるかもしれません。

image alt text

7.ライセンス、デモサイト、翻訳プロジェクトなどへのリンク

モジュールによっては、詳細な使い方を説明したDocumentationや、実際に動作を確認できる、デモサイトへのリンクなどが掲載されていることもあります。モジュールを導入する際にはぜひチェックしてみることをお勧めします。

8.開発者向けのAPIやカスタマイズに関する情報

将来的に適応予定であるパッチに関する情報や、コードのレポジトリ、脆弱性に関する情報など開発者向け情報が記載されています。

拡張モジュール選定のための注意点

これまでに、モジュールページの情報の見方を学んできました。これらの情報を元に、Drupal初心者の方々が拡張モジュールを選定する際のポイントをまとめます。

インストール数の多いモジュールを使う

インストール数の多いモジュールは、それだけ多くの人が利用しているのでバグやセキュリティの問題も発見されやすく、それらの修正も迅速かつ、継続的に行われる傾向があります。一方、インストール数の少ないモジュールは途中でメンテナンスが放棄されたり、開発がストップしてDrupal本体のアップデートに対応できないなど、様々な不具合に見舞われるケースもあります。インストール数の多いモジュールであれば、こういったリスクは軽減されるでしょう。

リリースタイプがalpha、beta、dev、rcであるモジュールの使用は控える

リリースタイプに関する説明でも触れましたが、リリースタイプがalpha、beta、devのモジュールは動作が不安定であったり、セキュリティ上の問題点がまだ修正されていないこともあります。また、rcもセキュリティーアドバイザリーの対象外ですので、できれば安定バージョンになってから利用するようにしてください。

シールドアイコンのあるモジュールを使う

シールドアイコンが表示されていない、セキュリティーアドバイザリーの対象外のモジュールの利用は、セキュリティ上お勧めできません。シールドアイコンのあるモジュールの利用をお勧めします。

ANNAIは、2009年からDrupal専門のWebシステム開発会社として、世界規模で展開するグローバル企業や大学・自治体を中心に数多くのWebソリューションを提供。
CoreやModuleのコントリビューターなど、Drupalエキスパートが多数在籍。国内ユーザーコミュニティへも積極的にコミットし、定期的なセミナーの等の開催を通じて、オープンソース技術の普及や海外コミュニティとの緊密な連携を図っている。
Webシステムの企画・開発〜デザイン、クラウド運用までをワンストップで提供する他、Drupalのコーディングを評価する"Audit業務"や最適なモジュールの調査・選定等、幅広いコンサルティングを行っている。Drupalアソシエーション公式パートナー。
https://annai.co.jp

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています