失敗しない拡張モジュールの選択方法

タイトルが大げさですが・・・

どの拡張モジュールを使うか、インストールしてみるか、判断はどうされていますか?

正確には実際に使ってみないとわかりませんが、使ってみて期待はずれだと無駄な手間で終わってしまうので、非常にがっかりします。
そのがっかり感が繰り返されると、Drupalを使うのはやめようとさえ思ってしまいます。

事前にある程度わかっていれば、がっかりを感じる回数も減らすことができるのではないかと考えました。
そこで、事前にいくつかの項目をチェックするようにしました。

モジュールの入手は、Drupal公式のモジュール一覧Drupal Moduleサイトから、もしくはその他モジュール情報サイトからリンクをたどって、各プロジェクトサイトから行うと思います。

ガッカリ感を感じなくて済むようにするには、事前に安定度とか完成度を指標にある程度の目安がわかれば良いと思います。

1.現状のステータスとサポートバージョン

  プロジェクトページにStatusとして記載されている場合もありますが、ほとんどのプロジェクトで記載はありません。

ですので、まずOfficial ReleaseかDevelopment snapshotsかである程度判断できます。

さらにモジュールのバージョン表記などで安定度もしくは完成度の目安にできると思います。
モジュールのバージョン番号付与規則は推測ですが、以下の様になると思います。
・コアモジュールのバージョン:4,5,6,7、これでどのコアモジュール用かが判別できます。
・メジャーバージョン:大幅な仕様変更や機能追加などがあると1つプラスされるのだと思います。
・マイナーバージョン:リリース後に見つかった不具合のFix版やTODOの項目が実装されると1つプラスされるのだと思います。
・開発ステータス:dev->alha->beta->RC->なし の順です。さらに段階を区別する数字が付いている場合があります。

モジュールによっては、Development snapshotsだけしかない場合もあります。
開発中だからといって、全く使えないというわけではありません。
安定はしていないでしょうが、3番を確認すればもう少しはっきりすると思います。

Official Releaseであっても、BOXが赤色になっている場合は、何らかの問題が報告されていたり、使用環境がごく一部に限られているなど一般的には使用しなほうが良く、かなりリスキーだと思います。 

あと、Drupalコアのサポートバージョンは、自分が使用しているバージョン以外に例えば4.7にも対応していたりすると、かなり古いモジュールであることがわかります。
初期リリースがどのバージョンで開発されているかで、自分が使用しているバージョンの完成度や安定度の目安にもなると思います。 
他のバージョンからの移植であるとフル機能がサポートされていないケースも多々あるので注意が必要です。
ドキュメントがあればそれを読んだり、モジュールに付属しているREADME.txt、INSTALL.txtやCHANGELOG.txtなどに目を通してみてください。

2. Required components

このモジュールを使う場合に、さらに必要となるモジュールです。

この項目は必ず記載があるというわけではなく、各プロジェクトごとでことなります。
記載がないからといって、必要なモジュールがないとは限りません。
中にはダウンロードしたモジュール内のREADME.txtに記載があるケースもあります。

プロジェクトページに記載があるのは良心的だと思います。

3. パッチの状態や修正版の状況

View pending patches やView CVS messagesを参照して、件数、タイムスタンプなどを見れば、開発や修正のスパンを知ることができます。
また、どんな問題が現状あるのかといったことも内容を読めばわかります。

これらは、安定度や完成度の目安にもなると思います。
View pending patches やView CVS messagesの件数が少ない場合は、安易に問題がない(安定している)と判断するのは危険です。使用されていない(人気がない)のかもしれませんし、開発者が対応していないだけかもしれません。4番以降でどのケースなのかおおよそわかります。

4.使用者数

各プロジェクトサイトのページの一番下にview usage statisticsがあります。
厳密にはダウンロード回数だと思います。過去何週間かの集計結果がグラフと表で表示されています。

そのモジュールをどれくらいの人が使用しているがわかりますので、使用人数が多ければ、万が一、トラブルがあったとしても同じ事象で悩んでいる人が見つかる可能性も高いはずです。
対処方法なども見つかりやすくなります。

また、Drupalコアバージョンごとに集計されているので、バージョンの違いで数に大差があるようなケースでは、別のモジュールのほうが相性が良かったりすることも推測できるので、注意が必要かもしれません。

5.他人の評価

例えばDrupal Moduleのサイトであれば、ratingsとしてそのモジュールの評価が表示されています。
すべてのモジュールで評価があるわけではありませんが、使用した人の評価だろうと思いますので、参考になると思います。

以上ですが、これを導入前に行うことで時間的な優位性があるわけではありません。
しかし、あとでがっかり感を感じることは回避できそうです。

機能を最優先にした場合は、上の1~5を無視してでも導入してしまいますが・・・その場合は、機能を最優先したから仕方ないと言い聞かせることができそうです。
 

Drupalバージョン

Drupal 6.x