在 Tridion 2011 SP1,事件系统中,我试图获取我知道在工作流中的对象的 WorkItem,但我不知道它可能在谁的 WorkList 中。
场景描述:
- 当给定组件在工作流中时,页面必须保持锁定
- 如果组件工作流状态改变,页面状态也应该改变
我想做的是在 FinishActivityEventArgs 上触发的事件,它将:
- 检查当前项目是否为组件
- 获取对应的页面(GetUsingItems 类型的页面)
- 检查页面是否也在工作流程中
- 获取相关页面
- 获取页面的 WorkItem
- 完成当前活动并传递相应的活动详情
我已经准备好大多数步骤,但对第 5 步有疑问。到目前为止,我看到的唯一获取 WorkItems 的方法是使用 session.WorkflowManager.GetUserWorkItems(userWorkItemsFilter) 但如果页面不在当前用户的工作中,这可能会失败物品,对吧?
任何提示/方向?