Loading
システム管理者に対するフィッシング耐性MFA・全従業員ユーザーMFAの適用のお知らせ 続きを読む
ただいま大変多くのお問い合わせをいただいており、ご連絡までにお時間を頂戴しております続きを読む
Experience Cloud
項目にフラグを設定する Apex トリガーの設定

項目にフラグを設定する Apex トリガーの設定

トリガーを使用して、Experience Cloud サイトで項目に自動的にフラグを設定する高度なカスタムモデレーションロジックを作成します。

必要なエディション

使用可能なインターフェース: Salesforce Classic および Lightning Experience の両方
使用可能なエディション: Enterprise Edition、Performance Edition、Unlimited Edition、および Developer Edition
必要なユーザー権限
トリガーを作成する 「すべてのデータの編集」
ヒント
ヒント この操作を UI で実行できます。ほとんどのサイトでは、カスタムモデレーショントリガーは必要ありません。モデレーションルールと条件は、エクスペリエンスワークスペースで直接作成できます。詳細は、「Experience Cloud サイトをモデレートするルールの作成」 を参照してください。

トリガーを使用して自動的に項目にフラグを設定すると、Experience Cloud サイトをバックグラウンドでモデレートできます。これらのフラグは、モデレーターにのみ表示されます。エクスペリエンスワークスペースでのフラグの表示、API でのフラグのクエリ、カスタムレポートタイプを使用したフラグ付き項目やフラグ付き項目が最も多いユーザーなどに関するレポートの作成ができます。

トリガーを作成するときは、次の点に留意してください。

  • Apex は、FeedItem、FeedComment、ChatterMessage、または ContentDocument にトリガーを挿入した後に作成します。
  • 条件は、満たされたら FeedComment、FeedItem、ChatterMessage、または ContentDocument を親として NetworkModeration (フラグ) レコードを作成するように定義します。
例

次のトリガーは、サイト内の BadWord を含む投稿に自動的にフラグを設定します。

trigger autoflagBadWordOnPost on FeedItem (after insert) {

    List<NetworkModeration> flags = new List<NetworkModeration>();
    
    for (FeedItem rec : trigger.new) {
        if (!<NetworkId>.equals(rec.networkScope)){
            continue;
        }

        if (rec.body.indexOf('BadWord') >= 0) {
            NetworkModeration nm = new NetworkModeration(EntityId = rec.id, Visibility = 'ModeratorsOnly');
            flags.add(nm);
        }
    }
    
    if (!flags.isEmpty()) {
        insert(flags);
    }
}

コメントに対する同様のトリガーは、次のようになります。

trigger autoflagBadWordOnComment on FeedComment (after insert) {
    List<NetworkModeration> flags = new List<NetworkModeration>();
    
    for (FeedComment rec : trigger.new) {
        if (!<NetworkId>.equals(rec.networkScope)) {
            continue;
        }

        if (rec.commentBody.indexOf('BadWord') >= 0) {
            NetworkModeration nm = new NetworkModeration(EntityId = rec.id, Visibility = 'ModeratorsOnly');
            flags.add(nm);
        }
    }
    
    if (!flags.isEmpty()){
        insert(flags);
    }
}
 
読み込み中
Salesforce Help | Article