社区评分和徽章 communities-scoring-and-badges
概述 overview
AEM Communities评分和徽章功能提供了识别和奖励社区成员的功能。
评分和徽章的主要方面包括:
注意 授予徽章是 默认情况下未启用.
徽章 badges
徽章以会员的名称放置,以表明其角色或在社区中的地位。 徽章可以显示为图像或名称。 显示为图像时,该名称将作为辅助功能的替换文本包含在内。
默认情况下,徽章位于存储库中的
- /etc/community/badging/images
如果存储在其他位置,则每个人都应该可以读取它们。
在UGC中,对徽章是按照规则分配的还是获得的区别。 目前,已分配的徽章显示为文本,挣得的徽章显示为图像。
徽章管理UI badge-management-ui
社区 徽章控制台 提供添加自定义徽章的功能,该徽章可在会员获得(授予)或在社区中承担特定角色(分配)时为其显示。
分配的徽章 assigned-badges
基于角色的徽章由管理员根据社区成员在社区中的角色分配给社区成员。
已分配(和已通知)的徽章存储在选定的 SRP 和无法直接访问。 在GUI可用之前,分配基于角色的徽章的唯一方法就是使用代码或cURL来分配。 有关cURL说明,请参阅标题为 分配和撤销徽章.
该版本包含三个基于角色的徽章:
-
审查方
/etc/community/badging/images/moderator/jcr:content/moderator.png
-
组管理器
/etc/community/badging/images/group-manager/jcr:content/group-manager.png
-
特权成员
/etc/community/badging/images/privileged-member/jcr:content/privileged-member.png
奖章 awarded-badges
评分服务根据适用于社区成员活动的规则,将基于奖励的徽章授予社区成员。
为了让徽章显示为对活动的奖励,必须做两件事:
该版本包含三枚奖励徽章:
-
金牌
/etc/community/badging/images/gold-badge/jcr:content/gold.png
-
银牌
/etc/community/badging/images/silver-badge/jcr:content/silver.png
-
铜牌
/etc/community/badging/images/bronze-badge/jcr:content/bronze.png
自定义徽章 custom-badges
可使用 徽章控制台 和在标记规则中分配或指定。
从徽章控制台安装后,自定义徽章会自动复制到发布环境。
启用评分 enable-scoring
默认情况下,未启用评分。 徽章设置、授予评分和授奖的基本步骤是:
-
确定收入点的规则(评分规则)
请参阅 快速测试 部分,以使用论坛和评论的默认评分和标记规则为社区站点启用评分。
将规则应用到内容 apply-rules-to-content
要启用评分和徽章,请添加属性 scoringRules
和 badgingRules
到站点内容树中的任何节点。
如果网站已发布,则在应用所有规则并启用组件后,重新发布该网站。
适用于启用徽章的组件的规则是适用于当前节点或其上级的规则。
如果节点类型为 cq:Page
(推荐),然后使用CRXDE|Lite将属性添加到 jcr:content
节点。
为组件启用徽章 enable-badges-for-component
评分和标记规则仅对通过编辑组件配置启用标记的组件实例有效 创作模式.
布尔属性, allowBadges
,则启用/禁用组件实例的徽章显示。 可以在 组件编辑对话框 对于论坛,请选中标有的复选框,以便问题解答和注释组件 显示徽章.
示例:论坛组件实例的allowBadges example-allowbadges-for-forum-component-instance
评分规则 scoring-rules
评分规则是评分的基础,用于授予徽章。
很简单,每个评分规则都是一个或多个子规则的列表。 评分规则将应用于社区站点内容,以识别在启用徽章时要应用的规则。
评分规则是继承的,但不是加性的。 例如:
-
如果页面2包含评分规则2,且其上级页面1包含评分规则1
-
对page2组件执行的操作将同时调用rule1和rule2
-
如果两个规则都包含相同的适用子规则
topic/verb
:- 只有规则2中的子规则会影响分数
- 两个子规则的得分不会一起添加
当有多个评分规则时,将分别为每个规则维护分数。
评分规则是类型的节点 cq:Page
的 jcr:content
用于指定子规则列表的节点。
分数存储在SRP中。
/etc/community/scoring/rules/site1/forums-scoring
/etc/community/scoring/rules/site2/forums-scoring
评分子规则 scoring-sub-rules
评分子规则包含详细描述参与社区值的属性。
每个评分子规则标识
- 跟踪哪些活动
- 具体涉及哪些社区功能
- 分给多少分
默认情况下,会将积分授予执行操作的成员,除非子规则指定内容的所有者作为接收点( forOwner
)。
每个子规则可以包含在一个或多个评分规则中。
子规则的名称通常遵循使用 主题,对象 和 动词. 例如:
- member-comment-create
- 成员接收表决
子规则是类型的节点 cq:Page
的 jcr:content
指定节点 动词和主题 .
包含评分规则和子规则 included-scoring-rules-and-sub-rules
该版本包含两个针对 论坛功能 (论坛功能的“论坛”和“评论”组件各一个):
-
/etc/community/scoring/rules/comments-scoring
-
subRules[] =
/etc/community/scoring/rules/subrules/member-comment-create
/etc/community/scoring/rules/subrules/member-receive-vote
/etc/community/scoring/rules/subrules/member-give-vote
/etc/community/scoring/rules/subrules/member-is-modared
-
-
/etc/community/scoring/rules/forums-scoring
-
subRules[] =
/etc/community/scoring/rules/subrules/member-forum-create
/etc/community/scoring/rules/subrules/member-receive-vote
/etc/community/scoring/rules/subrules/member-give-vote
/etc/community/scoring/rules/subrules/member-is-modared
-
注释:
-
两者兼有
rules
和sub-rules
节点类型为cq:Page -
subRules
是字符串类型的属性[] 规则jcr:content
节点 -
sub-rules
可在各种评分规则之间共享 -
rules
应位于具有每个用户读取权限的存储库位置- 规则名称必须唯一,而不考虑位置
激活自定义评分规则 activating-custom-scoring-rules
在创作环境中对评分规则或子规则所做的任何更改或添加操作需要在发布时安装。
标记规则 badging-rules
标记规则通过指定以下内容将评分规则链接到徽章:
- 哪个评分规则
- 需要识别特定徽章的分数
标记规则是类型的节点 cq:Page
的 jcr:content
将评分规则与得分和徽章关联的节点。
标记规则由强制性规则组成 thresholds
属性,即映射到徽章的分数的有序列表。 必须按递增值排序分数。 例如:
-
1|/etc/community/badging/images/bronze-badge/jcr:content/bronze.png
- 一枚铜牌的成绩是1分
-
60|/etc/community/badging/images/silver-badge/jcr:content/silver.png
- 当积分达60分时,将颁发银牌
-
80|/etc/community/badging/images/gold-badge/jcr:content/gold.png
- 当积分达80分时,将发出金徽章
标记规则与评分规则相配对,评分规则可确定积分的累积方式。 请参阅标题为的部分 将规则应用到内容.
的 scoringRules
标记规则上的属性只会限制哪些评分规则可以与该特定标记规则相配对。
包含标记规则 included-badging-rules
该版本中包含两个与 论坛和评论评分规则.
- /etc/community/badging/rules/comments-badging
- /etc/community/badging/rules/forums-badding
注释:
-
rules
节点类型为cq:Page -
rules
应位于具有每个用户读取权限的存储库位置- 规则名称必须唯一,而不考虑位置
激活自定义标记规则 activating-custom-badging-rules
对创作环境中的标记规则或图像所做的任何更改或添加操作需要在发布时安装。
分配和撤销徽章 assign-and-revoke-badges
可使用 成员控制台 或使用cURL命令以编程方式执行。
以下cURL命令显示HTTP请求分配和撤销徽章所需的内容。 基本格式为:
cURL -i -XPOST-H 标题 -u 签名 -F 操作 -F 标记 member-profile-url
标题 = "Accept:application/json"
要传递到服务器的自定义标头(必需)
signin = administrator-id:password
例如:管理员:管理员
操作 = ":operation=social:assignBadge" OR ":operation=social:deleteBadge"
徽章 = "badgeContentPath=标记 — 图像 — 文件"
标记 — 图像 — 文件 =徽章图像文件在存储库中的位置
例如:/etc/community/badging/images/drocidator/jcr/content/moderator.png
member-profile-url =发布时成员配置文件的端点
例如:https://<server>:<port>/home/users/community/riley/profile.social.json
示例: examples
分配审核者徽章 assign-a-moderator-badge
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" /home/users/community/updcs9DndLEI74DB9zsB/profile.social.json
撤消分配的银徽章 revoke-an-assigned-silver-badge
curl -i -X POST -H "Accept:application/json" -u admin:admin -F ":operation=social:deleteBadge" -F "badgeContentPath=/etc/community/badging/images/silver/jcr:content/silver.png" /home/users/community/updcs9DndLEI74DB9zsB/profile.social.json
自定义组件的评分和徽章 scoring-and-badges-for-custom-components
可通过将为自定义组件创建的事件主题与动词关联,为该组件创建评分和标记规则。
主题和动词 topics-and-verbs
成员与社区功能交互时,会发送可触发异步侦听器(如通知和评分)的事件。
组件的SocialEvent实例将事件记录为 actions
对于 topic
. SocialEvent包括返回 verb
与操作关联。 有 n-1 关系 actions
和 verbs
.
对于交付的社区组件,下表描述了 verbs
为每个 topic
可用于 评分子规则.
allowBadges
,则启用/禁用组件实例的徽章显示。 可在更新后对其进行配置 组件编辑对话框 通过标记为 显示徽章.日历组件
SocialEvent topic
= com/adobe/cq/social/calendar
注释组件
SocialEvent topic
= com/adobe/cq/social/comment
文件库组件
SocialEvent topic
= com/adobe/cq/social/fileLibrary
论坛组件
SocialEvent topic
= com/adobe/cq/social/forum
日记帐组件
SocialEvent topic
= com/adobe/cq/social/journal
问题解答组件
SocialEvent topic
= com/adobe/cq/social/qna
审阅组件
SocialEvent topic
= com/adobe/cq/social/review
评级组件
SocialEvent topic
= com/adobe/cq/social/tally/rating
投票组件
SocialEvent topic
= com/adobe/cq/social/tally/voting
启用审核的组件
SocialEvent topic
= com/adobe/cq/social/moderation
自定义组件事件 custom-component-events
对于自定义组件,将实例化SocialEvent,以将组件的事件记录为 actions
对于 topic
.
为支持评分,SocialEvent需要覆盖方法 getVerb()
以便 verb
为 action
. 的 verb
为操作返回的值可以是常用值(例如 POST
)或专用于组件(例如 ADD RATING
)。 有 n-1 关系 actions
和 verbs
.
疑难解答 troubleshooting
徽章未出现 badges-are-not-appearing
如果已对网站内容应用了评分和徽章规则,但未为任何活动提醒徽章,请确保已为该组件实例启用徽章。
请参阅 为组件启用徽章.
评分规则无效 scoring-rule-has-no-effect
如果对网站内容应用了评分和徽章规则,并且针对某些操作(而非其他操作)授予徽章,则检查徽章规则是否未限制其适用的评分规则。
请参阅 scoringRules
财产 标记规则.
区分大小写的类型 case-sensitive-typo
大多数属性和值(尤其是动词)都区分大小写。 在评分子规则中使用动词时,该动词必须全部为大写。
如果功能未按预期工作,请确保已正确输入数据。
快速测试 quick-test
可以使用 入门教程 (参与)网站:
-
创作访问CRXDE Lite
-
浏览到基页:
- /content/sites/engage/en/jcr:content
-
添加badgingRules属性:
- 名称:
badgingRules
- 类型:
String
- 选择 多
- 选择 添加
- 输入
/etc/community/badging/rules/forums-badging
- 选择
+
- 输入
/etc/community/badging/rules/comments-badging
- 选择 确定
- 名称:
-
添加scoringRules属性:
- 名称:
scoringRules
- 类型:
String
- 选择 多
- 选择 添加
- 输入
/etc/community/scoring/rules/forums-scoring
- 选择
+
- 输入
/etc/community/scoring/rules/comments-scoring
- 选择 确定
- 名称:
-
选择 全部保存
接下来,确保论坛和评论组件允许显示徽章:
-
再次使用CRXDE Lite
-
浏览到论坛组件
/content/sites/engage/en/forum/jcr:content/content/primary/forum
-
如有必要,添加allowBadges布尔属性,并确保其为true
- 名称:
allowBadges
- 类型:
Boolean
- 值:
true
- 名称:
下一个, 重新发布 社区站点。
最后,
-
浏览到发布实例上的组件
-
以社区成员身份登录(例如:weston.mccall@dodgit.com / password)
-
发布新论坛主题
-
必须刷新页面才能显示标记
- 注销并作为其他社区成员登录(例如:aaron.mcdonald@mailinator.com / password)
-
选择论坛
这应会为社区成员赢得一枚铜牌,并在其论坛帖子中显示该徽章,因为第一个论坛 — 徽章规则的第一个阈值是1分。
附加信息 additional-information
有关 评分和徽章要点 页面。
有关高级评分引擎的信息,请参阅 高级评分和徽章.
可配置的排行榜 组件 和 函数 简化了成员在社区网站上的显示及其得分情况。