Show Menu
화제×

OSGi 기반의 양식 중심의 워크플로우| 사용자 데이터 처리

양식 중심의 AEM 워크플로우를 통해 실제 양식 중심의 비즈니스 프로세스를 자동화할 수 있습니다. 워크플로우는 연관된 워크플로우 모델에서 지정된 순서대로 실행되는 일련의 단계로 구성됩니다. 각 단계에서는 사용자에게 작업을 할당하거나 이메일 메시지를 보내는 등 특정 작업을 수행합니다. 워크플로우는 저장소, 사용자 계정 및 서비스의 자산과 상호 작용할 수 있습니다. 따라서 워크플로우는 Experience Manager의 모든 측면을 포함하는 복잡한 활동을 조정할 수 있습니다.
양식 중심의 워크플로우는 다음 방법 중 하나를 통해 트리거하거나 실행할 수 있습니다.
  • AEM 받은 편지함에서 애플리케이션 제출
  • AEM Forms 앱에서 애플리케이션 제출
  • 적응형 양식 제출
  • 감시 폴더 사용
  • 대화형 통신 또는 서신 제출
양식 중심의 AEM 워크플로우 및 기능에 대한 자세한 내용은 OSGi 에서 양식 중심의 워크플로우를 참조하십시오 .

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

워크플로우가 트리거되면 워크플로우 인스턴스에 대해 페이로드가 자동으로 생성됩니다. 각 워크플로우 인스턴스에는 고유한 인스턴스 ID와 연결된 페이로드 ID가 할당됩니다. 페이로드에는 워크플로우 인스턴스와 연관된 사용자 및 양식 데이터의 저장소 위치가 포함됩니다. 또한 워크플로우 인스턴스에 대한 초안 및 내역 데이터도 AEM 저장소에 저장됩니다.
워크플로우 인스턴스의 페이로드, 초안 및 내역이 있는 기본 저장소 위치는 다음과 같습니다.
워크플로우 또는 애플리케이션을 만들 때 페이로드, 초안 및 내역 데이터를 저장하도록 여러 위치를 구성할 수 있습니다. 워크플로우 또는 애플리케이션이 데이터를 저장한 위치를 식별하려면 워크플로우를 검토합니다.
AEM 6.4 양식 AEM 6.3 양식
워크플로우 인스턴스 /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 쿼리로 이동하여 .
    유형 드롭다운에서 SQL 2를 선택합니다.
  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*'
    쿼리는 지정된 워크플로우 개시자 또는 현재 워크플로우 할당자에 대한 모든 워크플로우 인스턴스의 위치를 반환합니다.
    예를 들어 다음 쿼리는 워크플로우 이니시에이터가 있는 /var/workflow/instances 노드에서 두 개의 워크플로우 인스턴스 경로를 반환합니다 srose .
  3. 쿼리에서 반환한 워크플로우 인스턴스 경로로 이동합니다. status 속성은 워크플로 인스턴스의 현재 상태를 표시합니다.
  4. 워크플로우 인스턴스 노드에서 로 data/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. 실행 중, 일시 중단됨 또는 부실 상태의 워크플로우 인스턴스에 대해 이 ​단계를 수행합니다 .
    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를 사용하여 노드 및 속성에 액세스하고 제거할 수도 있습니다. 자세한 내용은 다음 문서를 참조하십시오.