Drupal
HameeDay 18

Drupalで機能を作る際に考えること

こちらはHameeアドベントカレンダー18日目です。
https://qiita.com/advent-calendar/2017/hamee

本当はpython(opencv)での画像マッチングについて書こうとコードを書いてあとはinputとoutputを決めて実行し記事を書くだけの状況にしていたのですが、前日にmacが突然お亡くなりになりコードとプログラムの実行手段がなくなりこの記事を書いています・・・・

Drupal7のモジュールについてお話します。

Drupalとは

オープンソースのCMSの1つでありモジュールを取り入れて拡張することを基本としており、またCMSとしての用途だけではなく簡単にWEBアプリケーションを作成することが可能である。またセキュリティの信頼も高い

Drupalのモジュールとは?

Drupalで作成するWebアプリケーションの機能の1部であり、モジュールには以下の3つの種類が存在します。

1 コアモジュール
コアモジュールとはDrupalをインストールした段階から備わっているモジュールで以下のようなものが存在する。

2 カスタムモジュール(他の人が作ったもの)
他の開発者が提供しているモジュールで以下にまとめられています。https://www.drupal.org/project/project_module
ここから必要となるモジュールをダウンロードしてDrupalに取り込むことによって使用することができます。私の場合、stableであるか・使っているユーザー数がどれくらいいるか・モジュールの更新が頻繁にあるかを確認して使っています。

3 カスタムモジュール(自分で作成したもの)
Drupal配下のsites/all/moduelesに作成するモジュールのディレクトを作成し必要なファイルを作成していく。

どのモジュールを使うか?

普通アプリ開発では要件を決め外部設計をしたあとに内部設計・実装をする必要があるが、Drupalではこの間にモジュール調査というフェーズを挟む
つまり作成すべき機能が

1Drupalの標準機能で作成することができるか?
2Drupalで公開されているモジュールを使って作成することができるか?
3自分でモジュールを作る必要があるのか?

を確認する。

1・2で機能の要件を満たすことができるのであれば、開発をする必要がなくなりまたセキュリティのアップデートも開発者が行ってくれるのでそれを取り込むだけで済みます。

モジュール調査はどのくらい大変?

やる作業としては以下を行います。
1コアモジュールでできるかを確かめる
2できなければモジュールサイトでモジュールを探し説明を読み実際に入れ設定を加えて要件を満たしているかを確認するできなければ違うモジュールを探すこれを繰り返します。

慣れてくるとコアでできそうとかあのモジュールでできそうという推測ができてくるので大変ではないですが、慣れるまでは時間がかかりますと言う意味でとても初期の勉強時間が結構かかりました。

以下サイトが個々のmoduleの使い勝手を確かめるのにとても便利です。
https://simplytest.me/

ただ公開されているモジュール自体は40000弱 (2017年12月現在)存在するため開発をほとんどすることなく一般的な機能は構築できると思います。

参考記事

Drupalのモジュールを使うときはよく以下のサイトを参考にさせてもらっています。
https://drupal.studio-umi.jp/blog
http://drupal-navi.jp/
https://annai.co.jp/article