La funzione di punteggio e badge di AEM Communities identifica e premia i membri della community.
I dettagli della configurazione della funzione sono descritti in
Questa pagina contiene ulteriori dettagli tecnici:
La struttura di implementazione visibile in CRXDE Liti è soggetta a modifiche.
Se un badge viene visualizzato come testo o immagine è controllato sul lato client nel modello HBS.
Ad esempio, cerca this.isAssigned
in /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 true, isAssigned
indica che il badge è stato assegnato per un ruolo e deve essere visualizzato come testo.
Se false, isAssigned
indica che il badge è stato assegnato per un punteggio ottenuto e deve essere visualizzato come immagine.
Qualsiasi modifica a questo comportamento deve essere apportata in uno script personalizzato (override o overlay). Consulta Personalizzazione lato client.
Per facilitare il debug di punteggi e contrassegni, è possibile impostare un file di registro personalizzato. Il contenuto di questo file di registro può quindi essere fornito all’assistenza clienti in caso di problemi con la funzione.
Per istruzioni dettagliate, visita Creare un file di registro personalizzato.
Per configurare rapidamente un file di log di Slinglog:
Accedere a Supporto del registro della console Web Adobe Experience Manager, ad esempio
Seleziona Aggiungi nuovo logger
Seleziona DEBUG
per Livello registro
Inserisci un nome per File di registro, ad esempio
Inserisci due Logger voci (classe) (utilizzando +
)
com.adobe.cq.social.scoring
com.adobe.cq.social.badging
Seleziona Salva
Per visualizzare le voci di registro:
Dalla console web
scoring-debug
Sul disco locale del server
Il file di registro si trova in <server-install-dir>/crx-quickstart/logs/<log-file-name>.log
Ad esempio .../crx-quickstart/logs/scoring-debug.log
È possibile visualizzare il UGC relativo al punteggio e al contrassegno quando l’SRP scelto è JSRP o MSRP, ma non ASRP. (Se non conosci questi termini, consulta Archiviazione contenuti community e Panoramica del provider di risorse di archiviazione.)
Le descrizioni per l’accesso ai dati di punteggio e badge utilizzano JSRP, in quanto l’UGC è facilmente accessibile tramite CRXDE Liti.
JSRP sull’autore: la sperimentazione nell’ambiente di authoring genera contenuti generati dall’utente che sono visibili solo dall’ambiente di authoring.
JSRP in fase di pubblicazione: analogamente, se si esegue il test nell’ambiente di pubblicazione, è necessario accedere a CRXDE Liti con privilegi amministrativi su un’istanza di pubblicazione. Se l’istanza Publish è in esecuzione in modalità di produzione (modalità di esecuzione nosamplecontent), è necessario abilita CRXDE Liti.
La posizione di base di UGC su JSRP è /content/usergenerated/asi/jcr/
.
Sono disponibili le seguenti API:
Gli ultimi JavaScript per il feature pack installato sono disponibili per gli sviluppatori dall’archivio Adobe. Consulta Utilizzo di Maven per le community : Javadocs.
La posizione e il formato dell’UGC nell’archivio sono soggetti a modifiche senza preavviso.
Le schermate dei dati dell'archivio provengono dall'impostazione del punteggio e del badge per un forum su due diversi siti AEM:
Un sito AEM con id univoco (sito community creato tramite procedura guidata):
Utilizzo del sito Guida introduttiva (coinvolgi) creato durante il tutorial introduttivo
Individua il nodo della pagina del forum
/content/sites/engage/en/forum/jcr:content
Aggiungere proprietà di punteggio e badge
scoringRules = [/libs/settings/community/scoring/rules/comments-scoring,
/libs/settings/community/scoring/rules/forums-scoring]
badgingRules =[/libs/settings/community/badging/rules/comments-scoring,
/libs/settings/community/badging/rules/forums-scoring]
Individua il nodo del componente forum
/content/sites/engage/en/forum/jcr:content/content/primary/forum
( sling:resourceType = social/forum/components/hbs/forum
)
Per visualizzare i badge, aggiungi la proprietà
allowBadges = true
Un utente effettua l’accesso, crea un argomento del forum e riceve un distintivo bronzo
Un sito AEM senza un id univoco :
Utilizzo di Guida ai componenti della community
Individua il nodo della pagina del forum
/content/community-components/en/forum/jcr:content
Aggiungere proprietà di punteggio e badge
scoringRules = [/libs/settings/community/scoring/rules/comments-scoring,
/libs/settings/community/scoring/rules/forums-scoring]
badgingRules =[/libs/settings/community/badging/rules/comments-badging,
/libs/settings/community/badging/rules/forums-badging]
Individua il nodo del componente forum
/content/community-components/en/forum/jcr:content/content/forum
( sling:resourceType = social/forum/components/hbs/forum
)
Per visualizzare i badge, aggiungi la proprietà
allowBadges = true
Un utente effettua l’accesso, crea un argomento del forum e riceve un distintivo bronzo
A un utente viene assegnato un badge moderatore utilizzando cURL:
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
Poiché un utente ha ottenuto due distintivi bronzo ed è stato insignito di un distintivo moderatore, appare con la sua voce forum come segue:
Questo esempio non segue le seguenti best practice:
I nomi delle regole di punteggio devono essere univoci a livello globale; non devono terminare con lo stesso nome.
Un esempio di cosa non da fare:
/libs/settings/community/scoring/rules/site1/forums-scoring
/libs/settings/community/scoring/rules/site2/forums-scoring
Creazione di immagini distintive univoche per diversi siti AEM
Uso del API è da preferirsi.
A scopo investigativo, utilizzando JSRP per l’esempio, la cartella di base contenente i punteggi è
/content/usergenerated/asi/jcr/scoring
Nodo figlio di scoring
è il nome della regola di punteggio. Pertanto, una best practice prevede che i nomi delle regole di punteggio su un server siano univoci a livello globale.
Per il sito Geometrixx Engage, l’utente e il relativo punteggio si trovano in un percorso costruito con il nome della regola di punteggio, ID sito community ( engage-ba81p
), un ID univoco e l'ID dell'utente:
.../scoring/forums-scoring/engage-ba81p/6d179715c0e93cb2b20886aa0434ca9b5a540401/riley
Per il sito guida dei componenti community, l’utente e il relativo punteggio si trovano in un percorso costruito con il nome della regola di punteggio, un ID predefinito ( default-site
), un ID univoco e l'ID dell'utente:
.../scoring/forums-scoring/default-site/b27a17cb4910a9b69fe81fb1b492ba672d2c086e/riley
Il punteggio viene memorizzato nella proprietà scoreValue_tl
che possono contenere solo un valore o fare riferimento indirettamente a un atomicCounter.
Uso del API è da preferirsi.
A scopo investigativo, utilizzando JSRP per l’esempio, la cartella di base contenente le informazioni sui badge assegnati o assegnati è
/content/usergenerated/asi/jcr
Seguito dal percorso del profilo dell’utente, che termina con una cartella di badge, ad esempio:
/home/users/community/w271OOup2Z4DjnOQrviv/profile/badges
Per visualizzare un elenco ordinato di membri in base ai punti: