Mindbreeze GmbH, A-4020 Linz, 2021.
All rights reserved. All hardware and software names used are brand names and/or trademarks of their respective manufacturers.
These documents are strictly confidential. The submission and presentation of these documents does not confer any rights to our software, our services and service outcomes, or any other protected rights. The dissemination, publication, or reproduction hereof is prohibited.
For ease of readability, gender differentiation has been waived. Corresponding terms and definitions apply within the meaning and intent of the equal treatment principle for both sexes.
Create a new account for Microsoft Dynamics CRM. This account must have the required read access rights for all data relevant for crawling in CRM. A read-only administrator account is best suited for this purpose.
Then test the account by logging in to your Microsoft Dynamics CRM and checking whether you can see all the data relevant for crawling.
Create a new account for Microsoft Dynamics CRM. This account must have the required read rights for all data in CRM that is relevant for crawling. A read-only administrator account is the best way to do this.
Then, test the account by logging on to your Microsoft Dynamics CRM and verify that you can see all data that is relevant for crawling.
Click the “Indices” tab and then click the “Add new index” icon to create a new index (optional).
Enter the index path. If necessary, adjust the display name of the index service and the associated filter service.
The following “Dynamic Constraints” must be configured:
Dynamic Constraint Source Expr
Dynamic Constraint Pattern
Dynamic Constraint Static Fraction
Add a new data source with the “Add new custom source” icon (located at the bottom right).
Now enter the URL for your CRM in the “CRM URL” field.
You can disregard the “Organization Service URL” field if you have not changed the URL to the “Organization SOAP Service” of your Microsoft Dynamics CRM instance.
The credentials are specified with the "Credential" option. More detailed information about this can be found in the section "Credentials".
If you use Microsoft Dynamics CRM Online (that is, not on-premise), select the "Is Microsoft Dynamics CRM Online" option.
If you want the proxy settings from the "Network" tab to be ignored for the crawler, check the "Ignore Proxy" option.
With the Advanced Setting "Entity Relation Resolution" you can also resolve database relationships and index the metadata of the connected entity in the document.
The following settings are necessary for this:
With the setting "Foreign Metadata Prefix" the metadata of the connected entity can be prefixed.
In CRM, you will find all these parameters in the entity settings.
In this example, the relationship between Account and Currency is resolved:
Entity Names can be found as above for the Entity Types setting.
For the Column Names, first look in the Relationships of the entity for the relationship to be resolved:
When you open the relationship, you will see the field "Name" under "Lookup Field". Set this as the "Foreign Key Column Name".
The "Referenced Column Name" is usually the primary key of the referenced entity. Most of the time the name of this column is simply the name of the entity + "id". You can check this in the "Fields" of the entity:
The complete configuration of this example looks like this:
With this feature you can also easily resolve multiple relationships per entity.
If you use this feature, you should be aware of the following things:
For the final step, specify which part(s) of your CRM should be indexed in Mindbreeze InSpire.
First, go to the entity settings of your CRM. The entity name of the relevant entity from Microsoft Dynamics CRM is required to index all entities of a particular entity type from Microsoft Dynamics CRM in Mindbreeze InSpire.
The following screenshot shows the configuration of the entity type “Opportunity” in Microsoft Dynamics CRM. In this example, all sales opportunities (blue-bordered in the screenshot) are to be indexed; the Microsoft Dynamics CRM connector requires the internal name of the entity type (name "opportunity", red-bordered in the screenshot).
In addition, the internal name of the main field is required for the configuration of the connector (red-bordered in the following screenshot).
Navigate back to the data source settings in Mindbreeze InSpire and enter all the entity types you want to index in the “Entity Types” field, separated by a line break. If you want to index all sales opportunities, enter the value “opportunity” in a new line in the field “Entity Types”.
For each entity type entered, the main field must be entered in the “Primary Name Attributes” field. The first line of “Entity Types” is linked to the first line of “Primary Name Attributes”; the second line of “Entity Types” is linked to the second line of “Primary Name Attributes” and so on. Since “opportunity” is written in the last line of the field “Entity Types” in this example, the corresponding main field “Name” must be placed in the last line of the field “Primary Name Attributes”.
To determine which users are allowed to see which entities in Mindbreeze, you need to add a PrincipalResolutionService under Services.
“Microsoft Dynamics CRM Principal Resolution" must be selected in the drop-down list Service.
You must also specify a free port in the Bind Port field.
The "ACL Cache Expires Minutes" option can be used to define the number of minutes after which the cached rights information will expire and have to be re-downloaded from the CRM.
With the option "Resolve msDS-PrincipalNames" an LDAP server is used to convert the email addresses of the users logged into Mindbreeze Inspire Search Client to msDS-PrincipalNames. This is necessary if the user names in Microsoft Dynamics CRM are also msDS PrincipalNames. With some Microsoft Dynamics CRM instances (e.g. in the online version) it can happen that e-mail addresses are used as usernames. In this case, you have to disable this option.
The "CRM URL", "Organization Service URL", "Is Microsoft Dynamics CRM Online", and "Ignore Proxy" options must be configured as described in the "Connection Settings" section.
In the next step, the "Microsoft CRM Principal Service" needs to be added to the data source configured in Section 3.2. Select the service you just configured from the Caching Principal Resolution Service drop-down list.
If the option "Resolve msDS-PrincipalNames" is activated, you also need to configure the required LDAP server. Switch to the Network tab and enter the domain name in the LDAP settings as a minimum.
In the next step, you need to configure a user under Credentials who, at a minimum, has the rights to read the UPN names of all users.
In addition, you need to create a link under Endpoints between the LDAP settings and the added credentials. The Location field must be configured as follows:
dns://<LDAP Server Domain Name> (e.g. dns://mycompany.com)
For the next step, you’ll need the login information from chapter “Creating and Testing a Crawler Account”. In the Mindbreeze management UI, switch to the Plugins tab and add the credentials/login information under Credentials:
Now you have 2 possibilities to link the created credential with the crawler and the principal resolution service:
Note: Your CRM must be configured to run the logins via AD FS (Active Directory Federation Services).
In Microsoft Dynamics CRM, entities are often related to other entities (frequently also to entities of a different entity type). In order to display attributes of the linked entity in the search client, ”synthesized metadata” needs to be configured. To do this, the “Advanced Settings” must be activated first.
Click the “Add Composite Property” icon and assign a name for the referenced attribute in the “Name” field.
The link is created in the “Property Expression” field using the following pattern: mscrm_<Fremdschlüssel-Attribut>/mscrm_<Attribut im Referenzierten Dokument>.
In “categoryDescriptor.xml”, the name (“mscrm_parentcustomer_name” in the screenshot) can then be used as the metadata date ID.
The following Synthesized Metadata Definitions have to be configured, as they are used in the “categoryDescriptor.xml” which is included in the standard delivery:
Property expression: mscrm_parentaccountid/mscrm_name
Property expression: mscrm_owninguser/mscrm_fullname
Property expression: mscrm_parentcontactid/mscrm_fullname
If you are having problems with indexing, the following tips may be helpful:
Check the logon information. Are they correct?
Are the configured URLs correct?
You may not want the configured proxy from the "Network" tab to be used. If this is the case, you can check the "Ignore Proxy" option.
Does the crawl run abort after some time, e.g. because there has been a read timeout? It may help to set the "Page Size" to a lower value. You can also try to set "Maximum Download Retries" to a higher value or activate "Ingnore Unsuccessful Entity Types" to at least try to index content from other tables.