Copyright ©
Mindbreeze GmbH, A-4020 Linz, .
Alle Rechte vorbehalten. Alle verwendeten Hard- und Softwarenamen sind Handelsnamen und/oder Marken der jeweiligen Hersteller.
Diese Unterlagen sind streng vertraulich. Durch die Übermittlung und Präsentation dieser Unterlagen alleine werden keine Rechte an unserer Software, an unseren Dienstleistungen und Dienstleistungsresultaten oder sonstigen geschützten Rechten begründet. Die Weitergabe, Veröffentlichung oder Vervielfältigung ist nicht gestattet.
Aus Gründen der einfacheren Lesbarkeit wird auf die geschlechtsspezifische Differenzierung, z.B. Benutzer/-innen, verzichtet. Entsprechende Begriffe gelten im Sinne der Gleichbehandlung grundsätzlich für beide Geschlechter.
Bevor der Microsoft Dynamics CRM Connector installiert wird, muss sichergestellt werden, dass der Mindbreeze Server bereits installiert ist und dieser Connector auch in der Mindbreeze Lizenz inkludiert ist.
Klicken Sie auf den Reiter “Indices” und dann auf das Symbol “Add new index”, um einen neuen Index zu erstellen (optional).
Geben sie den Indexpfad (“Index Path”) ein. Falls nötig, passen Sie den Anzeigenamen („Display Name“) vom Index Service und dem zugehörigen Filter Service an.
Anschließend die „Advanced Settings“ aktiviert werden.
Folgende „Dynamic Constraints“ müssen konfiguriert werden:
Dynamic Constraint Source Expr | category:Undefined |
Dynamic Constraint Pattern | NOT categoryclass:systemuser |
Dynamic Constraint Static Fraction | NOT categoryclass:systemuser |
Fügen Sie eine neue Datenquelle mit dem Symbol „Add new custom source” (zu finden unten rechts) hinzu.
CRM URL* | Die URL zu ihrer Microsoft Dynamics CRM Instanz, z.B. https://msdynamics.mycompany.com/MyCompany |
Organization Service URL | Wenn Sie die URL zum „Organization SOAP Service“ in Ihrer Microsoft Dynamics CRM Instanz geändert haben, können Sie die URL auch hier einstellen, damit der richtige Endpunkt aufgerufen wird. |
Credential* | Das im Network Tab erstellte OAuth 2 Credential. |
Is Microsoft Dynamics CRM Online | Aktivieren Sie diese Option, wenn Sie Microsoft Dynamics CRM Online (d.h. nicht On Premises) verwenden. |
Use REST API | Wenn diese Option aktiviert ist, wird die Microsoft Dynamics CRM REST-API verwendet. Beachten Sie, dass hierfür mindestens Microsoft Dynamics CRM Version 9.0 benötigt wird und bei aktivierter Einstellung nur On-Premises Kerberos und Microsoft Online OAuth 2 Client Credentias Authentisierung unterstützt werden. Wir empfehlen ausdrücklich, diese Einstellung zu aktivieren, da die SOAP-API veraltet ist und es bekannte Probleme gibt. |
Ignore Proxy | Wenn diese Option aktiviert ist, werden die Proxy Settings vom „Network“-Tab für den Crawler ignoriert |
Connection Timeout (Seconds) | Zeit in Sekunden, die auf eine Antwort gewartet werden soll, bevor der API-Call abgebrochen wird. Erhöhen Sie diesen Wert, falls Sie beim Crawlen Timeout Errors bekommen. |
Im letzten Schritt geben Sie an, welche Teiles aus Ihrem CRM in Mindbreeze InSpire indiziert werden sollen.
Gehen Sie zunächst in den Entitätseinstellungen Ihres CRMs. Um alle Entitäten eines bestimmten Entitättyps aus Microsoft Dynamics CRM in Mindbreeze InSpire indizieren zu können, wird der Entitätsname der betreffenden Entität aus Microft Dynamics CRM benötigt.
Der folgende Screenshot zeigt die Konfiguration des Entitättyps „Opportunity“ (im deutschen CRM „Verkaufschance“) in Microsoft Dynamics CRM. In diesem Beispiel sollen alle Verkaufschancen (im Screenshot blau umrandet) indiziert werden, wobei der Microsoft Dynamics CRM Connector den internen Namen des Entitättyps benötigt (Name „opportunity“, im Screenshot rot umrandet).
Zusätzlich wird der interne Names des Hauptfeld für die Konfiguration des Connectors benötigt (im folgenden Screenshot rot umrandet).
Welchseln Sie wieder zu den Datenquellen-Einstellungen in Mindbreeze InSpire und geben Sie alle Entitättypen im Feld „Entity Types“ – getrennt mit einem Zeilenumbruch – ein , die sie indizieren wollen. Wollen Sie alle Verkaufschancen indizieren, so geben Sie in eine neue Zeile im Feld „Entity Types“ den Wert „opportunity“ ein.
Zu jedem eingetragenen Entity Type muss das Hauptfeld im Feld „Primary Name Attributes“ eingetargen werden. Die erste Zeile von „Entity Types“ ist also verknüpft mit der ersten Zeile von „Primary Name Attributes“; die zweite Zeile von „Entity Types“ ist verknüpft mit der zweiten Zeile von „Primary Name Attributes“ und so weiter. Da in diesem Beispiel „opportunity“ in der vorletzten Zeile vom Feld „Entity Types“ steht, muss das dazugehörende Hauptfeld „name“ in der vorletzten Zeile vom Feld „Primary Name Attributes“ stehen.
Mit der Einstellung “Download Attachments” unter „Advanced Settings“ werden Anhänge automatisch als separate Dokumente heruntergeladen.
Hinweis: Diese Funktion wird derzeit nur für Microsoft CRM On-Premises unterstützt.
Mit der Einstellung „Skip Downloading ACL Information” unter „Advanced Settings“ kann man das Herunterladen von ACL-Informationen deaktivieren. Dies führt dazu, dass keine Berechtigungs-Informationen heruntergeladen werden. Diese Option sollte nur in Kombination mit der Index-Einstellung „Unrestricted Public Access“ verwendet werden und nur, wenn öffentlicher Zugriff aller Dokumente explizit gewünscht ist.
Mit dem Advanced Setting „Add Entity Prefix to Key“ werden die Keys aller Dokumente mit dem Entitytyp prefixiert. Damit können eventuelle Keykonflikte vermieden werden.
Mit dem Advanced Setting „Entity Relation Resolution“ kann man zusätzlich noch Datenbankbeziehungen auflösen und die Metadaten der verbundenen Entity in dem Dokument mitindizieren.
Dazu sind folgende Einstellungen notwendig:
Entity Name: Der Name der Entity, von dem die Beziehung ausgeht. Dieser Name muss im Konfigurationsfeld „Entity Types“ enthalten sein.
Foreign Key Column Name: Der Name des Attributes, welche die Referenz auf die andere Entity beinhaltet.
Referenced Entity Name: Der Name der Entity, auf die die Referenz zeigt.
Referenced Column Name: Der Name des Attributes, auf den der Foreign Key der ursprünglichen Entity zeigt, normalerweise eine unique ID der Entity.
Falls die Option „Use REST API“ aktiviert ist, werden „Referenced Entity Name“ und „Referenced Column Name“ nicht benötigt.
Mit dem Setting „Foreign Metadata Prefix“ können die Metadaten der verbunden Entity geprefixt werden.
In CRM finden Sie alle diese Paramter in den Entitätseinstellungen.
In diesem Beispiel wird die Beziehung zwischen Account und Currency aufgelöst:
Die Namen der Entites lassen sich wie oben für das Setting „Entity Types“ finden.
Für die Column Names, suchen Sie zuerst bei den Relationships der Entität nach der Relationship die aufgelöst werden soll:
Wenn Sie die Beziehung öffnen, sehen Sie bei „Lookup Field“ das Feld „Name“. Setzen Sie diesen als „Foreign Key Column Name“.
Der „Referenced Column Name“ ist normalerweise der Primary Key der referenzierten Entity. Meistens ist der Name dieser Column einfach der Name der Entity + „id“. Dies können sie bei den „Fields“ der Entity überprüfen:
Die vollständige Konfiguration von diesem Beispiel sieht dann folgendermaßen aus:
Mit diesem Feature können Sie auch ohne Probleme mehrere Beziehungen pro Entity auflösen.
Falls Sie dieses Feature verwenden, sollten Sie die folgenden Dinge beachten:
Die ACLs der verbundenen Entity werden nicht beachtet, das indizierte Dokument verwendet nur die ACLs der ursprünglichen Entity. Daher sollten sie mit diesem Feature keine Verbindungen zu Entities mit sensiblen Daten auflösen.
Diese Feature unterstützt 1:1 und N:1 Beziehungen. Wenn die Verbindung mit einer anderen Entity mehr als ein Ergebnis pro Eintrag zurückbringt, kann das zu unerwarteten Ergebnissen führen.
Bei 1:N Beziehungen können Sie stattdessen die N Seite indizieren und mit der 1 Seite verbinden, um dieses Problem zu umgehen.
Falls Sie das Setting „Foreign Table Metadata Prefix“ ändern oder eine konfigurierte Entity Relation Resolution entfernen, sollten Sie einen vollständigen Re-index durchführen, ansonsten kann es zu unerwarteten Ergebnissen kommen.
Die folgenden Optionen betreffen die Fehlerbehandlung und Troubleshooting. Konfigurieren Sie diese Settings nur, wenn Sie Probleme beim Indizieren haben.
Maximum Download Retries | Die maximale Anzahl der Wiederholungsversuche beim Herunterladen von Daten aus Microsoft Dynamics CRM. |
Ignore Unsuccessful Entity Types | Wenn deaktiviert, wird bei „Errors“ beim Herunterladen oder Indizieren eines Dokuments der Crawl-Run abgebrochen. Wenn aktiviert und ein Dokument eines Entitätstyps nicht korrekt heruntergeladen oder indiziert werden konnte, werden die verbleibenden Dokumente dieses Entitätstyps ignoriert und der Crawler fährt mit dem nächsten Entitätstyp fort. |
Delete Unprocessed Documents On Error | Wenn diese Option aktiviert ist, und der Crawl-Run aufgrund eines Fehlers abgebrochen wird, werden die nicht verarbeiteten Dokumente gelöscht. |
Log SOAP Requests | Wenn diese Option aktiviert ist, werden alle Requests gegen die Microsoft Dynamics CRM API in ein soap-request-log.csv File geschrieben. |
Die folgenden Optionen betreffen die Verarbeitungsgeschwindigkeit des Crawlers. Ändern Sie diese Settings nur, falls Sie Probleme mit dem Crawl-Run haben.
Concurrent Filter and Index Dispatch Threads | Die Anzahl an Dokumente die gleichzeitig vom Crawler an den Index geschickt werden. |
Page Size | Die Anzahl der Dokumente, die mit einer Anfrage von Microsoft Dynamics CRM abgerufen werden. Wenn Sie diesen Wert erhöhen, erhöht sich die Crawl-Geschwindigkeit, aber es wird auch mehr Speicher verbraucht und es besteht die Gefahr von Timeouts oder API-Limits. |
Maximum Concurrent Content Fetch Connections | Definiert die maximale Anzahl gleichzeitiger Verbindungen, die für den Content Fetch (Download-Action) erlaubt sind. Dies ist nur relevant für das Herunterladen von Attachments. Außerdem ist die Download-Aktion nur verfügbar, wenn Kerberos-Authentifizierung für Microsoft CRM On Premises verwendet wird. |
Um feststellen zu können, welche Benutzer welche Entitäten in Mindbreeze sehen dürfen, muss ein PrincipalResolutionService unter Services hinzugefügt werden.
Wählen Sie im neuen oder bestehenden Service in der Einstellung „Service“ die Option Microsoft Dynamics CRM Principal Resolution aus. Für mehr Informationen über das Erstellen, das grundlegende Konfigurieren eines Cache für einen Principal Resolution Service und weitere Konfigurationsoptionen, siehe Installation & Konfiguration - Caching Principal Resolution Service.
Mit der Option „ACL Cache Expires Minutes“ kann definiert werden, nach wie vielen Minuten die gecasheden Rechteinformationen ablaufen und wieder vom CRM heruntergeladen werden müssen.
Mit der Option „Resolve msDS-PrincipalNames“ wird ein LDAP Server verwendet, um die E-Mail-Adressen von den angemeldeten Benutzern im Mindbreeze Inspire Search Client in msDS-PrincipalNames umzuwandeln. Das ist notwendig, wenn die Usernames im Microsoft Dynamics CRM auch msDS-PrincipalNames sind. Bei manchen Microsoft Dynamics CRM Instanzen (z.B. in der Online Version) kann es vorkommen, dass E-Mail-Adressen als Usernames verwendet werden. In diesem Fall müssen Sie diese Option deaktivieren.
Die Optionen „CRM URL“, „Organization Service URL“, „Is Microsoft Dynamics CRM Online“ und „Ignore Proxy“ müssen, wie in Abschnitt „Connection Settings“ beschrieben, konfiguriert werden.
Wenn die Option „Resolve msDS-PrincipalNames“ aktiviert ist, müssen Sie noch die Konfiguration für den benötigten LDAP Server vornehmen. Wechseln Sie dazu zum Reiter Network und geben Sie bei den LDAP Settings zumindest den Domain Name an.
Im nächsten Schritt muss ein Benutzer unter Credentials konfiguriert werden, der zumindest die Rechte hat, dass er die UPN-Namen aller Benutzer auslesen kann.
Zusätzlich muss unter Endpoints eine Verknüpfung zwischen den LDAP Settings und den hinzugefügten Credentials hergestellt werden. Das Feld Location muss folgendermaßen konfiguriert werden:
dns://<LDAP Server Domain Name> (z.B. dns://mycompany.com)
Wechseln Sie im Mindbreeze Management Center zum Reiter Plugins und fügen Sie unter Credentials die Anmeldeinformationen hinzu:
Nun haben Sie 2 Möglichkeiten, um das angelegte Credential mit dem Crawler und dem Principal Resolution Service zu verknüpfen:
Achtung: Je nachdem, ob Sie eine On Premises Installation oder Microsoft Online verwenden, müssen die Anmeldeinformationen (Credentials) unterschiedlich konfiguriert werden (Username/Passwort oder OAuth 2). Die Art der Authentifizierung wird automatisch vom Connector erkannt, je nachdem, wie Sie den Connector konfiguriert haben. In der folgenden Tabelle finden Sie in der ersten Spalte die verschiedenen Arten der Authetifizierung und in den Spalten rechts daneben, welche Felder in der Credentials Konfiguration ausgefüllt werden müssen (X ist Pfilchtfeld, geklammertes (X) ist ein optionales Feld). Es ist unbedingt erfolderlich, dass die mit X merkierten Felder konfiguriert werden, damit die Authentifizierungsart erkannt werden kann. Bitte lesen Sie dazu auch die folgenden Abschnitte.
Type | Username | Domain | Password | Access Token URL | Client ID | Client Secret | |
On Premises (nur für SOAP) | Username/ Password | X (or email) | (X) | X | |||
On Premises -Kerberos | Kerberos | Kerberos ist separat zu konfigurieren, siehe die Kerberos Authentifizierung Dokumentation und Abschnitt 2.4.2. | |||||
Microsoft Online OAuth 2 Client Credentials | OAuth 2 | X | X | X | |||
Microsoft Online WS-Trust (nur für SOAP) | Username/ Password | X (email) | (X) | X |
Wenn Sie eine On Premises Installation verwendet und die Option „Is Microsoft Dynamics CRM Online” deaktiviert haben, eignet sich diese Authentifizierungsmethode.
Legen Sie einen neuen Account für Microsoft Dynamics CRM an oder verwenden Sie einen bestehenden. Dieser Account muss für alle für das Crawling relevanten Daten im CRM die benötigten Leserechte haben. Am besten eignet sich dazu ein Read-Only-Administrator-Account.
Credentials:
Nun können Sie das Credential im Mindbreeze Management Center im Network Tab konfigurieren, wie im Abschnitt „Anmeldeinformationen“ beschrieben. Wichtig ist, dass Sie folgende Felder konfigurieren:
Wenn Sie eine On Premises Installation verwendet haben und die Option „Is Microsoft Dynamics CRM Online” deaktiviert haben, ist diese Authentifizierungsmethode möglich.
Erstellen Sie ein neues Konto für Microsoft Dynamics CRM oder verwenden Sie ein bestehendes Konto. Dieses Konto muss über die erforderlichen Leserechte für alle Daten in CRM verfügen, die für das Crawling relevant sind. Am besten eignet sich hierfür ein Read-Only-Administrator-Account.
Um die Kerberos-Authentifizierung auf der Mindbreeze Appliance zu konfigurieren, befolgen Sie zunächst die Anweisungen in der Kerberos-Authentifizierung Dokumentation, um die Connector Keytab-Datei zu erstellen, und laden Sie diese im MMC im Menüpunkt „Configuration“ unter der Registerkarte „Authentication“ hoch.
Aktivieren Sie danach im Bereich „Global Kerberos Settings“ die Option „SNEGO based Kerberos“ und legen Sie die hochgeladene keytab-Datei und das Principal für den Microsoft Dynamics CRM Connector und den Microsoft Dynamics CRM Principal Resolution Service fest. Achten Sie beim Festlegen des Principals auf die Groß- und Kleinschreibung.
Wenn Sie eine Microsoft Online Dynamics Instanz haben und die Option „Is Microsoft Dynamics CRM Online” aktiviert haben, wird diese Authentifizierungsmethode empfohlen. Diese Authentifizierungsmethode eignet sich auch, wenn Sie einen föderierten IDP (z.B. Okta) im Einsatz haben, über den sich die Benutzer normalerweise anmelden.
Bei dieser Authentifizierungsmethode wird kein echter Benutzer benötigt, sondern eine Azure App und ein Service-Benutzer in Dynamics. Zum Einrichten gehen Sie bitte wie folgt vor:
Loggen Sie sich bei https://portal.azure.com ein und erstellen Sie im „Azure Active Directory“ eine App, indem Sie unter „App registrations“ auf „New registration“ klicken. Eine Redirect URI wird nicht benötigt.
Erstellen Sie anschließend ein Client Secret im Menü „Certificates & secrets“ und notieren Sie sich das erstellte Client Secret.
Wechseln Sie anschließend zur „Overview“ und notieren Sie sich die „Application (client) ID“ (= Client ID) und den OAuth2 Token Endpoint (v1) oder (v2).
Legen Sie nun einen Application User in Microsoft Dynamics ein, der mit der Azure App verknüpft wird.
Gehen Sie dazu im Microsoft Power Platform Admin Center zu „Environments“, wählen Sie Ihr Microsoft Dynamics Environment aus, und navigieren Sie zu „Settings“, „Users + Permissions“ und dann „Application Users“.
Klicken Sie anschließend auf „New app user“ und suchen Sie nach Ihre Azure App mit Namen oder ID. Weisen Sie anschließend eine „Security role“ zu, um alle für das Crawling relevanten Zugriffe zu bekommen. Eine Read-Only Administrator Rolle eignet sich dafür am besten.
Nun können Sie das Credential im Mindbreeze Management Center im Network Tab konfigurieren, wie im Abschnitt „Anmeldeinformationen“ beschrieben. Wichtig ist, dass Sie folgende Felder konfigurieren:
Wenn Sie eine Microsoft Online Dynamics Instanz haben und die Option „Is Microsoft Dynamics CRM Online” aktiviert haben, kann diese Authentifizierungsmethode verwendet werden.
Achtung: Diese Authentifizierungsmethode ist von Microsoft deprecated und wird von neuen Instanzen nicht mehr unterstützt. Verwenden Sie stattdessen OAuth 2 Client Credentials (siehe oben).
Wenn Sie aus irgendeinem Grund trotzdem diese Authentifizierungsart verwenden möchten, gehen Sie bitte wie folgt vor: Legen Sie einen neuen Account für Microsoft Dynamics an oder verwenden Sie einen bestehenden. Dieser Account muss für alle für das Crawling relevanten Daten im Dynamics die benötigten Leserechte haben. Am besten eignet sich dazu ein Read-Only-Administrator-Account.
Testen Sie anschließen den Account, indem Sie sich in Ihr Microsoft Dynamics einloggen und prüfen Sie, ob sie alle für das Crawling relevanten Daten sehen können.
Nun können Sie das Credential im Mindbreeze Management Center im Network Tab konfigurieren, wie im Abschnitt „Anmeldeinformationen“ beschrieben. Wichtig ist, dass Sie folgende Felder konfigurieren:
In Microsoft Dynamics CRM stehen Entitäten oft in Bezug zu anderen Entitäten (oft auch zu Entitäten eines anderen Entität-Typs). Um Attribute der verknüpften Entität im Suchclient anzeigen zu können, müssen „Synthesized Metadata“ konfiguriert werden. Dazu müssen zuerst die „Advanced Settings“ aktiviert werden.
Klicken Sie auf das Symbol „Add Composite Property“ und vergeben Sie einen Namen für das referenzierte Attribut im Feld „Name“.
Die Verknüpfung wird im Feld „Property Expression“ mit folgendem Muster hergestellt: mscrm_<Fremdschlüssel-Attribut>/mscrm_<Attribut im Referenzierten Dokument>.
Im „categoryDescriptor.xml“ kann der Name (im Screenshot „mscrm_parentcustomer_name“) dann als Metadatadatums-ID verwendet werden.
Folgende Synthesized Metadata Definitions müssen konfiguriert werden, da diese im standardmäßig mitgelieferten „categoryDescriptor.xml“ verwendet werden:
Wenn Sie Probleme bei der Indizierung haben, können folgende Tipps hilfreich sein: