Sitecore工作箱不会创建新版本,因此它不会跟踪更改集。 (工作人员正在由员工使用,管理员需要跟踪这些更改。) 根据我的注意,当项目未处于最终工作流状态时,Sitecore允许覆盖内容,但如果项目处于最终工作流状态,它将创建一个跟踪所有这些更改的新版本。 / p>
是否可以为非最终工作流程状态创建新版本?这是个好主意吗?为什么Sitecore默认不这样做?
答案 0 :(得分:2)
您描述的行为就是文档所说的。仅当项目处于最终工作流程状态且
时才会创建新版本的项目下次内容作者单击此项目的编辑以将其锁定 在进行更改之前,Sitecore会自动创建新版本 项目并将新版本置于草稿状态,而 第一版仍然出版。
还有重要信息:
确保内容作者或其他工作流程用户没有 Sitecore管理员帐户。否则,工作流程将表现出来 不同。有关工作流行为原因的详细信息 与Sitecore管理员不同,请参阅使用a 工作流程。
根据工作流程参考文档,您可以使用__OnSave命令在用户保存对项目的更改时创建项目的新版本。
使用/ sitecore / templates / System / Workflow / Action模板创建自定义操作。
创建一个实现所需行为的类。
namespace OnAction
{
public class WorkflowAction
{
public void Process(WorkflowPipelineArgs args)
{
}
}
}
以下是创建新项目版本的示例:
var language = Sitecore.Globalization.Language.Parse("en");
var item = master.GetItem(itemPath, language);
using (new Sitecore.SecurityModel.SecurityDisabler())
{
try
{
item .Versions.AddVersion();
item .Editing.BeginEdit();
....
item .Editing.EndEdit();
item .Editing.AcceptChanges();
}
catch (Exception ex)
{
item .Editing.CancelEdit();
}
}
有关创建自定义操作here的详细信息。链接到workflow reference。