使workbox在sitecore / system / workflows之外显示工作流

时间:2011-09-29 17:39:13

标签: sitecore

Sitecore的工作箱似乎只能显示sitecore / system / workflows中工作流程中的项目。有没有办法让它在树的其他部分显示工作流程?我已经能够解决将工作流程移出该位置的几个问题,但这个问题是当前的难点。

我们的网站针对不同的客户分为几个部分(在“客户”意义上)。每个客户都需要自己的工作流程,我们希望他们能够导航到工作流程,而不必离开树的内容部分并进入系统部分。理想情况下,我们也希望尽可能多地移动每个客户的自定义内容,例如布局,渲染等,因为我们可以进入内容区域,以便我们或他们可以发布一个节点和子项,并将与该客户端相关的所有内容上线,就像我猜测大多数人使用“发布站点”功能。

1 个答案:

答案 0 :(得分:4)

我很好奇你到目前为止做了些什么来缓解这个问题。使用反射器,我搜索了工作流根项的GUID {05592656-56D7-4D85-AACF-30919EE494F9}。它存储在Sitecore.ItemIDs.WorkflowRoot中,由Sitecore.Workflows.Simple.WorkflowProvider.GetWorkflows()依次使用。此方法由Sitecore.Shell.Applications.Workbox.WorkboxForm等其他地方调用。但是,可以通过Context.ContentDatabase.WorkflowProvider访问它,/sitecore/databases/database/workflowProvider是位于IWorkflowProvider的配置元素。

简而言之,如果您还没有,则应尝试实现扩展Sitecore.Workflows.Simple.WorkflowProvider的自己的GetWorkflows()并在Web.config中对其进行配置。覆盖{{1}}以查找您要查找的位置的工作流程。使用像reactor或ILSpy这样的工具来查看当前该方法的作用,并进行必要的更改。

请报告(如果可以,请发布博客!)。这不是Sitecore的一个领域,我认为很多人通常会扩展/增强。