開發和延伸工作流程 developing-and-extending-workflows
AEM提供數種工具和資源,用於建立工作流程模型、開發工作流程步驟,以及以程式設計方式與工作流程互動。
工作流程可讓您自動化在AEM環境中管理資源和發佈內容的程式。 工作流程由一系列步驟組成,每個步驟都會完成個別工作。 您可以使用邏輯和執行階段資料來決定何時可以繼續處理,並從多個可能步驟之一中選取下一步。
例如,建立和發佈網頁的業務流程包括由不同參與者進行審批和簽核任務。 這些程式可使用AEM工作流程建模,並套用至特定內容。
主要方面如下所述,而下列各頁則涵蓋更多詳情:
- 參與工作流程,請參閱 使用工作流程.
- 管理工作流程和工作流程例項,請參閱 管理工作流程.
- 如需端對端社群文章,請參閱 使用Adobe Experience Manager工作流程修改數位資產。
- 請參閱 向AEM專家提問工作流程網路研討會.
- 如需端對端社群文章,請參閱 建立自訂Adobe Experience Manager 6.3動態參與者步驟.
- 資訊位置的變更請參閱 AEM 6.4中的存放庫重新調整架構 和 工作流程最佳實務 — 位置.
模型 model
A WorkflowModel
代表工作流程的定義(模型)。 是由 WorkflowNodes
和 WorkflowTransitions
. 轉變會連結節點並定義 流量. 「模型」(Model)始終包含起始節點和終止節點。
運行時模型 runtime-model
工作流程模型版本化。 當您運行工作流實例時,它將使用(並保留)工作流的運行時模型(在啟動工作流時可用)。
運行時模型是 產生時間 同步 在工作流程模型編輯器中觸發.
對發生的工作流模型和/或產生的執行階段模型進行編輯, after 已啟動的特定實例將不會應用於該實例。
步驟 step
每個步驟都完成一個離散任務。 有不同類型的工作流步驟:
- 參與者(用戶/組):這些步驟將生成工作項並將其分配給用戶或組。 用戶必須完成工作項以推進工作流。
- 進程(指令碼、Java方法調用):這些步驟由系統自動執行。 ECMA指令碼或Java類實施此步驟。 可開發服務,以監聽特殊的工作流程事件,並根據業務邏輯執行任務。
- 容器(子工作流):此類型的步驟將啟動另一個工作流模型。
- 或分割/連接:使用邏輯決定要在工作流程中執行下一個步驟。
- 和分割/連接:允許同時執行多個步驟。
所有步驟共用下列共同屬性: Autoadvance
和 Timeout
警報(可編寫指令碼)。
切換 transition
A WorkflowTransition
代表兩個 WorkflowNodes
a WorkflowModel
.
- 它定義了兩個連續步驟之間的連結。
- 可以套用規則。
工作項目 workitem
A WorkItem
是通過 Workflow
例項 WorkflowModel
. 它包含 WorkflowData
該案件對 WorkflowNode
說明基礎工作流程步驟。
- 它用於識別任務,並放入相應的收件箱。
- 工作流例項可以有一或多個
WorkItems
同時(視工作流程模型而定)。 - 此
WorkItem
參考工作流程例項。 - 在存放庫中,
WorkItem
儲存在工作流程例項下。
裝載 payload
參考必須透過工作流程進階的資源。
裝載實作會參照存放庫中的資源(依路徑、UUID或URL),或依序列化的Java物件。 在存放庫中參考資源非常有彈性,與Sling搭配使用可產生非常高的生產力;例如,引用的節點可以呈現為表單。
生命週期 lifecycle
會在啟動新工作流程時建立(方法是選擇個別工作流程模型並定義裝載),並在處理結束節點時結束。
可在工作流程例項上執行下列動作:
- 終止
- 暫停
- 繼續
- 重新啟動
封存已完成和終止的執行個體。
收件匣 inbox
每個使用者帳戶都有其專屬的工作流程收件匣,指派給 WorkItems
即可存取。
此 WorkItems
會直接指派給使用者帳戶,或指派給使用者所屬的群組。
工作流程類型 workflow-types
工作流模型控制台中指出了各種類型的工作流:
-
預設
這些是標準AEM例項中隨附的現成可用工作流程。
-
自訂工作流程(主控台中無指標)
這些工作流程已建立為全新工作流程,或是來自已覆蓋自訂的現成可用工作流程。
-
舊版
在舊版AEM中建立的工作流程。 可在升級期間保留這些檔案,或從舊版匯出為工作流程套件,然後匯入至新版本。
暫時性工作流程 transient-workflows
標準工作流程在執行期間會儲存執行階段(歷史記錄)資訊。 您也可以將工作流模型定義為 暫時 以避免這種歷史持續存在。 這用於效能調整,因為它可節省/避免用於保存資訊的時間/資源。
暫時性工作流程可用於任何具備下列條件的工作流程:
- 經常執行。
- 不需要工作流程歷史記錄。
導入了暫時性工作流程以載入大量資產,其中資產資訊很重要,但工作流程執行階段歷史記錄則不重要。
- 裝載類型(例如視訊)需要外部步驟來處理;在這種情況下,需要運行時歷史記錄才能確認狀態。
- 工作流程會輸入 和分割;在這種情況下,需要運行時歷史記錄才能確認狀態。
- 當臨時工作流進入參與者步驟時,它將模式(在運行時)更改為非臨時工作流;當任務傳遞給某個人時,歷史需要持續存在
goto
指向。 這否定了讓工作流程暫時性的目的,並在記錄檔中產生錯誤。多重資源支援 multi-resource-support
啟用 多資源支援 對於工作流模型,表示即使您選取多個資源,也會啟動單一工作流例項;這些會以套件形式附加。
若 多資源支援 不會為工作流模型啟用,且會選取多個資源,然後會為每個資源啟動個別的工作流程例項。
工作流程階段 workflow-stages
工作流程階段有助於視覺化處理任務時的工作流程進度。 它們可用來提供工作流程經過處理的程度概覽,例如當執行工作流程時,使用者可以檢視 階段 (而非個別步驟)。
由於各個步驟名稱可以是特定的、技術的,因此可以定義階段名稱以提供工作流進程的概念視圖。
例如,對於具有六個步驟和四個階段的工作流程:
-
您可以 配置工作流階段(顯示工作流進度),然後將適當的階段分配給工作流中的每個步驟:
- 可以建立多個階段名稱。
- 然後,將單個階段名稱分配給每個步驟(階段名稱可分配給一個或多個步驟)。
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 步驟名稱 階段(分配給步驟) 步驟 1 建立 步驟 2 建立 步驟 3 評論 步驟 4 批准 步驟 5 完成 步驟 6 完成 -
運行工作流時,用戶可以根據階段名稱(而非步驟名稱)查看進度。 工作流程進度會顯示在 工作項的任務詳細資訊窗口的「工作流資訊」頁簽 列於 收件匣.
工作流程與Forms workflows-and-forms
工作流程通常用於在AEM中處理表單提交。 這可以是 核心元件表單元件 標準AEM例項中提供,或 AEM Forms解決方案.
建立新表單時,表單提交可輕鬆與工作流模型關聯;例如,將內容儲存在儲存庫的特定位置,或通知使用者表單提交及其內容。
工作流程和翻譯 workflows-and-translation
工作流程也是 翻譯 程式。