Tridion2011SP1を使用しています。公開されたコンテンツのコンテンツの有効期限を設定する方法はありますか?また、コンテンツの有効期限が切れている場合、有効期限が切れたコンテンツのデフォルトのコンテンツを表示する方法はあります。
2 に答える
はい、コンテンツを期限切れにする方法がいくつか思い浮かびます。最初に、コンテンツやページのメタデータ スキーマに有効期限フィールドを作成する必要があります。オプションは次のとおりです。
1) 夜間のバッチ ジョブを使用して、期限切れのコンテンツを非公開にします。このジョブは、コンテンツの有効期限のメタ フィールドをスキャンし、有効期限が切れたコンテンツを非公開にし、代わりにデフォルトのコンテンツを公開します。コア サービスを使用して、バッチ ジョブ アプリ (CM サーバーでジョブを実行している場合は Powershell) で Tridion に接続します。ここでの欠点は、コンテンツが多い場合、実行にかなりの時間がかかることです。
2) 期限切れのコンテンツを公開したままにし、期限切れのコンテンツをデフォルトのコンテンツで無視/置換するロジックをフロントエンド Web アプリに用意します (例: 疑似コード [正確な機能については Dynamic Delivery API を確認してください]: If date.now < content.metadata .expirydate の場合はコンポーネント プレゼンテーション X を表示し、それ以外の場合はコンポーネント プレゼンテーション Y を表示します)。
私は次のアプローチを選択します。
コンポーネントとページに有効期限メタデータを追加します。
- カスタム リゾルバーを使用して、期限切れのコンポーネントとページを除外します。
- 期限切れのコンテンツが公開されると、有効期限に公開アクションをスケジュールできます。
- 期限切れのコンテンツを検索するには、検索フォルダーを使用します。
さらに、公開されたページのメタデータとして有効期限の日付を含めることができ、有効期限が切れたコンテンツをフィルター処理するための可能なロジックを含めることができます。
詳細については、私のブログを参照してください: 80.000ft