我对 SiteFinity 3.7 中的工作流程有以下要求。我相信有些要求是不可能的,所以我想澄清哪些(如果有的话)不是,并分析这些要求是否有解决方法,或者 SiteFinity 4.x 是否支持它们。
基本用例如下: 1. 创建一个通用内容。2. 内容通过基于标签的工作流发送。因此,标记为“环境”的内容将通过与标记为“合法”的内容不同的工作流/批准过程。3. 每个工作流程都需要一个 3 步审批流程。因此,当提交内容以供批准时,首先用户 A 会批准它。一旦用户 A 批准它,用户 B 就可以。然后是用户 C。最后在所有必要的批准后,管理员(或其他角色)可以发布它。4. 对批准或拒绝都应发表评论。5. 应将批准或拒绝通知发送给相关组/角色。
我不相信 SiteFinity 支持很多开箱即用的功能。到目前为止,我的计划基本上是这样的:
- 创建许多不同的角色来支持各种工作流程。
- 修改批准页面以支持评论,方法类似于此处找到的方法: http ://www.sitefinity.com/devnet/forums/sitefinity-3-x/developing-with-sitefinity/sitefinity-3-7-decline -email-with-comments.aspx。不同之处在于不仅仅是在电子邮件中包含评论,而是将它们保存到我们数据库中的一个新表中。目标是在页面上显示它们并能够查看其他用户的评论。通知也可以在这里处理。
- 进一步扩展批准页面以包括自定义接受/拒绝按钮。基本上,这些将在实际工作流程之外发挥作用,并更新我们数据库中的另一个新表。我相信这可能是实现多步骤审批流程的一种方式。基本上,上例中的用户 C 将是唯一拥有实际批准权限的用户。用户 A 和 B 可以拥有仅查看权限,但可以使用这 2 个按钮来触发通知并模拟所需工作流程的一部分。
- 修改 AllPagesList.ascx 控件以按角色/内容标签过滤用户看到的页面列表,以便用户只看到他们应该看到的页面。
我确实有几个问题:
- 我上面所说的一切是否有意义并且似乎可行/有更好的方法吗?
- 通用内容可以通过工作流发送还是仅通过使用该内容的页面发送?
- 如果只有页面可以通过工作流,我们如何处理页面被批准和发布,然后内容更新的情况?限制用户只能通过“页面”部分而不是“模块”部分编辑通用内容块?或者这是自动处理的?
我对 SiteFinity 比较陌生,所以任何帮助/方向/代码/等。将不胜感激。如果到目前为止我所说的任何事情都不清楚,我也很乐意尝试澄清事情。