2016年11月22日
PowerCMS 4.3で大幅に強化されたテンプレート管理機能
来週リリース予定の PowerCMS 4.3の新機能についてご紹介します。PowerCMS 4.3の主な新機能は次の2点です。
- 制作・運用・改善プロセスにフォーカスしたテンプレート機能の強化。テンプレートの新機能は AdvancedTemplate プラグインによって提供されます。
- MT 6.3対応。これにより、DynamicMTMLが PHP 7 に対応します。
この記事では、AdvancedTemplateの機能についてご紹介します。少し余談といいますか裏話になりますが、これらの機能開発は以下のような不満がきっかけとなっています。
- リンクしているテンプレートはわかるのに、リンク元テンプレートが探せないのは不便
- よく使うテンプレート編集画面に素早く遷移したい
- 公開ページがどのテンプレートなのか探すのが面倒
- グローバルテンプレートやグローバルカスタムフィールドがテーマに含められないのが不満
- グローバルテンプレートには更新履歴がないの?
- テンプレート更新の差分が見られたらいいのに
- テンプレートのドキュメント作成が大変
閲覧中の公開ページからテンプレート編集画面に一発移動
ユーザーダッシュボードに「テンプレートのクイック編集」ブックマークレットが追加されました。閲覧中の公開ページで起動すると、そのテンプレートの編集画面に一発遷移できます。
テンプレートのドキュメント作成を支援する機能
納品ドキュメントでテンプレートに関するドキュメントを求められるケース、あるいは求められないまでもわかりやすいドキュメントがあると後の運用・改善の際に役立つことは明らかです。ただ、テンプレートの作成で手一杯、ドキュメントは後回しといったことはないでしょうか。
新しいテンプレート機能では、テンプレートにメモを付け、一覧画面で確認できるようになります。テンプレート名だけでなく、テンプレートの役割を記述することでテンプレートの見通しを良くすることができます。また、「アクション」ウィジェットに「テンプレートの一覧」リンクが追加されました。
この画面をプリントしたりPDF化したりすることで、テンプレートごとの説明(メモ)付きの一覧を作成することができます。
グローバルテンプレートを活用しやすく
MT/PowerCMSのグローバルテンプレートはウェブサイト/ブログのテンプレートと比較して以下のようなデメリットがあり、活用されていないケースを見かけます。PowerCMS 4.3では、グローバルテンプレートをより活用しやすいように以下の点を改善しています。
- アーカイブモジュール(テンプレート種別)を追加(ウェブサイトやブログでページ用のテンプレートとして利用しているものを類別しやすいように)
- テンプレートの更新履歴(リビジョン)に対応
- グローバルテンプレートをテーマに含められるように
- ウェブサイト/ブログで作成したモジュールをシステムレベルに移せる機能の追加
更新履歴で差分を確認できるように
テンプレートの更新履歴の差分(diff)を表示することで、更新された内容を可視化できるようになりました。ウェブサイト/ブログ/システムすべてのテンプレートが対象になります。
インクルード元へのリンク、ブックマークでテンプレート間の移動を支援
これまでMT/PowerCMS (4.1以前)ではインクルードしているテンプレートへのリンクはウィジェットに表示されますが、逆(インクルード元テンプレート)へのリンクは表示されませんでした。PowerCMS 4.2以降では「リンクされているテンプレート」ウィジェットが表示さるようになります。
また、よく編集する作業中のテンプレートをブックマークすることができるようになりました。加えて、MTBookmarkTemplateテンプレート・タグが追加されました。このテンプレートタグをテンプレートに記述しているテンプレート編集画面でのみ、指定のテンプレートへのリンクが追加されます。
例(PC向け記事とSP向け記事アーカイブがあるとき、片方を修正する際にもう片方を更新するような場合)
<MTBookmarkTemplate name="記事(SP)" blog_id="self">
「リンクされているテンプレート」をモジュール更新時に再構築する機能の追加
環境変数「RebuildAtUpdateModule」が追加されました。指定されていて、リンク元テンプレートが「インデックス・アーカイブ」である時テンプレート・モジュールの更新時にインクルード元アーカイブを自動的に再構築します。
プラグインアクションでテンプレートに関する様々な操作を可能に
ウェブサイト/ブログのテンプレートの一覧画面でテンプレートに対する様々な操作をアクションとして実行できるようになりました。
記事・ウェブページでアーカイブを指定してプレビューする機能の追加
記事・ウェブページ編集でプレビューに利用するテンプレートを選択可能になりました。PC・スマホ版、多言語サイトの運用時などにテンプレートを切り替えてプレビューすることができます。
公開後のページ確認もテンプレートごとに可能になりました。
CSSなどの素材を一括登録「共通アイテム」登録機能
commonフォルダのような名前で作成されることの多い、JavaScript、CSS、画像パーツなどを一括登録する機能が追加されました。ZIPファイルとしてアーカイブを作成し、管理画面の「共通アイテム登録」画面から登録 します。テキストファイル(RegisterTemplateExtensions環境変数にカンマ区切りで指定)はインデックス・テンプレートに、画像ファイル(RegisterAssetExtensions環境変数にカンマ区切りで指定)は「アイテム」に一括登録できます。テキストファイル内のSSIをMTIncludeに自動変換することもできます。
テーマ機能が充実
テーマ作成時に、グローバルテンプレートとシステムスコープのカスタムフィールドを含められるようになりました。
テンプレート編集画面のエディタのカスタマイズが可能に
ユーザーのプロフィール編集画面で、テンプレートエディタの以下のカスタマイズができるようになりました。
- エディタのスキン
- エディタのフォントサイズ
- 行を折り返すかどうか
新たに追加された環境変数の一覧
環境変数名 | 初期値 | 解説 |
---|---|---|
SystemTemplateMaxRevisions | 20 | グローバルテンプレートの更新履歴数 |
RebuildAtUpdateModule | 0 | テンプレートモジュールの更新時にリンク元インデックステンプレートを再構築 |
OverwriteGlobalTemplateAtApply | 0 | 同名のグローバルテンプレートがテーマに含まれていた場合に上書きする |
RegisterTemplateExtensions | css,js,html,htm,php,json | 共通アイテム登録時にインデックス・テンプレートに登録するファイルの拡張子 |
RegisterAssetExtensions | jpeg,jpg,gif,png,pdf,ico | 共通アイテム登録時にアイテムに登録するファイルの拡張子 |
RegisterAssetAddTags | @common | 共通アイテム登録時にアイテムに付ける「タグ」 |
RegisterTemplateBuildType | 2 | 共通アイテム登録時のテンプレートの再構築オプション(2=スタティック) |
RegisterAssetsByQueue | 0 | 共通アイテムをrun-periodic-tasks(run-workers)経由で登録する |
DefaultCodeMirrorFontsize | 14 | テンプレート編集画面のデフォルトフォントサイズ |
コメントを投稿する