[Sitecore][Publishing]パブリッシュターゲットを指定 2

これは前回に話の続きになりますが、確かに.新しいアイテムが投稿してから、“Approve QA”にて、QAのみへのパブリッシュすることができたものの、ワークボックスにてどのアイテムがすでQAへパブリッシュしたのかという状態を見ることができなかった。またアイテムパブリッシュウィザードにて、LIVEがチェックした場合はアイテムがパブリッシュしてしまうのはよくない。

以前Alex Shybaさんがこれに関して書いた記事があったので、それをもとに更新をしてみました。

要するに、クラスSitecore.Workflows.Simple.Workflow がすべてのパブリッシュをするさいにメソッドIsApprovedが呼ばれます。それは最終状態であるかどうかを確認しているわけ。これを使って、QAとしてチェックされた場合はQAへのみパブリッシュするわけです

さて、更新して見ましょう。

1. 下記のコードを追加 PublishActionHelper.cs

using System; using System.Collections.Generic; using Sitecore; using Sitecore.Configuration; using Sitecore.Data; using Sitecore.Data.Fields; using

続きを読む

[Sitecore][Publishing][Publishing Target]パブリッシュターゲットを指定 1

題名のようにワークフロー特定のパブリッシュターゲットへのパブリッシュする方法を紹介します。

編集者が新しいアイテムを作成してから、通常何らかのワークフローが設定を使ってパブリッシュターゲットへ公開されていきます。今回サイトコアからディフォルトでついてくるワークフローを例にして、特定のパブリッシュターゲットを指定する例説明します。アイテムが作成され、投稿し、承認されてから、オートパブリッシュでパブリッシュされるわけですが、ただ、たとえば、複数のパブリッシュターゲットがあるとします。

この場合はQALiveの二つのパブリッシュターゲットが有る場合、両方へとパブリッシュします。

Sitecore.Workflows.Simple.PublishActionが既存のすべてのパブリッシュターゲットへパブリッシュします。

時にはお客さんがQAだけへとパブリッシュしたいという時にカスタムなパブリッシュアクションを作る例を説明したいです。

1. まず下準備します。特定なパブリッシュターゲットを指定できるように、既存の

/sitecore/templates/System/Workflow/Action にてフィールドを追加しましょう。

2.コードを追加

using System; using System.Collections.Generic; using System.Linq; using System.Text; using Sitecore.Configuration; using Sitecore.Data; using

続きを読む