結局どれが一番良いCMSなのでしょうか?WordPressですか?Drupal(ドルーパル)ですか?ExpressionEngine(エクスプレッションエンジン)ですか?、それとも他にあるものでしょうか?この質問をされた時の私の答えは「ケースバイケースです」。あなたがどの立場にある人なのか、また何をしようとしているのか、の2点の答えによりけりです。
パッケージ商品を使う
パッケージ化されたCMSは多くの機能が無料で含まれており、時間をかけて学びながら使っていきたいという方たちにはとても良い製品です。特にデザイナーやコンテンツ配信するような方たちにとっては、以前にはできなかった事ができるようになるというメリットを享受することができます。プラットフォームを利用していくと、各所にちょっとしたプラグインや調整箇所が見つかり、数々の問題を解決に導きます。
とは言え、「金槌を持っていると何を見ても釘に見える」症候群を回避するために、いつ、どれを使えば良いかという簡単なガイドラインがこちらです;
- 多くのパッケージ製品は作られた通りに利用すれば良いものができあがります。問題が発生するのは、それ以外のことをさせようとする時です。
- WordPress、Drupal、ExpressionEngine、は1人で1プロジェクトを担当するような場合には最適でしょう。
- ビルトイン機能ではなく、自でシステムを構築しようと思う時には便利なツールです。
CMS構築が第一の目的ならCMSを利用
たとえばWordPressで写真共有サイトを作ったり、ExpressionEngineでオンラインストアを構築しようとすると、できないことはないでしょうが”丸い穴に四角の栓”同様、多くの作業は徒労に終わりストレスが溜まるだけ、という結果になるでしょう。
オススメの使い方
- WordPress:もしブログサイトや新聞・雑誌記事を掲載するサイトを作成する場合、1人でそのサイト作成のプロジェクトを遂行する場合やもしくは、自社内でITの人材確保が困難な場合。
- ExpressionEngine:複数のデータモデルを含むより複雑なサイトを作成する場合、1人でサイト作成のプロジェクトを遂行する場合、またコンテンツブロック機能が付随している場合。
- Drupal:個人的にあまり利用していないのですが、こちらにも多くのファンがいるようです。内容としてはExpressionEngineと同様ではないかと思います。
この見立てについて皆さんがどう思われたか、また他のCMSパッケージ製品に対する評価なども併せてぜひ下記からコメントをしていただきたいと思います。
1人で遂行するプロジェクト
上記で取上げたCMSはデータモデルや設定の保存、そして時にはデザインテンプレートに、データベースを利用しています。これは、1人でプロジェクトを遂行しているのなら良いのですが、Git、Subversion、もしくは他のコントロールツールを利用して複数のプログラマが同時に開発に関わることが大変困難です。(ブラウザ上でのコーディングを強要されることは苦痛な部分がありますし、またそれはローカル環境での開発や本番環境への配備を面倒なものにしていると感じています。)
IT専任者を置けない企業にオススメのCMSパッケージ
今ご覧いただいてる弊社ホームページ、theplant.jpは、実はWordPressを利用して作成されました。全体的な更新頻度は高くなく、動画などを含まない非常にシンプルな機能のみの比較的落ち着いたサイトですので、更新が必要となるブログやコメント部分にだけ注力できるようなCMSを利用するべきだと感じていました。私たちはそれをわずか数時間で吸い上げることができたかもしれません。静的なコンテンツは静的なのです。弊社スタッフは全員簡単にウェブサイトの編集や更新を簡単にでき、下記のような心配をせずにサーバに配備できます。
- WordPress専用のライブラリ機能の習得
- 無理矢理多言語対応企業向けCMSに変更させること
- 管理者画面の権限割当。追加機能を含めた全プラットフォームの開発。弊社サイトで必要だったのは追加/編集/削除機能と記事投稿機能だけでした。にもかかわらず、編集や更新の為に毎回管理画面にログインして、必要のない、また触れてはいけない管理者用機能がいっぱいのページにいかなければなりませんでした。
- WordPressに向けたスパム攻撃や、セキュリティ修復のための断続的な更新作業
- 必要でないにも関わらず発生する壮大なコンテンツ創作の為の製作期間の問題。キャッシュの利用や他の方法でこの問題は解決できますが、コンテンツが静的な場合はただの粗悪なコーディングでしかありません。
私たちの今後は・・・:Qor CMS
これまで私たちは、MTV Japan、ASICS、Onitsuka Tigerをはじめに、数々のクライアントに向け、それぞれにカスタマイズしたソリューションを開発してきました。それらのノウハウを生かし、ベータ版を開発、QorCMSとして近くリリースすることになりました。
たとえば、Railsが色々な種類の服が作れる布だとすると、QorCMSはビジネスマン向けによく仕立てられたスーツのようなものです。QorCMSは最終製品ではなく、システム開発社が利用できるフレームワークです。1つ違う点は、カスタマイズソリューションに迅速に対応することが可能になるという点です。
QorCMSはCMSに必要な基本的なモジュール(管理、アップロード、ファイル保存)を含み、柔軟性に富んだコンテンツのモデルマップ、そしてRailsに拡張するための機能が含まれています。(これはRailsがベースとなっていますが、多くのユーティリティやヘルプ機能を保有します。)QorCMSコードはテストケースに裏打ちされたものになりますので、安心してその機能に頼ることができます。QorCMSはフレームワークの基礎になることが目的で、一時的に良く見えるためだけのCMSを作成することではありません。私たちのクライアントはそれぞれのニーズに見合ったコーディングと設定方法で作られたCMSを受取ることになります。
結局他のCMSと変わらないじゃないか、と思われるかもしれません。また、もしかしてその通りかもしれません。違う点をあげるとすれば、私たちは;
- 自分たちで舵を切っていますので、機能拡張のたびに外部プログラマに絵を描いてもらう必要もありませんし、逆に彼らが弊社のシステムに侵入してその後の更新作業に悪影響を与える心配も不要です。
- 非常に簡単に機能拡張ができます。
- GUIではなくコーディングで管理者機能を持つことで、より効果的になります。
- データモデル、テンプレート、各設定をデータベースではなくコードで保存します。そうすることで、複数のプログラマが同時に同じプロジェクトに関わることができるからです。
- GoogleDocs、GoogleMaps、Amazon Webservices、Mailchimpなどのような優れた外部サービスを必要に応じてシステムに導入することができます。
- 安全なコーディングを実施します。他のソリューションに見られがちな欠陥の発生を防ぎます。
クライアントにとって1つ不安ではないかと思われる点を挙げるとすると私たちのコーディングです。クライアントから見ると、1人のプログラマが厳しく管理してコーディングを見破られないようにした方が良いのに、と思うかもしれません。しかし、それが何の変哲もないありきたりのCMSをインストールするということでなければ、彼らは結局他のベンダーに縛り付けられるハメになるでしょう。どちらにしてもプラントは一緒に仕事をするのに悪い会社ではないですけど。
