AEM Communities评分和徽章功能提供识别和奖励社区成员的能力。
有关设置该功能的详细信息,请参阅
本页包含其他技术详细信息:
在CRXDE Lite中可见的实现结构可能会发生变化。
徽章是以文本形式显示还是以图像形式显示在HBS模板的客户端上。
例如,在/libs/social/forum/components/hbs/topic/list-item.hbs
中搜索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}}
如果为true,则isAssigned表示为角色分配了标记,该标记应显示为文本。
如果为false,则“已分配”表示标记已通过获得的得分获得,并且标记应显示为图像。
对此行为所做的任何更改都应在自定义脚本中进行(覆盖或叠加)。 请参阅客户端自定义。
为了帮助调试评分和徽章,可以设置自定义日志文件。 如果该功能出现问题,可向客户支持提供此日志文件的内容。
有关详细说明,请访问创建自定义日志文件。
要快速设置幻灯片文件:
访问Adobe Experience ManagerWeb控制台日志支持,例如
选择添加新记录器
为日志级别选择DEBUG
输入日志文件的名称,例如
输入两个Logger(类)条目(使用+
图标)
com.adobe.cq.social.scoring
com.adobe.cq.social.badging
选择保存
要查看日志条目:
从Web控制台
scoring-debug
在服务器的本地磁盘上
.../crx-quickstart/logs/scoring-debug.log
当所选SRP是JSRP或MSRP,但不是ASRP时,可以视图与评分和徽章相关的UGC。 (如果不熟悉这些术语,请参阅社区内容存储和存储资源提供者概述。)
访问评分和标记数据的说明使用JSRP,因为使用CRXDE Lite可轻松访问UGC。
作者JSRP:在作者环境中进行实验,结果在UGC中,仅在作者环境中可见。
发布时的JSRP:同样,如果在发布环境上进行测试,则必须对发布实例使用管理权限访问CRXDE Lite。如果发布实例在生产模式(nosamplecontent运行模式)中运行,则必须启用CRXDE Lite。
JSRP上UGC的基本位置为/content/usergenerated/asi/jcr/
。
以下API可供使用:
已安装的版本的最新Javadoc可从Adobe库向开发人员提供。 请参阅使用Maven for Communities:Javadocs。
UGC在存储库中的位置和格式可能会发生更改,但不会发出警告。
存储库数据的屏幕快照来自为两个不同AEM站点上的论坛设置评分和徽章:
具有唯一id的AEM站点(使用向导创建的社区站点):
使用在入门教程中创建的入门教程(参与)站点
找到论坛页面节点
/content/sites/engage/en/forum/jcr:content
添加评分和徽章属性
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]
找到论坛组件节点
/content/sites/engage/en/forum/jcr:content/content/primary/forum
(sling:resourceType = social/forum/components/hbs/forum
)
向显示标记添加属性
allowBadges = true
用户登录、创建论坛主题并获得铜牌奖
没有唯一id的AEM站点:
使用社区组件指南
找到论坛页面节点
/content/community-components/en/forum/jcr:content
添加评分和徽章属性
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]
找到论坛组件节点
/content/community-components/en/forum/jcr:content/content/forum
(sling:resourceType = social/forum/components/hbs/forum
)
向显示标记添加属性
allowBadges = true
用户登录、创建论坛主题并获得铜牌奖
用户会使用cURL获得一个审查方徽章:
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
由于用户获得了两枚铜牌,并被授予版主徽章,因此用户在论坛条目中的显示方式如下:
此示例不遵循以下最佳实践:
评分规则名称应具有全局唯一性;他们不应以同一个名字结尾。
not要执行的操作示例:
/etc/community/scorning/rules/site1/forums-scorning
/etc/community/scorning/rules/site2/forums-scorning
创建不同AEM站点的唯一徽章图像
首选使用API。
为便于调查,以JSRP为例,包含分数的基本文件夹是
/content/usergenerated/asi/jcr/scoring
scoring
的子节点是评分规则名称。 因此,最佳实践是,在服务器上对规则名称进行评分是全局唯一的。
对于“Geometrixx参与”站点,用户及其得分所在的路径包含评分规则名称、社区站点的站点id(engage-ba81p
)、唯一id和用户的id:
.../scoring/forums-scoring/engage-ba81p/6d179715c0e93cb2b20886aa0434ca9b5a540401/riley
对于“社区组件”指南站点,用户及其得分位于使用评分规则名称、默认id(default-site
)、唯一id和用户id构建的路径中:
.../scoring/forums-scoring/default-site/b27a17cb4910a9b69fe81fb1b492ba672d2c086e/riley
得分存储在属性scoreValue_tl
中,该属性可能仅直接包含值或间接引用atomicCounter。
首选使用API。
为便于调查,以JSRP为例,将包含分配或奖励标记信息的基本文件夹
后跟用户用户档案的路径,以标记文件夹结尾,如
要根据点显示成员的排序列表,请执行以下操作: