OSGi의 Forms 중심 워크플로우 | 사용자 데이터 처리

Forms 중심의 AEM 워크플로우를 통해 실제 세계 Forms 중심의 비즈니스 프로세스를 자동화할 수 있습니다. 워크플로우는 연결된 워크플로우 모델에 지정된 순서로 실행되는 일련의 단계로 구성됩니다. 각 단계에서는 사용자에게 작업을 할당하거나 이메일 메시지를 보내는 등의 특정 작업을 수행합니다. 워크플로우는 저장소, 사용자 계정 및 서비스의 자산과 상호 작용할 수 있습니다. 따라서 워크플로우는 Experience Manager의 모든 측면을 포함하는 복잡한 활동을 조정할 수 있습니다.

양식 중심의 워크플로우는 다음 방법 중 하나를 통해 트리거하거나 시작할 수 있습니다.

  • AEM 받은 편지함에서 애플리케이션 제출
  • AEM Forms 앱에서 애플리케이션 제출
  • 적응형 양식 제출
  • 감시 폴더 사용
  • 대화형 통신 또는 편지 제출

Forms 중심의 AEM 워크플로우 및 기능에 대한 자세한 내용은 OSGi🔗Forms 중심의 워크플로우

사용자 데이터 및 데이터 저장소

워크플로우가 트리거되면 워크플로우 인스턴스에 대해 페이로드가 자동으로 생성됩니다. 각 워크플로우 인스턴스에는 고유 인스턴스 ID 및 관련 페이로드 ID가 할당됩니다. 페이로드에는 워크플로우 인스턴스와 연결된 사용자 및 양식 데이터에 대한 저장소 위치가 포함되어 있습니다. 또한 워크플로우 인스턴스에 대한 초안 및 내역 데이터도 AEM 저장소에 저장됩니다.

워크플로우 인스턴스의 페이로드, 초안 및 기록이 있는 기본 저장소 위치는 다음과 같습니다.

노트

워크플로우나 애플리케이션을 만들 때 페이로드, 초안 및 내역 데이터를 저장하도록 다른 위치를 구성할 수 있습니다. 워크플로우 또는 애플리케이션에서 데이터를 저장한 위치를 식별하려면 워크플로우를 검토하십시오.

AEM 6.4 Forms AEM 6.3 Forms
워크플로우
인스턴스
/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 로 이동하고 도구 > Query​로 이동합니다.

    유형 드롭다운에서 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. 쿼리에서 반환한 워크플로우 인스턴스 경로로 이동합니다. 상태 속성은 워크플로우 인스턴스의 현재 상태를 표시합니다.

    상태

  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. RUNNING, SUSPENDED 또는 STALE 상태의 워크플로우 인스턴스에 대해 이 단계를 수행합니다.

    1. https://'[server]:[port]'/aem/start.html(으)로 이동하여 관리자 자격 증명으로 로그인합니다.

    2. 도구 > 워크플로우> 인스턴스​로 이동합니다.

    3. 사용자에 대한 관련 워크플로우 인스턴스를 선택하고 종료​를 눌러 실행 중인 인스턴스를 종료합니다.

      워크플로우 인스턴스 작업에 대한 자세한 내용은 워크플로우 인스턴스 관리를 참조하십시오.

  3. CRXDE Lite 콘솔로 이동하여 워크플로우 인스턴스에 대한 페이로드 경로로 이동한 다음 payload 노드를 삭제합니다.

  4. 워크플로우 인스턴스에 대한 초안 경로로 이동하고 draft 노드를 삭제합니다.

  5. 워크플로우 인스턴스의 기록 경로로 이동하고 history 노드를 삭제합니다.

  6. 워크플로우 인스턴스의 워크플로우 인스턴스 경로로 이동하고 워크플로우의 [workflow-instance-ID] 노드를 삭제합니다.

    노트

    워크플로 인스턴스 노드를 삭제하면 모든 워크플로 참가자에 대한 워크플로 인스턴스가 제거됩니다.

  7. 사용자에 대해 식별된 모든 워크플로우 인스턴스에 대해 2~6단계를 반복합니다.

  8. 워크플로 참여자의 AEM Forms 앱 보낼 편지함에서 오프라인 초안 및 제출 데이터를 식별하고 삭제하여 서버에 제출되지 않습니다.

API를 사용하여 노드 및 속성에 액세스하고 제거할 수도 있습니다. 자세한 내용은 다음 문서를 참조하십시오.

이 페이지에서는