建立工作流模型 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
同步 (在編輯器工具列中的右側)產生 執行階段模型. 執行階段模型是使用者啟動工作流程時實際使用的模型。 如果您沒有 同步 如此一來,您所做的變更將無法在執行階段使用。
當您(或任何其他使用者)對您必須使用的工作流程進行變更時 同步 產生執行階段模型 — 即使個別對話方塊(例如步驟)有自己的儲存選項。
當變更與執行階段(已儲存)模型同步化時, 已同步 會改用。
某些步驟具有必填欄位和/或內建驗證。 當這些條件不滿足時,會在您嘗試下列動作時顯示錯誤 同步 模型。 例如,當尚未為定義參與者時 參與者 步驟:
首次編輯預設或舊版工作流程 editing-a-default-or-legacy-workflow-for-the-first-time
當您開啟 預設及/或舊版模型 進行編輯:
-
步驟瀏覽器無法使用(左側)。
-
有一個 編輯 在工具列(右側)中可用的動作。
-
最初,模型及其屬性會以唯讀模式顯示為:
- 預設工作流程位於
/libs
- 舊版工作流程位於
/etc
選取 編輯 將:
- 預設工作流程位於
-
將工作流程副本帶入
/conf
-
讓步驟瀏覽器可供使用
-
讓您進行變更
將步驟新增至模型 adding-a-step-to-a-model
將步驟新增至模型以代表要執行的活動 — 每個步驟都會執行特定活動。 標準AEM例項中提供一組步驟元件。
當您編輯模型時,可用的步驟會出現在 步驟瀏覽器. 例如:
若要將步驟新增至工作流程模型:
-
開啟現有的工作流程模型以進行編輯。 從 工作流程模型 主控台,選取所需的模式,然後 編輯.
-
開啟「步驟」瀏覽器;使用 切換側面板,位於頂端工具列的最左側。 您可以在這裡:
- 篩選 以取得特定步驟。
- 使用下拉式選取器,將選取範圍限制在特定的步驟群組中。
- 選取顯示說明圖示 以顯示適當步驟的詳細資訊。
-
將適當的步驟拖曳到模型中的所需位置。
例如, 參與者步驟.
一旦新增至流量,您就可以 設定步驟.
-
視需要新增任意數量的步驟或其他更新。
在執行階段,步驟會按照它們在模型中出現的順序執行。 新增步驟元件後,可將其拖曳至模型中的不同位置。
您也可以複製、剪下、貼上、分組或刪除現有步驟;就像使用 頁面編輯器。
也可以使用工具列選項摺疊/展開分割步驟:
-
透過確認變更 同步 (編輯器工具列)以產生執行階段模型。
另請參閱 同步處理您的工作流程 以取得詳細資訊。
設定工作流程步驟 configuring-a-workflow-step
您可以 設定 並使用自訂工作流程步驟的行為 步驟屬性 對話方塊。
-
若要開啟 步驟屬性 步驟的對話方塊:
-
按一下工作流程模型中的* *步驟,然後選取 設定 元件工具列中的。
-
連按兩下步驟。
note note NOTE 如需有關隨AEM安裝的主要步驟元件的資訊,請參閱 工作流程步驟參考資訊. -
-
設定 步驟屬性 視需要而定;可用的屬性取決於步驟型別,可能也有幾個可用的標籤。 例如,預設值 參與者步驟,在新工作流程中顯示為
Step 1
: -
透過勾號確認您的更新。
-
透過確認變更 同步 (編輯器工具列)以產生執行階段模型。
另請參閱 同步處理您的工作流程 以取得詳細資訊。
建立暫時性工作流程 creating-a-transient-workflow
您可以建立 暫時性 建立模型或編輯現有模型時的工作流程模型:
-
開啟的工作流程模型 編輯.
-
選取 工作流程模型屬性 工具列中的。
-
在對話方塊中啟動 暫時性工作流程 (或視需要停用):
-
透過確認變更 儲存並關閉;後面接著 同步 (編輯器工具列)以產生執行階段模型。
另請參閱 同步處理您的工作流程 以取得詳細資訊。
在觸控式UI中提供工作流程模型 classic2touchui
如果工作流程模型存在於傳統UI中,但在的選取彈出式選單中遺失 時間表 觸控式UI的邊欄,然後依照設定使其可用。 下列步驟說明如何使用名為的工作流程模型 請求啟用.
-
確認模型不適用於觸控式UI。 使用存取資產
/assets.html/content/dam
路徑。 選取資產。 開啟 時間表 在左側邊欄中。 按一下 開始工作流程 並確認 請求啟用 模型不存在於快顯清單中。 -
瀏覽 「工具」>「一般」>「標籤」. 選取 工作流程.
-
選取 「建立」>「建立標籤」. 設定 標題 作為
DAM
和 名稱 作為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 完成 -
透過確認變更 同步 (編輯器工具列)以產生執行階段模型。
另請參閱 同步處理您的工作流程 以取得詳細資訊。
在封裝中匯出工作流程模型 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
測試工作流程時,良好的實務是使用各種裝載型別;包括與開發工作流程的不同型別。 例如,如果您打算讓工作流程處理資產,請將頁面設為裝載,以測試工作流程,確認工作流程不會擲回錯誤。
例如,測試您的新工作流程,如下所示:
-
開始您的工作流程模型 從主控台。
-
定義 裝載 並確認。
-
視需要採取動作,以便進行工作流程。
-
在工作流程執行時監視記錄檔。
您也可以設定AEM以顯示 偵錯 日誌檔中的訊息。 另請參閱 記錄 如需詳細資訊以及開發完成時,請設定 記錄層級 返回 資訊.
範例 examples
範例:建立(簡單)工作流程以接受或拒絕發佈請求 example-creating-a-simple-workflow-to-accept-or-reject-a-request-for-publication
為了說明建立工作流程的一些可能性,以下範例建立 Publish Example
工作流程。
-
新工作流程將包含:
- 流程開始
Step 1
- 流程結束
-
刪除
Step 1
(因為此範例中的步驟型別錯誤):- 按一下步驟並選取 刪除 元件工具列中的。 確認動作。
-
從 工作流程 選取步驟瀏覽器,拖曳 參與者步驟 移至工作流程上,並將其置於 流程開始 和 流程結束.
-
若要開啟「屬性」對話方塊,請執行下列動作:
- 按一下參與者步驟並選取 設定 元件工具列中的。
- 連按兩下參與者步驟。
-
在 通用 tab enter
Validate Content
針對兩個 標題 和 說明. -
開啟 使用者/群組 標籤:
- 啟動 透過電子郵件通知使用者.
- 選取
Administrator
(admin
)用於 使用者/群組 欄位。
note note NOTE 若要傳送電子郵件, 需要設定郵件服務和使用者帳戶詳細資料. -
透過勾號確認更新。
您將會返回工作流程模型的概觀,在此參與者步驟將重新命名為
Validate Content
. -
拖曳 Or分割 移至工作流程上,並將其置於
Validate Content
和 流程結束. -
開啟 Or分割 進行設定。
-
設定:
-
通用:指定分割名稱。
-
分支1:選取 預設路由.
-
分支2:確定 預設路由 未選取。
-
-
確認您的更新 OR拆分.
-
拖曳 參與者步驟 在左側分支中,開啟屬性,指定下列值,然後確認變更:
-
標題:
Reject Publish Request
-
使用者/群組:例如,
projects-administrators
-
透過電子郵件通知使用者:啟動以透過電子郵件通知使用者。
-
-
拖曳 程式步驟 在右側分支中,開啟屬性,指定下列值,然後確認變更:
-
標題:
Publish Page as Requested
-
程式:選取
Activate Page
. 此程式會將選取的頁面發佈至發佈者執行處理。
-
-
按一下 同步 (編輯器工具列)以產生執行階段模型。
另請參閱 同步處理您的工作流程 以取得詳細資訊。
您的新工作流程模型看起來會像這樣:
-
將此工作流程套用至您的頁面,以便在使用者移至 完成 此 驗證內容 步驟,使用者可以選擇是否要 依要求發佈頁面,或 拒絕發佈請求.
範例:使用ECMA命令檔定義OR分割的規則 defineruleecmascript
OR拆分 步驟可讓您將條件式處理路徑匯入工作流程中。
若要定義OR規則,請依照下列步驟進行:
-
建立兩個指令碼並將它們儲存在存放庫中,例如,在下方:
/apps/myapp/workflow/scripts
note note NOTE 指令碼必須具有 函式 check()
會傳回布林值。 -
編輯工作流程並新增 OR拆分 至模型。
-
編輯屬性 分支1 的 OR拆分:
-
將此專案定義為 預設路由 藉由設定 值 至
true
. -
作為 規則,設定指令碼的路徑。 例如:
/apps/myapp/workflow/scripts/myscript1.ecma
note note NOTE 您可以視需要切換分支順序。 -
-
編輯的屬性 分支2 的 OR拆分.
-
作為 規則,將路徑設定為其他指令碼。 例如:
/apps/myapp/workflow/scripts/myscript2.ecma
-
-
設定每個分支中個別步驟的屬性。 確定 使用者/群組 已設定。
-
按一下 同步 (編輯器工具列),將變更保留至執行階段模型。
另請參閱 同步處理您的工作流程 以取得詳細資訊。
函式Check() function-check
以下範例指令碼傳回 true
如果節點為 JCR_PATH
位於 /content/we-retail/us/en
:
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
您可以自訂任何現成的工作流程。 若要使用自訂行為,請覆蓋適當工作流程的詳細資料。
例如, 請求啟用. 此工作流程用於發佈頁面於 網站 當內容作者沒有適當的復寫許可權時,就會自動觸發和。 另請參閱 自訂頁面編寫 — 自訂啟動請求工作流程 以取得更多詳細資料。