속성이 Adobe Experience Manager의 라이브 카피로 동기화되지 않음
Adobe Experience Manager(AEM)에서 MSM(다중 사이트 관리자)을 사용하여 페이지를 롤아웃하면 일부 사용자 지정 속성이 라이브 카피에 동기화되지 않습니다. MSM은 기본적으로 특정 속성을 제외합니다.
이 문제를 해결하려면 사용자 지정 속성을 포함하도록 롤아웃 구성을 업데이트합니다.
설명 description
환경
- 제품: Adobe Experience Manager - 사이트
- 환경: 개발
- 기능: 다중 사이트 관리자(MSM) 롤아웃
문제/증상
언어 마스터 페이지(예: language-masters/en/home.html)에서 해당 라이브 카피로 페이지를 롤아웃하려고 할 때 일부 속성이 동기화되지 않습니다.
- 언어 마스터의 속성(예:
cq:styleIds)이 변경되었습니다. - 롤아웃 작업은 여러 라이브 카피(예:
en-us/home.html,fr-fr/home.html)에 대해 수행됩니다. - 비교 시 라이브 카피 페이지는 언어 마스터의 새 속성 값을 반영하지 않습니다.
- 이는 특정 cq 태그에 특히 적용됩니다.
원인
기본적으로 MSM은 롤아웃에서 특정 JCR 속성을 제외하도록 구성됩니다. 이렇게 하면 시스템 관리 필드(예: jcr:title, cq:lastModified, cq:tags, 등)가 실수로 덮어쓰이지 않도록 보호합니다. 또한 컨텐츠를 포함해서는 안 되는 내부 또는 구현별 메타데이터를 복사하는 것을 방지합니다. 기본 구성은 허용되는 일부 태그를 제외한 대부분의 cq 태그를 명시적으로 거부합니다.
해결 방법 resolution
MSM 롤아웃에 속성을 포함하려면 다음과 같이 OSGi 구성에서 제외된 속성을 업데이트합니다.
-
사용자 지정 속성을 포함하도록 OSGi 구성(
CQ MSM Content Update Action - com.day.cq.wcm.msm.impl.actions.ContentUpdateActionFactory)에서 정규식을 수정합니다.예를 들어
cq:styleIds을(를) 포함하려면 다음에서 정규식을 변경합니다.cq:(?!(designPath|template|lastTranslationUpdate|targetEngine|robotsTags)$).*끝:
cq:(?!(designPath|template|lastTranslationUpdate|targetEngine|robotsTags|styleIds)$).* -
아래와 같이 클라우드 환경을 위한 배포 파이프라인에 업데이트된 구성을 추가합니다.
code language-none cq.wcm.msm.action.excludedprops = [ "jcr:.*", "sling:(?!(resourceType|resourceSuperType)$).*", "cq:(?!(designPath|template|lastTranslationUpdate|targetEngine|robotsTags|styleIds)$).*", "publishCampaignId" ] -
개발 환경에서 변경 사항을 배포하고 확인합니다.
-
다시 롤아웃하고 모든 라이브 카피에서 속성이 올바르게 동기화되는지 확인합니다.
동기화를 위해 허용된 속성에 속성을 포함시키면 스타일 관련 구성이 MSM 작업을 통해 성공적으로 롤아웃되었는지 확인할 수 있습니다.