Movable Typeにおける最適な「テスト環境設計」と「運用フロー」をどうやって作るか
TAMでは「Movable Type」を使用したサイト制作を数多く請け負っています。
「Movable Type(ムーバブルタイプ、MT)」とはシックス・アパート社のコンテンツ管理システム(CMS)のことですね。小・中規模のコーポレートサイトから、大規模なサービスサイトの構築まで、幅広く使われています。
参照元:CMS プラットフォーム Movable Type - クラウドもオンプレミスも幅広く対応可能なCMS - Six Apart
MT案件の中で検討事項として必ず出てくるのが「テスト環境」、つまり「確認」をする場所をどうするか。
MTのいいところはページの作成から公開までをMT画面上で簡単に行えることです。しかし多くの場合、記事を書いていきなり「本番公開」はしませんよね。
ページを新規作成したときや公開中のページを更新したいとき、仮作成したページは自分でもちゃんと「表示確認」をしたいですし、上長やコンテンツ責任者など第三者に「確認」してもらう必要もあります。
特に運用更新を伴うサイトの場合、この「確認」を含めた「運用フロー」を念頭に置いて、サーバやCMSの設計を決める必要があります。
今回は、MT案件における「テスト環境」の準備と、その前後の「運用フロー」について、弊社の過去の事例を挙げながらご紹介いたします。
■方法は大きく分けて2パターン
MTの「テスト環境」をどうやって作るか、方法は実はいろいろあるのですが、大きく2つのパターンに分けることができます。
「ステージング環境で確認」するか、「MTの中でプレビュー」するかです。
「ステージング環境で確認」の場合、確認用の「ステージング環境」と公開用の「本番環境」を分ける、つまりページ閲覧ができる環境を2つ準備します。
MTがインストールされている場所(MTの再構築でページが出力される場所)を「ステージング環境」とすることが一般的で、公開時はそこから「本番環境」へファイルを移動させます。
対して「MTの中でプレビュー」とは、確認は再構築の前にMT画面の中で行い、確認が済んでからページを出力します。再構築でページが出力される場所がそのまま「本番環境」となります。
実際の案件で使用したツールや構成を例に、見ていきましょう。
■事例 - 「ステージング環境で確認」する方法 (1)
それではまず、クライアントTで実際に構築した事例をご紹介します。概要は以下のとおりです。
・「MTクラウド」を契約、ここを「ステージング環境」として使用
・「本番環境」として、サーバを別途契約
・「ステージング環境」から「本番環境」への転送は、MTクラウドデフォルトの「サーバ配信機能」を使用
「MTクラウド」でページを作成し、再構築(ステージング環境にページを出力)します。出力されたページは「本番環境」と同じHTMLの状態で確認できます。
ページ単体だけでなく一覧ページやサイトトップなど、全てのページを見ることができます。ステージング環境にはBasic認証などでアクセス制限をかけており、外部から見られることはありません。
確認が終わったページは「サーバ配信機能」で「本番環境」へ転送し、公開となります。転送はブログディレクトリ単位での指定になります。
※クラウドのステージングのイメージ(参照:MTクラウドのサーバー配信(ステージング)機能について | CMS プラットフォーム Movable Type )
このクライアントの場合は、セキュリティ面を重視してMTインストール環境と公開環境を分けるよう設計していました。
(サーバ設計やCMS設計は、当然「テスト環境」だけで選定されるものではなく、セキュリティリスクや費用面など様々な要素を検討した上で決定されます)
運用上問題ないか懸念されるところもありました。例えば「同じブログの中で、"今日公開したいページ" と "明日公開したいページ" があったら?」といった具合に、転送がブログディレクトリ単位でそれより細かく指定ができない場合です。
しかし、「更新担当者がブログ単位で分かれている」「サイト全体の更新スケジュールを把握し調整できる責任者の方がいらっしゃる」等を考慮した結果、「問題ないでしょう!」という結論になりました。
「ステージング環境」と「本番環境」を分けるということは、「ステージング環境」から「本番環境」へのファイルの移動が必要になるということであり、その手段も大事な検討ポイントになります。
この案件では追加費用がかからないデフォルトの「サーバ配信機能」を選択しましたが、そこに少し足りていなかった機能が、運用メンバーによってカバーできた、ということになりますね。
■事例 - 「ステージング環境で確認」する方法 (2)
次に、クライアントCで実際に構築した事例をご紹介します。概要は以下のとおりです。
・ソフトウェア版MT + PowerCMSを使用
・MTインストール用サーバを、「ステージング環境」として使用
・「本番環境」としてサーバを別途契約
・「ステージング環境」から「本番環境」への転送は、PowerCMS同梱のプラグイン「Copy2Public」を使用
MTサーバと本番公開サーバが分かれている点は、1つ目の事例と同じです。MTサーバを「ステージング環境」とし、そこで確認が取れたページを本番公開サーバに転送します。
こちらのクライアントは長年PowerCMS(高機能のプラグインパッケージ)を導入されていて、本番転送にはその中のプラグインの1つである「Copy2Public」を使用しました。
※PowerCMSイメージまたはサーバー連携機能イメージ(参照:ステージングサーバー連携機能 | PowerCMSの機能)
1つ目の事例で使用した「サーバ配信機能」に比べて、「ファイル単位で転送指定ができる」「転送対象外にしたいファイルを指定できる」等、便利に使える機能があります。
有料のプラグインであり、また初期設定が少し難しいことなど導入時のハードルはありますが、多くの部署が関わるような大規模サイトの運用にはとても有効なプラグインでした。
■事例 - 「MTの中でプレビュー」する方法
最後に、クライアントXで実際に構築した事例をご紹介します。概要は以下のとおりです。
・MTクラウドを契約、ここをそのまま「本番環境」として使用
・「ステージング環境」は無し
・共有プレビュープラグイン「SharedPreview」を使用
こちらの案件でも、セキュリティ面を考慮してMTサーバと本番公開サーバを分けることを最初に検討したのですが、何よりスピード重視のスムーズな運用フロー構築が要件としてあり、最終的にMTクラウドをそのまま「本番環境」とする設計に落ち着きました。
サーバを分けないことで「本番環境への転送」という手順を1つ省くことができます。この転送1つでも作業者と確認者との間でメッセージのやり取りが複数回発生し、意外と手間になります。
「ステージング環境」を作成しないとなると、公開前ページの確認はMTのプレビュー機能を使うことになります。これをパワーアップさせるツールとして、共有プレビュープラグイン「SharedPreview」を採用しました。
参考リンク:SharedPreview プラグイン for Movable Type
無料で使えるプラグインですが、次の点でデフォルトプレビューより優れていて、なかなか使い勝手の良い物でした。
・プレビュー画面にパスワードがかけられる
・MTアカウント無しでもプレビュー画面が見れる
・記事公開まではプレビュー画面が消えることなく維持され、URLも変わらない
※デフォルトプレビューは一定時間が経つと消えてしまうため、第三者への共有画面として使うには不都合があります。
このプラグインでプレビューできるのは作成したページ単体のみで、一覧やサイトトップなどは見ることができません。
しかし、クライアントご担当者のお話で「今までは、MTアカウントを持たない確認者向けに、MTデフォルトのプレビュー画面をキャプチャしてメール添付で送っていました。一覧などはそもそも確認に出していませんでした」とのことだったので、この機能アップはなかなかの好評価をいただけました。
さらに「リビジョン機能」を追加するプラグインも導入しました。これは、公開中のページの未来バージョン(更新)を作成して下書き保存したり、逆に更新したページを元に戻したり(バックアップの復元)といったことができるものです。
新規ページ作成はもちろん、公開中ページの更新も非常に多く発生するこの案件では、「リビジョンで未来バージョンのページを作成し、共有プレビュープラグインでシェアして確認を取る」といったフローが非常にハマり、機能がとても活かされた例でした。
リンク:
Movable Type Premium(パッケージ内のリビジョン作成機能を使用)
https://www.sixapart.jp/movabletype/solutions/mtpremium.html
■まとめ
MTの環境設計にはさまざまな方法があります。
どのタイプのMTを選択するか、どんな追加機能を導入するかによっても、選択肢が変わってきます。
作るコンテンツに合わせて全く新しく環境を準備できる場合もあれば、既存のサーバやライセンスをそのまま継続して使う場合もあります。もちろん予算によっても選択できる環境は違ってきます。
どのような場合でも、「確認」の方法1つをとっても、可能な限りそのクライアント、その案件に最適な環境設計とフローをご提案できるようにしたいですね。
最後になりましたが、TAMはMovable Typeの販売元のシックス・アパート社のパートナー「Pronet」に加入しています。
また、TAMでは一緒に働く仲間も募集中です!以下のリンクに案内がありますので、ぜひご覧ください。