컨텐츠 작성은 반복적 프로세스입니다. 효율적인 작성을 위해서는 한 번 반복할 때마다 변경된 내용을 확인할 수 있어야 합니다. 한 페이지 버전을 확인한 다음, 다른 한 버전을 확인하는 것은 비효율적이며 오류가 발생하기 쉽습니다. 작성자는 현재 페이지를 이전 버전과 비교하여 강조 표시된 차이점을 나란히 비교하기를 원합니다.
페이지 비교를 통해 사용자가 현재 페이지를 시작, 이전 버전 등과 비교할 수 있습니다. 이 사용자 기능에 대한 자세한 내용은 페이지 비교를 참조하십시오.
페이지 버전을 비교할 때, 사용자가 비교하려는 이전 버전은 비교를 용이하게 하기 위해 백그라운드에서 AEM에 의해 다시 만들어집니다. 이 값은 을(를) 나란히 비교하기 위해 렌더링할 수 있어야 합니다.
이 레크리에이티브 작업은 AEM 내부에서 수행되며 사용자에게 투명하게 진행되며 개입할 필요가 없습니다. 그러나 저장소(예: CRX DE Lite)를 보는 관리자는 컨텐츠 구조 내에서 이러한 재구성된 버전을 보게 됩니다.
AEM 패치 수준에 따라 비헤이비어가 다르며 제대로 작동하려면 특정 권한이 필요할 수 있습니다.
컨텐츠를 비교할 때 비교할 전체 트리가 다음 위치에 다시 만들어집니다.
/content/versionhistory/<userId>/<site structure>
페이지 비교 메커니즘을 사용할 때 AEM에서는 이 기능을 사용하기 위해 사용자에게 특정 JCR 권한이 있어야 하는 이전 버전의 페이지를 다시 만듭니다.
페이지 비교 기능을 사용하려면 /content/versionhistory
노드에 수정/만들기/삭제 권한이 있어야 합니다.
컨텐츠를 비교할 때 비교할 전체 트리가 다음 위치에 다시 만들어집니다.
/tmp/versionhistory/
이 콘텐트는 현재 사용자에 대한 가시성을 제한하는 권한이 있는 서비스 사용자가 만듭니다. 따라서 특별한 권한이 필요하지 않습니다.
이 임시 콘텐트를 정리하기 위해 정리 작업이 자동으로 실행됩니다.
이전에는 클래식 UI에서 AEM의 차단을 용이하게 하기 위해(예: cq:text
태그 lib 사용 또는 DiffService
OSGi 서비스를 구성 요소에 통합하는 사용자 지정) 특별한 개발 고려 사항을 고려해야 했습니다. 이러한 비교 작업은 더 이상 DOM 비교를 통해 클라이언트측에서 수행되므로 새로운 비교 기능에 필요하지 않습니다.
그러나 개발자는 많은 제한 사항을 고려해야 합니다.
이 기능은 AEM 제품에 이름이 배치되지 않은 CSS 클래스를 사용합니다. 이름이 같은 다른 사용자 지정 CSS 클래스 또는 타사 CSS 클래스가 페이지에 포함된 경우 비교 표시가 영향을 받을 수 있습니다.
html-added
html-removed
cq-component-added
cq-component-removed
cq-component-moved
cq-component-changed
비교는 클라이언트측이며 페이지 로드 시 실행되므로 클라이언트측 비교 서비스가 실행된 후 DOM에 대한 모든 조정 내용은 고려되지 않습니다. 이 문제는