AEM Communities评分和徽章功能提供识别和奖励社区成员的能力。
评分、徽章的主要内容是:
注 意,默认情 况下不启用标记授予。
CRXDE Lite中可见的实现结构在UI可用后可能会发生更改。
徽章放在会员的姓名下,以表明他们在社区中的角色或地位。 标记可以显示为图像或名称。 当显示为图像时,该名称将作为辅助工具的替代文本包含。
默认情况下,标记位于
/libs/settings/community/badging/images
如果存储在其他位置,则所有人都可以读取它们。
在UGC中,徽章区别于是指派的,还是根据规则获得的。 当前,分配的徽章显示为文本,而应得的徽章显示为图像。
社区标记控制台提供添加自定义标记的功能,这些标记可在成员获得(奖励)或在社区中承担特定角色(分配)时显示。
基于角色的徽章由管理员根据社区成员在社区中的角色分配给社区成员。
已分配(和已获知)标记存储在所选SRP中,并且不能直接访问。 在GUI可用之前,分配基于角色的标记的唯一方法是使用代码或cURL进行分配。 有关cURL说明,请参阅标题为分配和撤销标记的部分。
该版本包含三个基于角色的徽章:
主持人
/libs/settings/community/badging/images/moderator/jcr:content/moderator.png
组管理器
/libs/settings/community/badging/images/group-manager/jcr:content/group-manager.png
特权成员
/libs/settings/community/badging/images/privileged-member/jcr:content/privileged-member.png
评分服务会根据社区成员在社区中活动所适用的规则,向社区成员授予奖励标记。
为了让徽章成为活动奖励,必须做两件事:
发行版中包括三个基于奖励的徽章:
金
/libs/settings/community/badging/images/gold-badge/jcr:content/gold.png
银
/libs/settings/community/badging/images/silver-badge/jcr:content/silver.png
青铜
/libs/settings/community/badging/images/bronze-badge/jcr:content/bronze.png
评分规则可配置为为标记为不当的帖子分配负积分,从而影响得分值。 但是,一旦获得徽章,它就不会因得分降低或评分规则更改而自动删除。
吊销奖章的方式与吊销徽章相同。 请参阅分配和撤销标记部分。 未来的改进将包括用于管理会员徽章的UI。
可以使用标记控制台安装自定义标记,并在标记规则中指定或指定标记。
从标记控制台安装后,自定义标记会自动复制到发布环境。
默认情况下未启用评分。 徽章设置、启用评分和授予的基本步骤是:
确定收入积分规则(评分规则)。
请参阅快速测试部分,以使用论坛和评论的默认评分和徽章规则为社区站点启用评分。
要启用评分和标记,请将属性scoringRules
和badgingRules
添加到站点内容树中的任意节点。
如果站点已发布,则在应用所有规则和启用组件后,重新发布该站点。
应用于启用徽章的组件的规则是当前节点或其祖先的规则。
如果节点的类型为cq:Page
(推荐),则使用CRXDE|Lite将属性添加到其jcr:content
节点。
属性 | 类型 | 描述 |
---|---|---|
徽章规则 | 字符串 | 标记规则的数组列表 |
scoringRules | 字符串 | 评分规则的数组列表 |
如果评分规则似乎对授予徽章没有影响,请确保评分规则未被徽章规则的scorningRules属性阻止。 请参阅标题为标记规则的部分。
评分和徽章规则仅适用于通过在创作模式中编辑组件配置来启用徽章的组件实例。
布尔属性allowBadges
启用/禁用组件实例的标记显示。 可在论坛、 QnA的组件编辑对话框中配置此组件,并通过标记为显示标记的复选框对组件进行注释。
以论坛、QnA和评论中找到的HBS代码为例,可以覆盖任何组件以显示标记。
评分规则是奖励徽章的评分基础。
很简单,每个评分规则都是一个或多个子规则的列表。 对社区站点内容应用评分规则,以标识启用标记时要应用的规则。
评分规则是继承的,但不是加性的。 例如:
如果page2包含评分规则2,其上级page1包含评分规则1。
page2组件上的操作将调用规则1和规则2。
如果两个规则都包含相同topic/verb
的适用子规则:
当存在多个评分规则时,将单独维护每个规则的得分。
评分规则是类型为cq:Page
的节点,其jcr:content
节点具有指定定义该规则的子规则列表的属性。
分数存储在SRP中。
最佳实践:唯一命名每个评分规则。
评分规则名称应全局唯一;他们不应以同一个名字结尾。
not要执行的操作示例:
/libs/settings/community/scommunity/scorning/rules/site1/forums-scorning
/libs/settings/community/scorning/rules/site2/forums-scorning
评分子规则包含详细描述参与社区的值的属性。
每个评分子规则都标识:
默认情况下,积分将授予采取操作的成员,除非子规则将内容的所有者指定为接收积分(forOwner
)。
每个子规则可被包括在一个或多个评分规则中。
子规则的名称通常遵循使用主题、对象和动词的模式。 例如:
子规则是类型为cq:Page
的节点,其jcr:content
节点具有指定动词和主题的属性。
属性 | 类型 | 值描述 |
---|---|---|
VERB |
长整型 |
|
topics |
字符串 |
|
forOwner |
布尔型 |
|
scoringType |
字符串 |
|
此版本包含论坛功能的两个评分规则(论坛功能的论坛和评论组件各有一个规则):
/libs/settings/community/scorning/rules/comments-scorning
/libs/settings/community/scorning/rules/forums-scorning
注释:
rules
和sub-rules
节点的类型均为cq:Page。
subRules
是规则节[] 点的字符串类型属 jcr:content
性。
sub-rules
可以在各种评分规则之间共享。
rules
应该位于具有所有人读取权限的存储库位置。
对评分规则或创作环境中的子规则所做的任何更改或添加内容都需要在发布时安装。
标记规则通过指定以下项将评分规则链接到标记:
标记规则是类型为cq:Page
的节点,其jcr:content
节点上具有与得分和标记相关的评分规则的属性。
徽章规则由必填thresholds
属性组成,该属性是映射到徽章的分数的有序列表。 得分必须按递增值排序。 例如:
1|/libs/settings/community/badging/images/bronze-badge/jcr:content/bronze.png
60|/libs/settings/community/badging/images/silver-badge/jcr:content/silver.png
80|/libs/settings/community/badging/images/gold-badge/jcr:content/gold.png
徽章规则与评分规则成对,这些规则决定了积分的累积方式。 请参阅标题为将规则应用于内容的部分。
徽章规则上的scoringRules
属性仅限制哪些评分规则可以与该特定徽章规则配对。
最佳实践:创建每个AEM站点特有的徽章图像。
属性 | 类型 | 值描述 |
---|---|---|
阈值 | 字符串 | (必需 )“number|path”形式的多值字符串
示例条目: 80|/libs/settings/community/badging/images/gold-badge/jcr:content/gold.png |
badgingType | 字符串 | (可选) 将评分引擎标识为“基本”或“高级”。如果需要高级评分引擎,请参阅高级评分和标记。 默认值为“basic”。 |
scoringRules | 字符串 | (可选)多值字符串,用于将标记规则限制为对由评分规则标识的事件进行评分 |
版本中包含两个与论坛和评论评分规则对应的标记规则。
/libs/settings/community/badging/rules/comments-badging
/libs/settings/community/badging/rules/forums-badging
注释:
rules
节点的类型为cq:Page。
rules
应该位于具有所有人读取权限的存储库位置。
在创作环境中对标记规则或图像所做的任何更改或添加内容都需要在发布时安装。
可以使用members控制台或使用cURL命令以编程方式将标记分配给成员。
以下cURL命令显示HTTP请求分配和撤销标记所必需的内容。 基本格式为:
cURL -i -XPOST-H 头 -u sign -F operation -F 徽章 member-用户档案-url **
header = "Accept:application/json"自定义头传递给服务器(必需)
signin = administrator-id:password,例如:admin:admin
operation = ":operation=social:assignBadge" OR ":operation=social:deleteBadge"
badge = "badgeContentPath=badge-image-file"
badge-image-file =徽章图像文件在存储库中的位置,例如:/libs/settings/community/badging/images/drocidator/jcr/content/moderator.png
member-用户档案-url =成员在发布时用户档案的端点,例如:https://<server>:<port>/home/users/community/riley/profile.social.json
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" /home/users/community/updcs9DndLEI74DB9zsB/profile.social.json
curl -i -X POST -H "Accept:application/json" -u admin:admin -F ":operation=social:deleteBadge" -F "badgeContentPath=/libs/settings/community/badging/images/silver/jcr:content/silver.png" /home/users/community/updcs9DndLEI74DB9zsB/profile.social.json
使用cURL分配和撤销标记适用于任何标记图像,但当分配标记而不是获得标记时,它们会被标记为已分配标记并相应地进行处理。
可以通过将为该组件创建的事件主题与动词相关联来为自定义组件创建评分和徽章规则。
当成员与社区功能交互时,会发送可触发异步监听器的事件,如通知和评分。
组件的SocialEvent实例将topic
发生的事件记录为actions
。 SocialEvent包括返回与操作关联的verb
的方法。 actions
和verbs
之间存在n-1关系。
对于交付的社区组件,下表描述了为评分子规则中可用的每个topic
定义的verbs
。
新的布尔属性allowBadges
启用/禁用组件实例的标记显示。 在更新的组件编辑对话框中,可通过标记为显示标记的复选框对其进行配置。
日
历组 topic
件社交活动= com/adobe/cq/social/calendar
动词 | 描述 |
---|---|
POST | 成员创建日历事件 |
添加 | 日历事件上的成员注释 |
更新 | 会员的日历事件或评论已编辑 |
删除 | 会员的日历事件或评论已被删除 |
注
释组 topic
件社交活动= com/adobe/cq/social/comment
动词 | 描述 |
---|---|
POST | 成员创建注释 |
添加 | 成员回复评论 |
更新 | 已编辑会员的注释 |
删除 | 会员的注释已删除 |
文件
库组 topic
件SocialEvent= com/adobe/cq/social/fileLibrary
动词 | 描述 |
---|---|
POST | 成员创建文件夹 |
附加 | 成员上传文件 |
更新 | 成员更新文件夹或文件 |
删除 | 成员删除文件夹或文件 |
论
坛组 topic
件社交活动= com/adobe/cq/social/forum
动词 | 描述 |
---|---|
POST | 成员创建论坛主题 |
添加 | 成员对论坛主题的回复 |
更新 | 会员的论坛主题或回复已编辑 |
删除 | 会员的论坛主题或回复已被删除 |
日志
组 topic
件社交活动= com/adobe/cq/social/日志
动词 | 描述 |
---|---|
POST | 成员创建博客文章 |
添加 | 博客文章上的成员评论 |
更新 | 会员的博客文章或评论已编辑 |
删除 | 会员的博客文章或评论已被删除 |
问题与
组件社 topic
交事件= com/adobe/cq/social/qna
动词 | 描述 |
---|---|
POST | 成员创建问题与答案 |
添加 | 成员创建问题与答案 |
更新 | 会员的问题与答案已编辑 |
选择 | 已选择成员的答案 |
取消选择 | 会员的答案为取消选择 |
删除 | 成员的问题与答案已删除 |
审
阅组 topic
件社交活动= com/adobe/cq/social/review
动词 | 描述 |
---|---|
POST | 成员创建审阅 |
更新 | 已编辑会员的审阅 |
删除 | 会员的审阅已删除 |
评
级组 topic
件社交活动= com/adobe/cq/social/tally/rating
动词 | 描述 |
---|---|
添加等级 | 会员的内容已评级 |
删除等级 | 会员的内容已降级 |
投票
组 topic
件社交活动= com/adobe/cq/social/tally/poting
动词 | 描述 |
---|---|
添加投票 | 会员的内容已投票通过 |
删除投票 | 会员的内容已被否决 |
支持协调
的组 topic
件SocialEvent= com/adobe/cq/social/仲裁
动词 | 描述 |
---|---|
拒绝 | 会员的内容被拒绝 |
不当标志 | 会员的内容已标记 |
取消标记为不适当 | 成员的内容未标记 |
接受 | 会员的内容由审查方批准 |
关闭 | 成员关闭注释和回复 |
打开 | 成员重新打开注释 |
对于自定义组件,实例化一个SocialEvent以将组件的事件记录为actions
(对于topic
)。
要支持评分,SocialEvent需要覆盖方法getVerb()
,以便为每个action
返回相应的verb
。 为操作返回的verb
可以是常用的(如POST
)或专用于组件的(如ADD RATING
)。 actions
和verbs
之间存在n-1关系。
如果已对网站内容应用了评分和徽章规则,但未为任何活动识别徽章,请确保为该组件的实例启用了徽章。
请参阅为组件启用标记。
如果对网站内容应用了评分和徽章规则,并且某些行为将授予徽章,但其他行为不授予徽章,请检查徽章规则是否未限制其适用的评分规则。
请参阅标记规则的scoringRules
属性。
大多数属性和值(特别是动词)都区分大小写。 在评分子规则中使用时,动词必须全部为大写。
如果该功能未按预期工作,请确保数据输入正确。
使用入门教程(参与)站点可以快速尝试评分和标记:
访问创作CRXDE Lite。
浏览到基页:
添加badgingRules属性:
badgingRules
String
/libs/settings/community/badging/rules/forums-badging
/libs/settings/community/badging/rules/comments-badging
添加scoringRules属性:
scoringRules
String
/libs/settings/community/scoring/rules/forums-scoring
/libs/settings/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)。
发布新论坛主题。
必须刷新页面才能显示标记。
选择论坛。
这应该能让社区成员在论坛帖子上看到一枚铜牌,因为第一个论坛——徽章规则的第一个阈值是1分。
有关开发人员的详细信息,请参阅Scoring and Badges Essentials页面。
有关高级评分引擎的信息,请参阅高级评分和标记。