建立工作流模型 creating-workflow-models
您可以建立工作流程模型,以定義使用者啟動工作流程時所執行的一系列步驟。 您也可以定義模型屬性,例如工作流程是暫時的或使用多個資源。
當使用者啟動工作流程時,會啟動執行個體;這是對應的執行階段模型,在您同步您的變更時建立。
建立新工作流程 creating-a-new-workflow
第一次建立工作流程模型時,模型會包含:
- 步驟 流程開始 和 流程結束。
這些代表工作流程的開始和結束。 這些步驟為必要步驟,無法編輯/移除。 - 名為 步驟1 的範例 參與者 步驟。
此步驟設定為指派工作專案給工作流程發起人。 編輯或刪除此步驟,並視需要新增步驟。
使用編輯器建立工作流程:
- 開啟 工作流程模型 主控台;透過 工具、工作流程、模型 或例如:https://localhost:4502/aem/workflow
- 選取 建立,然後選取 建立模型。
- 新增工作流程模型 對話方塊就會顯示。 在選取 完成 之前,請輸入 標題 和 名稱 (選擇性)。
- 新模型列在 工作流程模型 主控台中。
- 選取您的新工作流程,然後使用編輯 開啟它以進行設定:
/var/workflow/models
/var/workflow/models/prototypes
編輯工作流程 editing-a-workflow
您可以編輯任何現有的工作流程模型以:
- 定義步驟及其引數
- 設定工作流程屬性,包括階段、工作流程是否為暫時性及/或使用多個資源
編輯預設和/或舊版 (現成可用)工作流程有一個額外的步驟,以確保在您進行變更之前已建立安全復本。
工作流程更新完成時,您必須使用 同步 到 產生執行階段模型。 如需詳細資訊,請參閱同步處理工作流程。
同步處理工作流程 — 產生執行階段模型 sync-your-workflow-generate-a-runtime-model
Sync (在編輯器工具列的右側)產生執行階段模型。 執行階段模型是使用者啟動工作流程時實際使用的模型。 如果您未 同步 您的變更,則在執行階段將無法使用變更。
當您(或任何其他使用者)對工作流程進行任何變更時,您必須使用 同步 來產生執行階段模型 — 即使個別對話方塊(例如步驟)有自己的儲存選項。
當變更與執行階段(已儲存)模型同步時,會顯示 已同步。
某些步驟具有必填欄位和/或內建驗證。 當這些條件不滿足時,當您嘗試 同步 模型時會顯示錯誤。 例如,若尚未為 參與者 步驟定義參與者:
首次編輯預設或舊版工作流程 editing-a-default-or-legacy-workflow-for-the-first-time
當您開啟預設和/或舊版模型進行編輯時:
-
步驟瀏覽器無法使用(左側)。
-
工具列(右側)中有 編輯 動作可用。
-
最初,模型及其屬性會以唯讀模式顯示為:
- 預設工作流程在
/libs
中 - 舊版工作流程位於
/etc
選取 編輯 將:
- 預設工作流程在
-
將工作流程復本帶入
/conf
-
讓步驟瀏覽器可供使用
-
讓您進行變更
將步驟新增至模型 adding-a-step-to-a-model
將步驟新增至模型以代表要執行的活動 — 每個步驟都會執行特定活動。 標準AEM例項中提供一組步驟元件。
當您編輯模型時,可用的步驟會顯示在 步驟瀏覽器 的各種群組中。 例如:
若要將步驟新增至工作流程模型:
-
開啟現有的工作流程模型以進行編輯。 從 工作流程模型 主控台,選取所需的模型,然後選取 編輯。
-
開啟「步驟」瀏覽器;使用最左邊頂端工具列的 切換側面板。 您可以在這裡:
- 篩選 以取得特定步驟。
- 使用下拉式選取器,將選取範圍限制在特定的步驟群組中。
- 選取「顯示說明」圖示 以顯示適當步驟的詳細資料。
-
將適當的步驟拖曳到模型中的所需位置。
例如,參與者步驟。
新增至流程後,您可以設定步驟。
-
視需要新增任意數量的步驟或其他更新。
在執行階段,步驟會按照它們在模型中出現的順序執行。 新增步驟元件後,可將其拖曳至模型中的不同位置。
您也可以複製、剪下、貼上、分組或刪除現有步驟;就像使用頁面編輯器一樣。
也可以使用工具列選項摺疊/展開分割步驟:
-
使用 Sync (編輯器工具列)確認變更,以產生執行階段模型。
如需詳細資訊,請參閱同步處理工作流程。
設定工作流程步驟 configuring-a-workflow-step
您可以 設定,並使用 步驟屬性 對話方塊來自訂工作流程步驟的行為。
建立暫時性工作流程 creating-a-transient-workflow
建立模型或編輯現有模型時,您可以建立暫時性工作流程模型:
在觸控式UI中提供工作流程模型 classic2touchui
如果傳統UI中出現工作流程模型,但在觸控式UI的 時間軸 邊欄的選取彈出式選單中缺少該模型,則請依照設定使其可用。 下列步驟說明如何使用名為 Request for Activation 的工作流程模型。
-
確認模型不適用於觸控式UI。 使用
/assets.html/content/dam
路徑存取資產。 選取資產。 在左側邊欄中開啟 時間表。 按一下「啟動工作流程」,並確認快顯清單中沒有 啟用請求 模型。 -
瀏覽 工具>一般>標籤。 選取 工作流程。
-
選取 建立>建立標籤。 將 Title 設為
DAM
,並將 Name 設為dam
。 選取 提交。
-
導覽至 工具>工作流程>模型。 選取「啟用請求」,然後選取「編輯」。
-
選取「編輯」,開啟「頁面資訊」功能表,然後從那裡選取「開啟屬性」,並移至「基本」標籤(如果尚未開啟)。
-
新增
Workflow : DAM
至 標籤 欄位。 使用核取方塊(勾號)確認選取。 -
確認使用 儲存並關閉 新增標籤。
的頁面屬性 -
使用 同步 完成程式。 觸控式UI現在提供工作流程。
設定多資源支援的工作流程 configuring-a-workflow-for-multi-resource-support
您可以在建立模型或編輯現有模型時,為多重資源支援設定工作流程模型:
設定工作流程階段(顯示工作流程進度) configuring-workflow-stages-that-show-workflow-progress
工作流程階段有助於在處理任務時以視覺效果呈現工作流程進度。
可用的階段會在工作流程模型中定義;現有的工作流程模型可以更新以包含階段定義。 您可以為工作流程模型定義任意數量的階段。
若要定義工作流程的 階段:
-
開啟要編輯的工作流程模型。
-
從工具列選取 工作流程模型屬性。 然後開啟 階段 標籤。
-
新增(及定位)您所需的 階段。 您可以為工作流程模型定義任意數量的階段。
例如:
-
按一下 儲存並關閉 以儲存屬性。
-
將階段指派給工作流程模型中的每一個步驟。 例如:
一個階段可指派給多個步驟。 例如:
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 完成 -
使用 Sync (編輯器工具列)確認變更,以產生執行階段模型。
如需詳細資訊,請參閱同步處理工作流程。
在封裝中匯出工作流程模型 exporting-a-workflow-model-in-a-package
若要匯出封裝中的工作流程模型:
-
使用封裝管理員建立封裝:
-
透過 工具、部署、封裝 瀏覽至封裝管理員。
-
按一下 建立封裝。
-
指定 封裝名稱,並視需要指定任何其他詳細資料。
-
按一下 「確定」。
-
-
按一下新封裝工具列上的 編輯。
-
開啟 篩選器 索引標籤。
-
選取 新增篩選器 並指定工作流程模型 設計 的路徑:
/conf/global/settings/workflow/models/<*your-model-name*>
按一下 「完成」。
-
選取 新增篩選器 並指定 執行階段 工作流程模型的路徑:
/var/workflow/models/<*your-model-name*>
按一下 「完成」。
-
為您的模型使用的任何自訂指令碼新增其他篩選器。
-
按一下 儲存 以確認您的篩選器定義。
-
從封裝定義的工具列選取 建置。
-
從封裝工具列選取 下載。
使用工作流程處理表單提交 using-workflows-to-process-form-submissions
您可以設定要由所選工作流程處理的表單。 使用者提交表單時,會建立新的工作流程例項,並將表單提交的資料當作其裝載。
若要設定要與表單搭配使用的工作流程:
-
建立頁面並開啟以進行編輯。
-
新增 表單 元件至頁面。
-
設定 出現在頁面中的 表單開始 元件。
-
使用 開始工作流程 從可用的工作流程中選取所需的工作流程:
-
勾選記號以確認新表單設定。
測試工作流程 testing-workflows
測試工作流程時,良好的實務是使用各種裝載型別;包括與開發工作流程的不同型別。 例如,如果您打算讓工作流程處理Assets,請將頁面設定為裝載,以測試工作流程,確認工作流程不會擲回錯誤。
例如,測試您的新工作流程,如下所示:
-
定義 承載 並確認。
-
視需要採取動作,以便進行工作流程。
-
在工作流程執行時監視記錄檔。
您也可以設定AEM在記錄檔中顯示 DEBUG 訊息。 請參閱記錄以取得進一步資訊,當開發完成時,請將 記錄層級 設定回 資訊。
範例 examples
範例:建立(簡單)工作流程以接受或拒絕發佈請求 example-creating-a-simple-workflow-to-accept-or-reject-a-request-for-publication
為了說明建立工作流程的一些可能性,以下範例會建立Publish Example
工作流程的變數。
-
新工作流程將包含:
- 流程開始
Step 1
- 流程結束
-
刪除
Step 1
(因為此範例的步驟型別錯誤):- 按一下步驟並從元件工具列選取 刪除。 確認動作。
-
從 工作流程 選取的步驟瀏覽器中,將 參與者步驟 拖曳到工作流程上,並將其置於 流程開始 和 流程結束 之間。
-
若要開啟「屬性」對話方塊,請執行下列動作:
- 按一下參與者步驟,然後從元件工具列選取 設定。
- 連按兩下參與者步驟。
-
在 一般 索引標籤中,為 標題 和 描述 輸入
Validate Content
。 -
開啟 使用者/群組 標籤:
- 啟動 透過電子郵件 通知使用者。
- 選取 使用者/群組 欄位的
Administrator
(admin
)。
note note NOTE 若要傳送電子郵件,需要設定郵件服務和使用者帳戶詳細資料。 -
透過勾號確認更新。
您將會返回工作流程模型的概觀,在此參與者步驟將會重新命名為
Validate Content
。 -
將 或Split 拖曳到工作流程上,並將其置於
Validate Content
和 流程結束 之間。 -
開啟 或分割 以進行設定。
-
設定:
-
一般:指定分割名稱。
-
分支1:選取 預設路由。
-
分支2:確定未選取 預設路由。
-
-
確認您的 OR Split 更新。
-
將 參與者步驟 拖曳至左側分支、開啟屬性、指定下列值,然後確認變更:
-
標題:
Reject Publish Request
-
使用者/群組:例如,
projects-administrators
-
透過電子郵件通知使用者:啟動以透過電子郵件通知使用者。
-
-
將 處理步驟 拖曳到右側分支、開啟屬性、指定下列值,然後確認變更:
-
標題:
Publish Page as Requested
-
處理序:選取
Activate Page
。 此程式會將選取的頁面發佈至發佈者執行處理。
-
-
按一下 同步 (編輯器工具列)以產生執行階段模型。
如需詳細資訊,請參閱同步處理工作流程。
您的新工作流程模型看起來會像這樣:
-
將此工作流程套用至您的頁面,以便當使用者移至 完成 驗證內容 步驟時,他們可以選擇是否要依要求 Publish頁面,或 拒絕Publish要求。
範例:使用ECMA命令檔定義OR分割的規則 defineruleecmascript
OR分割 步驟可讓您在工作流程中匯入條件式處理路徑。
若要定義OR規則,請依照下列步驟進行:
-
建立兩個指令碼並將它們儲存在存放庫中,例如,在下方:
/apps/myapp/workflow/scripts
note note NOTE 指令碼必須有傳回布林值的函式 check()
。 -
編輯工作流程並將 OR Split 新增至模型。
-
編輯 OR分割 的 分支1 的屬性:
-
透過將 值 設定為
true
,將此定義為 預設路由。 -
作為 規則,設定指令碼的路徑。 例如:
/apps/myapp/workflow/scripts/myscript1.ecma
note note NOTE 您可以視需要切換分支順序。 -
-
編輯 OR分割 的 分支2 的屬性。
-
作為 規則,設定其他指令碼的路徑。 例如:
/apps/myapp/workflow/scripts/myscript2.ecma
-
-
設定每個分支中個別步驟的屬性。 請確定已設定 使用者/群組。
-
按一下 同步 (編輯器工具列)以保留您對執行階段模型的變更。
如需詳細資訊,請參閱同步處理工作流程。
函式Check() function-check
如果節點是位於/content/we-retail/us/en
下的JCR_PATH
,則下列範例指令碼會傳回true
:
function check() {
if (workflowData.getPayloadType() == "JCR_PATH") {
var path = workflowData.getPayload().toString();
var node = jcrSession.getItem(path);
if (node.getPath().indexOf("/content/we-retail/us/en") >= 0) {
return true;
} else {
return false;
}
} else {
return false;
}
}
範例:自訂的啟用請求 example-customized-request-for-activation
您可以自訂任何現成的工作流程。 若要使用自訂行為,請覆蓋適當工作流程的詳細資料。
例如,要求啟用。 此工作流程用於發佈 Sites 內的頁面,並在內容作者沒有適當的復寫許可權時自動觸發。 如需詳細資訊,請參閱自訂頁面編寫 — 自訂啟動工作流程請求。