评分和徽章基础

AEM Communities评分和徽章功能提供识别和奖励社区成员的能力。

有关设置该功能的详细信息,请参阅

本页包含其他技术详细信息:

注意

在CRXDE Lite中可见的实现结构可能会发生变化。

显示标记

徽章是以文本形式显示还是以图像形式显示在HBS模板的客户端上。

例如,在以下位置 this.isAssigned 搜索 /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}}

如果为true,则isAssigned表示为角色分配了标记,该标记应显示为文本。

如果为false,则“已分配”表示标记已通过获得的得分获得,并且标记应显示为图像。

对此行为所做的任何更改都应在自定义脚本中进行(覆盖或叠加)。 请参 阅客户端自定义

用于评分和徽章的调试日志

为了帮助调试评分和徽章,可以设置自定义日志文件。 如果该功能出现问题,可向客户支持提供此日志文件的内容。

有关详细说明,请 访问创建自定义日志文件

要快速设置幻灯片文件:

  1. 访问 Adobe Experience ManagerWeb控制台日志支持,例如

    • https://localhost:4502/system/console/slinglog
  2. 选择 添加新记录器

    1. 选择 DEBUG 日志 级别

    2. 输入日志文 件的名​称,例如

      • logs/scoring-debug.log
    3. 输入两 个Logger (类)条目(使用 + 图标)

      • com.adobe.cq.social.scoring
      • com.adobe.cq.social.badging
    4. Select Save

debug-scaring-log

要查看日志条目:

  • 从Web控制台

    • 在“状态 ”菜单
    • 选择 日志文件
    • 搜索日志文件名,如 scoring-debug
  • 在服务器的本地磁盘上

    • 日志文件位​于<server-install-dir>/crx-quickstart/logs/<log-file-name>.log

    • 例如,.../crx-quickstart/logs/scoring-debug.log

评分日志

用于评分和徽章的UGC

当所选SRP是JSRP或MSRP,但不是ASRP时,可以视图与评分和徽章相关的UGC。 (如果不熟悉这些术语,请参 阅社区内容存储 和存储资源提供者概述。)

访问评分和标记数据的描述使用JSRP,因为UGC可以使用 CRXDE Lite

作者JSRP:在作者环境中进行实验,结果在UGC中,仅在作者环境中可见。

发布时的JSRP:同样,如果在发布环境上进行测试,则必须对发布实例使用管理权限访问CRXDE Lite。 如果发布实例在生产模 (nosamplecontent运行模式)中运行 ,则需要启用CRXDE Lite。

UGC在JSRP上的基本位置是 /content/usergenerated/asi/jcr/

评分和标记API

以下API可供使用:

开发人员可从Adobe库获得已安装功能包的最新Javadoc。 请参 阅将Maven用于社区:Javadocs

UGC在存储库中的位置和格式可能会发生更改,但不会发出警告

示例设置

存储库数据的屏幕快照来自为两个不同AEM站点上的论坛设置评分和徽章:

  1. 具有唯一 id的AEM 站点(使用向导创建的社区站点):

    • 使用在入门教程中创建的入门教程( 参与)站点

    • 找到论坛页面节点

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

    • 添加评分和徽章属性

    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]
    
    • 找到论坛组件节点

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

    • 向显示标记添加属性

      allowBadges = true

    • 用户登录、创建论坛主题并获得铜牌奖

  2. 没有唯一 id 的AEM站点:

    • 使用社 区组件指南

    • 找到论坛页面节点

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

    • 添加评分和徽章属性

    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]
    
    • 找到论坛组件节点

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

    • 向显示标记添加属性

      allowBadges = true

    • 用户登录、创建论坛主题并获得铜牌奖

  3. 用户使用cURL获得一个审查方徽章:

    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
    

    由于用户已获得两个铜牌徽章,并且已获得版主徽章,因此用户在论坛条目中的显示方式是这样的。

    主持人

注意

此示例不遵循以下最佳实践:

  • 评分规则名称应全局唯一;他们不应以同一个名字结尾。

不要执行 示例:

/libs/settings/community/scommunity/scorning/rules/site1/forums-scorning
/libs/settings/community/scorning/rules/site2/forums-scorning

  • 为不同的AEM站点创建唯一的徽章图像

访问评分UGC

首选 使用 API。

为便于调查,以JSRP为例,包含分数的基本文件夹是

  • /content/usergenerated/asi/jcr/scoring

的子节点 scoring 是评分规则名称。 因此,最佳实践是,在服务器上对规则名称进行评分是全局唯一的。

对于“Geometrixx参与”站点,用户及其得分所在的路径包含评分规则名称、社区站点的站点id()、唯一id engage-ba81p和用户的id:

  • .../scoring/forums-scoring/engage-ba81p/6d179715c0e93cb2b20886aa0434ca9b5a540401/riley

对于“社区组件”指南站点,用户及其得分位于使用评分规则名称、默认ID()、唯一ID和用户ID构 default-site建的路径中:

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

得分存储在属性中, scoreValue_tl 该属性可能仅直接包含值或间接引用atomicCounter。

access-scoring-ugc

访问标记UGC

首选 使用 API。

为便于调查,以JSRP为例,将包含分配或奖励标记信息的基本文件夹

  • /content/usergenerated/asi/jcr

后跟用户用户档案的路径,以标记文件夹结尾,如:

  • /home/users/community/w271OOup2Z4DjnOQrviv/profile/badges

奖章

奖励徽章-ugc

分配的徽章

已分配徽章

附加信息

要根据点显示成员的排序列表,请执行以下操作:

在此页面上