CocoaSpace

Drupalでウェブサイト構築

CocoaSpaceをDrupal 7にアップグレード - 使用モジュールについて

Aug 23 2011
Drupalバージョン: 

2011年8月版、CocoaSpaceの新テーマ2011年8月版、CocoaSpaceの新テーマ

Drupal 6でスタートしたこのサイトも、先日8月20日頃、ついにDrupal 7にアップグレードしました。まだ、表示の不具合等があるかもしれませんがご容赦ください。Drupal 7へのアップグレードに伴い、使用するモジュールを若干見直しました。ただDrupal 7にしましたというのでは面白くないので、CocoaSpaceで使用する主なモジュールについて、ここで簡単にご紹介したいと思います。しかし、こうしてリストにしてみると、新たに使用するようになったモジュールよりも、使用を止めたモジュールのほうが圧倒的に多いですね。

新たに使用しているモジュール

Drupal 7へのアップグレードを機に、新たに使用を開始したモジュールです。

Markdown filter

最近TumblrでBlueman Dancingというブログをやっているのですが、Tumblrではブログの編集にMarkdownを使用することができます。Markdownの簡単なシンタックスに則ってテキストを編集すると、HTMLのタグを生成してくれます。すごく便利だなと思いましたので、Drupalでも使用することにしました。

プロジェクトページ: Markdown filter | drupal.org

Colorbox

小さい画像をクリックすると、大きい画像がポップアップする例のものです。以前はLightbox2モジュールを使用していましたが、Drupal 7ではColorboxにしました。Lightbox2と同じように、ColorboxもInsertモジュールとの連携機能があり、かなり使いやすいです。

プロジェクトページ: Colorbox | drupal.org

Image(Drupal 6のImageCacheの部分)

Drupal 7ではImageモジュールとして、コアに組み込まれました。Drupal 6の時には、Image Resize Filterで画像をリサイズしていましたので、ImageCacheモジュールは使用していませんでした。ティーザーに小さい画像を表示していますが、これもImageモジュールのおかげです。

引き続き使用しているモジュール

Drupal 6からDrupal 7へアップグレードしたモジュールです。

旧CCKのモジュール

Field、Field UI、Image、File、Textなどを使用しています。

Drupal 7でFileFieldやImageFieldがコアに組み込まれるのはわかっていましたので、Drupal 6の頃から画像の取り扱いにはImageFieldを使用してきました。『ノード本文に画像を挿入』という記事でも、もう少し、その辺のことに言及しておくべきだったかもしれません。画像の扱いはImageFieldですべきというのは周知のことと思い、あえて書きませんでした。CCK(またはDrupal 7のField)でアップロードしたファイルは、ノードとの紐付けが適切に行われ、Viewsなど他のモジュールから呼び出す際にも便利です。CCK以外の方法で画像を扱ったことがあまりありませんので、詳しいことはわかりませんが、例えばIMCEでアップロードしたファイルは、ノードと紐付けされずに宙ぶらりんな状態なのではないでしょうか?

Taxonomy

明らかにコアのTaxonomyモジュールを継続して使用しています(笑)。

タクソノミーに関連する記事はこちら

Book

明らかにコアのBookモジュールも継続して使用しています(笑)。正直、ノードをこのように階層的に配置する方法は古臭い感じがしますし、CocoaSpaceのDrupalノートのセクションに相応しいかどうか疑問に思うことがあります。他に良い方法が見つかったら、Bookモジュールの使用は止めるかもしれません。

Views(+ Ctools)

任意の条件でコンテンツを抽出し、一覧表示するモジュールです。Views 3は基本的にはViews 2とあまり変わらない気がしますが(極端に異なるはずがありませんが...)、より使いやすくなっているようですし、機能も拡充されているようです。

Viewsに関連する記事はこちら

Insert

Imageでアップロードした画像をノードに挿入するモジュールです。FileField Sources、Colorbox、Image caption filterなどのモジュールとの連携も良好ですので、いつもインストールしています。

Insertに関連する記事はこちら

FileField Sources

ImageFieldで外部サイトの画像をアップロードしたり、既にサーバ上にある画像を再利用するときなどに使用するモジュールです。一度も使用したことがないのですが、念のためにいつもインストールしています。

FileField Sourcesに関連する記事はこちら

IMCE

FileField Sourcesとの連携で、画像ファイルを閲覧する目的のみでインストールしています。IMCEで画像をアップロードすることはありません。FileField Sourcesを一度も使用したことがありませんので、IMCEも一度も使用したことがありません(笑)。FileFIeld Sourcesとともにアンインストールして、必要になったときにインストールすることにしましょうか...。

IMCEに関連する記事はこちら

Context

サイトのパスや、コンテントタイプなどの条件に応じて、ブロックを表示したり、メニューをアクティブにしたりと、サイトをセクションに分けるためのツールです。このモジュールは気に入っているので引き続き使用しています。

Contextに関連する記事はこちら

Twitter

TwitterでのつぶやきをDrupalにインポートするのに使用しています。Drupal 7版は、まだDevバージョンが登場したばかりですが、Twitterでのつぶやきをインポートするのには問題ないようなので使用しています。プロジェクトページにも書いてありますが、まだバグが相当あるようですので、ミッション・クリティカルなサイトでは使用しないほうが無難です。

Twitterに関連する記事はこちら

Disqus

最近、CocoaSpaceのコメントをDisqusに変更しました。DrupalコアのCommentモジュールで投稿されたコメントをDisqusにインポートするモジュールは、Drupal 7版にはまだないようなので、Drupal 6でインポートしてからDrupal 7へアップグレードするのが良いと思います。Disqusを使用するようになってから、コメントスパムが全くなくなりました。ですので、CAPTCHAAntiSpamなどのモジュールを使用する必要がなくなりました。また、コメントのアップデートをEメールやRSSで通知する機能もありますので、Comment notifyモジュールを使用する必要もなくなりました。このように、Disqusモジュールを導入することにより、システムがかなりスリムになりました。

それにしても、最近はコメントがないですね(泣)。

プロジェクトページ: Disqus | drupal.org

2011年9月7日追記:

諸々の理由により、コアのCommentモジュールをMollomと共に導入し、Disqusはアンインストールしました。

Global Redirect

Pathモジュールで生成したURLと、/node/1などのシステム・パスの両方でアクセスできるページが、複数のページとして扱われないようにするモジュールです。その他、URLの最後にスラッシュが入ると入らないとでは、別のURLとなりますので、そのあたりも統一する機能などもあります。特にSEOの見地から人気のモジュールです。デフォルトの設定で結構'使える'ので、安心して試してみてください。

Global Redirectに関連する記事はこちら

Image Caption Filter

Image Captionモジュールに同梱されているfilterモジュールです。ノードに挿入した画像のタイトルをキャプションとして表示します。Insertモジュールとともに使用することで、手軽にキャプションを付け加えることが可能です。

プロジェクトページ: Image Caption | drupal.org

Pathauto(+ Token)

ノード、タクソノミー、ユーザのパス(URL)をパターンに従って自動生成するモジュールです。ノードの投稿の際にいちいちパス・エイリアスを手動で設定する必要がなくなります。

Pathautoに関連する記事はこちら

使用しなくなったモジュール

現在CocoaSpaceで採用している方法の代替的な手段もご紹介できると思いますので、使用しなくなったモジュールもご紹介します。

GeSHi Filter

コード・スニペットのシンタックス・ハイライティングを追加するモジュールです。現在はコード・スニペットの部分もMarkdownで編集しています。Markdownにはシンタックス・ハイライティングの機能がありませんが、Markdown filterのプロジェクトページにはGeSHi Filterモジュールを併用できると書いてあります。しかし、今回はhighlight.jsというJavaScriptを使用してシンタックス・ハイライティングを実装しています。自動でスクリプトやマークアップのタイプを検出してくれるので、GeSHi Filterのように「このコードはPHP」、「このコードはHTML」などと指定する必要がありません(検出が上手くいかないことも多いですが...)。これでまたタグを打つ手間がなくなり、便利になりました。

プロジェクトページ: GeSHi Filter for syntax highlighting | drupal.org

2011年8月24日追記:

highlight.jsの自動の文書タイプ検出の精度があまり良くなくてちょっと気になっていたのですが、簡単なフィルターモジュールを作成することで解決しました。結局文書タイプを指定してあげる必要はありますが、Markdownのコードブロックの始めに"#!php"などと入力するだけでOKです。特にフィルターモジュールでなくてもいいのでしょうが、私はフィルターで試してみました。フィルターの設定画面から変換後の文字列を設定できるようにしてあるので、highlight.js以外のJavaScriptのシンタックス・ハイライティングの用法にも簡単に対応できそうです。基本的なアイディアは下記のページからいただきました。

Using Markdown and SHJS with PHP

BUEditor

WYSIWYGとは異なり、プレーンテキストにHTMLタグを加えていくのを補助するモジュールです。先述のとおり、テキストエリアのテキストはMarkdownシンタックスを使用して編集するので、現在は使用していません。ちょっと手を加えれば、Markdownのシンタックスの入力補助もできそうですが、Markdownは補助の必要がないほどシンプルな記法ですし、もともとあまり使用することがなかったので、アップグレード前にアンインストールしました。

プロジェクトページ: BUEditor | drupal.org

Term Node Count

Viewsでタクソノミータームのリストを作成する際に、そのタクソノミータームの付いたノードがいくつあるかを表示するためのモジュールです。Views 7.x-3.x系には異なるアプローチで、類似の機能を実装しているので、Term Node CountのDrupal 7版はありません。現在、"よく使われるタグ"ブロックのノードカウントはViewsモジュールのみで表示しています。

Term Node Countに関連する記事はこちら

Lightbox2

先述のように、現在はColorboxモジュールを使用しています。Lightbox2のDrupal 7版もやっとDevバージョンが登場しましたので、Lightboxの方が好きという方は試してみてください。もう少し待てば、安定バージョンがリリースされるかもしれません(リリースされないかもしれませんが...)。

プロジェクトページ: Lightbox2 | drupal.org

Administration menu

画面上部に管理者用のリンクをドロップダウン表示するモジュールです。深い階層のリンクへもマウス・ホバー、クリックの動作で到達できるので便利です。しかし、以前Drupal 7版のAdministration menuを試したとき、Drupal 7のメニューの構造の問題なのか、Administration menuの使い勝手がDrupal 6時代に比べて良くないように感じました。ですから、アンインストールしてしまいました。Dashboard、Toolbar、Shortcut、Overlay、Contextual linksなどのコアの管理系モジュールも、一切使用していません。ブラウザのアドレスバーに直接パスを入力して管理しています(笑)。最近は、シンプルなのがいいなと感じています。

Administration menuに関連する記事はこちら

Custom Pagers

ノードの上や下に、前の投稿や次の投稿などへのリンクを表示するモジュールです。他サイトでdevバージョンを使用していたのですが、CocoaSpaceにはまだ導入していません。気が向いたら導入するかもしれません。

Custom Pagersに関連する記事はこちら

Nodequeue

Viewsモジュールと連携して、任意のノードを一覧表示できるようにするモジュールです。Drupal 6の時には'おすすめ記事'のようなブロックを作成するのに使用していました。現在は、はてなブックマークのウィジェット(!)を使用して、'人気のエントリー'というブロックを作成しています。'おすすめ記事'とはやや狙いが異なりますし、ロードするのに若干時間がかかりますが、これでまた手間が省けました。

プロジェクトページ: Nodequeue | drupal.org

Image Resize Filter

ノードに挿入した画像を任意の大きさにリサイズするモジュールです。単にCSSでサイズを調整するのではなく、リサイズされた画像もファイルシステムに保存され、使用されます。特にWYSIWYGエディタで画像の大きさを調整するのが簡単です。現在はDrupal 7のImageモジュールでリサイズしていますので、使用しなくなりました。

Image Resize Filterに関連する記事はこちら

テーマ

Omega

Drupal 6ではAdaptiveThemeを使用していましたが、Drupal 7ではOmegaの出来が素晴らしいなと思い、使用しています。WindowsのInternet Explorerでの表示チェックはしていないので、多分スゴイことになっていると思います(笑)。LinuxのChromiumやMidoriなどWebkit系のブラウザと、Firefoxではちゃんと表示できています。

Omegaは本当に素晴らしいです。本日8月23日、安定版がリリースされましたので、興味のある方は試してみてください。

Omegaに関連する記事はこちら

コメント (2)

投稿者: sfinity 投稿日時:

Joomlaを使ってますが、Drupal7を触ってみて魅力を感じています。
アプリフレームワークとしても使えるところに非常に惹かれていて、Drupal7自体のサイトが少ない中、ここにたどり着きました。

もの凄くこのページのお世話になると思いますので、今後も頑張ってください!!
(頻繁に拝見したいと思います☆ 会社はIEなのでキツイですが・・・)

投稿者: cocoaspace 投稿日時:

@sfinity さん、はじめまして。

応援のメッセージをいただきまして、ありがとうございます。やっぱりIEでの表示はスゴイですか?今度チェックしてみます。

コメントを追加

Powered by Drupal + Linux