Google Search Appliance - Jira Connector

07. Januar 2014
Google Search Appliance (GSA)

Vor einigen Wochen habe ich euch das GSA Connector-Framework vorgestellt und aufgezeigt, unter welchen Bedingungen es sich lohnt einen eigenen Connector zur Anbindung einer Datenquelle zu implementieren. Auf dieser Basis möchte ich euch nun den Jira-Connector vorstellen, da dieser die meisten Bedingungen erfüllt, die für die Entscheidung eines eigenen Connectors sprechen. Dazu gehören eine gut dokumentierte API sowie  zusätzliche Informationen, die durch eigene Jira-Plugins entstehen. Des Weiteren sind die bestehenden Connectoren lizenzpflichtig.

Der JIRA-Connector für die Google Search Appliance (GSA) ermöglicht die Indexierung von JIRA bug-tracking Systemen. Alle Inhalte der Issues werden indexiert und können somit über die GSA durchsucht werden. Die Suche erfolgt gesichert durch Authentifikation gegen das JIRA. Die Autorisierung kann wahlweise über Connector-AuthZ oder via ACLs erfolgen. Bei der Verwendung von ACLs werden während der Indexierung die Autorisierungsdaten in der GSA abgespeichert. Der Vorteil hierbei liegt darin, dass für die Autorisierung zur Suchzeit keine Anfragen an das JIRA gesendet werden müssen (sogenanntes „early-binding“).

Bei der Connector-AuthZ hingegen wird für jedes Dokument zunächst eine Autorisierungsanfrage an das JIRA gesendet. Nach erfolgreicher Autorisierung werden dem User nur die Dokumente angezeigt, die er sehen darf. Dies wird im Cache gehalten, sodass Dokumente, die während einer Session angefordert werden, nicht erneut autorisiert werden müssen.

Dieser Connector kann für jedes JIRA verwendet werden und ist bei Bedarf sehr leicht erweiterbar, falls besondere Kundenwünsche berücksichtigt werden sollen. Als Beispiel soll hier die Erweiterung der Dokumente um Inhalte aus Plugins genannt werden.

Spezielle Namenskonventionen für Projekte können firmenspezifische Zusatzinformationen enthalten, die in der Jira-Suche nicht berücksichtigt werden. Der Connector erlaubt es diese Informationen als Entitäten an den Dokumenten zu hinterlegen und damit durchsuchbar zu machen. Die Entitätserkennung kann dabei listen- oder regelbasiert erfolgen. Natürlich ist auch eine programmatische Lösung im TraversalManager möglich.

Suche: Der Benutzer führt eine Suche nach gesicherten Dokumenten durch. Der Connector ist so konfiguriert, dass die Authentifikation (AuthN) und Autorisierung (AuthZ) durch den Connector erfolgen. Dadurch wird der Benutzer nun aufgefordert, sich bei der Credential-Group für den Jira-Connector anzumelden.

GSA Jira Connector

Nach erfolgreicher Authentifikation wird dem Benutzer die Trefferliste angezeigt. Diese enthält nur die Dokumente, die der Benutzer erlaubt ist zu sehen. AuthZ erfolgte dabei, wie oben beschrieben.

Durch die Verwendung dynamischer Navigatoren, lässt sich die Suche zusätzlich filtern. Hier finden sich nun auch die spezifischen Entitäten wieder. Der Jira-Connector ermittelt anhand einer Namenskonvention für Projekt-Bezeichnungen eine mehrstellige Nummer, die als Angebotsnummer definiert wird. Solche Entitäten werden in der GSA gefunden, was im Jira nicht möglich ist.

Diese Art der Informationserweiterung von Dokumenten lässt sich beliebig erweitern. Das Anwählen eines Treffers aus der Suche, leitet den Benutzer direkt in das Jira, um das Dokument zu bearbeiten.

Die Flexibilität des Connector-Frameworks erlaubt es außerdem, verschiedene Sicherheitsmechanismen zu verwenden. So kann bspw. eine Anmeldung an das Jira auch mittels Kerberos und SSO erfolgen. Dies wird in den AuthN Einstellungen des Adminfrontends einfach geändert, sodass die CredGroup nicht mehr am Connector hängt.

 

Neuen Kommentar schreiben