Grundlagen zu Scoring und Badges

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:

  • Anzeigen eines Zeichens🔗 als Bild oder Text
  • Aktivieren der umfangreichen Debug-Protokollierung
  • Wie Sie auf UGC im Zusammenhang mit Scoring und Badging zugreifen
VORSICHT

Die in CRXDE Lite sichtbare Implementierungsstruktur kann sich ändern.

Anzeigen von Abzeichen

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.

Debug Log for Scoring and Badging

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:

  1. Greifen Sie auf Adobe Experience Manager Web Console Log Support zu, z. B.

    • http://localhost:4502/system/console/slinglog
  2. Wählen Sie Neue Protokollfunktion hinzufügen

    1. Wählen Sie DEBUG für Protokollebene aus.

    2. Geben Sie einen Namen für Protokolldatei ein, z. B.

      • logs/scoring-debug.log
    3. Geben Sie zwei Logger (class)-Einträge ein (mithilfe des Symbols + ).

      • com.adobe.cq.social.scoring
      • com.adobe.cq.social.badging
    4. Wählen Sie Speichern aus

chlimage_1-248

So zeigen Sie Protokolleinträge an:

  • Über die Web-Konsole

    • Unter dem Menü Status
    • Wählen Sie Protokolldateien
    • Suchen Sie nach dem Namen Ihrer Protokolldatei, z. B. 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

chlimage_1-249

UGC für Scoring und Badging

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/.

Scoring- und Badging-APIs

Die folgenden APIs stehen zur Verwendung zur Verfügung:

Die neuesten Javadocs für die installierten Releases 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.

Beispiel-Setup

Die Screenshots von Repository-Daten stammen aus der Einrichtung von Scoring und Badging für ein Forum auf zwei verschiedenen AEM Sites:

  1. 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 = [/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]

    • 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

  2. 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 = [/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]
      
    • 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

  3. Benutzern wird über cURL ein Moderatorzeichen zugewiesen:

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

Da ein Benutzer zwei Bronze-Abzeichen gesammelt und ein Moderator-Abzeichen erhalten hat, wird der Benutzer mit seinem Forumseintrag wie folgt angezeigt:

chlimage_1-250

HINWEIS

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:
    /etc/community/scoring/rules/site1/forums-scoring
    /etc/community/scoring/rules/site2/forums-scoring

  • Erstellen von Unique Badge-Bildern für verschiedene AEM Sites

Auf Scoring-UGC zugreifen

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 scoringist 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.

chlimage_1-251

Zugriffs-Badging-UGC

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

Ausgezeichnetes Zeichen

chlimage_1-252

zugewiesenes Zeichen

chlimage_1-253

Zusätzliche Informationen

So zeigen Sie eine sortierte Liste von Mitgliedern basierend auf Punkten an:

  • Leaderboard- Funktion zur Einbeziehung in eine Community-Site oder Gruppenvorlage.
  • Leaderboard-Komponente, die Komponente mit Funktionen für Leaderboard, für die Seitenbearbeitung.

Auf dieser Seite