Show Menu
화제×

지속적인 업그레이드

Customization Framework

아키텍처(기능/인프라/컨텐츠/애플리케이션)

Customization Framework 기능은 APIS와 같은 코드 또는 업그레이드 친화적이지 않은 컨텐츠(예: 오버레이)의 확장 불가능한 영역 위반을 줄이는 데 도움이 됩니다.
사용자 정의 프레임워크에는 두 가지 구성 요소가 있습니다.api 표면 및 컨텐츠 분류 .

API 표면

이전 버전의 AEM에서는 많은 API가 Uber Jar를 통해 노출되었습니다. 이러한 API 중 일부는 고객이 사용하도록 만들어진 것이 아니라 번들에서 AEM 기능을 지원하기 위해 노출되었습니다. 앞으로 Java API는 업그레이드 시 사용할 수 있는 안전한 API를 고객에게 알리기 위해 공개 또는 비공개로 표시됩니다. 기타 세부 사항은 다음과 같습니다.
  • 로 표시된 Java API는 사용자 지정 구현 번들에 의해 사용 및 참조할 Public 수 있습니다.
  • 공용 API는 호환 패키지 설치와 이전 버전과의 호환됩니다.
  • 호환성 패키지에는 이전 버전과의 호환성을 보장하는 Uber JAR가 포함됩니다.
  • 표시된 Java API는 AEM 내부 번들에서만 Private 사용하기 위한 것으로 사용자 지정 번들에서 사용되어서는 안 됩니다.
이런 맥락에서 Private 그리고 Public 이런 맥락의 개념은 공적인 계층과 개인 계층의 자바 개념과 혼동해서는 안됩니다.

콘텐츠 분류

AEM 파섹 AEM 콘솔 및 UI를 지원하는 사전 정의된 기능은 /libs에 저장됩니다 . 고객은 절대로 아래/ libs 중 어떤 것을 수정할 수 없지만 /앱 아래에 추가 컨텐츠를 추가하여 /libs에 정의된 기능을 오버레이하고 확장할 수 있습니다(자세한 내용은 오버레이로 개발 참조). 이로 인해 /libs의 컨텐츠가 변경될 수 있으므로 AEM을 업그레이드할 때 오버레이 기능이 예기치 않은 방식으로 중단되는 등 많은 문제가 계속 발생했습니다. 또한 고객은 상속을 통해 AEM 구성 요소를 확장하거나 sling:resourceType을 통해 sling:resourceSuperType /libs의 구성 요소를 직접 참조할 수 있습니다. 참조 및 재정의 사용 사례와 관련하여 유사한 업그레이드 문제가 발생할 수 있습니다.
고객이 안전하고 쉽게 사용할 수 있는 /libs 영역을 파악하고 다음 혼합으로 분류된 컨텐츠를 오버레이할 수 있도록 하기 위해
  • 공개(granite:PublicArea) - 노드를 공용(public)으로 정의하여 오버레이, 상속() 또는 직접 사용()할 수 있습니다( sling:resourceSuperType``sling:resourceType ). #으로 표시된 /libs 아래의 노드는 호환성 패키지를 추가하여 업그레이드할 수 있습니다. 일반적으로 고객은 공개로 표시된 노드만 활용해야 합니다.
  • 개요(granite:AbstractArea) - 노드를 abstract로 정의합니다. 노드는 오버레이되거나 상속될 수 있지만( sling:resourceSupertype ) 직접 사용해서는 안 됩니다( sling:resourceType ).
  • Final (granite:FinalArea) - 노드를 final로 정의합니다. 최종본으로 분류된 노드는 오버레이되거나 상속되어서는 안 됩니다. 최종 노드는 를 통해 직접 사용할 수 sling:resourceType 있습니다. final 노드 아래의 하위 노드는 기본적으로 내부로 간주됩니다.
  • 내부(granite:InternalArea) *- *노드를 internal로 정의합니다. 내부로 분류된 노드는 오버레이, 상속 또는 직접 사용해서는 안 됩니다. 이러한 노드는 AEM의 내부 기능만을 위한 것입니다
  • 주석 없음 - 노드는 트리 계층 구조를 기반으로 분류를 상속합니다. / 루트는 기본적으로 공개입니다. 상위가 내부 또는 최종으로 분류된 노드도 내부로 취급됩니다.
이러한 정책은 Sling 검색 경로 기반 메커니즘에만 적용됩니다. 클라이언트측 라이브러리와 같은 /libs 다른 영역은 Internal 으로 표시되지만 여전히 표준 clientlib 포함과 함께 사용할 수 있습니다. 고객은 이러한 경우에 내부 분류를 계속 존중해야 합니다.

CRXDE Lite 컨텐츠 유형 표시기

CRXDE Lite에 적용된 혼합은 컨텐츠 노드 및 회색으로 표시된 트리를 표시합니다. INTERNAL for FINAL only the icon is graded. 이러한 노드의 하위 항목도 회색으로 표시됩니다. 두 경우 모두 오버레이 노드 기능을 사용할 수 없습니다.
공용
Final
내부
컨텐츠 상태 확인
AEM 6.5부터 Adobe는 패턴 탐지기 기능을 사용하여 컨텐츠 액세스 위반을 감지할 것을 권장합니다. 패턴 감지 보고서는 보다 자세히 설명되며, 더 많은 문제를 감지하고 잘못된 긍정의 가능성을 줄입니다.
AEM 6.5는 컨텐츠 분류와 일치하지 않는 방식으로 오버레이되거나 참조된 컨텐츠가 사용된 경우 고객에게 경고하기 위한 상태 확인과 함께 제공됩니다.
** Sling/Granite Content Access Check**는 AEM에서 고객 코드가 보호된 노드에 잘못 액세스하고 있는지 확인하기 위해 저장소를 모니터링하는 새로운 상태 검사입니다.
이렇게 하면 /앱이 검색되고 일반적으로 몇 초 정도 걸립니다.
이 새로운 상태 확인에 액세스하려면 다음을 수행해야 합니다.
  1. AEM 홈 화면에서 도구 > 작업 > 상태 보고서로 이동합니다.
  2. 아래와 같이 Sling/Granite Content Access Check를 클릭합니다.
검색이 완료되면 경고 목록이 잘못된 참조 중인 보호된 노드의 최종 사용자에게 표시됩니다.
위반이 수정되면 녹색 상태로 돌아갑니다.
상태 확인은 모든 Sling 검색 경로에서 오버레이 또는 리소스 유형이 사용될 때마다 비동기적으로 확인하는 백그라운드 서비스에서 수집한 정보를 표시합니다. 내용 혼합을 잘못 사용하면 위반이 보고됩니다.