我对SiteFinity 3.7中的工作流程有以下要求。我相信有些要求是不可能的,所以我想澄清哪些(如果有的话)不是,并分析是否有这些变通方法,或者它们是否在SiteFinity 4.x中受支持。SiteFinity中的自定义工作流程3.7
基本用例如下: 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比较新,所以任何帮助/方向/代码/等。将不胜感激。如果我迄今为止所说的任何事情都不清楚,我也很乐意澄清事情。