社区评分和徽章

概述

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

评分和徽章的主要方面是:

  • 配徽章以标识成员在社区中的角色

  • 向成员授予基 本奖励以鼓励其参与(创建的内容数量)

  • 高级授予徽 章,以将成员标识为专家(创建内容的质量)

请注 意,默认情况下 不启用授予标记

注意

在CRXDE Lite中可见的实现结构在UI可用后可能会更改。

徽章

徽章放在会员姓名下,以表明他们在社区中的作用或地位。 标记可以显示为图像或名称。 当显示为图像时,名称将作为辅助工具的替代文本包含。

默认情况下,标记位于

  • /etc/community/badging/images

如果存储在其他位置,则所有人都可以读取它们。

在UGC中,徽章是根据规则分配的,还是根据规则获得的。 目前,分配的徽章显示为文本,而挣得的徽章显示为图像。

徽章管理UI

社区标记控制台提供了添加自定义标记的功能,当会员获得(授予)或在社区中承担特定角色(分配)时,可以为其显示自定义标记。

分配的徽章

基于角色的徽章由管理员根据社区成员在社区中的角色分配给社区成员。

已分配(和已获知)的标记存储在所选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

chlimage_1-366

奖章

评分服务会根据适用于社区活动的规则,向社区会员授予奖励徽章。

为了让徽章成为活动的奖励,必须做两件事:

  • 对于功能组件,标记必须enabled
  • 评分和标记规则必须🔗应用于放置组件的页面(或祖代)

发行版中包括三个基于奖励的徽章:

  • 金牌

    /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

chlimage_1-367

注意

可以配置评分规则,为标记为不适当的帖子分配负分,从而影响得分值。 但是,一旦获得徽章,它将不会因得分降低或评分规则更改而自动删除。

吊销奖章,可以采取与吊销徽章相同的方式。 请参阅分配和撤销标记部分。 未来的改进将包括用于管理会员徽章的UI。

自定义标记

可以使用标记控制台安装自定义标记,并在标记规则中分配或指定这些标记。

从标记控制台安装后,自定义标记会自动复制到发布环境。

启用评分

默认情况下,未启用评分。 徽章设置、授予评分和授予的基本步骤是:

请参阅快速测试部分,以启用社区站点的评分,使用论坛和评论的默认评分和徽章规则。

将规则应用于内容

要启用评分和标记,请将属性scoringRulesbadgingRules添加到站点内容树中的任意节点。

如果网站已发布,则在应用所有规则并启用组件后,重新发布网站。

应用于启用徽章的组件的规则是当前节点或其祖代的规则。

如果节点的类型为cq:Page(建议),则使用CRXDE|Lite将属性添加到其jcr:content节点。

属性 类型 描述
badgingRules String[] 标记规则的数组列表
scoringRules 字符串[] 评分规则的数组列表
注意

如果评分规则似乎对授予徽章没有影响,请确保评分规则未被徽章规则的scoringRules属性阻止。 请参阅标题为标记规则的部分。

为组件启用标记

评分和徽章规则仅适用于通过在创作模式中编辑组件配置来启用徽章的组件实例。

布尔属性allowBadges启用/禁用组件实例的标记显示。 可在论坛、QnA的组件编辑对话框中配置此组件,并通过标有​显示标记​的复选框对组件进行注释。

示例:allowBadges for Forum组件实例

chlimage_1-368

注意

例如,可以覆盖任何组件,以显示论坛、QnA和评论中提供的HBS代码。

评分规则

评分规则是授予徽章的评分基础。

很简单,每个评分规则都是一个或多个子规则的列表。 对社区站点内容应用评分规则,以标识在启用标记时应用的规则。

评分规则是继承的,但不是累加的。 例如:

  • 如果page2包含评分规则2,其祖代page1包含评分规则1

  • 对page2组件执行的操作将调用规则1和规则2

  • 如果两个规则包含相同topic/verb的适用子规则:

    • 只有规则2中的子规则将影响得分
    • 两个子规则的分数不相加

如果有多个评分规则,则每个规则将单独维护分数。

评分规则是类型cq:Page的节点,其jcr:content节点具有指定定义该规则的子规则列表的属性。

分数存储在SRP中。

注意

最佳实践:唯一命名每个评分规则。

评分规则名称应全球唯一;他们不应以同名结尾。

not​要执行的操作示例:
/etc/community/scoring/rules/site1/forums-scoring
/etc/community/scoring/rules/site2/forums-scoring

评分子规则

评分子规则包含属性,这些属性详细列出了参与社区的值。

每个评分子规则标识

  • 正在跟踪哪些活动
  • 涉及哪些特定的社区功能
  • 分数

默认情况下,积分将授予采取操作的成员,除非子规则将内容的所有者指定为接收积分(forOwner)。

每个子规则可以包括在一个或多个评分规则中。

子规则的名称通常遵循使用​主题、对象​和​动词​的模式。 例如:

  • member-comment-create
  • 成员接受投票

子规则是类型cq:Page的节点,其jcr:content节点具有指定动词和主题的属性。

属性 类型 值描述
VERB 长整型
  • 要求;动词与事件动作相对应
  • 必须至少有一个动词属性
  • 动词必须输入全部大写
  • 有多个动词属性,但没有重复
  • 值是要应用于此事件的分数
  • 值可以是正数或负数
  • 发行版中支持的动词列表位于主题和动词部分
topics String[]
  • 可选;将子规则限制为由事件主题标识的社区组件
  • 如果指定:值是事件主题的多值字符串
  • 发行版中主题的列表位于主题和动词部分
  • 默认为应用于与动词关联的所有主题
forOwner 布尔型
  • 可选;与会员根据自己拥有的内容采取行动无关
  • 如果为true,则将分数应用于所操作内容的所有者
  • 如果为false,则将得分应用于成员执行操作
  • default为false
scoringType 字符串
  • 可选;识别评分引擎
  • 如果为“basic”,则根据数量指定评分引擎
    • 包含在版本中
  • 如果为“高级”,则根据质量和数量指定评分引擎
  • 默认为“basic”

包含评分规则和子规则

此版本中包含论坛功能的两个评分规则(论坛功能的论坛和评论组件各有一个规则):

  1. /etc/community/scorning/rules/comments-scorning

    • subRules[] =

      /etc/community/scoring/rules/subrules/member-comment-create

      /etc/community/scoring/rules/subrules/member-receive-vote

      /etc/community/scorning/rules/subrules/member-give-vote

      /etc/community/scoring/rules/subrules/member-is — 仲裁

  2. /etc/community/scoring/rules/forums-scorning

    • subRules[] =

      /etc/community/scoring/rules/subrules/member-forum-create

      /etc/community/scoring/rules/subrules/member-receive-vote

      /etc/community/scorning/rules/subrules/member-give-vote

      /etc/community/scoring/rules/subrules/member-is — 仲裁

注释:

  • rulessub-rules节点的类型都是cq:Page

  • subRules是规则节点类[] 型“字符串”的属 jcr:content

  • sub-rules 可能在各种评分规则之间共享

  • 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属性只限制哪些评分规则可以与该特定徽章规则配对。

注意

最佳实践:创建每个AEM站点特有的徽章图像。

chlimage_1-369

属性 类型 值描述
阈值 String[] (必需) 表单为“number|path”的多值字符串
  • 数字=
  • | =垂直线字符(U+007C)
  • path =徽章图像资源的完整路径
必须对字符串进行排序,以使数字在值中增加,并且数字和路径之间不应出现空白空格。
示例条目:
80|/etc/community/badging/images/gold-badge/jcr:content/gold.png
badgingType 字符串 (可选) 将评分引擎标识为“基本”或“高级”。如果需要高级评分引擎,请参阅高级评分和标记。 默认值为“basic”。
scoringRules String[] 可选)将标记规则限制为由评分规则标识的评分事件的多值字符串

包含标记规则

版本中包含两个与论坛和评论评分规则对应的标记规则。

  • /etc/community/badging/rules/comments-badging
  • /etc/community/badging/rules/forums-badging

注释:

  • rules 节点的类型为cq:Page

  • rules应该位于每个人都具有读取权限的存储库位置

    • 规则名称必须唯一,而不管位置

激活自定义标记规则

对标记规则或在创作环境中所做的任何更改或添加内容需要在发布时安装。

分配和撤销标记

可以使用members console或使用cURL命令以编程方式将标记分配给成员。

以下cURL命令显示分配和撤销标记的HTTP请求所需的内容。 基本格式为:

cURL -i -XPOST-H header -u *signin * -F *operation * -F *badge * 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 =徽章图像文件在存储库中的位置
例如:/etc/community/badging/images/chdobat/jcr/content/moderator.png

member-用户档案-url =成员在发布时用户档案的端点
例如:https://<server>:<port>/home/users/community/riley/profile.social.json

注意

member-用户档案-url

  • 启用隧道服务时,可引用作者实例
  • 可能是一个模糊的随机名称 — 有关可授权ID,请参见安全清单

示例:

分配审查方徽章

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

撤销分配的银牌

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
注意

使用cURL分配和撤销标记适用于任何徽章图像,但当分配标记而非获得标记时,它们会标记为已分配标记并相应地进行处理。

自定义组件的评分和标记

可以通过将为该组件创建的事件主题与动词关联来为自定义组件创建评分和徽章规则。

主题和动词

当成员与社区功能交互时,会发送可触发异步监听器(如通知和评分)的事件。

组件的SocialEvent实例将topic发生的事件记录为actions。 SocialEvent包括返回与操作关联的verb的方法。 actionsverbs之间存在​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 成员创建论坛主题
添加 成员对论坛主题的回复
更新 已编辑会员的论坛主题或回复
删除 已删除会员的论坛主题或回复

日志
ComponentSocialEvent topic= com/adobe/cq/social/日志

动词 描述
POST 成员创建博客文章
添加 对博客文章的成员评论
更新 会员的博客文章或评论已编辑
删除 已删除会员的博客文章或评论

问题与
组件 topic 社交事件= com/adobe/cq/social/qna

动词 描述
POST 成员创建问题与答案问题
添加 成员创建问题与答案
更新 会员的问题与答案已编辑
选择 已选择成员的答案
取消选择 会员的答案已取消选择
删除 成员的问题与答案已删除


阅组 topic件社交活动= com/adobe/cq/social/review

动词 描述
POST 成员创建审阅
更新 会员的审阅已编辑
删除 已删除会员的审阅


级组 topic件SocialEvent= com/adobe/cq/social/tally/rating

动词 描述
添加评级 会员的内容已评级
删除等级 会员的内容已降级

投票
组件 topic社交活动= com/adobe/cq/social/tally/poting

动词 描述
添加投票 会员的内容已通过
删除投票 会员的内容已被否决

支持审核
的组 topic件SocialEvent= com/adobe/cq/social/仲裁

动词 描述
拒绝 会员的内容被拒绝
“旗为不适当” 会员的内容已标记
取消标记为不适当 会员的内容未标记
接受 会员的内容由主持人批准
关闭 成员关闭评论和回复
打开 成员重新打开评论

自定义组件事件

对于自定义组件,将实例化一个SocialEvent,以将组件的事件记录为topic发生的actions

要支持评分,SocialEvent需要覆盖方法getVerb(),以便为每个action返回相应的verb。 为操作返回的verb可以是常用的(如POST)或专用于组件的(如ADD RATING)。 actionsverbs之间存在​n-1​关系。

疑难解答

徽章未出现

如果已对网站内容应用了评分和徽章规则,但未为任何活动提醒徽章,请确保已为该组件的实例启用徽章。

请参阅为组件启用标记。

评分规则无效

如果对网站内容应用了评分和徽章规则,而某些行为将授予徽章,但其他行为不授予徽章,请检查徽章规则是否未限制适用的评分规则。

请参阅标记规则scoringRules属性。

区分大小写的类型

大多数属性和值(尤其是动词)都区分大小写。 在评分子规则中使用时,动词必须全部为大写。

如果该功能未按预期工作,请确保已正确输入数据。

快速测试

使用入门教程(参与)站点可以快速尝试得分和标记:

  • 创作时的访问CRXDE Lite

  • 浏览到基页:

    • /content/sites/engage/cn/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
    • 选择​确定
  • 选择​保存全部

chlimage_1-370

接下来,确保论坛和评论组件允许显示标记:

  • 再次使用CRXDE Lite

  • 浏览到论坛组件

    • /content/sites/engage/en/forum/jcr:content/content/primary/forum
  • 如有必要,添加allowBadges布尔属性,并确保它为true

    • 名称: allowBadges
    • 类型: Boolean
    • : true

chlimage_1-371

接下来,重新发布社区站点。

最后,

  • 浏览到发布实例上的组件

  • 以社区成员身份登录(例如:weston.mccall@dodgit.com)

  • 发布新论坛主题

  • 必须刷新页面才能显示徽章

    • 注销并以其他社区成员身份登录(例如:aaron.mcdonald@mailinator.com)
  • 选择论坛

这应该能让社区成员在论坛帖子上看到一枚铜牌,因为第一个论坛标签规则的第一个门槛是1分。

布朗

附加信息

有关更多信息,请参阅开发人员的Scoring and Badges Essentials页面。

有关高级评分引擎的信息,请参阅高级评分和标记

可配置的排行榜组件函数简化了成员在社区站点上的显示及其得分。

On this page

Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now