2019年10月25日
「手動」のテンプレートはどういう時に使うのか?
テンプレートの「公開」プロファイルに、「手動」という設定値が存在します。
このプロファイルを選択した時の動作と、どのようなテンプレートに「手動」プロファイルを設定するのかを説明します。
「公開」プロファイルはどこで設定できるか
テンプレートに設定するものです。管理画面上では「デザイン」>「テンプレート」で一覧表示される「インデックステンプレート」と「アーカイブテンプレート」の各テンプレート内で設定が可能です。一覧上では「公開」として表示されています。
なおこの一覧画面では、対象にチェックを入れて「アクション」プルダウンから「手動にする」を選択し、「Go」ボタンをクリックすることで、一括で「手動」へと変更することが可能です。
一覧からテンプレート名のリンクを開くことでテンプレート編集画面に移動します。
設定が表示される場所は「インデックステンプレート」の場合と「アーカイブテンプレート」の場合で異なります。
「インデックステンプレート」の場合はクリックで開閉する「テンプレートの設定」内の最下部に表示されます。
「アーカイブテンプレート」の場合も同様に「テンプレートの設定」内に表示されますが、複数のアーカイブマッピングそれぞれに対して設定可能になっています。
「手動」と設定した場合にどの様に動作するか
PowerCMSでは通常、記事を投稿(追加・更新)した場合に、以下のテンプレートでファイルが即時に再構築されます。
- 公開済みの記事を対象に公開日ベースで前後のアーカイブテンプレート(記事編集画面上部の「< 前」「次 >」の記事です)
- 公開記事の属するカテゴリーが出力するカテゴリーアーカイブテンプレート(複数所属する場合は複数カテゴリーアーカイブが再構築)
- 公開記事の公開日ベースの日付アーカイブテンプレートと前後の日付アーカイブテンプレート(月別アーカイブ・年別アーカイブ・月別カテゴリーアーカイブなど)
- すべてのインデックステンプレート
ただし、それは各テンプレートの公開プロファイルが「スタティック」となっている場合です。
「公開キュー経由」となっているものは、再構築キューに処理がキューイングされ、run-periodic-tasks の実行時に再構築が行われます。
「ダイナミック」及び「公開しない」ではファイルの出力は行われません。
「手動」の場合も同じくファイルの出力が行われません。
記事投稿時以外、再構築ウィンドウのポップアップを使って再構築した時にも、再構築される範囲は記事投稿と異なりますが、上記の動作が適用されます。
つまり、記事の投稿や再構築ウィンドウの再構築では、「手動」のテンプレートからファイルは出力されません。
どのような目的で「手動」に設定するのか
「手動」プロファイルについては、以下の2つの用途が多いです。
- 先に説明したように記事投稿では「すべてのインデックスアーカイブ」が再構築されるので、再構築に時間がかかるが、通常出力内容に差異が発生しずらく、管理画面作業の結果として更新したいもの。
- 機能実装の為のダミーデータ(JSONデータ)など、通常は更新される必要がなく、必要な時のみサーバー上のファイルを直接編集せずに更新したいもの。
設定時の注意点
管理画面上の操作では、意図的に出力しない限り「手動」に設定したテンプレートはファイルを更新しません。 しかし、以下の場合に「手動」に設定されたテンプレートからもファイルが出力されます、
PowerCMS添付の tools スクリプト rebuild-archives を利用した場合、「手動」の設定であってもテンプレートの再構築が行われます。
通常はこの動作でも問題はないはずですが、以下のように特殊な運用としている場合に、この動作で問題が発生します。
- 機能実装用にダミーデータを出力するテンプレートを「手動]で作成し、ダミーデータを出力する
- 入力データ等が揃ったので、上記と同じURLで出力されるテンプレートを 新たに追加 し「スタティック」に設定する
この場合、通常の管理画面操作では「スタティック」のファイルのみが更新されるため、正しく想定したとおりに運用が可能です。
しかし別な理由から rebuild-archives を利用することになり、スクリプトでの再構築が行われるようになった場合、上記の2テンプレートは共に再構築される対象になります。ダミーデータの方が後に再構築されると、データが想定しない初期のダミーデータとなってしまいます。
意図せぬ出力が行われ無いようダミーデータのテンプレートは削除しておくべきです。
重複するパスで出力されるものは、その管理に注意を払う必要があります。
コメントを投稿する