コミュニティのスコアとバッジ communities-scoring-and-badges
概要 overview
AEM Communitiesのスコアリングとバッジ機能では、コミュニティメンバーを特定して報酬を与えることができます。
スコアリングとバッジの主な要素は次のとおりです。
-
バッジ を割り当てて、コミュニティ内のメンバーの役割を特定します。
-
メンバーに対するバッジ 🔗の基本授与(作成されたコンテンツの量): メンバーへのバッジの基本授与。
-
メンバーをエキスパートとして識別するためのバッジ の高度な授与(作成されたコンテンツの品質)。
バッジの授与が デフォルトで有効になっていないことを メモ してください。
バッジ badges
バッジはメンバーの名前の下に配置され、メンバーの役割またはコミュニティ内での地位を示します。 バッジは、画像または名前として表示できます。 画像として表示される場合、名前はアクセシビリティのために代替テキストとして含まれます。
デフォルトでは、バッジは次のリポジトリにあります。
/libs/settings/community/badging/images
別の場所に保存されている場合は、全員が読み取りできる状態で読み取る必要があります。
バッジは、ルールに従って割り当てられたか、獲得されたかにかかわらず、UGCで差別化されます。 現在、割り当てられたバッジはテキストとして表示され、獲得されたバッジは画像として表示されます。
バッジ管理UI badge-management-ui
コミュニティ バッジコンソール では、メンバーが獲得(授与)またはコミュニティ内の特定の役割(割り当て)を引き受けたときにメンバーに表示できるカスタムバッジを追加できます。
割り当て済みバッジ assigned-badges
役割ベースのバッジは、管理者がコミュニティ内での役割に基づいてコミュニティメンバーに割り当てます。
割り当てられた(および授与された)バッジは、選択したSRPに保存され、直接アクセスできません。 GUIが使用可能になるまで、ロールベースのバッジを割り当てる唯一の方法は、コードまたはcURLを使用して割り当てることです。 cURLの手順については、「 バッジの割り当てと取り消し」というタイトルのセクションを参照してください。
このリリースには、次の3つのロールベースのバッジが含まれています。
-
モデレーター
/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
報酬ベースのバッジは、スコアリングサービスによって、コミュニティ内での活動に適用されるルールに基づいて、コミュニティメンバーに授与されます。
バッジをアクティビティの報酬として表示するには、次の2つの操作を実行する必要があります。
このリリースには、3つの報酬ベースのバッジが含まれています。
-
ゴールド
/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およびコメントコンポーネントの コンポーネント編集ダイアログ で設定できます。
例:Forum コンポーネントインスタンスのallowBadges example-allowbadges-for-forum-component-instance
スコアリングルール scoring-rules
スコアリングルールは、バッジを授与するためのスコアリングの基盤です。
各スコアリングルールは、1つ以上のサブルールのリストです。 スコアリングルールは、バッジが有効になっている場合に適用するルールを識別するために、コミュニティサイトコンテンツに適用されます。
スコアリングルールは継承されますが、加算されません。 例:
-
page2にスコアリングルール 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)。
各サブルールは、1つ以上のスコアリングルールに含めることができます。
サブルールの名前は、通常、件名、オブジェクト、動詞を使用するパターンに従います。 例:
- member-comment-create
- member-receive-vote
サブルールは、動詞とトピック を指定するjcr:content ノードにプロパティを持つタイプ cq:Pageのノードです。
含まれるスコアリングルールとサブルール included-scoring-rules-and-sub-rules
このリリースには、 フォーラム機能の2つのスコアリングルールが含まれています(フォーラム機能のフォーラムおよびコメントコンポーネント用にそれぞれ1つ)。
-
/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-moderated
- 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-moderated
- subRules[] =
メモ:
-
rulesとsub-rulesの両方のノードのタイプがcq:Pageです。 -
subRulesは、ルールのjcr:contentノードのString[]型の属性です。 -
sub-rulesは、様々なスコアリングルール間で共有できます。 -
rulesは、全員に対する読み取り権限を持つリポジトリの場所にある必要があります。- ルール名は、場所に関係なく一意である必要があります。
カスタムスコアリングルールの有効化 activating-custom-scoring-rules
オーサー環境で行われたスコアリングルールまたはサブルールに対する変更または追加は、パブリッシュにインストールする必要があります。
バッジングルール badging-rules
バッジルールは、次を指定してスコアリングルールをバッジにリンクします。
- スコアリングルール
- 特定のバッジを授与するために必要なスコア
バッジルールは、スコアリングルールをスコアとバッジに関連付けるjcr:content ノード上のプロパティを持つタイプ cq:Pageのノードです。
バッジのルールは、バッジにマッピングされたスコアの順序付きリストである必須の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
このリリースには、 フォーラムとコメントのスコアリングルール に対応する2つのバッジルールが含まれています。
-
/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 -X POST -H ヘッダー -u サインイン -F 操作 -F バッジ メンバープロファイル – url
header = “Accept:application/json”
サーバーに渡すカスタムヘッダー(必須)
signin =管理者id:password
例:admin:admin
operation = “:operation=social:assignBadge"または”:operation=social:deleteBadge"
バッジ = “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
- トンネルサービス が有効になっている場合、オーサーインスタンスを参照できます。
- 不明瞭でランダムな名前である可能性があります。承認可能なIDについては、 セキュリティチェックリスト を参照してください。
例: 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 関係があります。
配信されたコミュニティコンポーネントについて、次の表は、 スコアリングサブルール で使用できるtopicごとに定義されたverbsを示しています。
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
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として記録します。
スコアリングをサポートするには、各actionに対して適切なverbが返されるように、SocialEventがメソッド getVerb()を上書きする必要があります。 アクションに対して返されるverbは、一般的に使用される1つ(例:POST)またはコンポーネントに特化した1つ(例:ADD RATING)です。 actionsとverbsの間に n-1 関係があります。
トラブルシューティング troubleshooting
バッジが表示されない badges-are-not-appearing
スコアリングとバッジルールがweb サイトのコンテンツに適用されていて、バッジがアクティビティに付与されていない場合は、そのコンポーネントのインスタンスでバッジが有効になっていることを確認します。
コンポーネント 🔗のバッジを有効にするを参照してください。
スコアリングルールは効果がありません scoring-rule-has-no-effect
スコアリングとバッジのルールがweb サイトのコンテンツに適用され、一部のアクションに対してバッジが付与されているが、その他のアクションに対してバッジが付与されていない場合は、バッジルールが適用されるスコアリングルールを制限していないことを確認してください。
バッジングルール のscoringRules プロパティを参照してください。
大文字と小文字を区別 case-sensitive-typo
ほとんどのプロパティと値、特に動詞では大文字と小文字が区別されます。 動詞は、スコアリングサブルールで使用する場合、すべて大文字にする必要があります。
機能が期待どおりに動作しない場合は、データが正しく入力されていることを確認します。
クイックテスト quick-test
はじめにチュートリアル (エンゲージ)サイトを使用して、スコアリングとバッジの作成をすばやく試すことができます。
-
作成者のCRXDE Liteへのアクセス。
-
基本ページを参照します。
- /content/sites/engage/en/jcr:content
-
badgingRules プロパティを追加します。
- 名前:
badgingRules - 型:
String - Multiを選択
- 追加を選択
/libs/settings/community/badging/rules/forums-badgingと入力します。- +を選択
/libs/settings/community/badging/rules/comments-badgingと入力します。- 「OK」を選択します。
- 名前:
-
scoringRules プロパティを追加します。
- 名前:
scoringRules - 型:
String - Multiを選択
- 追加を選択
/libs/settings/community/scoring/rules/forums-scoringと入力します。- +を選択
/libs/settings/community/scoring/rules/comments-scoringと入力します。- 「OK」を選択します。
- 名前:
-
「すべて保存」を選択します。
次に、フォーラムとコメントのコンポーネントでバッジを表示できることを確認します。
-
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
詳細については、開発者向けの スコアリングとバッジの基本 ページを参照してください。
高度なスコアリングエンジンについて詳しくは、高度なスコアリングとバッジ を参照してください。
設定可能なリーダーボード コンポーネント と関数は、コミュニティサイトでのメンバーとそのスコアの表示を簡素化します。