2011-05-20 49 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