Die AEM Communities-Scoring- und -Badges-Funktion bietet die Möglichkeit, Community-Mitglieder zu identifizieren und zu belohnen.
Die Details zur Einrichtung der Funktion finden Sie unter
Diese Seite enthält zusätzliche technische Details:
Die in CRXDE Lite sichtbare Implementierungsstruktur kann sich ändern.
Ob ein Badge als Text oder Bild angezeigt wird, wird auf der Clientseite in der HBS-Vorlage gesteuert.
Suchen Sie beispielsweise nach 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}}
Wenn "true", zeigt isAssigned an, dass das Zeichen für eine Rolle zugewiesen wurde und das Zeichen als Text angezeigt werden soll.
Wenn "false", zeigt an, dass der Badge für einen Gewinn zugewiesen wurde und der Badge als Bild angezeigt werden soll.
Alle Änderungen an diesem Verhalten sollten in einem benutzerdefinierten Skript vorgenommen werden (entweder Überschreiben oder Überlagerung). Siehe Clientseitige Anpassung.
Um Scoring und Badging zu debuggen, kann eine benutzerdefinierte Protokolldatei eingerichtet werden. Der Inhalt dieser Protokolldatei kann dann dem Support zur Verfügung gestellt werden, wenn Probleme mit der Funktion auftreten.
Detaillierte Anweisungen finden Sie unter Benutzerdefinierte Protokolldatei erstellen.
So richten Sie eine Slinglog-Datei schnell ein:
Greifen Sie auf Adobe Experience Manager Web Console Log Support zu, z. B.
Wählen Sie Neue Protokollfunktion hinzufügen
Wählen Sie DEBUG
für Protokollebene aus.
Geben Sie einen Namen für Protokolldatei ein, z. B.
Geben Sie zwei Logger (class)-Einträge ein (mithilfe des Symbols +
).
com.adobe.cq.social.scoring
com.adobe.cq.social.badging
Wählen Sie Speichern aus
So zeigen Sie Protokolleinträge an:
Über die Web-Konsole
scoring-debug
.Auf der lokalen Festplatte des Servers
Die Protokolldatei befindet sich unter <server-install-dir/crx-quickstart/logs/<log-file-name.log
Beispiel: .../crx-quickstart/logs/scoring-debug.log
Es ist möglich, die UGC im Zusammenhang mit Scoring und Badging anzuzeigen, wenn das ausgewählte SRP entweder JSRP oder MSRP, aber nicht ASRP ist. (Wenn Sie diese Begriffe nicht kennen, finden Sie weitere Informationen unter Community-Inhaltsspeicherung und Übersicht über den Speicher-Ressourcenanbieter.)
Die Beschreibungen für den Zugriff auf Scoring- und Badging-Daten verwenden JSRP, da auf die UGC über CRXDE Lite leicht zugegriffen werden kann.
JSRP für Autor: Das Experimentieren in der Autorenumgebung führt zu benutzergenerierten Inhalten, die nur in der Autorenumgebung sichtbar sind.
JSRP bei der Veröffentlichung: Ebenso ist es bei Tests in der Veröffentlichungsumgebung erforderlich, auf die CRXDE Lite mit Administratorrechten in einer Veröffentlichungsinstanz zuzugreifen. Wenn die Veröffentlichungsinstanz im Produktionsmodus (Ausführungsmodus nosamplecontent) ausgeführt wird, muss die CRXDE Lite aktiviert werden.
Der Basisspeicherort von UGC auf JSRP ist /content/usergenerated/asi/jcr/
.
Die folgenden APIs stehen zur Verwendung zur Verfügung:
Die neuesten Javadocs für das installierte Feature Pack stehen Entwicklern aus dem Adobe-Repository zur Verfügung. Siehe Verwenden von Maven für Communities : Javadocs.
Speicherort und Format der UGC im Repository können sich ohne Warnung ändern.
Die Screenshots von Repository-Daten stammen aus der Einrichtung von Scoring und Badging für ein Forum auf zwei verschiedenen AEM Sites :
Eine AEM-Site mit einer eindeutigen ID (Community-Site, die mithilfe des Assistenten erstellt wurde) :
Verwenden der Site "Erste Schritte - Tutorial"(Einstieg), die während des Tutorials für die ersten Schritte erstellt wurde
Suchen Sie den Knoten der Forumsseite .
/content/sites/engage/en/forum/jcr:content
Hinzufügen von Scoring- und Badging-Eigenschaften
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]
Suchen Sie den Knoten der Forumkomponente .
/content/sites/engage/en/forum/jcr:content/content/primary/forum
( sling:resourceType = social/forum/components/hbs/forum
)
Eigenschaft hinzufügen, um Badge anzuzeigen
allowBadges = true
Ein Benutzer meldet sich an, erstellt ein Forenthema und erhält ein Bronze-Zeichen
Eine AEM-Site ohne eindeutige ID :
Verwenden des Community Components-Handbuchs
Suchen Sie den Knoten der Forumsseite .
/content/community-components/en/forum/jcr:content
Hinzufügen von Scoring- und Badging-Eigenschaften
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]
Suchen Sie den Knoten der Forumkomponente .
/content/community-components/en/forum/jcr:content/content/forum
( sling:resourceType = social/forum/components/hbs/forum
)
Eigenschaft hinzufügen, um Badge anzuzeigen
allowBadges = true
Ein Benutzer meldet sich an, erstellt ein Forenthema und erhält ein Bronze-Zeichen
Benutzern wird über cURL ein Moderatorzeichen zugewiesen:
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
Da ein Benutzer zwei Bronze-Abzeichen gesammelt und ein Moderatorenabzeichen erhalten hat, erscheint der Benutzer so mit seinem Forumseintrag.
Dieses Beispiel folgt nicht den folgenden Best Practices:
Die Namen von Scoring-Regeln sollten global eindeutig sein. sollten sie nicht mit demselben Namen enden.
Ein Beispiel dafür, was not zu tun hat:
/libs/settings/community/scoring/rules/site1/forums-scoring
/libs/settings/community/scoring/rules/site2/forums-scoring
Erstellen von Unique Badge-Bildern für verschiedene AEM Sites
Die Verwendung der APIs wird empfohlen.
Zu Ermittlungszwecken wird mithilfe von JSRP zum Beispiel der Basisordner mit Bewertungen
/content/usergenerated/asi/jcr/scoring
Der untergeordnete Knoten von scoring
ist der Name der Scoring-Regel. Daher empfiehlt es sich, dass die Namen von Scoring-Regeln auf einem Server global eindeutig sind.
Für die Geometrixx Engage-Site befinden sich der Benutzer und sein Ergebnis in einem Pfad, der mit dem Namen der Scoring-Regel, der Site-ID der Community-Site ( engage-ba81p
), einer eindeutigen ID und der ID des Benutzers verknüpft ist:
.../scoring/forums-scoring/engage-ba81p/6d179715c0e93cb2b20886aa0434ca9b5a540401/riley
Auf der Guide-Site "Community-Komponenten"befinden sich der Benutzer und sein Ergebnis in einem Pfad, der mit dem Namen der Scoring-Regel, einer Standard-ID ( default-site
), einer eindeutigen ID und der ID des Benutzers konstruiert wurde:
.../scoring/forums-scoring/default-site/b27a17cb4910a9b69fe81fb1b492ba672d2c086e/riley
Die Punktzahl wird in der Eigenschaft scoreValue_tl
gespeichert, die direkt einen Wert oder indirekt einen atomicCounter enthalten kann.
Die Verwendung der APIs wird empfohlen.
Zu Untersuchungszwecken wird mithilfe von JSRP beispielsweise der Basisordner mit Informationen zu zugewiesenen oder vergebenen Abzeichen wie folgt angezeigt:
/content/usergenerated/asi/jcr
gefolgt von dem Pfad zum Profil des Benutzers, der in einen Badges-Ordner endet, z. B.:
/home/users/community/w271OOup2Z4DjnOQrviv/profile/badges
So zeigen Sie eine sortierte Liste von Mitgliedern basierend auf Punkten an: