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:

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 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, isAssigned gibt an, dass das Zeichen einer Rolle zugewiesen wurde und das Zeichen als Text angezeigt werden sollte.

Wenn false, isAssigned gibt an, dass der Badge für einen Gewinn vergeben 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 Adobe Experience Manager Web Console-Protokollunterstützung, beispielsweise

    • https://localhost:4502/system/console/slinglog
  2. Auswählen Hinzufügen neuer Logger

    1. Auswählen DEBUG für Protokollebene

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

      • logs/scoring-debug.log
    3. Zwei eingeben Logger (class) -Einträge (mithilfe von + 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 Status Menü
    • Auswählen 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

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, lesen Sie Community-Inhaltsspeicherung und Übersicht über den Speicheranbieter.

Die Beschreibungen für den Zugriff auf Scoring- und Badging-Daten verwenden JSRP, da der Zugriff auf die UGC über CRXDE Lite.

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

JSRP bei Veröffentlichung: Ebenso ist bei Tests in der Veröffentlichungsumgebung der Zugriff auf CRXDE Lite mit Administratorrechten für eine Veröffentlichungsinstanz erforderlich. Wenn die Veröffentlichungsinstanz in Produktionsmodus (Ausführungsmodus nosamplecontent ), ist es erforderlich, CRXDE Lite aktivieren.

Der Basisspeicherort von UGC auf JSRP lautet /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 der UGC im Repository können ohne Warnung geändert werden.

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. AEM Site mit eine eindeutige ID (Community-Site, die mithilfe des Assistenten erstellt wurde) :

    • Verwenden der Site "Erste Schritte - Tutorial"(Interaktion), die während der Tutorial zu den ersten Schritten

    • 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. AEM Site without eine eindeutige ID :

    • Verwenden der Handbuch zu 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 für not zu tun:

    /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

Verwendung der APIs wird bevorzugt.

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), eine eindeutige ID und die ID des Benutzers:

  • .../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), eine eindeutige ID und die ID des Benutzers:

  • .../scoring/forums-scoring/default-site/b27a17cb4910a9b69fe81fb1b492ba672d2c086e/riley

Das Ergebnis wird in der -Eigenschaft gespeichert. scoreValue_tl , die nur einen Wert enthalten oder indirekt auf einen atomicCounter verweisen können.

access-scoring-ugc

Zugriffsabzeichen-UGC access-badging-ugc

Verwendung der APIs wird bevorzugt.

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