Sie befinden sich hier:
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 |
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.
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);
}
}
