我在Sitecore 7.2(rev.140228)中创建了一个非常简单的工作流程,该工作流程遵循开箱即用的示例工作流程,除了保存"草稿" item不会自动将项目推送到某个角色的审核状态。我已通过默认工作流字段将此工作流应用于基本模板上的标准值项。
每当用户(非管理员)创建从继承的基本模板派生的项目时,工作流程定义的新项目的初始状态被适当地设置为"草稿"。然后,我可以通过工作流程运行该项目,以达到"完成"州。基本上,工作流程似乎按预期工作!
但是,当用户点击修改以创建该项目的新版本时,该项目的历史记录会显示该用户的项目历史记录已经变为? to 草稿"。
我无法确定如何将给定项目的初始状态设置为不导致版本状态最终显示为"的 &#34?;在项目历史中。
作为示例:我可以(错误地,我相信)在我的基本模板的标准值项目上设置 State 字段(许多其他项继承自)到#"选秀"但是,当我检查从该基本模板继承的项目模板的标准值时,他们不会在 State 字段中继承该值。
我可以在项目模板本身的标准值中设置州字段,该项目的新版本仍会显示"从?更改为草案"何时创建新版本。
任何人都可以解释如何获取新版本的商品,以便在历史记录中表明他们已经从完成更改为草稿&#34 ;?这里有什么我完全不知道的吗?
我已经尝试过Jay的建议,结果是一样的:
我按照建议修改了工作流程
我在整个工作流程中启动了一个项目,然后将其运行到"完成"
转到编辑项目(创建新版本),我仍然得到"?"
只是从权限的角度来看,我测试此工作流程的两个角色确实有full access to the workflow across the board。
我注意到工作流程状态名称显示"?"当一个角色对该州的访问权限受到各种限制时,但我不知道为什么事情没有像目前那样正确地显示出来。
我认为jRobbins的大小。虽然从用户理解的角度来看它并没有多大意义,但我可以看到为什么工作流状态显示出它的样子。我只希望Sitecore能够提供一种在未来以更简单的方式解决这个问题的方法!
答案 0 :(得分:1)
按照设计,您的项目的新版本是在其模板的工作流程的初始状态中创建的,而不是以前版本的状态。因此,您无法在项目历史记录中实现所需的“从完成更改为草稿”条目。
我同意“从?更改为草稿”不是一个准确的条目,但我认为您可能不得不忍受它,除非您想在创建新项目版本的函数上编写一些自定义代码。
此外;
“作为一个例子:我可以(错误地,我相信)在我的基本模板的标准值项目上设置州字段。”
你是对的,设置模板标准值的State字段实际上将标准值项输入到工作流本身。您应该只设置“默认工作流程”。
有关详细信息,请参阅此链接 - http://sdn.sitecore.net/upload/sitecore6/workflow_cookbook_a4.pdf
答案 1 :(得分:0)
在Sitecore的默认工作流程中,__ OnSave命令处于Draft状态,__ OnSave的下一个状态是Draft。在这种情况下,项目的版本信息是“?to Draft”,因为“草稿到草稿”没有意义。
我创建了一个新的工作流程,并使__OnSave命令处于Approved(Done)状态。这个__OnSave命令的下一个状态是“Draft”。因此,您会看到该项目的版本信息为“完成草稿”