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.
Geben Sie nun den URL zu Ihrem CRM im Feld „CRM URL“ ein.
Das Feld „Organization Service URL“ können Sie ignorieren, sofern sie den URL zum „Organization SOAP Service“ Ihrer Microsoft Dynamics CRM Instanz nicht geändert haben.
Die Anmeldeinformationen werden mit der Option „Credential“ angegebe. Genauere Informationen dazu finden Sie im Abschnitt „Anmeldeinformationen“.
Wenn Sie Microsoft Dynamics CRM Online verwenden (also nicht On Premises), aktivieren Sie die Option „Is Microsoft Dynamics CRM Online“.
Wenn die Proxy Settings vom „Network“-Tab für den Crawler ignoriert werden sollen, aktivieren Sie die Option „Ignore Proxy“.
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 letzten Zeile vom Feld „Entity Types“ steht, muss das dazugehörende Hauptfeld „name“ in der letzten Zeile vom Feld „Primary Name Attributes“ stehen.
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.
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 mehrer 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.
Um feststellen zu können, welche Benutzer welche Entitäten in Mindbreeze sehen dürfen, muss ein PrincipalResolutionService unter Services hinzugefügt werden.
In der Drop-Down-Liste Service muss „Microsoft Dynamics CRM Principal Resolution“ ausgewählt werden.
Im Feld Bind port muss ein freier Port angegeben werden.
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.
Im nächsten Schritt muss der „Microsoft CRM Principal Service“ zur konfigurierten Datenquelle hinzugefügt werden. Wählen Sie dazu in der Drop-Down-Liste Caching Principal Resolution Service den gerade konfigurierten Service aus.
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 | Username/ Password | X (or email) | (X) | X | |||
Microsoft Online OAuth 2 Client Credentials | OAuth 2 | X | X | X | |||
Microsoft Online WS-Trust | 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 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 Dynamics ein, der mit der Azure App verknüpft wird. Gehen Sie dazu in den Dynamics Settings auf „Security“ „Users“ und wechseln Sie zur „Application Users“ Ansicht. Klicken Sie anschließend auf „New“ und fügen Sie „Application ID“ der Azure App ein. Weisen Sie anschließend eine „security role“ zu, um alle für das Crawling relevanten Zugriffe zu bekommen. Am besten eignet sich dafür eine Read-Only Administrator Rolle.
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: