2011-09-14 14 views
4

指定した未発行日のアイテムを自動的に非公開にする最良の方法は何ですか? sitecore内のアイテムを自動的に非公開にする

は私が正しく、将来の公開日付でアイテムを公開してweb.config

<agent type="Sitecore.Tasks.PublishAgent" method="Run" interval="00:00:30"> 
    <param desc="source database">master</param> 
    <param desc="target database">web</param> 
    <param desc="mode (full or incremental)">incremental</param> 
    <param desc="languages">en</param> 
    </agent> 

でPublishAgentを有効にしますが、将来的には未発表である必要はありアイテムには使用できません。私はsitecoreを使用しています。6.4

非公開を有効にする良い方法はありますか?私はボックスソリューションより優れたものがあればそれを処理するカスタムコードを書いたくありません。

答えて

3

それを行うのボックス道のうち、より良いはありません私の知る限り...

それは逃した機能とあなたがしたい(またはユーザー)のものであるとして、それは、残念だが働くだろう期待しますそれらの日付を設定することができます。

私の意見では、出版社はそれを行うのが貧弱で簡単な方法です(どうして間隔が狭いのか、制御できないのか...出版社が忙しい時間の途中で消えないようにするサイト)。

彼らは機能を自動的に動作させる必要があります。そうすれば、公開時間を設定することができます。 23:30か何かでevyer日。

私はそれをよりよく制御する唯一の方法は自分の機能を作ることだと言います。

+1

@Holgerに感謝します。私はしばらくの間、sitecoreで作業してきましたが、私はこのタスクを処理できるかどうかわからない何かが隠されていることを期待していました。間違いなく残念です。 – marto

+0

うん、これは間違いなく欠けている機能です。しかし、それはおそらくそれが欠落している標準のASP.NETモデルの外にあるものに依存します。これをほぼ達成する23時間59メートルの間隔で何かを設定することができます。 – Bryan

+0

23:59に設定すると、1日に1回公開されますが、23:59はリサイクル(または設定ファイルの変更)の後です。つまり、何らかの理由でapp_poolを昼間にリサイクルすると、あなたのパブリッシュは一日のうちに行われるか、夜間にパブリッシュされた場合はその日は起こりません。 app_poolのデフォルト設定は、29時間後にリサイクルすることです(これはちょっと変わったことです)。そのため、私は常に夜間/午前の固定時間に変更しています。 – Holger

1

PublishAgentのコードを見ると、標準APIを使用して通常の方法で公開することがわかります。つまり、普通の出版で可能なものは、PublishAgent ...

でも可能ですか?パブリッシュキュー - CleanupPublishQueueをクリーンアップする別のエージェントがあります。過去30日間はそのままにしておくのがデフォルトですが、変更した可能性があります。そして、ご存じのように、増分パブリッシングはパブリッシュ・キューで機能します。何かがあれば、インクリメンタル・パブリッシングで選択します。それはちょうど推測ですが、PublishAgentが実行されるまでに公開キューに問題のアイテムの公開を解除するレコードが含まれていない可能性がありますか?

PublishAgentでパブリッシュモードを「スマート」に設定することで試すことができます。

+0

ウェブサイトはかなり大きく、スマートな出版はしばらく時間がかかりますので、私はそれを使いたくありません。非公開の日付を設定してアイテムを保存すると、自動的に公開キューに入りますか? – marto

+0

@marto、そうですね。スマートパブリッシュがオプションでない場合は、CleanupPublishQueueエージェントにコメントし、役立つかどうかを確認してみてください。 –

+0

ありがとう@yan。私はそれを与えるだろう。 – marto

関連する問題