Show Menu
TÓPICOS×

Princípios básicos de SRP e UGC

Introdução

Se você não estiver familiarizado com o SRP (armazenamento Resource Provider # ) e seu relacionamento com o UGC (User-Gered Content Provider # ), visite a Visão geral do Armazenamento de conteúdo da comunidade e do provedor de recursos do Visão geral do provedor de recursos do armazenamento Armazenamento.
Esta seção da documentação fornece algumas informações essenciais sobre o SRP e o UGC.

API StorageResourceProvider

A API SocialResourceProvider (API SRP) é uma extensão de várias APIs do Provedor de recursos Sling. Inclui suporte para paginação e incremento atômico (útil para tally e pontuação).
Os query são necessários para os componentes do quadro SEPA para os cartões, uma vez que é necessário classificar por data, utilidade, número de votos, etc. Todas as opções de SRP têm mecanismos flexíveis de query que não dependem da definição de baldes.
A localização do armazenamento SRP incorpora o caminho do componente. A API SRP deve ser sempre usada para acessar o UGC, já que 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, já que os benefícios de futuras melhorias nas implementações internas seriam desperdiçados ao atualizar para uma nova versão.
Os meios para usar a API SRP são 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. See Upgrading to AEM Communities 6.3 .
Historicamente, os utilitários para acessar o UGC foram encontrados no pacote SocialUtils, que não existe mais.
Para obter utilitários de substituição, consulte Refatoração SocialUtils .

Método do utilitário para acessar o UGC

Para acessar o UGC, use um método do pacote SocialResourceUtilities que retorna um caminho adequado para acessar o UGC do SRP e substitui o método obsoleto encontrado no pacote SocialUtils.
Veja a seguir um exemplo mínimo de como usar o 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 do SocialUtils, consulte Refatoração do SocialUtils .
Para obter diretrizes de codificação, consulte Acesso ao UGC com SRP .
O recurso pathToUGCStoragePath() retorna não é adequado para verificação Para Controle de acesso (ACLs) ACL.

Método do utilitário para acessar ACLs

Algumas implementações 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 da 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
}

O caminho retornado por resourceToACLPath() não é adequado para acessar o próprio UGC .