ModerationRule
メンバー生成コンテンツをモデレートするためにコミュニティで使用されるルールを表します。各ルールには、ルールの適用対象となるメンバー生成コンテンツ、ルールを適用する条件、および実行するモデレーションアクションを指定します。モデレーションルールは、コミュニティをスパム、ボット、攻撃的または不適切なコンテンツから保護します。Metadata メタデータ型を拡張し、その fullName 項目を継承します。
メタデータ API で作成されたコミュニティモデレーションルールは、[コミュニティ管理] の UI で設定されたモデレーションルールよりも強力です。たとえば、UI では、投稿およびコメントをモデレートするルールを作成できます。メタデータ API では、リンクフィード種別のリンク名のみをモデレートするルールを作成できます。複雑なモデレーションルールを表現するには、メタデータ API を使用します。
モデレーションルールを作成する場合は、次の点に注意してください。
- 組織では、最大 30 個のルールを設定できます。これは、コミュニティ単位ではなく組織単位の制限です。この制限には、コンテンツルールと処理数ルールの両方が含まれます。
- 各ルールには最大 3 つのキーワード条件を含めることができます。
- コンテンツをブロックするルールが最初に実行され、続いてコンテンツを確認し承認するルール、コンテンツを置き換えるルール、コンテンツにフラグを設定するルールの順に実行されます。複数のルールが同じアクションを実行する場合、ルールが作成された日付を基準にして、古い順に実行されます。コンテンツを置き換えるルールは、コンテンツが確認ルールにも適用される場合は実行されません。つまり、コミュニティマネージャが元のコンテンツを確認するようにします。
ファイルのサフィックスおよびディレクトリの場所
ModerationRule コンポーネントのサフィックスは .rule で、このコンポーネントは対応するパッケージディレクトリの moderation ディレクトリに保存されます。ファイル名の形式は、community_name.moderation_rule_developer_name.rule のようになります。
バージョン
ModerationRule コンポーネントは、API バージョン 36.0 以降で使用できます。
特別なアクセスルール
モデレーションルールの参照、作成、編集、削除を行うには、「コミュニティの管理」または「コミュニティの作成および設定」権限が必要です。
項目
| 項目名 | 項目の型 | 説明 |
|---|---|---|
| action | ModerationRuleAction (string 型の列挙) |
必須。実行するモデレーションアクションを示します。有効な値は、次のとおりです。
|
| actionLimit | int | モデレーションアクションの制限を示します。API 39.0 以降で使用できます。 |
| active | boolean | 必須。モデレーションルールが有効か (true)、無効か (false) を示します。 |
| description | string | モデレーションルールの説明。 |
| entitiesAndFields | ModeratedEntityField[] | このモデレーションルールを適用するユーザ生成コンテンツのタイプを示します。 |
| masterLabel | string | 必須。モデレーションルールの表示ラベル。 |
| notifyLimit | int | モデレーションルールの通知制限を示します。API 39.0 以降で使用できます。 |
| userCriteria | string | コミュニティのモデレーションルールで使用するメンバー条件を表します。API 39.0 以降で使用できます。 |
| userMessage | string | コンテンツがブロックされたときにコミュニティメンバーに表示されるメッセージ。%BLOCKED_KEYWORD% 変数を使用して、ブロックされた語を 5 個までユーザメッセージに表示できます。メッセージを指定しないと、メンバーには標準メッセージ「このコミュニティでは、%BLOCKED_KEYWORD% やその他の不適切な語を使用できません。コンテンツを確認してもう一度お試しください。」が表示されます。 |
ModeratedEntityField
モデレートする項目およびエンティティ。
| 項目名 | 項目の型 | 説明 |
|---|---|---|
| entityName | string | 必須。モデレーションルールを適用するユーザ生成コンテンツのタイプを示します。投稿とコメントは、グループおよびユーザプロファイルで作成されたコンテンツにのみ適用されます。すべてのフィード種別 (アンケートやリンクなど) がサポートされています。 |
| fieldName | string | モデレーションルールを適用する項目を示します。 |
| keywordList | KeywordList string | モデレートの対象となるキーワードリストを示します。 |
ModerationRuleType
必須。ユーザが生成したコンテンツを実行するためのルールのタイプを示します。
| 項目名 | 項目の型 | 説明 |
|---|---|---|
| type | (string 型の列挙) |
必須。ユーザが生成したコンテンツを実行するためのルールのタイプを示します。 有効な値は、次のとおりです。
|
RateLimitTimePeriod
必須。処理数制限に適用される期間を示します。
| 項目名 | 項目の型 | 説明 |
|---|---|---|
| timePeriod | (string 型の列挙) |
必須。処理数制限に適用される期間を示します。有効な値は、次のとおりです。
|
宣言的なメタデータの定義のサンプル
ModerationRule コンポーネントの例を次に示します。
1<?xml version="1.0" encoding="UTF-8"?>
2<ModerationRule xmlns="http://soap.sforce.com/2006/04/metadata">
3 <description>Blocks Bad Word List in posts, comments, Link URLs, titles, and poll choices.</description>
4 <masterLabel>Blocking Rule</masterLabel>
5 <action>Block</action>
6 <active>true</active>
7 <userMessage>You can't use %BLOCKED_KEYWORD% or other inappropriate words in this community. Review your content and try again.</userMessage>
8 <!-- Applies the rule to FeedComment.RawCommentBody (an internal only field), if it contains words from the keyword list specified -->
9 <entitiesAndFields>
10 <entityName>FeedComment</entityName>
11 <fieldName>RawCommentBody</fieldName>
12 <keywordList>community1.badword_list</keywordList>
13 </entitiesAndFields>
14 <entitiesAndFields>
15 <entityName>FeedItem</entityName>
16 <fieldName>LinkUrl</fieldName>
17 <keywordList>community1.badword_list</keywordList>
18 </entitiesAndFields>
19 <!-- Applies the rule to FeedItem.RawBody (an internal only field), if it contains words from the keyword list specified -->
20 <entitiesAndFields>
21 <entityName>FeedItem</entityName>
22 <fieldName>RawBody</fieldName>
23 <keywordList>community1.badword_list</keywordList>
24 </entitiesAndFields>
25 <entitiesAndFields>
26 <entityName>FeedItem</entityName>
27 <fieldName>Title</fieldName>
28 <keywordList>community1.badword_list</keywordList>
29 </entitiesAndFields>
30 <entitiesAndFields>
31 <entityName>FeedPollChoice</entityName>
32 <fieldName>ChoiceBody</fieldName>
33 <keywordList>community1.badword_list</keywordList>
34 </entitiesAndFields>
35</ModerationRule>前の定義を参照する package.xml の例を次に示します。
1<?xml version="1.0" encoding="UTF-8"?>
2<Package xmlns="http://soap.sforce.com/2006/04/metadata">
3 <types>
4 <name>ModerationRule</name>
5 <members>community1.blocking_rule</members>
6 </types>
7 <version>36.0</version>
8</Package>マニフェストファイル内のワイルドカードのサポート
このメタデータ型では、package.xml マニフェストファイル内のワイルドカード文字 * (アスタリスク) がサポートされます。マニフェストファイルの使用についての詳細は、「zip ファイルを使用したメタデータのリリースと取得」を参照してください。