PowerCMS™
アルファサードのゴールデンウィーク休業について を追加しました。
[ブログ] PowerCMS 6 でのアップデートまとめ を追加しました。
[新着情報] 多要素認証設定画面の QR コードが表示されない問題への対策ファイル を追加しました。
[新着情報] PowerCMSクラウド 月額費用の価格改定に関する追加情報を公開します を追加しました。

アイテムの公開状態を制御

アドオン・プラグイン

管理画面からファイルをアップロードする際に、ステータス「公開」「下書き」を選んでアップロードを行うことで、アイテムの公開状態を指定することができます。

「公開」を選んだ場合は従来通りファイルはアップロードされ、「下書き」を選んだ場合はアップロードされたファイルのファイル名の先頭に「.」が付与されます。合わせて、公開サーバー側の .htaccess やサーバー設定により「.」から始まるファイルを非公開設定することで、ファイルが意図せず公開される事を防止します。

Copy2Public プラグインを使用している場合は、ファイル名の先頭に「.」があるファイルはコピー対象にならないため、公開サーバーへの同期操作を行なってもコピーされません。

また、記事/ウェブページの公開状態と連動してアイテムの公開状態を制御することも可能です。具体的には、記事/ウェブページが公開になった際にアイテムを公開にし、記事/ウェブページが非公開になった際に、アイテムも非公開にすることができます。

DynamicMTML を利用することで、ログイン状態であれば、「下書き」状態のアイテムを CMS の管理画面を介せず直接閲覧することも可能です。

インストール

ドキュメント『プラグインのインストール』を参照し、プラグイン「AssetStatus」をインストールしてください。

アイテムの挿入と編集

画像の挿入ダイアログに「ステータス」という項目が追加されます。ここで初期に選択されている値は、環境変数 AssetStatusDefaultStatus で設定した値になります。また、環境変数 AssetStatusShowTagField 1 を設定することで、「タグ」の入力欄が追加されます。

アイテムのアップロードダイアログ

アップロードしたファイルは、アイテムの編集画面から「ステータス」を変更できます。また、DynamicMTML の利用できない環境下でも「下書き」状態の画像を確認することができます。

アイテム編集画面でステータスを選択できる

アイテム一覧でのフィルタ

表示オプションに「ステータス」列、フィルタに「下書きのアイテム」と「公開されているアイテム」が追加されます。また、アクションに「公開取り消し」が追加されます。

アイテム一覧画面のプラグインを追加

DynamicMTML 設定

DynamicMTML を利用することで、下書き状態の画像等にアクセスしても、ログイン状態であれば、直接表示ができるようになります。

アイテムの拡張子を処理対象にする

DynamicMTML はデフォルトでは「.html」, 「.mtml」以外の拡張子を処理しないため、「ビルドする拡張子」に必要な拡張子を入力しておく必要があります。「.html」, 「.mtml」に加え、「.jpg」「.pdf」など、対象とする拡張子を追加してください。

ダイナミックパブリッシング設定

環境変数を設定する

加えて、環境変数 CookiePath が設定されていない場合は、下記の記述を追加してください。

CookiePath /

環境変数 CookiePath を変更する場合、すでにブラウザがクッキーを持っている場合は、いちどクッキーを削除する必要があります。

動作を確認する

下書き状態のアイテム編集画面から [表示] ボタンを押し、画像が表示されることを確認してください。加えて、シークレット モードで開いたブラウザで画像の URL にアクセスし、画像が表示されないことを確認してください。

下書きのアイテムを表示する

ファイル名の先頭に「.」をつけて直接アクセスしようとしても表示されません(DynamicMTML が除外します)。

プラグインの利用をやめる場合の注意点

AssetStatus プラグインを削除あるいは無効化される場合、先にアイテムのステータスを公開へ変更してください。AssetStatus プラグインを削除あるいは無効化されたあとはアイテムのステータスの設定ができなくなるため、アイテムのステータスを「下書き」から「公開」へ変更することもできなくなります。

アイテムのステータスを連動する動作を変更する

デフォルトの動作では、記事など他のオブジェクトのステータスとアイテムのステータスが連動する設定のため、例えば記事を下書きで保存するとその記事と関連付けされたアイテムのステータスも下書きにかわります。設定を変更することでステータスの連動をやめたり、連動するタイミングや対象をかえることができます。

アイテムのステータスを連動しない

環境変数 AssetStatusSyncStatus 0 を指定すると、記事など他のオフジェクトとアイテムのステータスが連動しなくなります。

公開時のみアイテムのステータスを連動する

環境変数 AssetStatusSyncObjectsIfPublished 1 を指定すると、記事などのオフジェクトを公開するときのみアイテムのステータスも連動して公開します。記事などの関連オブジェクトを下書きにするときアイテムのステータスは連動しません。

アイテムが他の公開中のオブジェクトと関連付けされている場合、アイテムのステータスを下書きへ連動しない

環境変数 AssetStatusUnpublishIfNoOtherPublished 1 を指定すると、アイテムのステータスを下書きへ連動する時、そのアイテムが複数の関連オブジェクトで利用されており、その関連オブジェクトのどれかが公開されているとアイテムのステータスを下書きへ連動しません。

例えば「公開中の記事A」と「公開中のウェブページB」で「アイテムC」を利用している場合、AssetStatusUnpublishIfNoOtherPublished が有効だと「記事A」のステータスを非公開化しても「ウェブページB」が公開中のため「アイテムC」のステータスは下書きになりません。

環境変数

設定項目 解説 初期値
AssetStatusRequiresLogin ログインしている人だけ非公開のファイルが見える 1
AssetStatusDenyFiles ログインしている人もこれらのファイルは見られない .htaccess,.htpassword,.mtview.php
AssetStatusSyncStatus オブジェクトの関連アイテムについて、オブジェクトのステータスとする 1
AssetStatusSyncObjects ステータスを連動する対象のオブジェクト entry,page,campaign
AssetStatusDefaultStatus アイテムをアップロードする際のデフォルトのステータス

1=下書き
2=公開
2
AssetStatusSyncObjectsIfPublished 公開時のみステータスを連動する 0
AssetStatusShowTagField アイテムをアップロードする際にタグの入力画面を表示する 0
AssetStatusUnpublishIfNoOtherPublished 1 を指定すると、アイテムがひも付けられたオブジェクトの非公開時に、他オブジェクトが公開状態である場合はアイテムを非公開化しなくなります。 0
次は
一覧へ

お問い合わせ

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

製品資料ダウンロード

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