但在实际情况下,我真的会质疑工作流程是否需要在您复制同一结构组中的页面时立即启动。
当您复制同一结构组中的页面时,它将创建一个带有标题的页面,Copy of original page name
CMS 用户显然希望/需要编辑具有正确页面名称的页面。一旦他们保存页面工作流程就会启动。此外,CMS 用户可能还希望更改页面上的某些组件演示。
当您在不同的结构组上复制它时,您正在创建一个在其他结构组中具有名称的页面,因此工作流启动,因为它不是同一结构组中的相同副本。
我认为这是一个不错的功能:) :)。
但是,正如尼克建议的那样,我也建议您提交支持票。
如果您想为您的场景 #1 考虑一种编程方法,您可以实现 EventSystem 以通过简单地使用创建它的同一用户再次保存页面来强制启动工作流。您需要捕获CopyEvent
.
如果您想走这条路线(未测试),请使用 EventSystem 存根示例:
private void Subscribe()
{
EventSystem.Subscribe<Page, CopyEventArgs>(PostCopyActivity, EventPhases.Processed);
}
private static void PostCopyActivity(Page page, CopyEventArgs args, EventPhases phase)
{
// do your logic to save page..
string sourceId = args.CopiedObject.OrganizationalItem.Id;
string destinationId = args.Destination.ToString();
if (sourceId.Equals(destinationId))
{
// copying to the same location .. so now get the User Session and Update the page to force workflow
}
}
希望这些信息有所帮助。