Zielgruppe Site AdminVersion: GSB10.1CMIS 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:
Property | Beschreibung |
---|---|
server.port | Port des CMIS-Clients |
cmis.client.repository.url | Die URL zum Repository-Preview inklusive Port |
cmis.client.active-customers | Die 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:
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:
Parameter | Beschreibung | Beispiel |
---|---|---|
URL | Die URL zum CMIS-Server | http://cmisserver.service.example.com/browser |
Benutzername | Der Benutzername für die Authentifizierung am CMIS-Server | user |
Passwort | Das Passwort für die Authentifizierung am CMIS-Server | password |
Repository-ID | Die 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:
Parameter | Beschreibung | Beispiel |
---|---|---|
Aktiv | Aktiviert / Deaktiviert das Query und die gelieferten Resultate | |
Query-Text | Der 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/' |
Syntax | Die Syntax in der der Query-Text verfasst wurde: Solr oder CMIS | |
Ausführungzeitpunkt | Der Zeitpunkt der Ausführung als Java CRON-Ausdruck formuliert. | 0 0/5 * * * ? Alle fünf Minuten in einer Stunde |
Übersicht CRON-Ausdruck-Syntax
Sonderzeichen | Name | Beschreibung |
---|---|---|
, | Multiple Werte | z.B. MON,WED,FRI im DayOfWeek-Feld |
- | Bereich | Definiert einen Bereich, in dem der Ausführungszeitpunkt liegt: z.B. Hour 12-14 |
* | Alle Werte | z.B. jede Sekunde, falls im Second-Feld verwendet |
/ | Inkrement | z.B. 5/15 im Minute-Feld: an 5, 20, 35, 50 Minuten in der Stunde |
? | Kein spezifischer Wert | Nur in DayOfMonth oder DayOfWeek verwendet |
L | Last | letzter Tag des Monats |
W | Weekday | Wochentag (1-5), der nah am DayOfMonth liegt, falls der DayOfMonth am Wochenende (6,7) ist. |
# | N-tes Auftreten | Dritter Freitag im Monat: 6#3 im DayOfWeek-Feld |
Beispiele für CRON-Ausdrücke
Ausdruck | Erlä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-FRI | Jeden 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:
Property | Beschreibung |
---|---|
server.port | Port des CMIS-Servers |
cmis.server.repository.url | Die URL zum Repository-Master inklusive Port |
spring.data.solr.host | Die URL zum Solr-Master inklusive Port |
gsb.login.user-service.url | Die URL zum Userservice-Live inklusive Port |
gsb.login.user-service.username | Der Benutzername für Basic-Auth der Userservice-Verbindung |
gsb.login.user-service.password | Das Passwort für Basic-Auth der Userservice-Verbindung |
cmis.server.active-customers | Die 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
.
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).
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.