PowerCMS™
2025年1月1日購入分よりライセンスの価格を改定いたします。
[ブログ] PowerCMS 6 でのアップデートまとめ を追加しました。
[よくあるご質問] システムログに「タスクを実行するために必要なロックを獲得できませんでした」というログが残っている を追加しました。
[よくあるご質問] 特定のシステムログに絞って確認できますか? を追加しました。

再構築トリガー

アドオン・プラグイン

PowerCMS では、ワークスペース/スペースをまたがった詳細な再構築トリガーを設定することができます。トリガーの設定はテンプレート個別、もしくはワークスペース/スペース単位で行うことができ、バックグラウンドでの再構築にも対応しているため、サーバー負荷を最小限にすることが可能です。

管理画面へのリクエスト・パラメータによるトリガーの指定

管理画面アクセス時のリクエスト・パラメータによる再構築トリガーの設定と呼び出しを可能にします。リクエスト・パラメータによる再構築トリガーの設定は、システムメニューもしくはユーザーメニューの「設定」→「PowerCMS」から行います。指定は YAML 形式で記述します。この指定によって、例えば「特定のバナーグループが更新された時にトップページを再構築する」といった細かな指定が可能になります。

再構築トリガを YAML で設定する

記述例

mt.cgi?__mode=view&_type=campaigngroup&blog_id=2&id=1&saved=1

YAML では、特定のキー名(ユニークな任意の文字列)、params および template_id または blog_id を指定します。

CampaignTrigger:
  params:
    - __mode=view
    - _type=campaigngroup
    - id=1
    - saved=1
  template_id:
    - 1
    - 2

指定するテンプレートの ID の取得については、「本ユーザーガイド内の用語や記法」内の「ID を指定する」 を参照してください。

blog_id を指定すると、そのワークスペース/スペースを対象に再構築を行います。なお、archive_type を指定することも可能です (指定可能なアーカイブタイプには制限があります)。

CampaignTrigger:
  params:
    - __mode=view
    - _type=campaigngroup
    - id=1
    - saved=1
  blog_id: 2

リクエストパラメータが以下の時(バナーグループの保存後)に template_id が 1 と 2 のインデックステンプレートを再構築する

mt.cgi?__mode=view&_type=campaigngroup&blog_id=2&id=1&saved=1
CampaignTrigger:
  params:
    - __mode=view
    - _type=campaigngroup
    - id=1
    - saved=1
  template_id:
    - 1
    - 2

リクエストパラメータが以下の時 (スペースの全般設定の保存時) にそのスペースのインデックス・テンプレートを再構築する

mt.cgi?__mode=cfg_prefs&_type=blog&blog_id=2&id=2&saved=1
CfgTrigger:
  params:
    - __mode=cfg_prefs
    - _type=blog
    - saved=1
  blog_id: <mt:BlogId>
  archive_type: index

リクエストパラメータが以下の時 (スペースの全般設定の保存時) にそのスペースのインデックス・テンプレートを再構築する

mt.cgi?__mode=cfg_prefs&_type=blog&blog_id=2&id=2&saved=1
CfgTrigger:
  params:
    - __mode=cfg_prefs
    - _type=blog
    - saved=1
  blog_id: <mt:BlogId>
  archive_type: index

アーカイブテンプレートを再構築したい場合

アーカイブテンプレートを再構築したい場合は blog_id と archive_type の指定が必要です。

EntryTrigger:
  params:
    - __mode=view
    - _type=entry
    - id=1
    - saved=1
  blog_id: 2
  archive_type: individual

テンプレート・タグでの再構築トリガー

テンプレート・タグを特定のテンプレートに埋め込むことによって、そのテンプレート・タグが呼び出された (ビルドされる) 段階で再構築処理が実行されます。環境変数 RebuildTriggerBackgroundTasks を指定すると、バックグラウンドで再構築処理を行います (この設定は FastCGI/PSGI 環境では無効になります)。

これらのテンプレート・タグは、スタティックパブリッシングのテンプレートでのみ有効です。プレビューの際には再構築トリガーは実行されず、また、一度の管理画面CGIへのリクエストで同じテンプレートは一度しか再構築されません。

ファンクションタグ

MTRebuildBlog
テンプレートタグの実行時に blog_id または blog_ids (カンマで区切られたスペースのID) モディファイアと archivetype (カンマで区切られた) モディファイア (省略時はすべてが対象となります) を指定してスペースを再構築します。
MTRebuildIndexByID
テンプレートタグの実行時に template\_id (カンマで区切られたインデックステンプレートの ID) モディファイアに指定されたインデックステンプレートを再構築します。
<MTRebuildIndexById template_id="18,19">
MTRebuildIndexByBlogID
テンプレートタグの実行時に blog_id または blog_ids (カンマで区切られたスペースの ID) モディファイアと archivetype (カンマで区切られた) モディファイア (省略時はすべてが対象となります) を指定してスペースのインデックステンプレートを再構築します。

プラグイン「MultiBlog」による再構築トリガー

マルチブログを利用したポータルページの作成」を参照してください。

再構築トリガーに関連する環境変数

環境変数 解説 初期値
RebuildTriggerBackgroundTasks PowerCMSの再構築トリガーをバックグラウンドで実行します。FastCGI環境では有効になりません。 0
RebuildMultiBlogAtDeleteEntry 記事を削除した時にマルチスペースのトリガをコールします。 1
次は
一覧へ

お問い合わせ

お問い合わせフォームがご利用できない場合は、以下のメールアドレスからも受け付けております。
contact@alfasado.jp

製品資料ダウンロード

パンフレットデータ、提案用資料などがダウンロードできます。