AEM as a Cloud Service에 대한 워크플로 제거 작업의 샘플 구성
이 문서에서는 AEM as a Cloud Service에서 유지 관리 작업으로 워크플로 삭제를 설정하는 샘플 구성에 대해 설명합니다.
설명
환경
Adobe Experience Manager as a Cloud Service (AEMaaCS)
문제/증상
이 문서는 AEM as a Cloud Service에서 유지 관리 작업으로 워크플로 삭제를 설정하는 샘플 구성입니다.
참조:
Adobe Experience Manager 유지 관리 안내서
해결 방법
워크플로우 삭제를 유지 관리 작업으로 설정하려면 다음 단계에 따라 Maven 프로젝트에 필요한 요소를 구성합니다.
1단계. OSGi 구성
OSGi 구성 파일을 생성합니다.
경로: ui.config/src/main/content/jcr_root/apps/>project_name</osgiconfig/config.author/ com.adobe.granite.workflow.purge.Scheduler >project_name<.cfg.json
구성 예:
{
"scheduledpurge.workflowStatus": "COMPLETED",
"scheduledpurge.name": "Workflow Purge",
"scheduledpurge.daysold": 30,
"scheduledpurge.modelIds": [ ] ,
"scheduledpurge.purgePackagePayload":true
}
이 구성은 30일 이상 전에 완료된 워크플로 인스턴스를 삭제하는 것입니다.
2단계. 유지 관리 창 구성
-
주간 유지 관리 창 노드를 만듭니다. 경로:
ui.apps/src/main/content/jcr_root/apps/settings/granite/operations/maintenance/granite_weekly/.content.xml
구성 예:<?xml version="1.0" encoding="UTF-8"?> <jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0" jcr:primaryType="sling:Folder" sling:configCollectionInherit="true" sling:configPropertyInherit="true" windowEndTime="15:30" windowSchedule="weekly" windowScheduleWeekdays="[ 5,5] " windowStartTime="14:30"/>
이 구성은 매주 목요일 14:30부터 15:30(UTC)까지 유지 관리 작업을 실행합니다.
-
워크플로 제거 작업 노드를 만듭니다. 경로:
ui.apps/src/main/content/jcr_root/apps/settings/granite/operations/maintenance/granite_weekly/granite_WorkflowPurgeTask/.content.xml
구성 예:<?xml version="1.0" encoding="UTF-8"?> <jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:nt="http://www.jcp.org/jcr/nt/1.0" jcr:primaryType="nt:unstructured" sling:resourceType="granite/operations/components/maintenance/task" granite.maintenance.name="WorkflowPurgeTask" granite.task.hint="HINT: Please add workflow models to be deleted to the workflow-purge configuration, which is available under Adobe Granite Workflow Purge Configuration under Web Console Configuration-Manager."/>
-
노드 설치를 위한 패키지 필터를 구성합니다. 경로:
ui.apps/src/main/content/META-INF/vault/filter.xml
구성 예:<workspaceFilter version="1.0"> ... <!-- Add the below line to existing settings --> <filter root="/apps/settings/granite/operations/maintenance/granite_weekly"/> </workspaceFilter>>
-
filevault-package-maven-plugin
필터 업데이트: 경로:ui.apps.structure/pom.xml
구성 예:<plugin> <artifactId>filevault-package-maven-plugin</artifactId> <configuration> <filters> ... <!-- Add the below lines to existing settings --> <filter><root>/apps/settings/granite</root></filter> <filter><root>/apps/settings/granite/operations</root></filter> <filter><root>/apps/settings/granite/operations/maintenance</root></filter> <filter><root>/apps/settings/granite/operations/maintenance/granite_weekly</root></filter> </filters> </configuration> </plugin>
3단계. 로컬 테스트
로컬 SDK에 구성을 빌드하고 설치합니다. 워크플로 제거 작업의 결과를 확인합니다.
$ mvn clean install -PautoInstallSinglePackage
4단계. 클라우드 배포
유효성을 검사하면 구성을 커밋하고 Git 저장소에 푸시합니다. Cloud Manager 파이프라인을 실행하여 AEM as a Cloud Service 환경에 배포합니다. 하위 환경에서 구성을 배포해야 합니다.