클라우드 서비스 구성

구성은 서비스 구성을 저장하기 위한 로직과 구조를 제공하도록 설계되었습니다.

기존 인스턴스를 확장하여 고유한 구성을 만들 수 있습니다.

개념

구성을 개발하는 데 사용되는 원칙은 다음 개념을 바탕으로 했습니다.

  • 서비스/어댑터는 구성을 검색하는 데 사용됩니다.
  • 구성(예: 속성/단락)은 상위 항목에서 상속됩니다.
  • 경로별로 분석 노드에서 참조됨.
  • 손쉽게 확장
  • Adobe Analytics과 같은 보다 복잡한 구성을 유연하게 처리할 수 있습니다.
  • 종속성 지원(예:Adobe Analytics 플러그인에는 Adobe Analytics 구성이 필요합니다.)

구조

구성의 기본 경로는 다음과 같습니다.

/etc/cloudservices.

각 유형의 구성에 대해 템플릿과 구성 요소가 제공됩니다. 이렇게 하면 사용자 지정된 후 대부분의 요구 사항을 충족할 수 있는 구성 템플릿이 있을 수 있습니다.

새 서비스에 대한 구성을 제공하려면 다음을 수행해야 합니다.

  • 서비스 페이지 만들기

    /etc/cloudservices

  • 아래에서 다음을 수행합니다.

    • 구성 템플릿
    • 구성 구성 요소

템플릿 및 구성 요소는 기본 템플릿에서 sling:resourceSuperType을 상속해야 합니다.

cq/cloudserviceconfigs/templates/configpage

또는 기본 구성 요소 각각

cq/cloudserviceconfigs/components/configpage

서비스 공급자는 다음과 같은 서비스 페이지도 제공해야 합니다.

/etc/cloudservices/<service-name>

템플릿

템플릿이 기본 템플릿을 확장합니다.

cq/cloudserviceconfigs/templates/configpage

사용자 지정 구성 요소를 가리키는 resourceType을 정의합니다.

/libs/cq/analytics/templates/sitecatalyst
sling:resourceSuperType = cq/cloudserviceconfigs/templates/configpage
allowedChildren = /libs/cq/analytics/templates/sitecatalyst
allowedPaths = /etc/cloudservices/analytics/*, /etc/cloudservices/analytics/.*
componentReference = cq/analytics/components/sitecatalyst
jcr:content/
cq:designPath = /etc/designs/cloudservices
sling:resourceType = cq/analytics/components/sitecatalystpage

/libs/cq/analytics/templates/generictracker
sling:resourceSuperType = cq/cloudservices/templates/configpage
allowedChildren = /libs/cq/analytics/templates/generictracker
allowedPaths = /etc/cloudservices/analytics/*, /etc/cloudservices/analytics/.*
jcr:content/
cq:designPath = /etc/designs/cloudservices
sling:resourceType = cq/analytics/components/generictrackerpage

구성 요소

구성 요소는 기본 구성 요소를 확장해야 합니다.

cq/cloudserviceconfigs/templates/configpage

/libs/cq/analytics/components/sitecatalystpage

/libs/cq/analytics/components/generictrackerpage

템플릿 및 구성 요소를 설정한 후 아래 하위 페이지를 추가하여 구성을 추가할 수 있습니다.

/etc/cloudservices/<service-name>

컨텐츠 모델

컨텐트 모델은 다음 아래에 cq:Page으로 저장됩니다.

/etc/cloudservices/<service-name>(/*)

/etc/cloudservices
/etc/cloudservices/service-name
/etc/cloudservices/service-name/config
/etc/cloudservices/service-name/config/inherited-config

구성은 하위 노드 jcr:content 아래에 저장됩니다.

  • 대화 상자에 정의된 속성이 jcr:node에 직접 저장되어야 하는 문제를 수정했습니다.
  • 동적 요소(parsys 또는 iparsys 사용)는 하위 노드를 사용하여 구성 요소 데이터를 저장합니다.
/etc/cloudservices/service/config/jcr:content as nt:unstructured
propertyname
*
par/component/ as cq:Component
propertyname
*

API

API에 대한 참조 설명서는 com.day.cq.wcm.webservicessupport을 참조하십시오.

AEM 통합

사용 가능한 서비스는 foundation/components/page 또는 wcm/mobile/components/page에서 상속되는 페이지의 페이지 속성 대화 상자의 Cloud Services 탭에 나열됩니다.

이 탭에는 다음과 같은 기능이 있습니다.

  • 서비스를 활성화할 수 있는 위치에 대한 링크
  • 경로 필드에서 구성(서비스의 하위 노드)을 선택합니다.

암호 암호화

서비스에 대한 사용자 자격 증명을 저장할 때 모든 암호를 암호화해야 합니다.

숨겨진 양식 필드를 추가하여 이를 실현할 수 있습니다. 이 필드에는 속성 이름에 @Encrypted 주석이 있어야 합니다.즉, password 필드에 대해서는 이름이 다음과 같이 기록됩니다.

password@Encrypted

그러면 이 속성은 EncryptionPostProcessor에 의해 자동으로 암호화됩니다(CryptoSupport 서비스 사용).

노트

표준 [SlingPostServlet](https://sling.apache.org/site/manipulating-content-the-slingpostservlet-servletspost.html) 주석과 유사합니다.

노트

기본적으로 EcryptionPostProcessor/etc/cloudservices에 대한 요청만 암호화합니다.POST

서비스 페이지 jcr:content Nodes에 대한 추가 속성

속성 설명
componentReference 페이지에 자동으로 포함되는 구성 요소에 대한 참조 경로입니다.
추가 기능 및 JS 포함에 사용됩니다.
여기에는 포함된 페이지의 구성 요소(일반적으로
cq/cloudserviceconfigs/components/servicecomponents
태그 앞)가 body 포함됩니다.
Analytics 및 Target의 경우 방문자 행동을 추적하기 위한 JavaScript 호출과 같은 추가 기능을 포함하기 위해 사용합니다.
설명 서비스에 대한 간략한 설명입니다.
descriptionExtended 서비스에 대한 자세한 설명입니다.
순위 목록에 사용할 서비스 순위.
selectableChildren 페이지 속성 대화 상자에 구성을 표시하는 필터입니다.
serviceUrl 서비스 웹 사이트에 대한 URL.
serviceUrlLabel 서비스 URL에 대한 레이블.
thumbnailPath 서비스 축소판의 경로입니다.
visible 페이지 속성 대화 상자의 가시성;기본적으로 표시(선택 사항)

사용 사례

이러한 서비스는 기본적으로 제공됩니다.

노트

이 페이지에서는