Loading
Experience Cloud
Einrichten von Apex-Auslösern für das Kennzeichnen von Elementen

Einrichten von Apex-Auslösern für das Kennzeichnen von Elementen

Verwenden Sie Auslöser zum Erstellen einer benutzerdefinierten erweiterten Moderationslogik, mit der Elemente in Ihrer Experience Cloud-Site automatisch gekennzeichnet werden.

Erforderliche Editionen

Verfügbarkeit: Salesforce Classic und Lightning Experience
Verfügbarkeit: Enterprise, Performance, Unlimited und Developer Edition
Erforderliche Benutzerberechtigungen
Erstellen von Auslösern: Alle Daten modifizieren
Tipp
Tipp Wussten Sie, dass Sie diese Aktionen in der UI vornehmen können? Für die meisten Sites sind keine benutzerdefinierten Moderationsauslöser erforderlich. Sie können Moderationsregeln und -kriterien direkt in den Erfahrungsarbeitsumgebungen erstellen. Weitere Informationen finden Sie unter Erstellen von Regeln zum Moderieren Ihrer Experience Cloud-Site.

Durch die Verwendung von Auslösern zum automatischen Kennzeichnen von Elementen können Sie Ihre Experience Cloud-Site im Hintergrund moderieren. Diese Kennzeichen sind nur für Moderatoren sichtbar. Sie können Kennzeichen in den Erfahrungsarbeitsumgebungen anzeigen, sie in der API abfragen oder benutzerdefinierte Berichtstypen verwenden, um Berichte über gekennzeichnete Elemente, Personen, deren Elemente am häufigsten gekennzeichnet wurden, usw. zu erstellen.

Berücksichtigen Sie beim Erstellen von Auslösern Folgendes:

  • Erstellen Sie Apex nach dem Einfügen von Auslösern in "FeedItem", "FeedComment", "ChatterMessage" oder "ContentDocument".
  • Definieren Sie Kriterien, die bei Erfüllung einen NetworkModeration-Datensatz (Kennzeichen) erstellen, und zwar mit "FeedComment", "FeedItem", "ChatterMessage" oder "ContentDocument" als übergeordnetes Element.
Beispiel
Beispiel

Dieser Auslöser gekennzeichnet automatisch die Posts auf Ihrer Site, die BadWord enthalten.

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);
    }
}

Ein ähnlicher Auslöser für Kommentare sieht in etwa so aus.

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);
    }
}
 
Laden
Salesforce Help | Article