Sitecore workbox不跟踪更改,我可以覆盖它吗?

Sitecore workbox不跟踪更改,我可以覆盖它吗?,sitecore,Sitecore,Sitecore workbox不会创建新版本,因此不会跟踪更改集。(工作人员正在使用Workbox,管理员需要跟踪这些更改。) 据我所知,当项目未处于最终工作流状态时,Sitecore允许覆盖内容,但如果项目处于最终工作流状态,它将创建一个新版本,跟踪所有这些更改 是否可以为非最终工作流状态创建新版本?这是个好主意吗?为什么Sitecore默认情况下不这样做?您描述的行为就是文档中所说的。仅当项目处于最终工作流状态且 下次内容作者单击此项目的“编辑”以锁定它时 在进行更改之前,Sitecore

Sitecore workbox不会创建新版本,因此不会跟踪更改集。(工作人员正在使用Workbox,管理员需要跟踪这些更改。) 据我所知,当项目未处于最终工作流状态时,Sitecore允许覆盖内容,但如果项目处于最终工作流状态,它将创建一个新版本,跟踪所有这些更改


是否可以为非最终工作流状态创建新版本?这是个好主意吗?为什么Sitecore默认情况下不这样做?

您描述的行为就是文档中所说的。仅当项目处于最终工作流状态且

下次内容作者单击此项目的“编辑”以锁定它时 在进行更改之前,Sitecore会自动创建的新版本 项目并将新版本置于草稿状态,而 第一版仍然出版

还有重要信息:

确保内容作者或其他工作流用户没有 Sitecore管理员帐户。否则,工作流将正常工作 不同地有关工作流行为被禁用的原因的详细信息,请参见 与Sitecore管理员不同,请参阅使用 工作流程

根据工作流参考文档,当用户保存对项目的更改时,可以使用_OnSave命令创建项目的新版本

使用/sitecore/templates/System/Workflow/Action模板创建自定义操作

创建一个实现所需行为的类

命名空间操作
{
公共类工作流操作
{
公共作废进程(WorkflowPipelineArgs args)
{
}
}
}
以下是创建新项目版本的示例:

var language=Sitecore.Globalization.language.Parse(“en”);
var item=master.GetItem(itemPath,语言);
使用(新Sitecore.SecurityModel.SecurityDisabler())
{
尝试
{
item.Versions.AddVersion();
item.Editing.BeginEdit();
....
item.Editing.EndEdit();
item.Editing.AcceptChanges();
}
捕获(例外情况除外)
{
item.Editing.CancelEdit();
}
} 
有关创建自定义操作的详细信息。链接到