我想构建一个自定义内容类型,它将成为具有多个状态的列表项的基础。各种状态将确定哪个列表将实例化该项。它将根据用户操作在状态之间移动,从而在列表之间移动。
我有几个选择来实现这个:
哪种方式最好,为什么?什么绝对不行?我忽略了任何方法吗?
答案 0 :(得分:3)
在我看来,使用事件接收器,因为它们遵循项目而不是列表。您仍然需要为接收列表启用内容类型,但这种方法比根据某些内容类型的存在与否更新和删除列表中的工作流要容易得多。
但是,为什么不结合这些方法呢?让内容类型事件接收器处理内容类型特定的活动,并让列表处理任何列表特定的活动。事件接收器既便宜又灵活。
.B
答案 1 :(得分:3)
一般来说: 在SharePoint工作流和事件接收器是相关的(如果您查看带有附加工作流的列表上的事件,您将找到启动工作流的事件接收器..)
工作流程的优点是用户可以检查日志(假设您使用了日志活动)
事件接收器的优点是事件数量更多;它们比工作流程更灵活。
根据您的描述,我可能会选择工作流程,因此用户可以检查他们的项目是否处理正确。
答案 2 :(得分:1)
我使用与每个列表方法相关联的工作流,因为我需要将工作流历史记录作为用户执行操作的审计跟踪。我更喜欢内容类型的工作流程的想法,回想起来,这将是我所做的更清晰的解决方案。
答案 3 :(得分:0)
这是完成工作流程和事件接收器之间决定的完美流程图: