Grundlagen zu Scoring und Abzeichen scoring-and-badges-essentials

Mit der AEM Communities-Scoring- und Badges-Funktion werden Community-Mitglieder identifiziert und belohnt.

Die Details zur Einrichtung der Funktion finden Sie unter

Diese Seite enthält zusätzliche technische Details:

  • Anzeigen eines Zeichens🔗 als Bild oder Text in
  • Aktivieren der umfangreichen Debug-Protokollierung
  • Zugriff auf UGC🔗 im Zusammenhang mit Scoring und Badging durch
CAUTION
Die in CRXDE Lite sichtbare Implementierungsstruktur kann sich ändern.

Anzeigen von Abzeichen displaying-badges

Ob ein Badge als Text oder Bild angezeigt wird, wird auf der Clientseite in der HBS-Vorlage gesteuert.

Suchen Sie beispielsweise in /libs/social/forum/components/hbs/topic/list-item.hbs nach this.isAssigned:

{{#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 sollte.

Wenn "false", zeigt isAssigned an, dass der Badge für einen Gewinn zuerkannt wurde und der Badge als Bild angezeigt werden sollte.

Alle Änderungen an diesem Verhalten sollten in einem benutzerdefinierten Skript vorgenommen werden (entweder Überschreiben oder Überlagerung). Siehe Clientseitige Anpassung.

Debug-Protokoll für Scoring und Badging 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 schnell eine Slinglog-Datei ein:

  1. Zugriff auf die Adobe Experience Manager Web Console Log Support, z. B.

    • https://localhost:4502/system/console/slinglog
  2. Wählen Sie Neuen Logger hinzufügen aus.

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

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

      • logs/scoring-debug.log
    3. Geben Sie zwei Logger (class)-Einträge ein (mit dem Symbol + ).

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

debug-scoring-log

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

    • Zum Beispiel: .../crx-quickstart/logs/scoring-debug.log

scoring-log

UGC für Scoring und Badging ugc-for-scoring-and-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 der Zugriff auf die UGC über CRXDE Lite leicht möglich ist.

JSRP für Autor: Beim Experimentieren in der Autorenumgebung wird UGC angezeigt, der nur in der Autorenumgebung sichtbar ist.

JSRP bei Veröffentlichung: Ebenso ist es beim Testen in der Veröffentlichungsumgebung erforderlich, auf CRXDE Lite mit Administratorrechten auf einer Veröffentlichungsinstanz zuzugreifen. Wenn die Veröffentlichungsinstanz im Produktionsmodus ausgeführt wird (Ausführungsmodus nosamplecontent), muss CRXDE Lite🔗 aktiviert werden.

Der Basisspeicherort von UGC auf JSRP ist /content/usergenerated/asi/jcr/.

Scoring- und Badging-APIs scoring-and-badging-apis

Die folgenden APIs stehen zur Verwendung bereit:

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 des UGC im Repository können sich ohne Warnung ändern.

Beispieleinrichtung example-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"(Interaktion), die während des Erste Schritte-Tutorials erstellt wurde

    • Suchen Sie den Knoten der Forumsseite .

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

    • Hinzufügen von Scoring- und Badging-Eigenschaften

    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]
    
    • Suchen Sie den Knoten der Forumkomponente .

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

    • Um Badges anzuzeigen, fügen Sie eine Eigenschaft hinzu

      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 Leitfadens Community-Komponenten

    • Suchen Sie den Knoten der Forumsseite .

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

    • Hinzufügen von Scoring- und Badging-Eigenschaften

    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]
    
    • Suchen Sie den Knoten der Forumkomponente .

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

    • Um Badges anzuzeigen, fügen Sie eine Eigenschaft hinzu

      allowBadges = true

    • Ein Benutzer meldet sich an, erstellt ein Forenthema und erhält ein Bronze-Zeichen

  3. Benutzern wird über cURL ein Moderatorzeichen zugewiesen:

    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
    

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

    moderator

NOTE
Dieses Beispiel folgt nicht den folgenden Best Practices:
  • Scoring-Regelnamen sollten global eindeutig sein. Sie sollten nicht mit demselben Namen enden.

    Ein Beispiel dafür, was nicht 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

Auf Scoring-UGC zugreifen access-scoring-ugc

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 konstruiert wurde:

  • .../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 nur einen Wert enthalten oder indirekt auf einen atomicCounter verweisen kann.

access-scoring-ugc

Zugriffsabzeichen-UGC access-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 awarded-badge

delivered-badging-ugc

Zugewiesenes Zeichen assigned-badge

assigned-badge

Zusätzliche Informationen additional-information

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

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