GSB 7.0 Standardlösung

CMIS Client/Server

Der CMIS-Server stellt eine Schnittstelle zum Abruf der Inhalte des Repositories über den CMIS-Standard bereit. Der CMIS-Client importiert die Resultate in den Content des Preview-Repositories. Im GSB 10.1 kommt dabei Apache Chemistry in der Version 1.1.0 zum Einsatz. Der Fokus der CMIS-Implementierung liegt dabei auf dem Sharing/Export von Content über CMIS.

CMIS-Client

Der CMIS-Client stellt zyklische Query-Anfragen an konfigurierte CMIS-Server und importiert die Resultate in den Content des Preview-Repositories.

Die Konfiguration von CMIS-Server-Endpunkten und von CMIS-Queries werden im Content im Kontext eines Mandanten erstellt. Im Falle der Standardlösung ist eine Konfiguration unterhalb von /standardlsg/ExternalContent/example/ vorhanden. Der CMIS-Client liest die konfigurierten Parameter, führt ein Query zyklisch gegen den CMIS-Server aus und importiert die erhaltenen Resultate in den speziellen Bereich im Content des Mandanten.

Installation

Die Installation erfolgt per install-gsbos-Skript mit dem Service-Typ cmisclient aus dem Plattform-Bundle.

Daraufhin wird die Applikation zusammen mit der Tomcat-Konfiguration mit dem Service-Typ cmisclient im software-Verzeichnis abgelegt (standardmäßig unter /opt/gsbos/software/cmisclient/). Die Laufzeitkonfiguration ist standardmäßig unter /opt/gsbos/runtime/cmisclient-service/ zu finden.

Konfiguration

Die Konfiguration des CMIS-Clients erfolgt über die Runtime-Properties-Datei: application.properties

Folgende Properties können für eine Plattform angepasst werden:

PropertyBeschreibung
server.portPort des CMIS-Clients
cmis.client.repository.urlDie URL zum Repository-Preview inklusive Port
cmis.client.active-customersDie Menge der Mandanten, für die der CMIS-Client aktiviert ist

Konfiguration des CMIS-Client-Contents

Die Konfiguration erfolgt im Content eines Mandanten unterhalb des Basis-Ordners ExternalContent, für die Standardlösung also unterhalb von /standardlsg/ExternalContent/. In diesem Basis Ordner wird eine weitere Ordner-Ebene erwartet, wobei die Bezeichnungen der Ordner frei gewählt werden können und die z.B. zur logischen Strukturierung der einzelnen Endpunkte verwendet werden kann. In der Standardlösung ist die Beispiel-Konfiguration im Ordner example vorhanden: /standardlsg/ExternalContent/example. Nachfolgend ist der Ordner-Baum der Standardlösung zur Verdeutlichung der Struktur gezeigt:

Ordner-Baum der Standardlösung Ordner-Baum der Standardlösung

Konfiguration eines CMIS-Server-Endpunkts

Die Konfiguration eines CMIS-Server-Endpunkts erfolgt mit dem Dokument vom Typ CMIS-Server-Verbindung im _config-Ordner des jeweiligen logischen Unterordners: /standardlsg/ExternalContent/example/_config Folgende Parameter sind im Dokument zu füllen:

ParameterBeschreibungBeispiel
URLDie URL zum CMIS-Serverhttp://cmisserver.service.example.com/browser
BenutzernameDer Benutzername für die Authentifizierung am CMIS-Serveruser
PasswortDas Passwort für die Authentifizierung am CMIS-Serverpassword
Repository-IDDie Repository-ID, die auf dem CMIS-Server abgefragt werden soll. Meist ist das der Name des Mandanten, der auf dem Quell-System Inhalte liefert.standardlsg

Konfiguration eines CMIS-Queries

Die Konfiguration der CMIS-Queries erfolgt mit den Dokumenten vom Typ CMIS-Mengen-Query oder CMIS-Einzel-Query im queries-Ordner des jeweiligen logischen Unterordners: /standardlsg/ExternalContent/example/queries. Die zu konfigurierenden Parameter sind für beiden Dokumenttypen gleich, die Unterscheidung ist vorhanden, damit unterschiedliche Darstellungen in Abhängigkeit des Dokumenttyps realisiert werden können.

Folgende Parameter sind im Dokument zu füllen:

ParameterBeschreibungBeispiel
AktivAktiviert / Deaktiviert das Query und die gelieferten Resultate
Query-TextDer Text des Queries entweder in CMIS oder Solr-Syntax, um Dokumente im Quell-System zu erhalten

documentType:News AND folderPath_:\/standardlsg\/SharedDocs\/Kurzmeldungen\/DE\/*_

Alle Dokumente vom Typ 'News' unterhalb von '/standardlsg/SharedDocs/Kurzmeldungen/DE/'

SyntaxDie Syntax in der der Query-Text verfasst wurde: Solr oder CMIS
AusführungzeitpunktDer Zeitpunkt der Ausführung als Java CRON-Ausdruck formuliert.

0 0/5 * * * ?

Alle fünf Minuten in einer Stunde

Übersicht CRON-Ausdruck-Syntax

Übersicht CRON-Ausdruck-Syntax Übersicht CRON-Ausdruck-Syntax




SonderzeichenNameBeschreibung
,Multiple Wertez.B. MON,WED,FRI im DayOfWeek-Feld
-BereichDefiniert einen Bereich, in dem der Ausführungszeitpunkt liegt: z.B. Hour 12-14
*Alle Wertez.B. jede Sekunde, falls im Second-Feld verwendet
/Inkrementz.B. 5/15 im Minute-Feld: an 5, 20, 35, 50 Minuten in der Stunde
?Kein spezifischer WertNur in DayOfMonth oder DayOfWeek verwendet
LLastletzter Tag des Monats
WWeekdayWochentag (1-5), der nah am DayOfMonth liegt, falls der DayOfMonth am Wochenende (6,7) ist.
#N-tes AuftretenDritter Freitag im Monat: 6#3 im DayOfWeek-Feld

Beispiele für CRON-Ausdrücke

AusdruckErläuterung
0 0 * * * *Jeden Tag zu jeder Stunde
*/10 * * * * *Alle 10 Sekunden
0 0 8-10 * * *Um 8, 9 and 10 Uhr an jedem Tag
0 0/30 8-10 * * *Um 8:00, 8:30, 9:00, 9:30 und 10 Uhr an jedem Tag
0 0 9-17 * * MON-FRIJeden Stunde von 9 bis 17 Uhr unterhalb der Woche
59 59 23 31 12 ?An Silvester um 23:59:59 Uhr

CMIS-Server

Der CMIS-Server implementiert den CMIS-Standard (v1.1) für den GSB und kann publizierte Inhalte aus dem Master-Repository Request-Basiert ausliefern. Anfragen, die über die Query-Funktionalität gestellt werden, löst der CMIS-Server mit Hilfe des Master-Solr-Suchindexes auf. Die Prüfung der Authentifizierung eines Nutzers und die konfigurierten Content-Berechtigungen erfolgt mittels Live-Userservice. Zum Betrieb des CMIS-Servers sind somit Verbindungen zum Repository-Master, Solr-Master und Live-Userservice zu konfigurieren. Weitere Informationen zum CMIS-Standard findet sich z.B. in der Spezifikationsbeschreibung: http://docs.oasis-open.org/cmis/CMIS/v1.1/CMIS-v1.1.html.

Installation

Der CMS-Server wird wie alle anderen GSB Kompnenten über ein Platformbundle und mit Hilfe des GSB Installationsskriptes auf einer produktiven Infrastruktur installiert.

Die Konfiguration des CMIS-Servers erfolgt über entsprechende Runtime-Properties die infrastrukturspezifisch bereitgestellt werden müssen. In der exemplarischen Runtime des GSB Release ist auch eine exemplarische Runtime-Konfiguration des CMIS-Servers vorhanden auf deren Grundlage die Runtime-Konfiguration des CMIS-Servers einer konkreten Hostinginfrastruktur einfach erstellt werden kann.

Der CMIS-Server wird damit wie skizziert analog zu allen anderen Komponenten installiert und konfiguriert.

Die Installation erfolgt per install-gsbos-Skript mit dem Service-Typ cmisserver aus dem Plattform-Bundle.

Daraufhin wird die Applikation zusammen mit der Tomcat-Konfiguration mit dem Service-Typ cmisserver im software-Verzeichnis abgelegt (standardmäßig unter /opt/gsbos/software/cmisserver/). Die Laufzeitkonfiguration ist standardmäßig unter /opt/gsbos/runtime/cmisserver-service/ zu finden.

Konfiguration

Die Konfiguration des CMIS-Servers erfolgt über die Runtime-Properties-Datei: application.properties

Folgende Properties können für eine Plattform angepasst werden:

PropertyBeschreibung
server.portPort des CMIS-Servers
cmis.server.repository.urlDie URL zum Repository-Master inklusive Port
spring.data.solr.hostDie URL zum Solr-Master inklusive Port
gsb.login.user-service.urlDie URL zum Userservice-Live inklusive Port
gsb.login.user-service.usernameDer Benutzername für Basic-Auth der Userservice-Verbindung
gsb.login.user-service.passwordDas Passwort für Basic-Auth der Userservice-Verbindung
cmis.server.active-customersDie Menge der Mandanten, für die der CMIS-Server aktiviert ist

Konfiguration der CMIS-Berechtigungen

Die "Sichtbarkeit" des Contents auf dem Quell-System, der durch den CMIS-Server ausgeliefert wird, wird über CMIS-Berechtigungen gesteuert. Die Authentifizierung am CMIS-Server erfolgt über einen Nutzernamen und ein Passwort. Der CMIS-Server kann unterschiedliche Inhalte in Abhängigkeit des Nutzers ausliefern, der sich am Server anmeldet. Um eine Anmeldung zur ermöglichen, muss ein externer Nutzer auf dem Quell-System vorhanden sein, der mindestens einer CMIS-Gruppe zugeordnet sein muss, die die Berechtigungen am Content definiert.

Gruppe erstellen

Eine CMIS-Gruppe kann über die externe Gruppenverwaltung im Adminportal erstellt werden, der gewählte Gruppentyp ist dabei CMIS.

CMIS-Gruppe erstellen CMIS-Gruppe erstellen CMIS-Gruppe erstellen

Content-Berechtigungen hinzufügen

Die Berechtigungen werden, wie normale Redaktions-Berechtigungen, über den Reiter Rechte der Gruppenverwaltung konfiguriert. Für den Zugriff auf den Content des Mandanten ist erst einmal ein Read-Recht auf den Mandanten-Ordner zu vergeben. Wenn nun weiteren Ordner vor dem Zugriff durch den CMIS-Server geschützt werden sollen, muss eine Regel ohne Read-Berechtigung für diese Ordner erstellt werden (z.B. ist der Zugriff auf /standardlsg/__EditorConfig/ nicht möglich).

CMIS-Berechtigung erstellen CMIS-Berechtigung erstellen CMIS-Berechtigung erstellen

Nutzer erstellen und Gruppenzuordung herstellen

Ein externer Nutzer wird wie gewohnt über die Externe-Nutzerverwaltung erstellt. Der externen CMIS-Gruppe kann er über den Reiter Rollen- und Gruppenzuordnungen der externen Nutzerverwaltung unter Auswahl der CMIS-Gruppen hinzugefügt werden. Danach ist eine Anmeldung am CMIS-Server mit dem Benutzer möglich.

Anmeldung durch den CMIS-Client

Die Anmeldedaten für den CMIS-Client werden im CMIS-Server-Dokument eingetragen. Dabei ist darauf zu achten, dass dem Nutzernamen des externen Nutzers der Name des Mandanten mit einem @ angehägt wird: cmisuser@standardlsg Informationen zur Erstellung der Konfiguration im Content für das Ziel-System finden sich in der Konfigurationsanleitung des CMIS-Client-Contents.