La fonction de notation et de badges AEM Communities permet d'identifier et de récompenser les membres de la communauté.
Les détails de la configuration de la fonction sont décrits dans la section
Cette page contient des informations techniques supplémentaires :
La structure de mise en oeuvre visible dans le CRXDE Lite peut être modifiée.
Si un badge s'affiche sous forme de texte ou d'image est contrôlé côté client dans le modèle HBS.
Par exemple, recherchez this.isAssigned
dans /libs/social/forum/components/hbs/topic/list-item.hbs
, comme suit :
{{#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}}
Si la valeur est true, isAssigned indique que le badge a été attribué à un rôle et que le badge doit être affiché en tant que texte.
Si la valeur est false, est Affecté indique que le badge a été attribué pour un score gagné et que le badge doit être affiché en tant qu’image.
Toute modification de ce comportement doit être apportée dans un script personnalisé (remplacement ou recouvrement). Voir Personnalisation côté client.
Pour aider à déboguer le score et le badge, il est possible de configurer un fichier journal personnalisé. Le contenu de ce fichier journal peut alors être fourni au service clientèle si la fonction pose problème.
Pour obtenir des instructions détaillées, consultez Créer un fichier journal personnalisé.
Pour configurer rapidement un fichier journal en ligne :
Accédez à la prise en charge du journal de la console Web de Adobe Experience Manager, par exemple
Sélectionnez Ajouter un nouveau journal
Sélectionnez DEBUG
pour Niveau de journal
Par exemple, saisissez le nom Fichier journal.
Saisissez deux entrées Logger (classe) (à l'aide de l'icône +
).
com.adobe.cq.social.scoring
com.adobe.cq.social.badging
Sélectionnez Enregistrer
Pour afficher les entrées de journal :
Depuis la console Web
scoring-debug
Sur le disque local du serveur
.../crx-quickstart/logs/scoring-debug.log
Il est possible de vue de l'UGC en ce qui concerne la notation et l'insigne lorsque le PSR choisi est JSRP ou MSRP, mais pas ASRP. (Si ces termes ne sont pas familiers, voir Enregistrement de contenu communautaire et Aperçu du fournisseur de ressources d’Enregistrement.)
Les descriptions d’accès aux données de score et de badge utilisent le JSRP, car l’UGC est facilement accessible à l’aide de CRXDE Lite.
JSRP sur author : l’expérimentation dans l’environnement d’auteur a pour effet d’afficher l’UGC uniquement à partir de l’environnement d’auteur.
JSRP sur publication : de même, si le test est effectué sur l’environnement de publication, il sera nécessaire d’accéder au CRXDE Lite avec des privilèges d’administration sur une instance de publication. Si l’instance de publication s’exécute en mode de production (mode d’exécution nosamplecontent), il sera nécessaire d’activer CRXDE Lite.
L'emplacement de base de l'UGC sur JSRP est /content/usergenerated/asi/jcr/
.
Les API suivantes sont disponibles :
Les derniers Javadocs pour les versions installées sont disponibles pour les développeurs à partir du référentiel d'Adobes. Voir Utilisation de Maven pour les communautés : Javadocs.
L'emplacement et le format de l'UGC dans le référentiel peuvent être modifiés sans avertissement.
Les captures d’écran des données du référentiel proviennent de la configuration du score et du badge pour un forum sur deux sites AEM différents :
Un site AEM avec un identifiant unique (site communautaire créé à l’aide de l’assistant) :
Utilisation du site de didacticiel de prise en main créé lors du didacticiel de prise en main
Localisation du noeud de la page du forum
/content/sites/engage/en/forum/jcr:content
Ajouter les propriétés d’évaluation et de mise en badge
scoringRules = [/etc/community/scoring/rules/comments-scoring,
/etc/community/scoring/rules/forums-scoring]
badgingRules =[/etc/community/badging/rules/comments-scoring,
/etc/community/badging/rules/forums-scoring]
Localisation du noeud du composant de forum
/content/sites/engage/en/forum/jcr:content/content/primary/forum
( sling:resourceType = social/forum/components/hbs/forum
)
Ajouter la propriété d’affichage des badges
allowBadges = true
Un utilisateur se connecte, crée un sujet de forum et reçoit un badge de bronze
Un site AEM sans un identifiant unique :
Utilisation du Guide des composants de la communauté
Localisation du noeud de la page du forum
/content/community-components/en/forum/jcr:content
Ajouter les propriétés d’évaluation et de mise en badge
scoringRules = [/etc/community/scoring/rules/comments-scoring,
/etc/community/scoring/rules/forums-scoring]
badgingRules =[/etc/community/badging/rules/comments-scoring,
/etc/community/badging/rules/forums-scoring]
Localisation du noeud du composant de forum
/content/community-components/en/forum/jcr:content/content/forum
( sling:resourceType = social/forum/components/hbs/forum
)
Ajouter la propriété d’affichage des badges
allowBadges = true
Un utilisateur se connecte, crée un sujet de forum et reçoit un badge de bronze
Un badge de modérateur est attribué à un utilisateur à l’aide de cURL :
curl -i -X POST -H "Accept:application/json" -u admin:admin -F ":operation=social:assignBadge" -F "badgeContentPath=/etc/community/badging/images/moderator/jcr:content/moderator.png" http://localhost:4503/home/users/community/w271OOup2Z4DjnOQrviv/profile.social.json
Comme un utilisateur a gagné deux badges en bronze et qu'il a reçu un badge de modérateur, voici comment l'utilisateur apparaît avec son entrée sur le forum :
Cet exemple ne suit pas les bonnes pratiques suivantes :
les noms des règles de notation doivent être globalement uniques ; ils ne devraient pas se terminer par le même nom.
Exemple de ce que ne pas faire :
/etc/community/scoring/rules/site1/forums-score
/etc/community/scoring/rules/site2/forums-score
création d’images de badge uniques pour différents sites AEM
Il est préférable d'utiliser les API.
À des fins d’enquête, à l’aide de JSRP pour l’exemple, le dossier de base contenant des scores est
/content/usergenerated/asi/jcr/scoring
Le noeud enfant de scoring
est le nom de la règle de notation. Il est donc recommandé que les noms des règles d’évaluation sur un serveur soient globalement uniques.
Pour le site Interagir, l’utilisateur et son score se trouvent dans un chemin construit avec le nom de la règle de score, l’identifiant du site de la communauté ( engage-ba81p
), un identifiant unique et l’identifiant de l’utilisateur :
.../scoring/forums-scoring/engage-ba81p/6d179715c0e93cb2b20886aa0434ca9b5a540401/riley
Pour le site du guide des composants de la communauté, l’utilisateur et son score se trouvent dans un chemin construit avec le nom de la règle de score, un id par défaut ( default-site
), un id unique et l’id de l’utilisateur :
.../scoring/forums-scoring/default-site/b27a17cb4910a9b69fe81fb1b492ba672d2c086e/riley
Le score est stocké dans la propriété scoreValue_tl
qui peut directement contenir uniquement une valeur ou faire indirectement référence à un atomicCounter.
Il est préférable d'utiliser les API.
À des fins d’enquête, à l’aide de JSRP, par exemple, le dossier de base contenant des informations sur les badges attribués ou attribués est
Suivi du chemin d’accès au profil de l’utilisateur, qui se termine par un dossier de badges, tel que
Pour afficher une liste triée de membres en fonction des points :