「春の全国 a-blog cms の日 2013」参加メモ
4月26日にコワーキングスペース茅場町Co-Edoで開催された「春の全国 a-blog cms の日 2013」に参加してきました。
「春の全国 a-blog cms の日 2013」は、CMS製品「a-blog cms」の製造・販売元アップルップル様が、全国のコワーキングスペースを回って a-blog cms について解説してくれる公開イベント。この日は、コワーキングスペースでお仕事されてる方々がいるなか、ひとつのテーブルを囲んで代表・山本様のお話をお聴きするといったカジュアルなスタイルで、ざっくばらんにいろんなお話が聴けました。
以下、印象に残った点をメモします。
WYSIWYGエディタを利用せずに見たままWebページを作成
a-blog cmsを使うと、Webページを見たままの状態で更新できます。「見たまま」といっても、tinymceやCKEditorなどに代表される「WYSIWYGエディタ」は利用しません。「ユニット」と呼ばれるDIV要素などHTMLのブロック要素単位(文書の論理的な構造単位)でテキストデータを登録し、このブロック要素を積み上げてページを作成する方式。
MS-Wordを操作する感覚でWebページを更新したいというご要望には「WYSIWYGエディタ」を採用する場合が多いと思います。しかし、WYSIWYGエディタを利用すると、Webページを構成するテキストなどのコンテンツそのものと、見出しや段落といった文書の論理的構造、文字の大きさや間隔、配色などの装飾的なデザイン要素が混在した「非構造化データ」が作成されます。CMS導入のメリットは、コンテンツ(データ)とデザインを分離して管理することで、コンテンツの再利用性やデザインの保守性を高める点があげられます。しかし、WYSIWYGエディタを利用して作成したデータは、コンテンツとデザインが混在するので、コンテンツの再利用を難しくしてしまいます。
a-blog cms のユニット方式であれば、厳密にデザインとコンテンツが分離されるため、ノンデザイナーであるサイト運営者は、ユニットを組み合わせるだけでプロのデザイナーが作ったデザインを見たまま再現できます。さらに、サイト運営者が操作できる範囲をユニット単位(段落などの文書構造単位)でのテキスト登録に限定しているため、コンテンツは再利用しやすい構造化データとしてCMSに蓄積され、コンテンツを文脈に合わせて様々なWebページで再利用することが容易となります。ユニット方式は、本来の意味で、「WYSIWYG(What You See Is What You Get)=見たままが得られる」を実現しつつ、コンテンツ+文書の論理的構造+装飾的なデザイン要素の分離=コンテンツとデザインの保守性向上が期待できそうです。なお、非推奨とのことですが、ユニット内でWYSIWYGエディタを利用する手段は確保されています。
ただ、MS-WordのようにWebページを編集できることを期待しているお客様には、Webページの更新作業にはユニット方式のほうがメリットが大きいことをご理解いただく努力が必要かもしれません。
プログラミング不要でCMSテンプレートを作成
a-blog cms のテンプレートファイルは、通常のHTMLファイルであるため、HTMLを編集するのと同じ感覚で利用できます。
CMSは、コンテンツとデザインを分離して管理するため、Webページのデザイン的な要素や論理的な文書構造をテンプレート(ひな形)としてあらかじめ用意する必要があります。また、テンプレートを作成するには、たいがいの場合、CMS独自のテンプレート言語でプログラミングする必要もあります。
a-blog cms の場合、新着エントリーの一覧、パンくずなど、CMSに蓄積されたデータを利用してWebページにに出力する表示要素は、モジュールと呼ばれる単位で機能提供されています。a-blog cmsでのテンプレート実装は、このモジュールを、独自のテンプレートタグとしてHTMLソースコード内に記述していきますが、テンプレートタグはHTMLのコメントと同じ書式で記述することができます。テンプレート内に外部テンプレートファイルをインクルードする方法も、SSI(Server Side Includes)とまったく同じ書式です。
このようにテンプレートファイルを通常のHTMLファイルと同様に取り扱えるため、Dreamweaverなどのオーサリングソフトでもテンプレート編集が可能です。また、モジュールはあくまで出力結果でモジュール内の処理は気にしなくてよいので、モジュールの基本的な使い方を把握すればプログラミング不要でテンプレートを実装できます。
これらのことは、次のような効能を期待できそうです。
- CMS導入プロジェクトの効率化
テンプレート実装プロセスを効率化してくれるかもしれません。通常、CMS導入プロジェクトでは、レイアウトや文書構造を設計してHTMLファイルを制作する工程と、制作されたHTMLファイルにテンプレートタグを組み込んでCMSのテンプレートを実装する工程は、ウォーターフォール型に完全に分業されています。そのため、CMSのテンプレートタグを組み込んだ後で、HTMLに修正を加えたいといった後戻りには困難(コスト)がともないます。しかし、a-blog cms のテンプレート機能を活用して制作ワークフローを適切に整備できれば、HTMLを制作する工程と、テンプレートを実装する工程を同時並行的に行えるかもしれません。 - 安全なWebサイト
そもそもCMSテンプレートでは、PHPなどのプログラミング言語を使わせない、カプセル化されたモジュールを通じてのみCMS内のデータを取得できるという仕様は、セキュリティ的にも強固で安心です。著名なOSS製品のなかには、テンプレートにPHPをごりごり書けてしまうものもがありますが、とても危険な仕様と言わざるを得ません。プログラムを直書きできるということは、プログラムで実現できることは何でもできてしまいますから、危険な使い方もできます。心得がないと怪我をしかねません(ピストルを、心得のないヒトでも、悪意のあるヒトでも所持できるイメージでしょうか)。
既存の静的サイトのCMS化
スタティックに制作された既存のWebサイトを、瞬殺でCMS化するデモを拝見。
a-blog cmsでは、themesディレクトリに配置した静的HTMLがそのままCMSのテンプレートとなる仕組みであるため、静的なHTMLでつくられたWebサイトを、themesディレクトリにコピーするだけでCMSに取り込むことができます。この仕組みをうまく活用できれば、CMSテンプレートが通常のHTMLファイルのように取り扱えるということと同様に、CMS導入プロジェクトのプロセスを大きく効率化してくれるかもしれません。
動的CMS
a-blog cms は、WordPressなどと同じ「動的配信型」のCMSです。
CMS製品は、Webページをどのタイミングで生成して配信するかで、動的配信型と静的配信型にわかれます。ユーザからリクエストがあるたびに、Webページを生成して返却するのが動的配信型。それに対して、MovableTypeなどのように、Webページをあらかじめ作り置きしておいたスタティックなWebページを配信するのが静的配信型です。国内では、静的配信型が好まれる傾向にありますが、海外ではむしろWebアプリケーションのメリットが活かせる動的配信型が一般的です。
動的配信型のメリットには、ユーザからのリクエストに応じて適切なコンテンツを返却できる(ユーザの文脈に合わせてコンテンツを都度再構成することができる)点があります。例えば、リクエスしてきたユーザ属性(ユーザエージェント)の違いを判別して、PCブラウザからのアクセスには、PC向けに最適化された画面を、スマホからのアクセスにはスマホ用に最適化された画面を返却するといったことができます。
ただ、動的配信の場合、ユーザからのリクエストのつどページを生成して返却するため、処理負荷が気になるところです。a-blog cms では、独自のキャッシュ機構を備えています。もちろんキャッシュサーバなどを利用すればさらなる負荷対策も可能です。1時間で5万PV程度のアクセスをさばいたケースもご紹介いただきました。また、今後のリリース予定では、さらにスケールしやすいバージョンを準備中とのこと。
カスタマイズ性
a-blog cms では、次のようなカスタマイズが出来る仕組みを備えています。
- 独自モジュールの開発
a-blog cms では、ノンプログラミングでたいがいのことは出来そうですが、PHPベースで独自モジュールを開発することができます。モジュールには、テンプレート内の表示を制御するタイプのGETモジュールと、ユーザの入力・操作に対するアクションを制御するPOSTモジュールの2種類が用意されています。独自モジュールを開発すれば、XML出力や外部APIとの連携など、より柔軟なWebサイト構築が実現できそうです。 - 管理画面のカスタマイズ
a-blog cms は、標準の管理画面テンプレートをオーバーライドすることで、管理画面もカスタマイズ可能です。しかも、管理画面のテンプレートは、フロントエンドのテンプレート機能と同じ仕組でできているため、HTMLベースで記述可能です。
導入事例
a-blog cmsは、2009年6月のリリース以来、商用サイトでの利用事例は1100件ほどの実績があるそうです。
大規模事例として、名古屋商科大学様のケースをご紹介いただきました。全ページa-blog cmsで構築されており、ほぼグロナビのカテゴリ単位で、担当部署にコンテンツ管理権限を委譲して全学でサイト運営されているとのこと。初期はスタティックなHTMLファイルをa-blog cmsに取り込んで、段階的にCMSで更新できる範囲を増やしていったそうです。
他にも様々な事例をご紹介いただきましたが、弊社もよく存じ上げている企業様のサイトも a-blog cms で内製化されているとのこと(存じ上げませんでした、灯台下暗)。
最後に
製品イメージはライトで親しみやすい印象ですが、実際はしっかりした設計思想のもとに開発されているロバストな製品という印象を持ちました。今後、拡張が予定されている機能群が整備されれば、よりハイエンドな用途にも活用できるポテンシャルを感じています。今後も継続的にフォーローさせていただきます。近々社内勉強会を開催いただくことをお約束いただいたので、また勉強会の様子などお伝えできればと思います。