アイキャッチ画像: デスクの上でパソコンを使用している

本日は「 Drupal 7 の定番人気モジュールトップ 20」と題しまして、 Drupal 7 (ドルーパル7)で世界的に最もよく使われている定番モジュールのご紹介ができればと思います。

Drupal モジュール プロジェクトページ

はじめに

本題に入る前に、イメージしている読者層と Drupal の基本的な概念を押さえておきたいと思います。

対象読者

本記事の対象読者は「 Drupal の利用をはじめて間もない方」です。 現役の Drupal のテーマ作成者や開発者の方にはすでに知っている情報がほとんどになってしまうかと思います。

Drupal の 2 つの概念ーー「テーマ」と「モジュール」

Drupal は豊富な基本機能を備えた CMS ですが、ビジネス目的で使う場合には何らかの「拡張」を行って使うスタイルが基本です。

Drupal で「拡張」というときに、方法は大きく 2 つあります。 ひとつが「テーマ」( theme )、もうひとつが「モジュール」( module )と呼ばれるものです。 テーマというのは、サイトのデザイン面、見た目の部分を扱うもので、主に HTML のテンプレート、 CSS 、ロゴやファビコンなどを切り替えるのに使うものです。 モジュールというのは、サイトの機能面、動作の部分を扱うもので、 Drupal に新たな機能を追加したり特定の処理をはさみこんだりするために使います。

テーマもモジュールも、大きく次の 3 つに分類することができます。

  1. コア
  2. コントリビュート
  3. カスタム

1 のコアというのは Drupal 本体に同梱される形で配布されている標準添付のもの、 2 のコントリビュートは世界の Drupal コミュニティによって開発され無償で配布されているものです。 3 のカスタムというのは各制作会社 / 開発会社が独自に作るもののことです。 ちなみに 2 番目のコントリビュートモジュールは寄与モジュールと呼ばれたりもします。

このあたりの説明はカスタムモジュール作成入門のページにも書いていますので興味のある方はそちらもご覧になってみてください。

・・・ではここからが本題です。

Drupal の定番の人気モジュールについて

ということでモジュールは「コア」「コントリビュート」「カスタム」の 3 タイプに分けられるのですが、「人気」というときに対象となるのは 2 つめの「コントリビュートモジュール」です。 コアモジュールは選ぶ選ばないにかかわらず Drupal のコアに同梱されてきますし、カスタムモジュールの方は一般に配布されるものではありません。 ですので、人気をはかる際に対象となるのは自然コントリビュートモジュールだけとなります。

本当にトップの人気コントリビュートモジュールとなると世界中のサイトで数万、数十万サイトという単位で広く使われています。

定番人気モジュールのチェック方法

Drupal の定番人気のモジュールがどれなのかというのは実は Drupal.org の Module project というページを見れば誰でも確認することができます。

対応している Drupal のバージョンやモジュールのカテゴリーによって絞り込みを行うこともできますので、ここをチェックするだけで、どういうモジュールがあるのか、どういうモジュールが人気を得ているのか、どういうモジュールが最近リリースされたのかといった情報をチェックすることができます。

たとえば、最もたくさんインストールされている Drupal 7 対応のモジュール最近新たなリリースのあった Drupal 7 対応のモジュールといった切り口でチェックできますので興味のある方はぜひ実際のページをのぞいてみてください。

定番人気モジュールトップ 20

ここからは、 Drupal の定番人気となっているモジュールを上から順に 20 個ご紹介できればと思います。

ご紹介するのは、記事執筆時点( 2014 年 09 月)における「インストールされているサイトの数」が多い順から 20 個です。 見る時期が変わるとランキングも少し変わってくるかと思います。

全体的に長いので、ひとつひとつの説明は短めに、なるべくわかりやすく、ということを心がけてみました。 1 番目から順番にどうぞ。

1. Views

Views モジュールは端的に言うと「一覧ページ」「一覧パーツ」を作るためのモジュールです。

コンテンツやユーザー、タグなどを任意の基準で絞り込み、任意の順序で、任意の項目を表示する機能を備えたモジュールです。 たとえば、一般的な企業ホームページではトップに「お知らせ」や「ブログ」などが一覧で表示されたりしますが、 Views はそのようなパーツを管理画面からかんたんに作れる機能を提供します。

Views は長年 Drupal を代表するたいへん人気の高いモジュールで、 Drupal 8 ではコアモジュール化され Drupal 本体に同梱される形になります。

2. Chaos tool suite (ctools)

Chaos tool suite 通称 ctools モジュールは多くの便利機能をパッケージとして詰め込んだモジュールです。 開発者向けの数多くの API を提供してくれます。

ctools 単体で何かをするということはありませんが、数多くのモジュールが ctools を利用しているため結果として数多くのサイトでインストールされているモジュールです。

3. Token

Token モジュールは他のテキストに変換されるキーワード群を提供するモジュールです。

キーワードにはさまざまなものがあり、たとえば、 %site-name でそのサイトのサイト名を、%user-name で対象となるユーザのユーザ ID をといった形でさまざまなテキストを利用することができます。 管理画面上からプログラミングにおける「変数」が使えるようなイメージです。

4. Pathauto

Pathauto モジュールは コンテンツやユーザの内容から URL (パス)を自動生成するためのモジュールです。

Drupal にはコンテンツ( Drupal 用語でいうと「ノード」)などの URL を自由に設定できる Path というコアモジュールがあります。 Pathauto はその名のとおり( Path + Auto ) Path による URL 設定を自動化してくれるというものです。 Token モジュールが提供するキーワード(トークン)を使うこともできます。

5. Libraries API

Libraries API モジュールは外部ライブラリを取り扱うための開発者向けモジュールです。

Ckeditor などの外部ツールを Drupal に取り込むのに便利な API を提供してくれます。 こちらもこのモジュール単体で何かに使うというよりは、他のモジュールで利用できる汎用機能を提供するためのモジュールです。

6. Administration menu

Administration menu モジュールはデフォルトとは異なる管理者用メニューを提供するモジュールです。

Drupal にはデフォルトの管理画面もありますが、こちらはそれとは構成や見た目の異なる半透明の管理者メニューを提供してくれます。

7. Entity API

Entity API モジュールはコンテンツやユーザーのデータのプログラム上での取り扱いをかんたんにしてくれる開発者向けモジュールです。

Drupal にはエンティティ( entity )という、一言では説明の難しい Drupal ならではのすばらしいコンセプトがあるのですが、このモジュールを使えばそのエンティティがよりかんたん・便利に扱えるようになります。 開発者向けなので、こちらも単体で使うというよりは他のモジュールから利用する汎用機能を提供するタイプのモジュールです。

8. Date

Date モジュールは日時データをコンテンツやユーザーにくっつけられる機能を提供するモジュールです。

正確にいうと「コンテンツやユーザーにくっつける」というところは Date モジュールの機能ではありませんが、最初はとにかく「日時データが扱いやすくなる」という認識で大きな問題はないのではないでしょうか。

9. Webform

Webform モジュールはオンラインフォームを管理画面から自由に作れるモジュールです。

Drupal には標準的な問い合わせフォームがコアに同梱されていますが、 Webform を使うと標準とは異なる凝った入力フォームなんかも素早く作成することができます。

Drupal は CMS でありながら、開発用のプラットフォーム、いわゆる「ウェブフレームワーク」としての色合いも強い独特なツールですが、この Webform のような機能なんかは他のウェブフレームワークではなかなか対抗の難しい目玉機能だと思います。

10. IMCE

IMCE モジュールは画像その他のファイルを Drupal サイト上で管理できる画面を提供するモジュールです。

ファイルブラウザのようなインタフェースで、画像のプレビューやリサイズなどのちょっとした処理、ファイルの一覧表示などの機能を提供してくれます。

ここからは 11 位から 20 位のモジュールです。 解説もひとことずつ手短にいきたいと思います。

11. Wysiwyg

Wysiwyg モジュールはいわゆる WYSIWYG (ウィジウィグ)ーー Word のように HTML テキストを編集できる機能を提供するモジュールです。

HTML がわからない方でも、スタイルや構造に工夫を加えたコンテンツをかんたんに投稿することができます。

12. Google Analytics

Google Analytics モジュールはその名のとおりGoogle Analytics を導入するためのモジュールです。

本来 Google Analytics を利用するときはページの HTML 内に script タグを貼り付ける必要がありますが、こちらのモジュールを使うと管理画面からかんたんに Analytics 用の設定を行うことができます。

13. jQuery Update

jQuery Update モジュールはjQuery の新しいバージョンを利用できるようにしてくれるモジュールです。

Drupal 7 のコアには jQuery の 1.4 が同梱されています。 もっと新しいバージョンの jQuery を使いたい場合にはこちらの jQuery Update を使うとかんたんに新しいバージョンの jQuery をし始めることができます。

14. CKEditor - WYSIWYG HTML editor

CKEditor モジュールはCKEditor という WYSIWYG ツールを Drupal で利用するためのモジュールです。

「 WYSIWYG 」(ウィジウィグ)の意味については 11 番目の Wysiwyg と同じです。 Wysiwyg が複数のエディタをサポートしているのに対し、こちらの CKEditor は CKEditor 専用となっています。

15. Link

Link モジュールはURL データをコンテンツやユーザーにくっつけられる機能を提供するモジュールです。

正確にいうと、 Date モジュールと同じく「くっつける」という部分は Link モジュールが担っているわけではありませんが、このモジュールを使えば「参考記事」や「関連ページ」などがコンテンツにくっつけられるというようなイメージです。

16. Backup and Migrate

Backup and Migrate はDrupal サイトのバックアップや環境間のデータ移行のためのモジュールです。

バックアップ先やスケジュールなどを細かく設定することができます。

17. Rules

Rules モジュールは「自動化」処理がかんたんに設定できるモジュールです。

「 Drupal 内で○○が起こったときに××という処理をする」といった条件と処理を管理画面から設定することができます。

18. Views Slideshow

Views Slideshow モジュールはコンテンツのスライドショーを手軽に作成できるモジュールです。

Views モジュールで一覧表示できるさまざまなもの(コンテンツやユーザ)に対してスライドショーを作成することができます。

19. CAPTCHA

CAPTCHA モジュールはボットによるスパムを防止するための CAPTCHA 機能をフォームに追加するためのモジュールです。

20. XML sitemap

XML sitemap モジュールはSEO に有効な XML 形式のサイトマップを生成するためのモジュールです。

おわりに

以上です。 いかがだったでしょうか?

Drupal 7 の人気モジュールのランキングを 1 位から 20 位までご紹介してみました。

最後は少し駆け足でしたが、 Drupal のコントリビュートモジュールとしてどのようなものが揃っているのかというのがおおづかみに把握していただけたのではないかと思います。 Drupal が CMS としてどういうサイトでよく使われているのかという部分もなんとなく把握できるのではないでしょうか。

コントリビュートモジュールだけでなく、自分で作るオリジナルの Drupal モジュールにも興味のある方はこちらに記事なんかもご覧になってみてください。

最後に少し宣伝を。 スタジオ・ウミでは Drupal 7 のカスタムモジュール開発のご依頼をお受けしています。 Drupal サイトに機能を追加したい、既存の機能を見直したい、とお考えの方はぜひお気軽にお問い合わせいただければと思います。


共に働く新しい仲間を
募集しています

スタジオ・ウミは「Drupal」に特化したサービスを提供する Drupal のエキスパートチーム。
フルリモート&フレックス制だから、働く場所を選ばず時間の使い方も自由です。
そんなワークライフバランスの整った環境で、当ブログに書かれているような
様々な技術を共に学びながら、Drupalサイト開発に携わってみたい方を募集しています。
まずはお話だけでも大歓迎!ぜひお気軽にご連絡ください。