2011-05-20 39 views
0

自己的物品是否有一种方法可以让用户查看工作流程,但只允许他们看到在工作流中自己的物品?只允许用户Sitecore的看到工作流程

这似乎是这将是一个常见的问题。你有大量的内容创建者,你只希望他们看到他们的内容如何在工作流中移动,而不是其他人创建的内容。

可能(约计和凌乱的)解决方案: 我能想到的将是关闭权限继承,这样我可以明确拒绝查看权限和工作流的唯一可能。然后通过工作流中的自定义操作,我可以明确地打开用户提交的每个项目的查看权限。

我在正确的轨道上吗?我希望不是。 ;)

问题澄清: 我要审批看到的一切,但我希望作者能够打开工作流程,只看到自己的物品,而不是几十个来自其他作者的项目。

回答

2

从另一个角度攻击这一点,给你想要的知名度的作者们,如果他们的项目已经批准与否,而不是让他们获得了针线,为什么不添加自定义电子邮件操作的批准状态(或批准命令),以便作者在批准项目时收到电子邮件。您还可以自定义电子邮件,以便它包含指向批准项目的链接或包含项目的详细信息,以便作者可以识别单个项目(如果他们已撰写多个项目)。

在Sitecore.Kernel程序集中的Sitecore.Workflows.Simple.EmailAction类有示例电子邮件操作,您可以将其用作定制的基础。

如果你想确保所有项目被批准在一定的时间内,你也可以使用ASR shared source module产生对未经批准在一定期限内的项目报告,并自动在此报告通过电子邮件发送定期的。

3

这是不是默认的行为作为工作流的常见的用途是审批过程。在这种情况下,审批团队会登录并看到创作团队等待批准的项目,如果他们只能看到他们创建的项目,那么他们根本看不到任何项目。我能想到这样做的

的一种方法是重写了针线应用codebeside。看看这个文件Website \ sitecore \ shell \ Applications \ Workbox \ Workbox.xml,它的codebeside类Sitecore.Shell.Applications.Workbox.WorkboxForm。如果你把自己的类放在这里,你可以将所有需要的逻辑添加到'GetItems'方法中。

+0

听起来很不错。 – Younes 2011-05-24 12:08:52

+0

从作者的角度来看,他们希望他们能够检查并查看他们的物品是否已获批准。这意味着我需要让他们查看工作流的访问权限,但我不希望他们看到来自其他作者的其他几十项内容。是否对您的答案有所影响? – JoshBaltzell 2011-05-24 19:55:18

+0

使用默认工作箱很困难,因为用户需要以下工作流才能看到项目: 1)他们必须具有对ITEM的读写权限 2)他们必须具有对工作流状态 3)他们必须对工作流程状态中的至少一个COMMAND具有执行权限 对于您所描述的内容,您最好将其移到工作箱外部。下面的Markos建议可能是使用ASR的好建议。如果你真的想获得一些乐趣,你可以制作一个自定义的应用程序,显示从内容编辑器或桌面启动的工作流程中的用户项目 – dmgdotnet 2011-05-25 01:03:00

相关问题