OSGi上的表單導向工作流程 |處理用戶資料

以表單為中心的AEM工作流程可讓您自動化以表單為中心的實際業務流程。 工作流由一系列步驟組成,這些步驟按關聯工作流模型中指定的順序執行。 每個步驟都會執行特定動作,例如指派工作給使用者或傳送電子郵件訊息。 工作流程可與儲存庫、使用者帳戶和服務中的資產互動。 因此,工作流程可協調涉及Experience Manager任何方面的複雜活動。

您可透過下列任何方法來觸發或啟動以表單為中心的工作流程:

  • 從AEM收件匣提交應用程式
  • 從AEM Forms應用程式送出應用程式
  • 提交最適化表單
  • 使用監視的資料夾
  • 提交互動式通訊或信函

如需以Forms為中心的AEM工作流程和功能的詳細資訊,請參閱OSGi](/docs/experience-manager-65/forms/using/aem-forms-workflow.html?lang=zh-Hant)上的[以Forms為中心的工作流程。

用戶資料和資料儲存

觸發工作流程時,會自動產生工作流程例項的裝載。 每個工作流程例項都會指派一個唯一例項ID和一個關聯的裝載ID。 裝載包含與工作流實例相關聯的用戶和表單資料的儲存庫位置。 此外,工作流程例項的草稿和歷史資料也會儲存在AEM儲存庫中。

工作流實例的裝載、草稿和歷史記錄所在的預設儲存庫位置如下:

注意

您可以設定不同的位置,以在建立工作流程或應用程式時儲存裝載、草稿和歷史資料。 要標識工作流或應用程式儲存資料的位置,請查看工作流。

AEM 6.4 表單 AEM 6.3 表單
Workflow
實例
/var/workflow/instances/[server_id]/<date>/[workflow-instance]/ /etc/workflow/instances/[server_id]/[date]/[workflow-instance]/
裝載 /var/fd/dashboard/payload/[server-id]/[date]/
[payload-id]/
/etc/fd/dashboard/payload/[server-id]/[date]/
[payload-id]/
草稿 /var/fd/dashboard/instances/[server_id]/
[date]/[workflow-instance]/draft/[workitem]/
/etc/fd/dashboard/instances/[server_id]/
[date]/[workflow-instance]/draft/[workitem]/
歷史 /var/fd/dashboard/instances/[server_id]/
[date]/[workflow_instance]/history/
/etc/fd/dashboard/instances/[server_id]/
[date]/[workflow_instance]/history/

存取和刪除使用者資料

您可以從儲存庫中的工作流實例訪問和刪除用戶資料。 若要達成此目的,您必須知道與使用者相關聯之工作流程例項的例項ID。 您可以使用啟動工作流實例的用戶或工作流實例的當前受託人的用戶名查找工作流實例的實例ID。

但是,在以下情況下,在標識與啟動器關聯的工作流時,您不能標識或結果可能不明確:

  • 透過受監視資料夾觸發的工作流程:如果工作流是由受監視的資料夾觸發,則無法使用其啟動器來標識工作流實例。在這種情況下,用戶資訊被編碼在儲存的資料中。
  • 從發佈AEM例項開始的工作流程:從AEM發佈例項提交最適化表單、互動式通訊或信件時,所有工作流程例項都是使用服務使用者來建立。在這些情況下,已登入使用者的使用者名稱不會擷取到工作流程例項資料中。

訪問用戶資料

要標識和訪問為工作流實例儲存的用戶資料,請執行以下步驟:

  1. 在AEM作者例項中,前往https://'[server]:[port]'/crx/de並導覽至​工具>查詢

    從​Type​下拉式清單中選擇​SQL2

  2. 根據可用資訊,執行以下查詢之一:

    • 如果已知工作流啟動器,請執行以下操作:

    SELECT &ast; FROM [cq:Workflow] AS s WHERE ISDESCENDANTNODE([path-to-workflow-instances]) and s.[initiator]='*initiator-ID*'

    • 如果您尋找其資料的使用者是目前的工作流程受託人,請執行下列動作:

    SELECT &ast; FROM [cq:WorkItem] AS s WHERE ISDESCENDANTNODE([path-to-workflow-instances]) and s.[assignee]='*assignee-id*'

    查詢返回指定工作流啟動器或當前工作流受託人的所有工作流實例的位置。

    例如,以下查詢從工作流啟動器為srose/var/workflow/instances節點返回兩個工作流實例路徑。

    workflow-instance

  3. 轉至查詢返回的工作流實例路徑。 status屬性顯示工作流實例的當前狀態。

    狀態

  4. 在工作流實例節點中,導航至data/payload/path屬性儲存工作流實例的裝載路徑。 您可以導覽至路徑,以存取儲存在裝載中的資料。

    payload-path

  5. 導覽至工作流程例項的草稿和步驟記錄位置。

    例如:

    /var/fd/dashboard/instances/server0/2018-04-09/_var_workflow_instances_server0_2018-04-09_basicmodel_54/draft/

    /var/fd/dashboard/instances/server0/2018-04-09/_var_workflow_instances_server0_2018-04-09_basicmodel_54/history/

  6. 對步驟2中查詢返回的所有工作流實例重複步驟3 - 5。

    注意

    AEM Forms應用程式也會將資料儲存在離線模式。 工作流程例項的資料可能會儲存在個別裝置上,當應用程式與伺服器同步時,就會送出至Forms伺服器。

刪除用戶資料

您必須是AEM管理員,才能執行下列步驟,從工作流程例項刪除使用者資料:

  1. 按照訪問用戶資料中的說明,並注意以下事項:

    • 與用戶關聯的工作流實例的路徑
    • 工作流實例的狀態
    • 工作流實例的負載路徑
    • 工作流程例項的草稿和步驟記錄路徑
  2. 對於​RUNNINGSUSPENDED​或​STALE​狀態中的工作流實例執行此步驟:

    1. 前往https://'[server]:[port]'/aem/start.html並使用管理員憑證登入。

    2. 導覽至「工具>工作流程>例項」。

    3. 為用戶選擇相關的工作流實例,然後按一下​Terminate​以終止運行實例。

      有關使用工作流實例的詳細資訊,請參閱管理工作流實例

  3. 轉至CRXDE Lite控制台,導航至工作流實例的裝載路徑,並刪除payload節點。

  4. 導覽至工作流程例項的草稿路徑,並刪除draft節點。

  5. 導覽至工作流程例項的歷史記錄路徑,並刪除history節點。

  6. 導航到工作流實例的工作流實例路徑,並刪除工作流的[workflow-instance-ID]節點。

    注意

    刪除工作流實例節點將刪除所有工作流參與者的工作流實例。

  7. 對為用戶標識的所有工作流實例重複步驟2 - 6。

  8. 從工作流程參與者的AEM Forms應用程式外框識別並刪除離線草稿和提交資料,以避免提交至伺服器。

您也可以使用API來存取和移除節點和屬性。 如需詳細資訊,請參閱下列檔案。

本頁內容