Fundamentos de pontuação e medalhas scoring-and-badges-essentials

O recurso de pontuação e medalhas do AEM Communities identifica e recompensa os membros da comunidade.

Os detalhes da configuração do recurso estão descritos em

Esta página contém detalhes técnicos adicionais:

CAUTION
A estrutura de implementação visível no CRXDE Lite está sujeita a alterações.

Exibição de selos displaying-badges

Se um selo é exibido como texto ou imagem é controlado no lado do cliente no modelo HBS.

Por exemplo, pesquisar por this.isAssigned em /libs/social/forum/components/hbs/topic/list-item.hbs:

{{#each author.badges}}

  {{#if this.isAssigned}}

    <div class="scf-badge-text">

      {{this.title}}

    </div>

  {{/if}}

{{/each}}

{{#each author.badges}}

  {{#unless this.isAssigned}}

    <img class="scf-badge-image" alt="{{this.title}}" title="{{this.title}}" src="{{this.imageUrl}}" />

  {{/unless}}

{{/each}}

Se verdadeiro, isAssigned indica que o selo foi atribuído a uma função, e o selo deve ser exibido como texto.

Se false, isAssigned indica que o selo foi concedido para uma pontuação recebida e o selo deve ser exibido como uma imagem.

Qualquer alteração nesse comportamento deve ser feita em um script personalizado (substituição ou sobreposição). Consulte Personalização no lado do cliente.

Log de depuração para pontuação e medalha debug-log-for-scoring-and-badging

Para ajudar a depurar a pontuação e o símbolo, é possível configurar um arquivo de log personalizado. O conteúdo desse arquivo de log poderá ser fornecido ao suporte ao cliente se forem encontrados problemas com o recurso.

Para obter instruções detalhadas, visite Criar um Arquivo de Log Personalizado.

Para configurar rapidamente um arquivo de log do Sling:

  1. Acesse o Suporte ao Log do Console da Web do Adobe Experience Manager, por exemplo

    • https://localhost:4502/system/console/slinglog
  2. Selecione Adicionar novo agente

    1. Selecionar DEBUG para Nível de Log

    2. Digite um nome para Arquivo de log, por exemplo

      • logs/scoring-debug.log
    3. Insira duas entradas (classe) Logger (usando o ícone +)

      • com.adobe.cq.social.scoring
      • com.adobe.cq.social.badging
    4. Selecione Salvar

log-pontuação-depuração

Para ver entradas de log:

  • No console da Web

    • No menu Status
    • Selecionar Arquivos de Log
    • Procure pelo seu nome de Arquivo de Log, como scoring-debug
  • No disco local do servidor

    • O arquivo de log está em <server-install-dir>/crx-quickstart/logs/<log-file-name>.log

    • Por exemplo, .../crx-quickstart/logs/scoring-debug.log

log-pontuação

UGC para pontuação e medalha ugc-for-scoring-and-badging

É possível exibir o UGC relacionado à pontuação e ao badging quando o SRP escolhido for JSRP ou MSRP, mas não ASRP. (Se não estiver familiarizado com esses termos, consulte Armazenamento do Conteúdo da Comunidade e Visão Geral do Provedor de Recursos de Armazenamento.)

As descrições para acessar dados de pontuação e badging usam JSRP, pois o UGC é facilmente acessível usando CRXDE Lite.

JSRP no autor: experimentar no ambiente do autor resulta em uma UGC que só é visível do ambiente do autor.

JSRP em publicar: da mesma forma, se estiver testando no ambiente de publicação, será necessário acessar o CRXDE Lite com privilégios administrativos em uma instância de publicação. Se a instância de publicação estiver sendo executada no modo de produção (modo de execução nosamplecontent), será necessário habilitar o CRXDE Lite.

O local base do UGC no JSRP é /content/usergenerated/asi/jcr/.

APIs de pontuação e medalha scoring-and-badging-apis

As seguintes APIs estão disponíveis para uso:

Os Javadocs mais recentes para o pacote de recursos instalado estão disponíveis para desenvolvedores no repositório do Adobe. Consulte Uso do Maven para comunidades: Javadocs.

A localização e o formato do UGC no repositório estão sujeitos a alterações sem aviso.

Exemplo de configuração example-setup

As capturas de tela dos dados do repositório vêm da configuração de pontuação e badging para um fórum em dois sites AEM diferentes:

  1. Um site AEM com uma ID exclusiva (site da comunidade criado com o assistente):

    • Usando o site Tutorial da Introdução (engajamento) criado durante o tutorial da introdução

    • Localize o nó da página do fórum

      /content/sites/engage/en/forum/jcr:content

    • Adicionar propriedades de pontuação e medalha

    code language-none
    scoringRules = [/libs/settings/community/scoring/rules/comments-scoring,
    /libs/settings/community/scoring/rules/forums-scoring]
    
    code language-none
    badgingRules =[/libs/settings/community/badging/rules/comments-scoring,
    /libs/settings/community/badging/rules/forums-scoring]
    
    • Localize o nó do componente do fórum

      /content/sites/engage/en/forum/jcr:content/content/primary/forum
      ( sling:resourceType = social/forum/components/hbs/forum)

    • Para exibir selos, adicione a propriedade

      allowBadges = true

    • Um usuário se conecta, cria um tópico do fórum e recebe um selo bronze

  2. Um site AEM sem uma ID exclusiva:

    • Usando o guia de Componentes da Comunidade

    • Localize o nó da página do fórum

      /content/community-components/en/forum/jcr:content

    • Adicionar propriedades de pontuação e medalha

    code language-none
    scoringRules = [/libs/settings/community/scoring/rules/comments-scoring,
    /libs/settings/community/scoring/rules/forums-scoring]
    
    code language-none
    badgingRules =[/libs/settings/community/badging/rules/comments-badging,
    /libs/settings/community/badging/rules/forums-badging]
    
    • Localize o nó do componente do fórum

      /content/community-components/en/forum/jcr:content/content/forum
      ( sling:resourceType = social/forum/components/hbs/forum)

    • Para exibir selos, adicione a propriedade

      allowBadges = true

    • Um usuário se conecta, cria um tópico do fórum e recebe um selo bronze

  3. Um usuário recebe um selo de moderador usando cURL:

    code language-shell
    curl -i -X POST -H "Accept:application/json" -u admin:admin -F ":operation=social:assignBadge" -F "badgeContentPath=/libs/settings/community/badging/images/moderator/jcr:content/moderator.png" https://localhost:4503/home/users/community/w271OOup2Z4DjnOQrviv/profile.social.json
    

    Como um usuário ganhou dois selos de bronze e recebeu um selo de moderador, o usuário aparece com sua entrada no fórum da seguinte maneira:

    moderador

NOTE
Este exemplo não segue estas práticas recomendadas:
  • Os nomes das regras de pontuação devem ser globalmente exclusivos; eles não devem terminar com o mesmo nome.

    Um exemplo do que não deve fazer:

    /libs/settings/community/scoring/rules/site1/forums-scoring
    /libs/settings/community/scoring/rules/site2/forums-scoring

  • Criação de imagens exclusivas de crachás para diferentes sites de AEM

UGC de pontuação de acesso access-scoring-ugc

O uso das APIs é preferível.

Para fins investigativos, usando JSRP para o exemplo, a pasta base que contém pontuações é

  • /content/usergenerated/asi/jcr/scoring

O nó filho de scoring é o nome da regra de pontuação. Assim, uma prática recomendada é que os nomes de regras de pontuação em um servidor sejam globalmente exclusivos.

Para o site Geometrixx Engage, o usuário e sua pontuação estão em um caminho construído com o nome da regra de pontuação, a ID do site da comunidade ( engage-ba81p), uma ID exclusiva e a ID do usuário:

  • .../scoring/forums-scoring/engage-ba81p/6d179715c0e93cb2b20886aa0434ca9b5a540401/riley

Para o site de guia dos Componentes da Comunidade, o usuário e sua pontuação estão em um caminho construído com o nome da regra de pontuação, uma ID padrão ( default-site), uma ID exclusiva e a ID do usuário:

  • .../scoring/forums-scoring/default-site/b27a17cb4910a9b69fe81fb1b492ba672d2c086e/riley

A pontuação está armazenada na propriedade scoreValue_tl que só pode conter um valor ou fazer referência indireta a um atomicCounter.

access-scoring-ugc

UGC de acesso a emblemas access-badging-ugc

O uso das APIs é preferível.

Para fins de investigação, usando JSRP como exemplo, a pasta base que contém informações sobre selos atribuídos ou concedidos é

  • /content/usergenerated/asi/jcr

Seguido pelo caminho para o perfil do usuário, terminando em uma pasta de selos, como:

  • /home/users/community/w271OOup2Z4DjnOQrviv/profile/badges

Selo concedido awarded-badge

awar-badging-ugc

Selo atribuído assigned-badge

selo-atribuído

Informações adicionais additional-information

Para exibir uma lista classificada de membros com base em pontos:

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