GSB 7.0 Standardlösung

Ersteinrichtung Adminportal und Mandant

Ersteinrichtung Adminportal

Für die Ersteinrichtung des Adminportal nach einer Installation ohne vorhandenen Datenbank-Stand sind nachfolgende Schritte auszuführen:

  • "Benutzergruppen anlegen und zuweisen"
  • "Öffentliche Seiten anlegen"

Benutzergruppen anlegen und zuweisen

Nach erfolgreicher Installation werden die erforderlichen Benutzergruppen mit Hilfe des Admin-Benutzers angelegt. Dazu wird der Kontrollbereich des Liferay geöffnet und unter BenutzerBenutzergruppen werden die Benutzergruppen rootAdmin und siteAdmin hinzugefügt.

Liferay-Kontrollbereich öffnen

controlPanelAccess controlPanelAccess

Benutzergruppe hinzufügen

userGroupRootAdmin userGroupRootAdmin

Diese Benutzergruppe rootAdmin wird dem Admin-Benutzer unter Benutzer und Organisationen zugeordnet, in dem der Admin-Benutzer bearbeitet und in der Sicht der Benutzergruppen die rootAdmin-Gruppe zugewiesen und gespeichert wird.

Benutzergruppe zuweisen

userGroupRootAdminAssign userGroupRootAdminAssign

Öffentliche Seiten anlegen

Die öffentlichen Seiten des Adminportals (Willkommen, Impressum, Kontakt) werden mit Hilfe des Imports eines Lar-Files (Liferay Archive File) erstellt. Dazu ist im Kontrollbereich unter Sites die Site-Administration der öffentliche Site GSBOS zu öffnen. Unter der Ansicht der öffentlichen Seiten (Reiter: Öffentliche Seiten aktiv) wird der Import über die Importieren-Schaltfläche gestartet. Für die öffentlichen Seiten ist das im Release enthaltene LAR-File createPublicWelcomePages.lar zu importieren (im Ordner core/<version>/infrastructure/adminportal). Die beiden Dialog-Seiten können über die Fortfahren- und Importieren-Buttons ohne weitere Änderungen abgeschlossen werden.

Import der öffentlichen Seiten aufrufen

importPublicPages importPublicPages

Anschließend müssen noch die Icons für die neu angelegten Seiten über ein Groovy-Skript zugewiesen werden. Dazu ist in der Script-Ansicht in der Serveradministration im Kontrollbereich das Groovy-Skript registerPublicWelcomePageIcons .groovy auszuführen.

Icons den öffentlichen Seiten zuweisen

registerPublicIcons registerPublicIcons

Beim Aufruf des Adminportals sollte die Startseite nun im GSB-Theme erscheinen.

Öffentliche Startseite

publicLandingPage publicLandingPage

Ersteinrichtung Mandant

Für die Ersteinrichtung eines neuen Mandanten sind nachfolgende Schritte auszuführen:

  • "Benutzergruppe des Mandanten anlegen"
  • "Mandanten-Bereich (Site) mit privaten Seiten anlegen"
  • "Benutzergruppe dem Mandanten-Bereich zuweisen"
  • "Site-Admin Status einem Benutzer zuweisen"
  • "Synchronisation der Dateien und Ordner des Mandanten-Contents ins Serviceportal anstoßen (optional)"
  • "Einschränkung der Berechtigungen von Seiten des Mandanten-Bereichs zur Steuerung über Adminportal-Gruppen konfigurieren (optional)"

Benutzergruppe des Mandanten anlegen

Die Benutzergruppe des Mandanten wird, wie bereits im Abschnitt "Benutzergruppen anlegen und zuweisen" (Ersteinrichtung Portal) beschrieben mit dem Namen <mandantenName>-Users hinzugefügt (z.B. standardlsg-Users).

Mandanten-Bereich (Site) mit privaten Seiten anlegen

Die Mandanten-Site wird im Kontrollbereich unter Sites hinzugefügt (vgl. Abbildungen: Leere Mandanten-Site hinzufügen, Mandaten-Site speichern).

Leere Mandanten-Site hinzufügen

createCustomerSite createCustomerSite

Mandanten-Site speichern

createCustomerSite2 createCustomerSite2

Anschließend werden die privaten Seiten des Mandanten mit Hilfe des Imports eines LAR-Files erzeugt (vgl. Abschnitt "Öffentliche Seiten anlegen"). Dabei ist darauf zu achten, dass auch wirklich die Ansicht der privaten Seiten (Reiter: Private Seiten aktiv) der Mandanten-Site aktiv ist und nicht die öffentlichen, wie bei der Ersteinrichtung beschrieben. Für die privaten Seiten ist das im Release enthaltene LAR-File createPrivateCustomerPages.lar zu importieren Die beiden Dialog-Seiten können wieder ohne weitere Änderungen mit Fortfahren und Importieren abgeschlossen werden.

Zuletzt wird auch hier die Zuordnung der Icons zu den erstellen Seiten unter Ausführung des Groovy-Skriptes registerPrivateCustomerPageIcons.groovy hergestellt. Dabei ist darauf zu achten, dass der aktuelle Mandantenname im Skript unter

Set mandanten = ['<mandantenName>'];

eingetragen ist.

Benutzergruppe dem Mandanten-Bereich zuweisen

Die Mitgliedschaft von Benutzern zur Mandanten-Site wird über die bereits angelegt Benutzergruppe <mandantenName>-Users aufgelöst. Dazu muss diese Gruppe der soeben angelegten Mandanten-Site über die Site-Einstellungen zugeordnet werden: KontrollbereichSites<mandantenName>Site-Mitgliedschaften (vgl. Abbildungen: Benutzergruppe auswählen, Benutzergruppe speichern).

Benutzergruppe auswählen

addCustomerUserGroup addCustomerUserGroup

Benutzergruppe speichern

addCustomerUserGroup2 addCustomerUserGroup2

Site-Admin Status einem Benutzer zuweisen

Das Anlegen und Löschen von Benutzergruppen über die Gruppenverwaltung ist den Site-Administratoren vorbehalten, weshalb diese mit der Benutzergruppe siteAdmin ausgestattet werden müssen (vgl. Abschnitt "Benutzergruppen anlegen und zuweisen" (Ersteinrichtung Portal).

Die Zuweisung von Benutzergruppen zu Benutzern ist bereits im erwähnten Abschnitt beschrieben. Da die Benutzer-Accounts erst nach der erstmaligen Anmeldung im Liferay-Portal angelegt werden, ist ein An- und Abmelden mit den Site-Admin-Accounts notwendig, bevor die Benutzergruppe mit dem Admin-Account im Kontrollbereich zugeordnet werden kann.

Synchronisation der Dateien und Ordner des Mandanten-Contents ins Serviceportal anstoßen (optional)

Um den Content-Baum des Mandanten in der Explorer-Ansicht der einzelnene Portlets sichtbar zu machen, muss eine Synchronisierung zwischen Repository und Serviceportal mit Hilfe des Event-Dispatchers erfolgen. Wenn der EventDispatcher und das Serviceportal zum Zeitpunkt des Content-Imports aktiv sind, werden die importierten Dokumente automatisch ins Serviceportal übertragen. Falls der Content-Import des Mandanten erfolgt ist ohne das EventDispatcher und Serviceportal verfügbar waren, kann der Synchronisationsprozess mit nachfolgendem Curl-Befehl nachträglich auf der Kommandozeile der Plattform angestoßen werden. Dabei ist der Mandantenname <mandantenName> durch den Namen des Mandanten zu ersetzen.

Synchronisation der Dateien und Ordner des Mandanten-Contents ins Serviceportal anstoßen

curl --data "portalAssetsPath=%2F<mandantenName>&portalAssetsType=LanguageEnt&portalAssetsLimit=5000&portalAssetsFolders=on" http://localhost:6501/eventdispatcher/synchronizePortalAssets

für den Mandanten standardlsg also:

Synchronisation der Dateien und Ordner des Mandanten-Contents ins Serviceportal anstoßen

curl --data "portalAssetsPath=%2Fstandardlsg&portalAssetsType=LanguageEnt&portalAssetsLimit=5000&portalAssetsFolders=on" http://localhost:6501/eventdispatcher/synchronizePortalAssets

Die Beispiel-URL spricht den Event-Dispatcher auf der gleichen Maschine unter dem Standard-Port 6501 an.

Einschränkung der Berechtigungen von Seiten des Mandanten-Bereichs zur Steuerung über Adminportal-Gruppen (optional)

Hinweis:
Ohne die Einschränkung der Berechtigung von Seiten des Mandanten-Bereichs können sich alle Benutzer und Benutzerinnen des Mandanten am Adminportal anmelden und haben den vollen Zugriff auf alle Administrations-Portlets.

Um die Steuerung der Berechtigungen mit Hilfe der Adminportal-Gruppen zu realisieren ist die generelle "Anzeigen"-Berechtigung für Site-Member in den Site-Einstellungen der Mandanten-Site von den betreffenden Seiten zu entfernen. Diese Berechtigung kann dann in einem zweiten Schritt wieder mit Hilfe einer Adminportal-Gruppe hinzugefügt werden, so dass nur Benutzer und Benutzerinnen dieser Adminportal-Gruppe Zugriff auf die Seite / das Administation-Portlet haben. Die erforderlichen Einstellungen werden anhand des folgenden Beispiels gezeigt:

Der Mandant soll so konfiguriert werden, dass alle Mandanten-Benutzer und -Benutzerinnen ohne Einschränkung auf das Benutzerprofil zugreifen können. Alle anderen Seiten sollen nur zugreifbar sein, wenn dem Benutzer / der Benutzerin die Adminportal-Gruppe site_admin zugeordnet wurde.

Mit dem Admin-Benutzer werden die Site-Einstellungen des Mandaten im Kontrollbereich aufgerufen. Dort wird unterhalb der Private Seiten-Ansicht die Seite gewählt, für die die allgemeine "Anzeigen"-Berechtigung entfernt werden soll. Mit Auswahl einer Seite können die Berechtigung im oberen Bereich geöffnet werden (vgl Abbildung: Seitenberechtigung öffnen).

Seitenberechtigung öffnen

openSiteRights openSiteRights

Das "Anzeigen"-Recht wird für die Rolle Site Member abgehakt und entfernt.

Seitenberechtigung setzen

setSiteRight setSiteRight

Diese Aktion muss für alle Seiten wiederholt werden, die nicht automatisch zugreifbar sein sollen. Für das Beispiel also für alle Seiten außer "Benutzerprofil".

Um die Beschränkgung für ausgewählte Benutzer aufzuheben, sind in der Gruppenverwaltung zwei Adminportal-Gruppen anzulegen. Zum einen die allgemeine Gruppe "adminportal", die die Wurzel der Adminportal-Gruppenhierarchie darstellt (analog zu mandant_standardlsg bei ContentServer-Gruppen) und zum anderen wird für das Beispiel die Gruppe site_admin hinzugefügt.

Hinweis:
Als gewählter Gruppentyp im oberen rechten Bereich der Gruppenverwaltung muss Adminportal ausgewählt sein

Adminportal-Gruppen hinzufügen

createAdminportalGroups createAdminportalGroups

Im Bereich der Rechteverwaltung werden die Regeln für die Seiten hinzugefügt, die mit der Gruppe site_admin aufrufbar sein sollen.

Rechte der Gruppe site_admin

addRightsToAdminportalUserGroups addRightsToAdminportalUserGroups

Zuletzt muss die Adminportal-Gruppe noch über eine Rolle oder als Erweiterung den entsprechenden Benutzern zugeordnet werden, die Zugriff auf die in der Gruppe enthaltenen Seiten haben sollen.

Natürlich ist neben dem Beispiel auch eine feinere Aufteilung der Rechte mit Hilfe von mehreren Gruppen denkbar, beispielweise könnte es eine datentabellen_admin- und newsletter_admin-Gruppe geben oder aber eine benutzerverwaltung_admin-Gruppe, die den Zugriff auf Benutzer, Gruppen und Rollen gewährt.

Exemplarische Datentabelle/-Umfrage

Die Standardlösung enthält jeweils eine exemplarische Datentabelle und Umfrage im Content des Mandanten.

Um die benötigten Definitionen (Schema und exemplarische Beispieldaten) im Adminportal ebenfalls einfach anlegen zu können, beinhaltet die Standardlösung ein entsprechendes Shellskript mit dem die Erstellung und Befüllung der Datentabelle und Umfrage mit den Beispielwerten durchgeführt werden kann:

infrastructure/adminportal/importDatatableContent.sh

Die Datentabellen und Umfragedefintionen im Adminportal sind mit den zugehörigen Dokumenten im Content des Mandanten über die Dokument-IDs verknüpft. D.h. das Skript wird mit den Dokument-IDs der exemplarischen Dokumente für die Datentabelle und Umfrage parametriert. Die Dokument-IDs sind erst nach Import des Content eines Mandanten bekannt, so dass diese vor Aufruf des Skriptes ermittelt werden müssen.

Es sind die Dokument-IDs der folgenden Dokumente zu ermitteln. Die Ids können mit dem Editor aus dem Content ausglesen werden:

/standardlsg/_doc/Datentabelle/Datentabelle/standardlsg/_doc/Umfrage/Umfrage

An erster Stelle wird die Dokument-Id des Datentabellen-Dokuments, danach die des Umfrage-Dokuments erwartet. D.h. das Skript wird wie folgt aufgerufen:

sh importDatatableContent.sh xxxxxxxx-xxxx-xxxx-xxxxxxxxxxxx yyyyyyyy-yyyy-yyyy-yyyyyyyyyyyy

Die im Aufruf skizzierten Dokument-IDs müssen durch die konkreten Dokument-IDs der beiden exemplarischen Dokumente ersetzt wie folgt ersetzt werden:

xxxxxxxx-xxxx-xxxx-xxxxxxxxxxxx = Id des Datentabellen-Dokumentsyyyyyyyy-yyyy-yyyy-yyyyyyyyyyyy = Id des Umfrage-Dokuments

Das Skript versucht per http (curl) mit dem Serviceportal zu kommunizieren. Die URL zum Serviceportal ist im Skript in der Variablen BASE_URL definiert. Die BASE_URL ist mit dem Namen des Serviceportals der exemplarischen Beispielkonfiguration vorbelegt, so dass der Wert ggf. an den konkreten Namen der jeweiligen Infrastruktur angepasst werden muss.

Nach erfolgreicher Ausführung sollten jeweils 6 Einträge für die Datentabelle / Umfrage angelegt worden sein.