「プロジェクト」テンプレート、そのテンプレートのワークフロー「プロジェクトワークフロー」、およびプロジェクトテンプレートから作成された多くのアイテムがあります。
管理者以外のユーザーとして、プロジェクトアイテムを編集すると、ワークフローに送信されます。管理者ユーザーはワークフローを無視するため、管理者としてログインしている場合は発生しません。
SitecoreAPIを介してアイテムを編集する一括インポートプロセスがあります。
updateItem.Editing.BeginEdit();
updateItem.Versions.AddVersion();
updateItem.Fields["x"] = someVal;
updateItem.Fields["y"] = someOtherVal;
updateItem.Fields["z"] = yetAnotherVal;
updateItem.Editing.EndEdit();
この一括インポートコードを管理者として実行するときは、アイテムにワークフローを実行させて、インポートされたアイテムの承認または拒否に人間が関与するようにします。ただし、管理者ユーザーはワークフローを無視するため、これは行われません。
変更したアイテムをプログラムでワークフローに送信する方法はありますか?Item.State.GetWorkflowState()がありますが、対応するSetWorkflowState()がないようです。