Mithilfe des ServiceNow Connectors können Sie ihre ServiceNow Instanz an Mindbreeze InSpire anbinden.
Bitte beachten Sie, dass gewisse Arten von ServiceNow-Berechtigungen im Connector nicht abgebildet sind und dies dazu führen kann, dass betroffene Dokumente in der Mindbreeze InSpire Suche nicht gefunden werden können. Folgende Berechtigungsarten werden nicht unterstützt:
Vor der Installation des ServiceNow Connectors muss sichergestellt werden, dass der Mindbreeze Server installiert und der SerivceNow Connector in der Lizenz inkludiert ist.
Damit Mindbreeze InSpire Ihre ServiceNow Instanz anbinden kann, müssen Sie zuerst Konfigurationen in Ihrer ServiceNow Instanz durchführen.
Legen Sie in ServiceNow einen neuen Benutzer an, der im Mindbreeze ServiceNow Connector zum Crawlen von ServiceNow verwendet werden kann (siehe ServiceNow Dokumentation: Create a user). Der Benutzer muss dabei folgende Rollen haben:
Zusätzlich muss der Benutzer Lesezugriff auf die benötigten Tabellen haben. Dies kann auf zwei verschiedene Arten realisiert werden:
Aktivieren Sie in Ihrer ServiceNow-Instanz OAuth2 und erstellen Sie eine neue OAuth2 Application. Siehe ServiceNow Dokumentation: Enable OAuth with inbound REST
Öffnen Sie das Mindbreeze Management Center im Browser, um mit der Konfiguration beginnen zu können.
Fügen Sie im Tab Indices mit dem Button +Add Index einen neuen Index hinzu. Wählen Sie den gewünschten Index Node und Client Service aus und geben Sie im Feld Data Source die Datenquelle ServiceNow an. Bestätigen Sie Ihre Eingaben anschließend mit dem Button Apply.
Konfigurieren Sie nun die Datenquelle.
Legende:
Einstellung | Beschreibung |
Instance URL* | Die URL zur ServiceNow Instanz, z.B. https://myorganization.service-now.com/. |
Token URL* | Die URL zum Token Endpoint, z.B. https://myorganization.service-now.com/oauth_token.do. |
Grant Type* | Der Grant Type zum Abholen des OAuth2 Tokens (normalerweise „password“). |
Client Id* | Die Client ID der in ServiceNow konfigurierten OAuth2 Application. |
Client Secret* | Das Client Secret der in ServiceNow konfigurierten OAuth2 Application. |
Username* | Der Username des Crawler Users. |
Password* | Das Passwort des Crawler Users. |
Einstellung | Beschreibung |
Page Size | Die Page Size der REST API Bulk Requests (default 1000) |
Einstellung | Beschreibung |
Index Knowledge Articles | Wenn aktiv, wird die Tabelle indiziert (z.B. wenn „Index Knowledge Articles“ aktiv ist, werden Knowledge Articles gecrawlt). Standardeinstellung: Aktiviert |
Constraint Query for Knowledge Articles | Schränkt den Crawler ein, um nur bestimmte Knowledge Articles zu indizieren. Für mehr Informationen, siehe das Kapitel Constraint Queries. |
Index Catalog Items | Wenn aktiv, wird die Tabelle indiziert (z.B. wenn „Index Catalog Items“ aktiv ist, werden Catalog Items gecrawlt). Standardeinstellung: Aktiviert |
Constraint Query for Catalog Items | Schränkt den Crawler ein, um nur bestimmte Catalog Items zu indizieren. Für mehr Informationen, siehe das Kapitel Constraint Queries. |
Index Incidents | Wenn aktiv, wird die Tabelle indiziert (z.B. wenn „Index Incidents“ aktiv ist, werden Incidents gecrawlt). Standardeinstellung: Aktiviert |
Constraint Query for Incidents | Schränkt den Crawler ein, um nur bestimmte Incidents zu indizieren. Für mehr Informationen, siehe das Kapitel Constraint Queries. |
Index Problems | Wenn aktiv, wird die Tabelle indiziert (z.B. wenn „Index Problems“ aktiv ist, werden Problems gecrawlt). Standardeinstellung: Aktiviert |
Constraint Query for Problems | Schränkt den Crawler ein, um nur bestimmte Problems zu indizieren. Für mehr Informationen, siehe das Kapitel Constraint Queries. |
Generic Tables Definiert Tabellen für die Indizierung, die keine Knowledge Article, Catalog Items, Incidents oder Problems sind. | |
Table Name* | Der Tabellenname. |
Constraint Query | Einschränkung der zu indizierenden Records mittels Service Now Filter. Für mehr Informationen, siehe das Kapitel Constraint Queries. |
Fields | Eine Liste von Spalten der Tabelle, die indiziert werden sollen (getrennt durch Zeilenumbruch). Wird die Liste leer gelassen, werden alle Spalten indiziert |
Title Column* | Der Spaltenname, der als Titel verwendet werden soll |
Content Column | Der Spaltenname, der als Dokumentinhalt verwendet werden soll |
Content Extension | Die Dateierweiterung (z.B. txt oder html). Nur relevant, wenn Content Column gesetzt ist. |
Einstellung | Beschreibung |
Use Access Control Lists | Rollen von ServiceNow ACLs werden auf Mindbreeze Dokumente gesetzt. Dabei werden nur ACLs auf Tabellen-Ebene (kein Support auf Spalten-Ebene) berücksichtigt. Außerdem werden die Felder „Condition“ und „Script“ in den ServiceNow ACLs nicht berücksichtigt. Verwenden Sie diese Option, wenn Sie im Principal Resolution Service die Option „Resolve ACLs“ verwenden. |
Use User Criteria | ServiceNow User Criteria werden als Mindbreeze ACLs auf Knowledge Articles und Catalog Items gesetzt. Das Feld “Script” wird dabei nicht unterstützt. Verwenden Sie diese Option, wenn Sie im Principal Resolution Service die Option „Resolve User Criteria“ verwenden. |
Extended User Criteria Conditions | Extended User Criteria Conditions, welche im ServiceNow Caching Principal Resolution Service aufgelöst werden. Wenn es in ServiceNow Extended User Criteria Conditions gibt, die hier nicht angegeben sind, können Dokumente die diese Conditions verwenden, nicht gefunden werden. Da in diesem Fall mehr Requests gegen die ServiceNow API gemacht werden müssen, kann sich dies auch negativ auf die Crawl Geschwindigkeit auswirken. Wichtig: Konfigurieren Sie diese Option identisch zu der Option im ServiceNow Caching Principal Resolution Service. Ansonsten kann die Zugriffsstruktur nicht korrekt abgebildet werden. |
KB Article Principals Size Optimization (Advanced Setting) | Reduziert die Anzahl der Principal Containers, wenn User Criteria verwendet werden. Diese Option ist standardmäßig aktiv und sollte normalerweise nicht deaktiviert werden. Wenn Sie jedoch trotzdem deaktiviert werden soll, dann muss sie auch im CachingServiceNowPrincipalResolutionService deaktiviert werden, damit die Berechtigungen korrekt funktionieren. |
Wenn Sie die Option „Use Access Control Lists” verwenden, müssen ACL-Referenzen am Index konfiguriert werden. Aktivieren Sie dazu in den Advanced Settings in der Index-Konfiguration die Option „Use ACL References“.
Zusätzlich wird empfohlen, die folgenden Optionen zu konfigurieren, um die Dokumente in der Suche zu verstecken, die nur als ACL-Referenzen verwendet werden:
Einstellung | Eingabe |
Dynamic Constraint Source Expr | category:Undefined |
Dynamic Constraint Pattern | NOT aclReference:true |
Dynamic Constraint Static Fraction | NOT aclReference:true |
Von diesem Plugin nicht unterstützte ServiceNow User Criteria werden in „objects-log.csv“ des aktuellen Log-Verzeichnisses mitprotokolliert:
Caching Principal Resolution Service: User Criteria, die nicht aufgelöst werden können („Advanced“: „true“)
Die folgenden Einstellungen können sowohl in den Crawler Settings als auch in den Caching Principal Resolution Service Settings vorgenommen werden:
Einstellung | Beschreibung |
Log Objects to CSV (Advanced Setting) | Wenn aktiv, werden prozessierte Objekte mitprotokolliert. |
Log Level (Advanced Setting) | Drei Optionen stehen zur Auswahl:
Diese Einstellung ist nur effektiv, wenn „Log Objects to CSV“ aktiv ist. |
Dump User Criteria to CSV | Wenn aktiv, werden CSV Dump Files im aktuellen Log-Verzeichnis abgelegt:
|
Einstellung | Beschreibung |
Open URL Template* | Ein Template für die URL, die zum Öffnen eines Suchresultats verwendet wird. Die Platzhalter {{instnace_url}}, {{table}} und {{sys_id}} können dabei verwendet werden, z.B.: |
Wählen Sie im neuen oder bestehenden Service in der Einstellung „Service“ die Option CachingServiceNowPrincipalResolutionService aus. Für mehr Informationen über weitere Konfigurationsoptionen und über das Erstellen und das grundlegende Konfigurieren eines Cache für einen Principal Resolution Service, siehe Installation & Konfiguration - Caching Principal Resolution Service.
Die folgenden Tabellen beschreiben die Einstellungen, die Sie beim Caching Principal Resolution Service vornehmen können.
Legende:
Einstellung | Beschreibung |
Instance URL* | Die URL zur ServiceNow Instanz, z.B. https://myorganization.service-now.com/. |
Token URL* | Die URL zum Token Endpoint, z.B. https://myorganization.service-now.com/oauth_token.do. |
Grant Type* | Der Grant Type zum Abholen des OAuth2 Tokens (normalerweise „password“). |
Client Id* | Die Client ID der in ServiceNow konfigurierten OAuth2 Application. |
Client Secret* | Das Client Secret der in ServiceNow konfigurierten OAuth2 Application. |
Username* | Der Username des Crawler Users. |
Password* | Das Passwort des Crawler Users. |
Einstellung | Beschreibung |
Page Size | Die Page Size der REST API Bulk Requests (default 1000). |
Einstellung | Beschreibung |
Eine Constraint Query, um einzuschränken, welche User beim Updaten des Caches von ServiceNow abgeholt werden. Für mehr Informationen, siehe das Kapitel Constraint Queries. Mit dieser Einstellung kann der Cache auf relevante User eingeschränkt werden. | |
Resolve ACLs | Rollen von ServiceNow ACLs werden aufgelöst. Dabei werden nur ACLs auf Tabellen-Ebene (kein Support auf Spalten-Ebene) berücksichtigt. Außerdem werden die Felder „Condition“ und „Script“ in den ServiceNow ACLs nicht berücksichtigt. Verwenden Sie diese Einstellung, wenn Sie im Crawler die Option „Use Access Control Lists“ verwenden. |
Resolve User Criteria | Users, Groups, Roles, Companies, Locations und Departments von User Criteria werden aufgelöst. Das Feld “Script” wird dabei nicht berücksichtigt. Verwenden Sie diese Einstellung, wenn Sie im Crawler die Einstellung „Use User Criteria“ verwenden. |
Extended User Criteria Conditions, welche aufgelöst werden sollen. Die Conditions können entweder mit dem internen Spaltennamen angegeben werden (z.B. „u_my_condition“) oder mit dem Anzeigenamen (z.b. „My Condition“). Wichtig: Konfigurieren Sie diese Einstellung identisch zu der Einstellung im ServiceNow Crawler. Ansonsten kann die Zugriffsstruktur nicht korrekt abgebildet werden. | |
Resolve Knowledge Article User Criteria | Wenn diese Einstellung aktiviert ist, werden die User Criteria für Knowledge Article aufgelöst. Für bessere Performance oder Berechtigungskontrolle können Sie diese Einstellung deaktivieren, wenn Sie keine Knowledge Articles indizieren. |
Eine Constraint Query, um einzuschränken, welche Knowledge Article User Criteria aufgelöst werden. Für mehr Informationen, siehe das Kapitel Constraint Queries. Diese Einstellung sollte identisch zum Crawler konfiguriert sein. | |
Resolve Catalog Item User Criteria | Wenn diese Einstellung aktiviert ist, werden die User Criteria für Catalog Items aufgelöst. Für bessere Performance oder Berechtigungskontrolle können Sie diese Einstellung deaktivieren, wenn Sie keine Catalog Items indizieren. |
Constraint Query for Catalog Items | Eine Constraint Query, um einzuschränken, welche Category Item User Criteria aufgelöst werden. Für mehr Informationen, siehe das Kapitel Constraint Queries. Diese Einstellung sollte identisch zum Crawler konfiguriert sein. |
Resolve HR Criteria | Aktivieren Sie diese Einstellung, wenn Sie zusätzlich zu User Criteria auch HR Criteria verwenden. Diese Einstellung hat keine Auswirkung, wenn Resolve User Criteria deaktiviert ist. |
KB Article Principals Size Optimization (Advanced Settings) | Reduziert die Anzahl der Principal Containers, wenn User Criteria verwendet werden. Diese Einstellung ist standardmäßig aktiv und sollte normalerweise nicht deaktiviert werden. Wenn Sie jedoch trotzdem deaktiviert werden soll, dann muss sie auch im ServiceNow Crawler deaktiviert werden, damit die Berechtigungen korrekt funktionieren. |
Resolve Empty User Criteria to All Users (Advanced Settings) | Wenn diese Einstellung aktiviert ist, werden alle leere User Criteria (User Criteria ohne gesetzte Kriterien) auf alle ServiceNow Benutzer aufgelöst. Das bildet das Verhalten in ServiceNow ab. Sie können diese Einstellung deaktivieren, wenn Sie keine leere User Criterias verwenden. |
Advanced User Criteria Resolution (Advanced Settings) | Siehe nächstes Kapitel. |
Deny Access To Sites With These Features | Diese Einstellung ist veraltet. |
File containing WebURLs to check for deletion | Diese Einstellung ist veraltet. |
Sie können hier Regeln konfigurieren, wie welche User Criteria aufgelöst werden, um spezielle Berechtigungen in Mindbreeze InSpire abzubilden. Dies ist vor allem dann sinnvoll, wenn Sie User Criteria verwenden, die von Mindbreeze InSpire standardmäßig nicht unterstützt werden.
Dies betrifft User Criteria, bei denen „Advanced“ gesetzt ist (bzw. „Script“, außer wenn das User Criteria von einem „HR Criteria“ generiert wurde).
Einstellung | Beschreibung | ||||||||||
UC Selection: Column Name | Die User Criteria Spalte / Feld in ServiceNow, auf die das „UC Selection: Column Pattern“ angewandt wird.
| ||||||||||
UC Selection: Column Pattern | Das Pattern, das auf die User Criteria Spalte / Feld („UC Selection: Column Name“) angewandt wird. Das Pattern ist eine Java Regex, bei der „.“ (Punkt) auch auf \n\r matcht (z.B. für Feld script relevant). Achten Sie darauf, dass ein vollständiger Match auf das Feld erfolgen muss, sodass die „Result Action“ für ein übereinstimmendes User Criteria durchgeführt wird. Z.B. würde auf den Feldwert „My User Criteria“
| ||||||||||
Resolution Action | Hier können Sie definieren, wie die User Criteria aufgelöst werden, für die „UC Selection: Column Name / Patter“ übereinstimmen.
|
Einstellung | Beschreibung |
Wenn aktiviert, werden Statistiken in der Datei "objects-log.csv" im aktuellen Log-Verzeichnis geschrieben. | |
Log All Objects | Wenn aktiviert, werden auch erfolgreich verarbeitete Objekte in die CSV-Datei geschrieben. Wirkt sich nur aus, wenn Log Objects to CSV aktiv ist. |
Dump User Criteria to CSV | Wenn aktiv, werden alle User Critera in die CSV-Datei „user-criteria-dump.csv“ im aktuellen Log-Verzeichnis geschrieben. |
Dump HR Criteria to CSV | Wenn aktiv, werden alle HR Critera in die CSV-Datei „hr-criteria-dump.csv“ im aktuellen Log-Verzeichnis geschrieben. |
Wenn Sie mehr Kontrolle über die Berechtigungen des Crawler Users haben wollen, können Sie eigene Rollen definieren, damit der Crawler User Lesezugriff über die REST API auf die benötigten Tabellen erhält. Erstellen Sie eigene ACL Regeln für alle diese Tabellen, da bei manchen Tabellen Default ACL Regeln existieren, welche nur auf bestimme Einträge Zugriff geben, was zu unerwartetem Verhalten führen kann.
Auf folgende Tabellen muss der Crawler User lesend zugreifen dürfen:
Damit der Crawler nur bestimmte Records indiziert, können diese gefiltert werden. Öffnen Sie dazu in ServiceNow eine beliebige Tabelle, die gefiltert werden soll und wenden Sie den Filter an. Klicken Sie mit einem Rechtsklick auf den Filter-Ausdruck und anschließend im Kontextmenü auf den Eintrag „Copy query“. Der kopierte Filter-Ausdruck aus dem Screenshot unterhalb würde folgendermaßen aussehen: active=true^article_type=text. Diesen Ausdruck können Sie in der Konfiguration der Datenquelle im Mindbreeze Management Center z.B. unter „Constraint Query for Knowledge Articles“ oder „Generic Tables“.“Constraint Query“ einfügen.