ウェブマスター・ベンダー・開発・プロデューサー…ウェブエキスパートの為の情報ポータル「ウェブエキスパート」

特集

トップ > 特集 > CMSとIA デジタル時代を生き抜く情報整理術 2. コンテンツ管理の本質:リポジトリとは(2)

執筆者

清水 誠
楽天株式会社 編成部

清水 誠

  • CMSエバンジェリスト/実践者。1995〜2004年まで凸版印刷・Scient・RazorfishにてWebプロデュース・IA・UI設計・調査のコンサルティングに従事した後、事業者側へ転身。ビジネス・テクノロジー・デザインの融合によるイノベーションを実現すべく、日系ベンチャーの情報システム部門や外資消費財企業のマーケティングコミュニケーション部門において、IT(ECM、CMS、DAM、ナレッジ管理、カラーマネジメントなど)を活用した改善をリードした。2008年からは楽天において、アクセス解析とSEOの標準化と全社展開に取り組んでいる。1995年国際基督教大学卒。

2009/02/03

4. 時間軸の管理(バージョン管理)

背景:コンテンツには繰り返し編集が加えられ、変化していく。過去や将来のバージョンなど、同じコンテンツから派生したコンテンツを時間軸で区別して管理したい。

データベースの場合
×
最新状態のデータしか管理できない。(アプリケーション側で実装すれば可能)
CVSの場合
バージョン管理の手法と機能が充実している。
例えば、ファイルを編集中に他人が同じファイルを更新した場合にアラートを表示したり、更新の差分を左右に並べて比較しながら行単位でマージする機能、更新の差分をメールで通知する機能などが発達してきた。
→ CMSの場合は
CVSと同様に、更新の衝突検知や変更通知などバージョンを管理するための基本的な機能を持つ。
バージョン間の差分を比較する機能はCMSではまだマイナーだが、ハイエンドCMSには実装されている。
全バージョンを等しく扱えるCMSもある。
例えば、過去の全バージョンを対象とした全文検索を行い、昔のコンテンツを新規コンテンツとして生まれ変わらせる、製品ページには常に最新の製品画像を掲載する一方、プレスリリースのページに掲載する画像は公開時のバージョンのまま固定する、などの制御が可能になる。
ローエンドCMSの場合、バージョン管理が単なる自動バックアップに過ぎないことが多い。
過去のバックアップをリスト表示するのみで、サイト全体のバックアップを対象とした検索やバックアップ間の差分比較などが行えないため、バックアップを調べる場合の手続きが煩雑になる。
5. 時間軸の管理(ライフサイクル管理)

背景:コンテンツを上書き保存する度にバージョンを保存していくと、作業途中のバージョンが数多く作られることになる。どれがリリース済みでどれが作業中なのかのステータスを、バージョンとは別の軸で区別したい。

データベースの場合
×
管理できない。(アプリケーション側で実装すれば可能)
CVSの場合
本流(HEAD/トランク)とは別に、分岐(ブランチ)を複数派生させることができる。本流や分岐は、それぞれ独立したバージョンを持てる。分岐が完成した場合に本流と分岐を入れ替えたり、分岐での更新内容を本流に適用(マージ)することも可能で、よく行われている。
「作業中」「リリース済み」などのステータスを表すタグやコメントを付与するなど、運用で工夫する。
→ CMSの場合は
バージョンとは独立したライフサイクル(ステータス)をファイルごとに保持できるCMSもある。
例えば「作業中」「レビュー中」「リリース済み」「アーカイブ退避」など。
×
ローエンドCMSの場合は、ライフサイクルを管理できないことが多い。
6. コラボレーション

背景:複数のスタッフが同時にファイルやコンテンツを更新する場合、他人の更新内容を誤って上書きしたり、作業中のファイルを公開してしまう、などのミスを防ぐ機能が必要になる。

データベースの場合
排他処理などをアプリケーション側で実装する必要がある。
CVSの場合
ファイルはチェックアウトしないと更新できない。
チェックアウト中はそのファイルがロックされ、他人が保存できない状態になる。
ローカルのHDD上にファイルをフォルダごとダウンロードし、作業スペースとするのが基本。
ローカルで更新した差分ファイルのみをリポジトリに戻す。(マージしてコミットする)
→ CMSの場合は
CVSと同様のチェックイン・チェックアウト機能(排他処理)を持つCMSもある。
個人用の作業ペースを持てるハイエンドCMSもある。
ある時点のサイトコンテンツがスナップショットとしてサーバー側で保存され、自分以外の更新が適用されない作業スペースになる。その中で更新やプレビューを行いながら作業を完了させ、本流と比較した上で差分のみをリポジトリの本流へマージする。Webコンテンツをローカル上で正しくプレビューできない場合に便利な機能だ。
高度なワークフロー機能では、各種作業の定型化や自動化ができる。
ローエンドCMSの場合は、レビューと承認を経た後に配信を行うのみだが、ハイエンドCMSの場合は、チェックイン後にHTML妥当性チェッカーを自動で起動したり、ヘッダとフッタを自動挿入する、配信と同時にサイトマップを更新する、サイト内検索システムのインデックスを更新する、などの自動処理が可能だ。

まとめ

今回はソースコード管理ソリューションの代表として古い歴史を持つオープンソースのCVSを選定したが、CVSよりも多機能な商用製品も存在する。また、CMSはアプリケーションであるのに対してデータベースやCVSは基盤であるため、並列で比較するのには多少無理もある。それでも、今回の比較によってCMSの特徴を際立たせることができたのではないだろうか。特に、同じCMSでもローエンドとハイエンドのCMSではルーツや考え方が大きく異なることも明確になった。

CMSの特徴を4つのポイントにまとめると

CMSは複数ユーザーによるコラボレーションを支援する機能がデータベースやCVSよりも充実している。
数人でサイトを管理するのなら、Dreamweaverやブログシステムの方がふさわしいかもしれない。

バージョン管理は奥が深い。
自動バックアップとして使うのか、それともコラボレーションの中で時間軸を自在に操りながらコンテンツを管理していくのか、を明確にするとよい。

CVSは独立したファイルを個別に管理するが、CMSは複合的なコンテンツ管理ができる。
コンテンツをページ単位で管理するだけでよいのか、それともページ間やWeb以外でも再利用できる部品としてコンテンツを扱うのか、によって選ぶべき製品が大きく変わる。

ローエンドのCMSはそのまま使えるアプリケーションである一方、ハイエンドのCMSはデータベースと同様に基盤としての意味合いが強い。
標準状態(Out-of-Box)の使いやすさや機能の数だけで二者を比較するのは無理がある。

要件によっては、CMSではなくCVSやSubversionでの管理で十分かもしれない。また、一般的な普及型のCMSではミスマッチの場合、カスタマイズ性が高いハイエンドCMSを導入してアプリケーションを作りこんだ方がよい場合もある。便利な機能があるから使うのではなく、必要性を認識した上でソリューションを使いこなせるようになりたいところだ。

次回はデジカメなどの画像や音楽ファイルなどの身近なファイル管理を例に、IAやCMSの考え方を応用したスマートなファイル管理の方法や各種ツールの使いこなし術について紹介する予定だ。


What’sNew:
What’sNew | セミナー・イベント
製品・サービスを比較する:
CMS | マーケティング・SEO・PR | コンサルティング | CRM・顧客管理・メルマガ | EC・ECブログ | 検索・サイト分析 | インフラ | 携帯・その他
製品の導入事例を見る:
CMS | マーケティング・SEO・PR | コンサルティング | CRM・顧客管理・メルマガ | EC・ECブログ | 検索・サイト分析 | インフラ | 携帯・その他
Web関連の最新情報を読む:
特集 | ブログ
用語解説:
CMS | EC | SEO/SEM | CRM