社群評分和預算 communities-scoring-and-badges
概觀 overview
AEM Communities評分和徽章功能提供識別及獎勵社群成員的能力。
評分和徽章的主要方面包括:
請注意 預設不會啟用授予徽章。
徽章 badges
徽章會放置在成員的名稱下,以表示其在社群中的角色或地位。 徽章可以顯示為影像或名稱。 當顯示為影像時,名稱會包含為協助工具的替代文字。
依預設,徽章位於以下位置的存放庫中:
/libs/settings/community/badging/images
若儲存在其他位置,應讓每個人都可讀取這些檔案。
在UGC中會區分徽章,不論它們是依照規則指派或贏取。 目前,指派的徽章會顯示為文字,而贏取的徽章會顯示為影像。
徽章管理UI badge-management-ui
Communities 徽章主控台可讓您新增自訂徽章,當成員贏取(授予)或在社群中擔任特定角色(已指派)時,便可以顯示這些徽章。
指派的徽章 assigned-badges
管理員會根據社群成員在社群中的角色,為其指派角色型徽章。
指派(和授予)徽章會儲存在選取的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
獎勵徽章 awarded-badges
評分服務會根據社群成員活動中套用的規則,將獎勵型徽章授予社群成員。
若要讓徽章顯示為活動的獎勵,必須發生以下兩個情況:
此版本包含三個獎勵型徽章:
-
金
/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
自訂徽章 custom-badges
自訂徽章可以使用徽章主控台進行安裝,並在徽章規則中指定或指派。
從「徽章」控制檯安裝後,自訂徽章會自動複製到發佈環境。
啟用評分 enable-scoring
預設不會啟用評分。 設定及啟用徽章評分和獎勵的基本步驟為:
-
識別學習點數的規則(評分規則)。
請參閱快速測試區段,以使用論壇和評論的預設評分和徽章規則來啟用社群網站的評分。
套用規則至內容 apply-rules-to-content
若要啟用評分和徽章,請將屬性scoringRules
和badgingRules
新增至網站內容樹狀結構中的任何節點。
如果網站已發佈,請在套用所有規則並啟用元件後,重新發佈網站。
套用至已啟用徽章的元件的規則為目前節點或其上階的規則。
如果節點的型別為cq:Page
(建議使用),則使用CRXDE|Lite將屬性新增到其jcr:content
節點。
啟用元件的預算 enable-badges-for-component
評分和徽章規則只對已透過在編寫模式中編輯元件組態來啟用徽章的元件執行個體有效。
布林值屬性allowBadges
可啟用/停用元件執行個體的徽章顯示。 可透過標示為 顯示徽章 的核取方塊,在論壇、QnA和註解元件的元件編輯對話方塊中進行設定。
範例:論壇元件例項的allowBadges example-allowbadges-for-forum-component-instance
評分規則 scoring-rules
評分規則是獎勵徽章評分的基礎。
每個評分規則都是一或多個子規則的清單。 評分規則會套用至社群網站內容,以識別啟用徽章時要套用的規則。
評分規則是繼承的,但不會累加。 例如:
-
如果頁面2包含評分規則2,且其上階page1包含評分規則1。
-
page2元件上的動作會同時叫用rule1和rule2。
-
如果兩個規則包含相同
topic/verb
的適用子規則:- 只有規則2的子規則會影響分數。
- 不會新增兩個子規則的分數。
有多個評分規則時,系統會分別維護每個規則的分數。
評分規則是型別cq:Page
的節點,其jcr:content
節點上具有屬性,這些屬性指定定義該規則的子規則清單。
分數會儲存在SRP中。
/libs/settings/community/scoring/rules/site2/forums-scoring
評分子規則 scoring-sub-rules
評分子規則包含詳細說明參與社群之值的屬性。
每個評分子規則都會識別:
- 正在追蹤哪些活動?
- 涉及哪些特定的社群功能?
- 系統會給予多少點數?
依預設,點數會授與採取動作的成員,除非子規則將內容的所有者指定為接收點數( forOwner
)。
每個子規則可包含在一或多個評分規則中。
子規則的名稱通常遵循使用 主旨、物件 和 動詞 的模式。 例如:
- member-comment-create
- 會員 — 接收 — 投票
子規則是型別cq:Page
的節點,其jcr:content
節點上具有指定動詞和主題的屬性。
包含評分規則和子規則 included-scoring-rules-and-sub-rules
發行版本包含論壇功能的兩個評分規則(論壇功能的論壇和評論元件各一個):
-
/libs/settings/community/scoring/rules/comments-scoring
- subRules[] =
/libs/settings/community/scoring/rules/sub-rules/member-comment-create
/libs/settings/community/scoring/rules/sub-rules/member-receive-vote
/libs/settings/community/scoring/rules/sub-rules/member-give-vote
/libs/settings/community/scoring/rules/sub-rules/member-is-modered
- subRules[] =
-
/libs/settings/community/scoring/rules/forums-scoring
- subRules[] =
/libs/settings/community/scoring/rules/sub-rules/member-forum-create
/libs/settings/community/scoring/rules/sub-rules/member-receive-vote
/libs/settings/community/scoring/rules/sub-rules/member-give-vote
/libs/settings/community/scoring/rules/sub-rules/member-is-modered
- subRules[] =
附註:
-
rules
和sub-rules
節點都是cq:Page型別。 -
subRules
是規則jcr:content
節點上型別為String[]的屬性。 -
sub-rules
可以在各種評分規則之間共用。 -
rules
應該位於儲存庫位置,且每個人都有讀取許可權。- 無論位置為何,規則名稱必須是唯一的。
啟用自訂評分規則 activating-custom-scoring-rules
在製作環境中對評分規則或子規則所做的任何變更或新增都必須安裝在發佈上。
徽章規則 badging-rules
徽章規則透過指定以下內容,將評分規則連結至徽章:
- 評分規則
- 要授與特定徽章所需的分數
徽章規則是型別cq:Page
的節點,其jcr:content
節點上具有屬性,可將評分規則與分數和徽章建立關聯。
徽章的規則包含必要的thresholds
屬性,這是對應到徽章的分數排序清單。 分數必須依遞增值排序。 例如:
-
1|/libs/settings/community/badging/images/bronze-badge/jcr:content/bronze.png
- 榮獲銅級徽章者可獲得1分。
-
60|/libs/settings/community/badging/images/silver-badge/jcr:content/silver.png
- 當累積60分時,會授予銀級徽章。
-
80|/libs/settings/community/badging/images/gold-badge/jcr:content/gold.png
- 當累積80分時,會授予金級徽章。
徽章規則會與評分規則配對,這會決定如何累積分數。 請參閱標題為將規則套用至內容的章節。
徽章規則上的scoringRules
屬性只會限制哪些評分規則可以與該特定徽章規則配對。
包含的徽章規則 included-badging-rules
發行中包含兩個徽章規則,分別對應至論壇和評論評分規則。
-
/libs/settings/community/badging/rules/comments-badging
-
/libs/settings/community/badging/rules/forums-badging
附註:
-
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"
要傳遞給伺服器的自訂標頭(必填)
登入 =系統管理員ID:密碼
例如, admin:admin
operation = ":operation=social:assignBadge"或":operation=social:deleteBadge"
badge = "badgeContentPath=badge-image-file"
badge-image-file =儲存庫中徽章影像檔案的位置
例如,/libs/settings/community/badging/images/moderator/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=/libs/settings/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=/libs/settings/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執行個體會將事件記錄為topic
發生的actions
。 SocialEvent包含傳回與動作相關聯之verb
的方法。 actions
與verbs
之間有 n-1 關係。
針對傳遞的Communities元件,下表說明針對每個topic
定義的verbs
,可在評分子規則中使用。
allowBadges
可啟用/停用元件執行個體的徽章顯示。 可透過標示為 顯示徽章 的核取方塊,在更新的元件編輯對話方塊中進行設定。行事曆元件
社交活動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
QnA元件
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會具現化,以將元件事件記錄為topic
發生的actions
。
若要支援評分,SocialEvent需要覆寫方法getVerb()
,以便為每個action
傳回適當的verb
。 針對動作傳回的verb
可以是常用的(例如POST
)或專用於元件的(例如ADD RATING
)。 actions
與verbs
之間有 n-1 關係。
疑難排解 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
- 選取 多個
- 選取 新增
- 輸入
/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 /密碼)。
-
Post為新的論壇主題。
-
頁面必須重新整理才能顯示徽章。
- 登出並以其他社群成員身分登入(例如:aaron.mcdonald@mailinator.com/password)。
-
選取論壇。
由於第一個論壇徽章規則的第一個臨界值是1分,這應該會為社群成員贏取可透過其論壇貼文看到的銅級徽章。
其他資訊 additional-information
開發人員的評分和徽章要點頁面上可找到更多資訊。
如需有關進階評分引擎的資訊,請參閱進階評分與徽章。
可設定的排行榜元件和函式簡化了社群網站上成員及其分數的顯示方式。