4

ワークフロー中にページを公開しようとしています。ワークフロープロセス中に公開する環境は2つあります。1つはテスト用、もう1つはライブ用です。テストのために公開している最初の自動アクティビティ中に、そのプロセス中にページ上のコンポーネントを承認する必要はありません。私たちはそれを機能させました。

ただし、ページを承認し、ページが公開される場合は、承認されたコンポーネント(つまりメジャーバージョン)のみを公開するようにする必要があります。

私のコードではPage.Publishメソッドを使用していますが、承認されたアイテムのみを公開するように指定することはできません。

公開メソッドは、と呼ばれる引数を受け入れますactivateWorkflow。設定するTrueと、承認済みアイテムと未承認アイテムの両方が公開されます。しかし、これに設定するFalseと、キューに追加され、成功メッセージが表示されますが、何も公開されません。

公開方法を使用し、手動でチェックせずに、これを修正する方法を誰かが知っていますか?

ありがとう。

4

2 に答える 2

5

コンポーネントワークフローを実行し、静的ページを公開する必要がある場合(動的コンポーネントプレゼンテーションなし)に、同様の問題が発生しました。

あなたが述べたように、テストのために公開するときは、単にactivateWorkflow=trueを実行します。ライブ環境では、ワークフローの完了後に公開を開始する必要があります。このため、イベントシステムを介して問題を解決しました。ここにあなたを助けるかもしれないこれをより詳細に議論する記事があります:

http://www.tridiondeveloper.com/autopublishing-on-workflow-finish

于 2012-10-26T01:27:08.947 に答える
2

アクティビティを実行している場所が明確ではありません。Visioのワークフローアクティビティ内からこれを実行していますか?

公開では、常に、そのターゲットの承認済みステータスにあるアイテムと、ワークフローが終了したアイテム(メジャーバージョン)のみが公開されます。

とはいえ、空のPublishTransacctionsを取得する理由は、ページワークフローアクティビティを終了する前に新しいアイテムに対してPublish()メソッドを呼び出しているためだと思います(つまり、新しいアイテムはまだワークフロー内にあるため、false値はワークフローにない公開するものはありません)。Publish()メソッドが呼び出される前に、FinishActivity()を呼び出してみてください。

おそらく、最後のステップからコードを投稿して、あなたが何をしているかを正確に確認できるようにすることができます。

于 2012-10-25T21:10:55.660 に答える