fugafuga たくさんあるDrupalのモジュールを目的別に紹介するページです。ちょっとカテゴリ分けが微妙かも。スレに出てきたモジュールはもちろん、便利なモジュールを見つけたら追加していってください。
Drupalをブログシステムとして運営するときに便利なモジュールを紹介します。
Pathautoモジュールを使ってみるがよろし。blogを日付とユーザー名でアクセスできるとかできるぞ。
時分まで表示したければ http://drupal.org/node/323441 のパッチを試してみましょう。
Hierarchical Selectモジュールを使えば、多階層のカテゴリ(taxonomy)を動的に絞り込めるようになります。
6.xだと設定で「タグ」(5.xだと「フリータギング」)にチェック入れれば投稿時にカンマ区切りで追加できるようになります(ただし既存のtaxonomyも選択ではなく入力する必要がある)。
Taxonomy Otherモジュールを使えば選択もできて追加もできるようになります。
Embed widgetsモジュールをどうぞ。ページ、ブロック、Viewsをウィジェットとして提供できるようになります。iframeのwidgetがブログパーツみたいに使えます。
hogehoge コミュニティサイトというか、ユーザ同士のつながりやコンテンツを提供しあうようなサイトで便利なモジュールを紹介します。
Subscription系(SubscriptionモジュールやComment_Subscribeモジュール)とNotify系(NotifyモジュールやComment Notifyモジュール)があります。Subscription系の方が大きなフレームワークで、Notify系の方が少しシンプルな気がします。
新着情報をメール送信するモジュールは乱立しており、複数の選択肢があります(http://drupal.org/node/206728 )。いくつかインストールしてみて、自分の希望する使い方ができるか試した方がいいかもしれません。乱立するモジュールの機能比較が http://groups.drupal.org/node/15928 にあります。
http://groups.drupal.org/node/15928 の表のうち、AnonymousがYesなものを選べばいいはずです。Watcherモジュールは、特定のノードが更新されたときやコメントが追加されたときにメールでお知らせしてくれるモジュールで、匿名ユーザでも使えます。ユーザの権限ページで匿名ユーザにもチェックを入れることを忘れずに。
特定コンテンツタイプの新規投稿をニュースレターのように送信するにはSimplenewsモジュールがいいようです(匿名ユーザでも使用可)。
Drupal 5.xならWorkflow-ngモジュール、6.xならRulesモジュールをどうぞ。
Forum Accessモジュールがあります。
LegalモジュールとかTerms of Useモジュールをどうぞ。詳しくは http://drupal.org/node/112519 を参照してください。
シンプルでいいならGuestbookモジュールがあります。サイト全体のゲストブックと、ユーザごとのゲストブックを作ることができます。Spamモジュールとの連携機能はあるようですが、デフォルトでは投稿内容を確認(プレビュー)する機能はありません。
このモジュールは、モジュール開発の叩き台にお勧めされるほど構造もシンプルだそうです。モジュール開発に必要なメニュー・フォーム・フック・テーマが一通り網羅されているので、モジュール開発の参考になるでしょう。
ContactモジュールかAnonymous Contact formモジュールをどうぞ。Contactモジュールの方は、コアのcontactを置き換えて、サイト全体のコンタクトフォームを設定できるようにしたり、ユーザのコンタクトフォームを使用する権限を追加してくれます。
コンタクトフォームはユーザにメールを送るものなので、公開サイトで匿名ユーザに許可する場合は、スパム対策も考えた方がいいと思います。
画像や動画のアップロード、ノードへの貼り付け、画像の管理に便利なモジュールを紹介します。
画像は標準のuploadモジュールでアップできます。で、アップした画像は、Inlineモジュールを使って参照すると便利。
また、FCKeditorの機能を使ってもアップ、貼り付けができる。Image+Img_assistの定番組み合わせはクセがあり使い勝手は悪いが、サムネイルが自動で作られ、Lightbox2とのインテグレーションができるので便利。
IMCEモジュールを使うこともできます。このモジュールもFCKeditorやTinyMCEと連携できます。実際の動作例はimceデモページをどうぞ。http://www.webgogo.jp/drupal/modules/imce_6 にも詳しい説明があります。
Imageモジュールを使う:画像を独立したコンテンツとして扱う機能を提供する。さらに簡易画像ギャラリーシステムが導入される。権限設定によっては、登録ユーザーや匿名ユーザーが画像を自由にアップロードしたりできる。ただし機能は控えめ。
Galleryモジュールを使う:PHP/MySQLで動作する高機能画像アルバムシステムGallery2と連携する機能を提供。現在Gallary2の正式版はVersion 2.2.4だが、このモジュールを使うには、次期バージョンβの2.3-Nightly-Buildが必要なことに留意。
Gallery2とアグリゲータで緩い連携をさせる:Gallery2はRSSフィードを提供できるので、DrupalのアグリゲータでそのRSSを定期的に取り込み(cronを動作させる)、ブロックエリアにGallery2に投稿された画像へのリンクを表示する。
Upload File Replaceモジュール(filefield CCK用)をどうぞ。
DrupalをWikiみたいにドキュメント管理システムとして使うときに便利なモジュールを紹介します。
Diffモジュールをどうぞ。ノードに「リビジョン」タブが追加され、リビジョン間の差分表示や前のバージョンに戻す操作ができるようになります。なお、ノードのリビジョンを更新するには「新しいリビジョンを作成」にチェックを入れておく必要があります。
Draftモジュールをどうぞ。もっと簡易的な下書き機能でよければ、ノードの「掲載」オプションで実現できます。
デフォルトでは、一般ユーザ(authenticated user)はノードの「掲載」オプションや「フロントページに掲載」オプションを変更できません。権限の管理から「ノードの管理」権限を与えれば変更できるようになりますが、そうすると掲載オプション以外の情報もいじれるようになってしまいます。
Override Node Optionsモジュールを使えば、一般ユーザにノードの管理権限を与えずに掲載オプションだけを許可することができるようになります。
TinyMCEとかFCKEditorとかYUI Rich Text Editorとかあるけど、WYSIWYGエディタは乱立しすぎみたいです。http://drupal.org/node/208456 にWYSIWYGエディタの比較表があります。
Drupalでは「フィルター」という仕組みで色々な入力書式をサポートしています。PEAR Wiki Filterは、MediaWikiやDokuWikiやCreoleといったwiki記法をサポートしています。また、BbcodeモジュールではBBCodeの入力ができるようになります。http://drupalmodules.com/search/node/Wiki+category%3A24 や http://drupal-jbox.net/?q=node/51 も参考にしてください。
PukiWikiのフィルタはまだないようです。誰か日本人が作らないと出てこないでしょう。フィルターはわりと作りやすいモジュールなので、興味のある人は作って公開してください!(PukiWikiのパーサーが本体と分離されてなくて移植しにくいという問題はありますが…)
Privateモジュールを使うと投稿した本人しか見れないノードが作れます。
Node Access Control(5.xのみ)、Nodeaccess, Content Access, node privacy byrole, Node Accessと似たようなモジュールがたくさんあります。いくつか使ってみて自分に合うものを選びましょう。
Content Accessはシンプルで、各コンテンツのページに"Access Control"というタブが付いてそこから設定できるようになるそうです。
Path Filterモジュールを使えば"internal:node/23"とかで指定できるようになります。あとはdrupal_get_path_alias("node/1")で取るとか。
7.xでは[internal:node/123]という書き方ができるフィルタが追加されます。
InsertNodeモジュールをどうぞ。他のタグがうまく展開されない場合は入力書式の再編成を試してみましょう。
DefaultTextForNodeモジュールをどうぞ。コンテンツタイプごとに本文のデフォルトテキストを指定できます。他の方法はコンテンツの新規作成時にテンプレートを挿入したいを参考にしてください。
Drupalのユーザ管理に関するモジュールを紹介します。
デフォルトではログイン済みのユーザは自分のメールアドレスを自由に変更できてしまいますが、これは運営上大変危険です(他人のメールアドレスを登録できてしまう)。Email Change Confirmationモジュールを使って、メールアドレス変更時にユーザがそのアドレスで受信できるかを確認するようにしましょう。なお、この機能はDrupal 7ではコアに取り込まれるようです(http://drupal.org/node/85494 )。
Drupalでは全角文字のユーザ名もサポートされているので、たとえば「ユーザー名といいます」とか「全角です」といったユーザも作成できてしまいます(http://drupal.jp/node/385 )。Drupalのシステム的には問題ないのですが、管理ユーザは半角にしている人が多いようです。
ユーザ名をasciiのみに制限したいなら、自分で制限するコードを書く必要があります。またはCustom username validationモジュールを導入して"/^[0-9a-zA-Z]+$/"のような制限を入れる必要があります。
また、Alternate Loginモジュールを使うと別名IDでログインすることができるそうです。
User Read-Onlyモジュールをどうぞ。
Advanced Userモジュールをどうぞ。ユーザのフィルタリングが便利になるほか、アカウント登録を承認制にしている場合などの登録通知を、管理者権限を持った複数のユーザに送れるようになります。
Premiumモジュールをどうぞ。
No request new passwordモジュールをどうぞ。
Node styleモジュールでできます。
Taxonomy Themeモジュールをどうぞ。Drupal 6.xの人はThemeKeyモジュールをお試しください。
Teaser by Content Typeモジュールをどうぞ。Teaserだけでなく全文表示もできるので、特定のコンテンツタイプだけ全文を表示させることもできるようになります。
Drupal 5.x用にはRounded cornersモジュールやcurvyCornersモジュールが、6.x用にはjQuery Eye Candyモジュールがあるようです。
でも自分でテーマをいじった方が軽くてよさそうです。
CSS Injectorモジュールをどうぞ。ページに追加したいCSSコードのルールを登録できます。CSSのルールは全ページを対象にしたり、特定のパターンだけを対象にしたりできます。使い方はデモのビデオをどうぞ。
JS Injectorモジュールをどうぞ。CSS Injectorモジュールと同じような感じでJavaScriptコードを追加できるようになります。
$head_title で調べてテーマをハックするか、Page Titleモジュールをどうぞ。トップページやコンテンツタイプごとの指定ができるうえに、特定のノードだけを上書きできるようになるそうです。
Automatic Nodetitlesモジュールをどうぞ。コンテンツタイプの「タイトル自動作成」で「タイトルフィールドを非表示にする」を選択してください。
XML Sitemapモジュールをどうぞ。sitemaps.orgに準拠した、GoogleウェブマスターツールやYahoo!サイトエクスプローラーで使えるXMLサイトマップが出力されるようになります。
Global Redirectモジュールを使えば、node/*でアクセスされた場合でもエイリアスの方に301リダイレクトしてくれます。
Meta tagsモジュールをどうぞ。
SMTPモジュールをどうぞ。
Statistics filteringモジュールはいかが?管理者のアクセスや指定したロールのユーザのアクセスをログに記録しないようにできます。設定画面が少し見つけにくいですが、「アクセスログの設定」を開くとメニュー(admin/reports/settings/statistics-filter)が出てきます。
この機能は7.xではコアに組み込まれるかもしれません(http://drupal.org/node/696 )。
Path Accessモジュールをどうぞ。特定のパスを特定のロールでアクセス制限することができます。制限するパスには"*"とか"blog/*"といった指定も可能です。