Contact Merge anpassen: Suchtreffer aus verschiedenen Datenquellen zusammenfassen
November 2021. MetaDirectory 5 Enterprise
Häufig werden Daten zu ein und dem selben Kontakt parallel in verschiedenen Datenquellen gespeichert. So finden sich bspw. bestellrelevante Daten zu einem Kontakt in einem ERP System, Support-Daten in einem Ticketsystem und allgemeine sowie Marketing-Daten im CRM. Die Möglichkeit diese Daten zusammengefasst in einem Suchergebnis darzustellen bietet nun das neue Webportal des MetaDirectory. Durch Aktivierung des Features "Contact Merge" werden Kontakte mit gleicher E-Mail-Adresse oder gleicher SIP-Adresse automatisch zusammengeführt und alle Informationen als ein Kontakt dargestellt.
Die Kriterien, die zu einem Zusammenführen der Kontakte führen, können auf dem MetaDirectory Server frei definiert werden.
Beispiel Suchergebnis ohne und mit Contact Merge
Hier sehen Sie an einem Beispiel mit zwei Kontakten mit der gleichen PLZ (hier im Beispiel fiktiv die 1337), wie Suchtreffer angezeigt werden.
Beispiel Screenshot: MetaDirectory Administrator - Datenbank-Abfrage - Datenbank-Suche
Ohne Contact Merge
Über die Web-Suche werden in diesem Beispiel - ohne Contact Merge - zwei unterschiedliche Kontakte geliefert:
Beispiel Screenshot: Suche nach PLZ in der Web-Oberfläche - ohne Contact Merge
Mit aktivem Contact Merge
Mit aktivem Contact Merge wird auf der Web-Oberfläche nun folgendes ausgegeben:
Beispiel Screenshot: Suche nach PLZ in der Web-Oberfläche - mit aktivem Contact Merge
Beispiel Screenshot: Suche nach PLZ in der Web-Oberfläche - mit aktivem Contact Merge - Gefundene Einträge
Vorgehensweise
Die Konfiguration erfolgt über e3_merge.js im MetaDirectory Installationsverzeichnis:
C:\Program Files\estos\MetaDirectory\wwwroot
Referenzierte Felder
Nun kommt es darauf an, auf welches Feld im Kontakt referenziert werden soll.
Ein Feld
Kommt ein Feld zum Einsatz, das nur einmal vorhanden ist (im nachfolgenden Beispiel das Feld "postalCode"), genügt folgender Code:
function fnMergeMatch(jsnContactA, jsnContactB)
{
return (jsnContactA.postalCode == jsnContactB.postalCode);}
Download Beispiel .js-Datei
Mehrere Felder
Sollen mehrere Abgleiche gemacht werden z. B. für mehrere E-Mail-Adressen Felder für ein Mail-Adressen-Feld (von dem es drei verschiedene gibt), sollte der Code z. B. so aussehen:
function fnMergeMatch(jsnContactA, jsnContactB)
{
return (jsnContactA.mail == jsnContactB.mail || jsnContactA.mail2 == jsnContactB.mail2 || jsnContactA.mail3 == jsnContactB.mail3);
}