Fundamentos de SRP e UGC srp-and-ugc-essentials

Introdução introduction

Se não estiver familiarizado com o provedor de recursos de armazenamento (SRP) e sua relação com o conteúdo gerado pelo usuário (UGC), visite Armazenamento de conteúdo da comunidade e Visão geral do provedor de recursos de armazenamento.

Esta seção da documentação fornece algumas informações essenciais sobre SRP e UGC.

API StorageResourceProvider storageresourceprovider-api

A API SocialResourceProvider (SRP API) é uma extensão de várias APIs do provedor de recursos Sling. Ele inclui suporte para paginação e incremento atômico (útil para contagem e pontuação).

As consultas são necessárias para os componentes do SCF, pois há a necessidade de classificar por data, utilidade, número de votos e assim por diante. Todas as opções de SRP têm mecanismos de consulta flexíveis que não dependem da segmentação.

O local de armazenamento SRP incorpora o caminho do componente. A API SRP deve sempre ser usada para acessar o UGC, pois o caminho raiz depende da opção SRP selecionada, como ASRP, MSRP ou JSRP.

A API SRP não é uma classe abstrata, é uma interface. Uma implementação personalizada não deve ser realizada com ligeireza, pois os benefícios de melhorias futuras nas implementações internas não serão percebidos ao atualizar para uma nova versão.

Os meios de usar a API SRP são por meio de utilitários fornecidos, como os encontrados no pacote SocialResourceUtilities.

Ao atualizar do AEM 6.0 ou anterior, será necessário migrar o UGC para todos os SRPs, para os quais uma ferramenta Open Source está disponível. Consulte Atualização para o AEM Communities 6.3.

NOTE
Historicamente, os utilitários para acessar UGC foram encontrados no pacote SocialUtils, que não existe mais.
Para utilitários de substituição, consulte Refatoração de SocialUtils.

Método do utilitário para acessar o UGC utility-method-to-access-ugc

Para acessar o UGC, use um método do pacote SocialResourceUtilities que retorne um caminho adequado para acessar o UGC do SRP e substitua o método obsoleto encontrado no pacote SocialUtils.

Veja a seguir um exemplo mínimo do uso do método resourceToUGCStoragePath() em um servlet:

import com.adobe.cq.social.srp.utilities.api.SocialResourceUtilities;

@Reference
private SocialResourceUtilities socialResourceUtilities;

@Override
protected void doGet(final SlingHttpServletRequest request, final SlingHttpServletResponse response) throws ServletException, IOException {
  String ugcPath = socialResourceUtilities.resourceToUGCStoragePath(request.getResource());
  // rest of servlet
}

Para outras substituições de SocialUtils, consulte Refatoração de SocialUtils.

Para obter diretrizes de codificação, visite Acessando UGC com SRP.

CAUTION
O caminho que resourceToUGCStoragePath() retorna é não adequado para a verificação de ACL.

Método do utilitário para acessar ACLs utility-method-to-access-acls

Algumas implementações de SRP, como ASRP e MSRP, armazenam conteúdo da comunidade em bancos de dados que não fornecem verificação de ACL. Os nós de sombra fornecem um local no repositório local ao qual as ACLs podem ser aplicadas.

Usando a API SRP, todas as opções SRP executam a mesma verificação do local de sombra antes de todas as operações CRUD.

Para verificar ACLs, use um método que retorne um caminho adequado para verificar as permissões aplicadas ao UGC do recurso.

Veja a seguir um exemplo simples de como usar o método resourceToACLPath() em um servlet:

import com.adobe.cq.social.srp.utilities.api.SocialResourceUtilities;

@Reference
private SocialResourceUtilities socialResourceUtilities;

@Override
protected void doGet(final SlingHttpServletRequest request, final SlingHttpServletResponse response) throws ServletException, IOException {
  String aclPath = socialResourceUtilities.resourceToACLPath(request.getResource());
  // rest of servlet
}
CAUTION
O caminho retornado por resourceToACLPath() é not adequado para acessar o próprio UGC.

As descrições a seguir do local de armazenamento podem ser úteis ao desenvolver com JSRP ou talvez MSRP. No momento, não há interface para acessar o UGC armazenado no ASRP, pois há para JSRP (CRXDE Lite) e MSRP (ferramentas do MongoDB).

Local do componente

Quando um membro insere o UGC no ambiente de publicação, ele interage com um componente como parte de um site de AEM.

Um exemplo desse componente é o componente de comentários que existe no site do Guia de Componentes da Comunidade. O caminho para o nó do comentário no repositório local é:

  • Caminho do componente = /content/community-components/en/comments/jcr:content/content/includable/comments

Local do nó de sombra

A criação de UGC também cria um nó de sombra ao qual as ACLs necessárias são aplicadas. O caminho para o nó de sombra correspondente no repositório local é o resultado de anexar o caminho raiz do nó de sombra ao caminho do componente:

  • Caminho raiz = /content/usergenerated
  • Nó de sombra do comentário = /content/usergenerated/content/community-components/en/comments/jcr:content/content/includable/comments

Local do UGC

O UGC não foi criado em nenhum desses locais e só deve ser acessado usando um método de utilitário que chame a API SRP.

  • Caminho raiz = /content/usergenerated/asi/srp-choice
  • Nó UGC para JSRP = /content/usergenerated/asi/jcr/content/community-components/en/comments/jcr:content/content/includable/comments/srzd-let_it_be_

Saiba que, para o JSRP, o nó UGC somente estará presente na instância do AEM (autor ou publicação) em que foi inserido. Se inserido em uma instância de publicação, a moderação não será possível no console de moderação do autor.

Informações relacionadas related-information

recommendation-more-help
81e2cd9d-0789-409d-b87c-2a8ce4f28791