建立工作流模型

注意

如需使用傳統UI,請參閱AEM 6.3檔案以取得參考。

您可以建立工作流模型,以定義使用者啟動工作流時執行的一系列步驟。 您也可以定義模型屬性,例如工作流程是暫時性的,還是使用多個資源。

當用戶啟動工作流時,會啟動一個實例;這是在您Sync變更時建立的對應執行階段模型。

建立新工作流

首次建立新的工作流模型時,它包含:

  • 步驟:流開始​和​流結束
    這些代表工作流程的開始和結束。 這些步驟是必要的,無法編輯/移除。
  • Participant​步驟範例,名為​Step 1
    此步驟配置為將工作項目分配給工作流啟動器。 編輯或刪除此步驟,並視需要新增步驟。

要使用編輯器建立新工作流,請執行以下操作:

  1. 開啟​工作流模型​控制台;通過​ToolsWorkflowModels​或例如:https://localhost:4502/aem/workflow
  2. 選擇​建立,然後選擇​建立模型
  3. 此時將顯示​添加工作流模型​對話框。 在選擇​Done​之前,輸入​Title​和​Name(可選)。
  4. 新型號列在​Workflow Models​控制台中。
  5. 選擇新的工作流,然後使用​Edit​開啟它以進行配置:
    wf-01
注意

如果以寫程式方式建立模型(使用crx包),則還可以在以下位置建立子資料夾:

/var/workflow/models

例如, /var/workflow/models/prototypes

然後,此資料夾可用於管理對該資料夾中模型的訪問。

編輯工作流

您可以編輯任何現有的工作流模型,以:

編輯​預設和/或舊版(現成可用)工作流程有額外的步驟,以確保在您進行變更之前先執行安全副本

完成對工作流的更新後,必須使用​Sync​到​生成運行時模型。 如需詳細資訊,請參閱同步您的工作流程

同步您的工作流程——產生執行階段模型

Sync (位於編輯器工具列中)會產生執行 時期模型。執行時期模型是使用者啟動工作流程時實際使用的模型。 如果您未​Sync​您所做的變更,則這些變更將無法在執行時期使用。

當您(或任何其他使用者)對工作流程進行任何變更時,您必須使用​Sync​來產生執行階段模型——即使個別對話方塊(例如,步驟)有其自己的儲存選項。

當變更與執行階段(儲存)模型同步時,會改為顯示​Synched

有些步驟包含必填欄位和/或內建驗證。 當這些條件不滿足時,當您嘗試​Sync​模型時,將顯示錯誤。 例如,當​Participant​步驟未定義參與者時:

wf-21

首次編輯預設或舊工作流

當您開啟Default和/或Legacy model進行編輯時:

  • 「步驟」瀏覽器不可用(左側)。
  • 工具列(右側)有​Edit​動作。
  • 最初,模型及其屬性以只讀模式顯示為:
    • 預設工作流程位於/libs
    • 舊式工作流程位於/etc
      選擇
      輯:
  • 將工作流程的副本放入/conf
  • 使步驟瀏覽器可用
  • 可讓您進行變更
注意

如需詳細資訊,請參閱工作流程模型位置

wf-22

將步驟添加到模型

您需要將步驟新增至模型以表示要執行的活動——每個步驟都會執行特定活動。 標準AEM例項中提供一系列步驟元件。

編輯模型時,可用步驟會顯示在​步驟瀏覽器​的各組中。 例如:

wf-10

注意

如需隨AEM安裝的主要步驟元件的詳細資訊,請參閱工作流程步驟參考

要向工作流模型添加步驟:

  1. 開啟現有的工作流程模型以進行編輯。 從​工作流模型​控制台中,選擇所需的模型,然後選擇​編輯

  2. 開啟「步驟」瀏覽器;使用​在頂端工具列最左側切換側面板。 您可以:

    • 選特定步驟。
    • 使用下拉式選擇器,將選取範圍限制為特定的步驟群組。
    • 選擇「顯示說明」表徵圖wf-stepinfo-icon以顯示有關相應步驟的詳細資訊。

    wf-02

  3. 將適當的步驟拖動到模型中的所需位置。

    例如,參與者步驟

    將步驟添加到流後,您可以配置步驟

    wf-03

  4. 視需要新增多個步驟或其他更新。

    在運行時,會按照步驟在模型中的顯示順序執行步驟。 添加步驟元件後,可將它們拖動到模型中的不同位置。

    您也可以複製、剪下、貼上、群組或刪除現有步驟;與頁面編輯器一樣。

    使用工具欄選項也可折疊/展開拆分步驟:wf-coverlanseexpand-toolbar-icon

  5. 使用​Sync(編輯器工具列)確認變更,以產生執行階段模型。

    如需詳細資訊,請參閱同步您的工作流程

配置工作流步驟

您可以使用​「步驟屬性」對話框,來配置​並自定義工作流步驟的行為。

  1. 要開啟步驟的​步驟屬性​對話框,請執行以下操作:

    • 按一下/點選工作流模型中的* *步驟,然後從元件工具欄中選擇​Configure

    • 按兩下該步驟。

    注意

    如需隨AEM安裝的主要步驟元件的詳細資訊,請參閱工作流程步驟參考

  2. 根據需要配置​步驟屬性;可用的屬性取決於步驟類型,可能還有幾個頁籤可用。 例如,新工作流中預設的​參與者步驟​顯示為Step 1:

    wf-11

  3. 以勾號確認更新。

  4. 使用​Sync(編輯器工具列)確認變更,以產生執行階段模型。

    如需詳細資訊,請參閱同步您的工作流程

建立臨時工作流

在建立新模型或通過編輯現有模型時,可以建立Transient工作流模型:

  1. 開啟編輯的工作流程模型。

  2. 從工具欄中選擇​Workflow Model Properties

  3. 在對話框中激活​瞬態工作流(如果需要,則禁用):

    wf-07

  4. 使用​Save & Close​確認變更;後跟​Sync(編輯器工具列),以產生執行時期模型。

    如需詳細資訊,請參閱同步您的工作流程

注意

當您在transient模式中執行工作流程時,AEM不會儲存任何工作流程記錄。 因此,時間軸不會顯示任何與該工作流程相關的資訊。🔗

在Touch UI中提供工作流程模型

如果Classic UI中存在工作流程模型,但Touch UI的​Timeline​邊欄中的選擇彈出式選單中遺失,則請依照設定進行,以便使用。 以下步驟說明如何使用名為​啟動要求​的工作流程模型。

  1. 確認該型號未在啟用觸控的UI中使用。 使用/assets.html/content/dam路徑存取資產。 選取資產。 在左側導軌中開啟​時間軸。 按一下「啟動工作流程」並確認彈出式清單中未顯示​[!UICONTROL ​啟動要求​]​模型。

  2. 瀏覽​工具>一般>標籤。 選擇​Workflow

  3. 選擇​「建立」>「建立標籤」。 將​Title​設為DAM,將​Name​設為dam。 選擇​提交
    在工作流程模型中建立標籤

  4. 導覽至「工具>工作流程>模型」。 選擇​請求激活,然後選擇​編輯

  5. 選擇​編輯,開啟​頁面資訊​菜單,然後從中選擇​開啟屬性​並轉至​基本​頁籤(如果尚未開啟)。

  6. Workflow : DAM新增至​Tags​欄位。 使用勾選(勾選)確認選取範圍。

  7. 確認添加標籤時使用​保存並關閉
    編輯模型的頁面屬性

  8. 使用​Sync​完成該過程。 現在可在觸控式UI中使用工作流程。

為多資源支援配置工作流

建立新模型或編輯現有模型時,可以為多資源支援配置工作流模型:

  1. 開啟編輯的工作流程模型。

  2. 從工具欄中選擇​Workflow Model Properties

  3. 在對話框中激活​多資源支援(如果需要,則禁用):

    wf-08

  4. 使用​Save & Close​確認變更;後跟​Sync(編輯器工具列),以產生執行時期模型。

    如需詳細資訊,請參閱同步您的工作流程

配置工作流階段(顯示工作流進度)

工作 流程階段可協助在處理工作時視覺化工作流程的進度。

注意

如果在​頁面屬性​中定義了工作流階段,但未用於任何工作流步驟,則進度欄將不顯示任何進度(無論當前工作流步驟如何)。

可用階段在工作流模型中定義;可更新現有的工作流程模型,以包含階段定義。 可以為工作流模型定義任意數量的階段。

要為工作流定義​階段:

  1. 開啟您的工作流程模型以進行編輯。

  2. 從工具欄中選擇​Workflow Model Properties。 然後開啟​階段​頁籤。

  3. 添加(並定位)所需的​階段。 可以為工作流模型定義任意數量的階段。

    例如:

    wf-08-1

  4. 按一下​保存並關閉​以保存屬性。

  5. 為工作流模型中的每個步驟指定一個階段。 例如:

    wf-09

    一個階段可指派給多個步驟。 例如:

    步驟 分段
    步驟 1 建立
    步驟 2 建立
    步驟 3 評論
    步驟 4 批准
    步驟 5 批准
    步驟 6 完成
  6. 使用​Sync(編輯器工具列)確認變更,以產生執行階段模型。

    如需詳細資訊,請參閱同步您的工作流程

導出包中的工作流模型

要導出包中的工作流模型,請執行以下操作:

  1. 使用Package Manager建立新包:

    1. 通過​工具部署軟體包​導航到軟體包管理器。

    2. 按一下「建立包」。

    3. 根據需要指定​軟體包名稱​和任何其他詳細資訊。

    4. 按一下​「確定」

  2. 按一下新包工具欄上的​編輯

  3. 開啟​Filters​標籤。

  4. 選擇​添加過濾器​並指定工作流模型​design​的路徑:

    /conf/global/settings/workflow/models/<*your-model-name*>

    按一下​Done

  5. 選擇​添加篩選器​並指定​runtime​工作流模型的路徑:

    /var/workflow/models/<*your-model-name*>

    按一下​Done

  6. 為模型使用的任何自訂指令碼新增其他篩選器。

  7. 按一下​Save​以確認您的篩選定義。

  8. 從軟體包定義的工具欄中選擇​Build

  9. 從軟體包工具欄中選擇​Download

使用工作流處理表單提交

您可以設定表單,以便由選取的工作流程處理。 當使用者送出表單時,會建立新的工作流程例項,並將表單提交的資料當做其負載。

要配置要與表單一起使用的工作流,請執行以下操作:

  1. 建立新頁面並開啟以供編輯。

  2. 將​Form​元件新增至頁面。

  3. 置在頁 中顯示的Form Start元件。

  4. 使用​啟動工作流​從可用工作流中選擇所需的工作流:

    wf-12

  5. 使用勾號確認新表格設定。

測試工作流程

在測試工作流使用多種負載類型時,這是一個很好的做法;包括與已開發的不同類型。 例如,如果您想要處理「資產」的工作流程,請將「頁面」設為裝載來測試,並確定不會擲回錯誤。

例如,請依下列方式測試您的新工作流程:

  1. 從主控台啟 動您的工作流程模型。

  2. 定義​Payload​並確認。

  3. 視需要採取動作,以便工作流程繼續進行。

  4. 在工作流程執行時監控記錄檔。

您也可以設定AEM,在記錄檔中顯示​DEBUG​訊息。 如需詳細資訊,請參閱記錄,當開發完成時,將​記錄層級​設回​資訊

範例

範例:建立(簡單)工作流以接受或拒絕發佈請求

為了說明建立工作流的一些可能性,以下示例建立了Publish Example工作流的變化。

  1. 建立新的工作流程模型

    新工作流程將包含:

    • 流程啟動
    • Step 1
    • 流程結束
  2. 刪除Step 1(因為此示例的步驟類型錯誤):

    • 按一下該步驟,然後從元件工具欄中選擇​Delete。 確認動作。
  3. 從步驟瀏覽器的​Workflow​選擇中,將​參與者步驟​拖曳到工作流上,並將它定位在​Flow Start​和​Flow End​之間。

  4. 要開啟屬性對話框,請執行以下操作:

    • 按一下參與者步驟,然後從元件工具欄中選擇​Configure
    • 按兩下參與者步驟。
  5. 在​Common​標籤中,輸入Validate ContentTitle​和​Description

  6. 開啟​用戶/組​頁籤:

    • 啟用​透過電子郵件​通知使用者。
    • 選擇Administrator(admin)作為​用戶/組​欄位。
    注意

    對於要發送的電子郵件,需要配置郵件服務和用戶帳戶詳細資訊

  7. 用勾號確認更新。

    您將返回至工作流模型的概述,此處參與者步驟將重新命名為Validate Content

  8. 將​Or Split​拖曳至工作流程,並將它置於Validate Content和​Flow End​之間。

  9. 開啟​Or Split​進行配置。

  10. 設定:

    • 常見:指定拆分名稱。

    • 分支1:選擇 預設路由

    • 分支2:確保 未選 擇預設路由。

  11. 確認您對​OR Split​的更新。

  12. 將​參與者步驟​拖曳至左側分支,開啟屬性,指定下列值,然後確認變更:

    • 標題: Reject Publish Request

    • 使用者/群組:例如, projects-administrators

    • 透過電子郵件通知使用者:啟用,讓使用者透過電子郵件獲得通知。

  13. 將​處理步驟​拖曳至右側的分支,開啟屬性,指定下列值,然後確認變更:

    • 標題: Publish Page as Requested

    • 流程:選擇「 Activate PageSelect(選擇)」。此程式會將選取的頁面發佈至發佈者例項。

  14. 按一下​Sync(編輯器工具欄)以生成運行時模型。

    如需詳細資訊,請參閱同步您的工作流程

    您的新工作流程模型如下:

    wf-13

  15. 將此工作流程套用至您的頁面,如此當使用者移至​完成「驗證內容」步驟時,他們可以選取要「依請求發佈頁面」或「拒絕發佈請求」。

    chlimage_1-72

範例:使用ECMA指令碼定義OR拆分的規則

OR拆分 步驟可讓您在工作流程中引入條件式處理路徑。

要定義OR規則,請按如下步驟進行:

  1. 建立兩個指令碼並將其保存到儲存庫中,例如:

    /apps/myapp/workflow/scripts

    注意

    指令碼必須具有函式check(),該函式返回布爾值。

  2. 編輯工作流並將​OR Split​添加到模型中。

  3. 編輯​OR Split​的​Branch 1​屬性:

    • 通過將​Value​設定為true,將此定義為​預設路由

    • 以​Rule​的形式,設定指令碼的路徑。 例如:

      /apps/myapp/workflow/scripts/myscript1.ecma

    注意

    您可以視需要切換分支順序。

  4. 編輯​OR Split​的​Branch 2​的屬性。

    • 以​Rule​的形式,將路徑設定為其他指令碼。 例如:

      /apps/myapp/workflow/scripts/myscript2.ecma

  5. 設定每個分支中各步驟的屬性。 請確定已設定​User/Group

  6. 按一下​Sync(編輯器工具列),將變更保留至執行階段模型。

    如需詳細資訊,請參閱同步您的工作流程

函式檢查()

注意

請參閱使用ECMAScript

如果節點位於/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;
     }
}

範例:自訂啟動要求

您可以自訂任何現成可用的工作流程。 若要進行自訂行為,請覆蓋適當工作流程的詳細資訊。

例如,啟動要求。 此工作流程用於發佈​Sites​內的頁面,當內容作者沒有適當的複製權限時會自動觸發。 如需詳細資訊,請參閱自訂頁面編寫——自訂啟動工作流程的要求

本頁內容

Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now