2014-02-16 41 views
0

工作流程這是我目前在按下激活按鈕事件的理解:的Adobe CQ/AEM:自上激活

如果用戶擁有複製權限,內容發送給調度員。 如果用戶沒有複製,則運行請求激活工作流程。開箱即可執行兩個步驟,這兩個步驟都發送到管理員組。

如果我將OOB請求激活工作流更改爲分配給另一個組,則該組將在其收件箱中獲取該消息。

我的要求是我有多個網站屬於公司內部的不同部門,這意味着每個網站對於只能創作內容的用戶以及可批准/激活該內容的用戶都有單獨的組。在一種情況下,職業部門的內容還需要獲得人力資源團隊的批准。

如何更改工作流程以實現這些要求?

回答

0

我能想到的這樣做的方法有兩種:

1)改變OOB盒工作流程使用或步驟切換到基於內容的路徑不同的充羣體。處理頁面和資產的頁面以及像careers示例這樣的特殊條件時,這會變得非常複雜。

2)創建一個運行Java代碼的自定義步驟,該步驟使用AccessControlManager類在節點上查找複製權限,如果沒有任何可以遍歷該樹直到找到具有權限的節點。

0

我已經選擇了1)對於類似的問題。

如果您的主要擔心是在您的OR拆分中有太多分支機構,也許有機會將工作流程的決策分解爲多個步驟,而不是有一個決策點分支到許多不同的路徑。

例如,您可能首先根據負載所在的站點進行拆分,然後根據用戶類型或站點部分再次拆分。所以,像這樣:

網站1

  • 部分1
    • 作用1
    • 作用2
  • 第2

網站2

...等等,其中縮進的每個級別代表一個單獨的或分裂。

如果您在每個決策點使用容器步驟來觸發子工作流程,這可能有助於使您的工作流更加有條理。

因爲我不愛改變OOB請求激活流程的想法,我最小化,通過使第一步的或拆分,做一個普通的檢查 - 基本上是:

Pseudo-code: 
if (we're in one of the sites that's subject to my custom workflows) { 
    Container step that points to my main custom workflow; 
} else { 
    Continue with the default Request for Activation workflow steps; 
} 

這樣,你對OOB工作流進行最小限度的更改,如果您在同一實例上設置了新站點,並且不希望它受制於您的自定義工作流程,則可以自行開啓運行默認工作流程。

0

我們已經在每個頁面「頁面所有者」中創建了一個自定義屬性,它實際上是一個指向組的指針(我希望自從開始以來我們已經通過樹來繼承它)。然後對工作流進行了自定義,以便頁面所有者組在收件箱中接收此內容以供審批。