先週末(2012年4月14日)に産業振興センターで開催された、MovableType勉強会にスピーカーとして登壇しました。
MovableTypeを実際の案件でサイト構築に使用するうえで、知っておくべきことをお話しました。
デザイナー向けのTIPSというよりは、ひとつ上流のディレクター向けの内容になりました。
「40分ほど」とお願いされたのですが、時間配分を間違えてしまい15分もオーバーしてしまいました。すみません…
ブログやCMSのテーマを、お仕事で制作した人ならいちどは経験していると思いますが、納品後しばらく経過して、記事がある程度投稿されてから発生してくる問題というものがあります。
これは採用したCMSの仕様によって異なり、「再構築」というシステムがあるMovableTypeは、独特の考慮すべき点が多いです。
mt:Includeのキャッシュ問題とPHPUtilプラグイン
大きなサイトの一部分だけCMS化するような構築をする場合、スライドの「①静的ファイルとの連携」が悩ましいところです。
「サイドメニューは、静的ファイルにしてください」
と言われて対応したつもりが、再構築時にMT内でキャッシュが作られてしまい
「あのー、FTPで広告を差し替えたのに、反映されるところとされないところがあるんです…」
と、数か月後に問い合わせが来る、などということがよくあります…
スライド内にある通り、PHPインクルードを利用することになるのですが、スタティックでページを生成する場合と、ダイナミックの場合では、全く別のコードを書かなければならないのが面倒だと思っていました。
MTのテンプレートの中にPHP構文を書くというのも、あまりスマートとは言えません。
ところが、その後の藤本壱さんのセッションで、この問題の解決策が紹介されました。
同様の考えから、MovableType形式のタグをPHP構文に変換して出力するプラグインを開発されたそうです。
新着表示など、よくPHPで代替される処理も簡単に実装できるようで、このプラグインを使えば、①の件を考慮する必要はなくなるかもしれません。
ページネーションの中途半端な仕様
MovableTypeの検索等に使われるページネーションは、ひじょうにページ数が大きくなったときの「省略」に対応していません。
納品前にテスト記事を投稿するとはいえ、数十ページにもなることはないので、だいぶ経ってから「a」とかでサイト内検索をして気付くことになります。
今のところ、これを回避する方法はMTCMSやPower CMSのような高価なアドオンを導入するか、jQueryで強引にDOMを書き換えるしかないようです。
過去にMovableTypeで構築したWebマガジン「Rhythmoon」でも、jQueryでの書き換えを行っています。
サーバーがパンクしてからでは遅い
③の高解像度の画像アップロードに関する問題は、2年ほど前にも記事にしています。
デジカメの画像をアップすると、拡大時にウィンドウをはみ出す・読み込みに時間がかかるという表面的な問題の他に、サーバーの容量を圧迫するという問題があります。
実際にサーバーがパンクしてからでは、簡単に解決できませんから、納品段階から対策をしておくのが最良ということになります。
以前はLightBoxプラグインを利用していましたが、現在はMTのバージョンアップに伴い使用できなくなっています。スライドで紹介した、ImageUploadUtiltyプラグインがお勧めです。
納品後のことを考える
MovableTypeに限らず、最近のCMSはテンプレートが改良され、コーディングやデザインの再現がとても楽になりました。
その分の余地を、納品後に考えられる問題の対策に充てることが多くなっています。
クライアントの満足度につながるのはもちろんですが、制作側も「案件のことをすっかり忘れた頃に、問題解決に想定外の時間を取られる」という事態を防ぐことができるからです。
これは単純にCMSを扱った経験に左右されるので、経験が少ないうちは、②で紹介した「文字数や項目数が変化した場合を想定する」辺りからやってみるだけでも、納品後の問い合わせ・手戻りはだいぶ回避できると思います。
次に登壇するのは、来月のa-sap04(a-blog cms勉強会)の予定です。
というか主催だからしゃべらないといけないんですがw
そちらも参加受付中です。ぜひぜひ、宜しくお願いします。