SiteFinity 3.7 中的自定义工作流程
我对 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 可以具有仅查看权限,但可以使用这两个按钮来触发通知并模拟部分所需的工作流程。
- 修改 AllPagesList.ascx 控件以按角色/内容标记过滤用户看到的页面列表,以便用户只看到他们应该看到的页面。
我确实有几个问题:
- 我上面所说的一切是否有意义并且似乎可行/是否有更好的方法?
- 通用内容可以通过工作流程发送还是仅发送到使用该内容的页面?
- 如果只有页面可以通过工作流程,那么我们如何处理页面被批准并发布,然后内容被更新的情况?限制用户只能通过页面部分而不是模块部分编辑通用内容块?或者这是自动处理的?
我对 SiteFinity 比较陌生,所以任何帮助/方向/代码/等。将不胜感激。如果到目前为止我所说的任何内容不清楚,我也很乐意尝试澄清。
I have the following requirements for a workflow in SiteFinity 3.7. I believe that some of the requirements are not possible, so I'd like to clarify which (if any) aren't and analyze if there are workarounds for these or if they're supported in SiteFinity 4.x.
The basic use case would be this:
1. A piece of generic content is created.
2. The content is sent through a workflow based on tag. So content tagged to "environment" would go through a different workflow / approval process that something tagged "legal".
3. Each workflow would require a 3-step approval process. So when content is submitted for approval, first User A would approve it. Once User A had approved it, User B could. Then user C. Finally after all necessary approval, an admin (or some other role) could publish it.
4. Comments should be made for both approvals or declines.
5. Notifications should be sent to pertinent groups/roles on approval or decline.
I don't believe that SiteFinity supports a lot of this out of the box. So far my plan is basically this:
- Create a lot of different roles to support the various workflows.
- Modify the approval page to support comments in a method similar to what is found here: http://www.sitefinity.com/devnet/forums/sitefinity-3-x/developing-with-sitefinity/sitefinity-3-7-decline-email-with-comments.aspx. The difference is instead of just including the comments in the e-mail, I'd save them off to a new table in our database. The goal would be to display them on the page and be able to view comments made by other users. Notifications could also be handled here.
- Further extend the approval page to include custom accept/decline buttons. Basically these would function outside of the actual workflow and update another new table in our database. I believe this could be a way to achieve a multi-step approval process. Basically User C in the example above would be the only user with actual Approve permissions. Users A and B could have view-only permissions but could use these 2 buttons to trigger notifications and simulate part of the desired workflow.
- Modify the AllPagesList.ascx control to filter the list of pages a user sees by role/content tags, so that users only see pages that they should.
I do have a few questions:
- Does everything I said above make sense and seem feasible / is there a better approach?
- Can generic content be sent through workflows or only the pages that use the content?
- If only pages can go through a workflow, how do we handle the case where a page is approved and published, then later the content is updated? Restrict users to only be able to edit generic content blocks through the Pages section and not in the Modules section? Or is this automatically handled?
I'm relatively new to SiteFinity, so any help/direction/code/etc. would be greatly appreciated. I'm also happy to try to clarify things if anything I've said thus far isn't clear.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
要回答问题 2 和 3,是的,通用内容可以通过工作流程。你看过这个线程吗?
http://www.sitefinity.com/blogs/ivandimitrov/ivanposts/09-12-25/christmas_bonus_-_workflow_with_comments_in_sitefinity_3_x.aspx
回答问题1...嗯,这很有意义,听起来也很合理可行,但我注意到您想通过“标签”链接所有内容。 Sitefinity v3.x 不支持全局分类,因此如果您确实决定这样做,则需要查看 v4。
2-3 步骤工作流程属于“标准”工作流程,因此您至少需要查看标准版 v4。
如果您想坚持使用 v3.7 而不是使用标签,也许使用自定义(下拉)字段扩展通用内容将是更好的方法。
第 4 步,修改 allpageslist.ascx 似乎不适合使用标签,因为它是非全局限制。但由于它是 Sitefinity 并且它遵循 .NET,因此您也可以围绕它进行编程并将其链接回通用内容。
但本质上,您将构建一个全新的自定义“全球”分类系统来完成所有这些...
如果您希望聪明的人回答,我建议直接在 Sitefinity 论坛上询问,Telerik 支持人员正在积极关注这些问题我个人也从未让他们挂断电话:)
To answer question 2 and 3, yes generic content can go through workflows. Have you taken a look at this thread?
http://www.sitefinity.com/blogs/ivandimitrov/ivanposts/09-12-25/christmas_bonus_-_workflow_with_comments_in_sitefinity_3_x.aspx
To answer question 1... euhm it makes sense and sounds feasible but I noticed you wanted to link everything through 'tags'. Sitefinity v3.x doesn't support global taxonomy so if you're really set on that, you need to take a look at v4.
A 2-3 step workflow falls under 'standard' workflow, so you'd be looking at the standard edition v4 at minimum.
Perhaps extending generic content with a custom (dropdown) field would be a better approach if you want to stick to v3.7 instead of using tags.
The step 4, modifying the allpageslist.ascx seems like a no go with tags, given it's non global limitation. But since it's Sitefinity and it adherense to .NET, you could program your way around that aswell and link that back to the generic content.
But essentially you'd be building an entire new custom 'global' taxonomy system to accomplish all that....
If you want the smart guys to answer, I suggest asking directly on the Sitefinity forums, the Telerik support staff is actively following those and I've personally never had them hang up on the phone yet either :)