tridion - 如何在工作流中获取对象的工作项?

标签 tridion

在 Tridion 2011 SP1 事件系统中,我试图获取我知道在工作流中的对象的 WorkItem,但我不知道它可能在谁的 WorkList 中。

场景描述:

  • 当给定组件在工作流中时,页面必须保持锁定
  • 如果组件工作流状态改变,页面状态也应该改变

  • 我想做的是在 FinishActivityEventArgs 上触发的事件,它会:
  • 检查当前项目是否为组件
  • 获取对应的页面(页面类型的GetUsingItems)
  • 检查页面是否也在工作流中
  • 获取有问题的页面
  • 获取页面的 WorkItem
  • 完成当前事件并传递相应的事件详情

  • 我已准备好完成大多数步骤,但对第 5 步有疑问。目前我看到的唯一获取 WorkItems 的方法是使用 session.WorkflowManager.GetUserWorkItems(userWorkItemsFilter) 但如果页面不在当前用户的工作中,这可能会失败元素,对吗?

    任何提示/方向?

    最佳答案

    我相信您将需要使用 session.WorkflowManager.GetListProcesses方法来查找所有进程,而不仅仅是当前用户的进程。我想您可能需要冒充管理员才能取回所有项目。

    关于tridion - 如何在工作流中获取对象的工作项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9842577/

    相关文章:

    tridion - 通过虚 URL 查询 Tridion 页面

    tridion - 在文本字段中输入时忽略字符

    jsp - 我正在研究 tridion。每次单击链接(菜单)时,它都会创建一个新 session 。后端我们使用tomcat

    XSLT:如何从 xml 字符串中排除某些 html 标签?

    wcf - 如何在 Tridion 服务器上配置 Tridion 核心服务?

    tridion - 删除链接到许多项目的组件

    tridion - CS0103 : The name 'Tridion' does not exist in the current context

    tridion - 我们可以替换 SiteEdit 2012(在 Tridion 2011 上)中的 <add text> 标签吗?

    tridion - 功能区组上的 Javascript

    tridion - 在模板中查找当前项目 ID 的最简单方法是什么