Configurações do serviço de nuvem cloud-service-configurations

As configurações são projetadas para fornecer a lógica e a estrutura para armazenar configurações de serviço.

É possível estender as instâncias existentes para criar suas próprias configurações.

Conceitos concepts

Os princípios usados no desenvolvimento das configurações foram baseados nos seguintes conceitos:

  • Serviços/adaptadores são usados para recuperar as configurações.
  • As configurações (por exemplo, propriedades/parágrafos) são herdadas dos pais.
  • Referenciado a partir de nós do Analytics por caminho.
  • Facilmente extensível.
  • Tem flexibilidade para atender a configurações mais complexas, como o Adobe Analytics.
  • Suporte para dependências (por exemplo, os plug-ins do Adobe Analytics precisam da configuração Adobe Analytics).

Estrutura structure

O caminho base das configurações é:

/etc/cloudservices.

Para cada tipo de configuração, um modelo e um componente são fornecidos. Isso possibilita ter modelos de configuração que podem atender à maioria das necessidades após a personalização.

Para fornecer uma configuração para novos serviços, faça o seguinte:

  • Criar uma página de serviço no

    /etc/cloudservices

  • Nesta seção:

    • um modelo de configuração
    • um componente de configuração

O modelo e o componente devem herdar sling:resourceSuperType do modelo base:

cq/cloudserviceconfigs/templates/configpage

Ou componente base, respectivamente

cq/cloudserviceconfigs/components/configpage

O provedor de serviços também deve fornecer a página de serviço:

/etc/cloudservices/<service-name>

Modelo template

Seu modelo estende o modelo base:

cq/cloudserviceconfigs/templates/configpage

E defina um resourceType que aponte para o componente personalizado.

/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

Componentes components

Seu componente deve estender o componente básico:

cq/cloudserviceconfigs/templates/configpage

/libs/cq/analytics/components/sitecatalystpage

/libs/cq/analytics/components/generictrackerpage

Depois de definir o modelo e o componente, é possível adicionar a configuração adicionando subpáginas em:

/etc/cloudservices/<service-name>

Modelo do conteúdo content-model

O modelo de conteúdo é armazenado como cq:Page em:

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

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

As configurações são armazenadas no subnó jcr:content.

  • As propriedades fixas, definidas em uma caixa de diálogo, devem ser armazenadas no jcr:node diretamente.
  • Os elementos dinâmicos (que usam parsys ou iparsys) usam um subnó para armazenar os dados do componente.
/etc/cloudservices/service/config/jcr:content as nt:unstructured
propertyname
*
par/component/ as cq:Component
propertyname
*

API api

Para obter a documentação de referência sobre a API, consulte com.day.cq.wcm.webservicesupport.

Integração com o AEM aem-integration

Os serviços disponíveis estão listados na guia Cloud Service da caixa de diálogo Propriedades da Página (de qualquer página que herde de foundation/components/page ou wcm/mobile/components/page).

A guia também fornece:

  • um link para o local onde você pode habilitar o serviço
  • escolha uma configuração (subnó do serviço) em um campo de caminho

Criptografia de senha password-encryption

Ao armazenar credenciais de usuário para o serviço, todas as senhas devem ser criptografadas.

Você pode fazer isso adicionando um campo de formulário oculto. Este campo deve ter a anotação @Encrypted no nome da propriedade; ou seja, para o campo password, o nome seria gravado como:

password@Encrypted

A propriedade será criptografada automaticamente (usando o serviço CryptoSupport) pelo EncryptionPostProcessor.

NOTE
Isso é semelhante às [SlingPostServlet](https://sling.apache.org/site/manipulating-content-the-slingpostservlet-servletspost.html) anotações padrão.
NOTE
Por padrão, o EcryptionPostProcessor criptografa somente POST solicitações feitas para /etc/cloudservices.

Propriedades adicionais para a página de serviço jcr:nós de conteúdo additional-properties-for-service-page-jcr-content-nodes

Propriedade
Descrição
componentReference
Caminho de referência para um componente a ser incluído automaticamente na página.
Usado para funcionalidade adicional e inclusões de JS.
Isso inclui o componente na página em que
cq/cloudserviceconfigs/components/servicecomponents
está incluído (normalmente antes da marca body).
No caso do Adobe Analytics e do Adobe Target, usamos isso para incluir funcionalidades adicionais, como chamadas do JavaScript para rastrear o comportamento do visitante.
descrição
Breve descrição do serviço.
descriptionExtended
Descrição estendida do serviço.
classificação
Classificação de serviço para uso em listagens.
seletableChildren
Filtro para exibir configurações na caixa de diálogo de propriedades da página.
serviceUrl
URL do site de serviço.
serviceUrlLabel
Rótulo para URL de serviço.
thumbnailPath
Caminho para a miniatura do serviço.
visível
Visibilidade na caixa de diálogo de propriedades da página; visível por padrão (opcional)

Casos de uso use-cases

Esses serviços são fornecidos por padrão:

recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2