Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht

Navigation: Dokumentationen agorum core > agorum core Module und Plugins > agorum core client areas


agorum core client areas-Mandantenverwaltung anpassen

Hinweis: Diese Dokumentation bezieht sich auf die aktuellste Version des Plugins agorum core client areas. Aktualisieren Sie das hier beschriebene Plugin, um die Dokumentation verwenden zu können.

Sie können die Mandantenverwaltung mit agorum core client areas flexibel erweitern und weitere Einstellmöglichkeiten für die Administrationsoberfläche ergänzen.

Dazu können Sie ein Handler-Skript mit den entsprechenden Erweiterungen schreiben und für die Verwendung registrieren. agorum core client areas wird mit einem Beispielskript ausgeliefert, das Sie als Beispiel für eigene Erweiterungen verwenden können.

Ein eigenes Handlerskript erstellen und registrieren


Gehen Sie wie folgt vor, um ein eigenes Handlerskript auf Basis des mitgelieferten Skripts zu erstellen und für die Verwendung zu registrieren:

  1. Kopieren Sie folgendes Skript:
    /agorum/roi/customers/agorum.client.areas/js/handler/area-handler-default.js
  2. Legen Sie das kopierte Skript in Ihr eigenes Projekt und benennen Sie es um, etwa area-handler-custom.js
  3. Die möglichen Anpassungen innerhalb des Skripts sind in den nächsten Abschnitten beschrieben.
  4. Öffnen Sie folgenden MetaDB-Pfad:
    MAIN_MODULE_MANAGEMENT/customers/agorum.client.areas/handler/[ agorum.client.areas ]

    Ergebnis: Sie sehen, dass das Skript area-handler-default.js über den Eintrag 0010 agorum.client.areas.default konfiguriert ist.
  5. Erstellen Sie einen eigenen Eintrag (MetaDB-Bundle) mit einer höheren Zahl als 0010  für das Skript mit Ihren Anpassungen an, etwa 0020 agorum.client.areas.custom.
  6. Öffnen Sie die neu erstellte Gruppe 0020 agorum.client.areas.custom und legen Sie darin einen MetaDB-Eintrag an. Geben Sie als Wert den Pfad und Namen Ihres Handler-Skripts an.

     

    MetaDB-Eintrag für ein benutzerdefiniertes Handler-Skript

Ausführung des Handler-Skripts


Die Funktion run wird aufgerufen, nachdem ein Mandant erstellt oder geändert wurde oder Mandantenbenutzer angelegt oder geändert wurden. Dabei werden folgende Parameter mitgegeben:

data

Der Parameter data ist wie folgt aufgebaut:

Parameter Beschreibung
identifier

Diese Angabe definiert einen globalen Identifier für die Mandantenkonfigurationen. Im Standard lautet dieser client-areas.

Sie dürfen folgende Zeichen nicht verwenden: <, >, :, ", /, \, |, ?, * und Punkt am Ende.

number Definiert die eindeutige Nummer des Mandanten.
Sie dürfen folgende Zeichen nicht verwenden: <, >, :, ", /, \, |, ?, * und Punkt am Ende. Der Wert muss zwischen 1 und 8 Zeichen liegen.
addresses Optionale Angabe von Adressen für den Mandanten.
users Optionale Angabe von Benutzern für diesen Mandanten. Alle Benutzer, die in dem Array mitgegeben werden, werden angelegt, sofern diese nicht vorhanden sind.

Für weitere Details zu den Parametern siehe createArea.

helperFn

Die Hilfsbibliothek helperFn ermöglicht die Anlage von Benutzergruppen und ACLs innerhalb eines Mandanten.

Funktion Beschreibung Beispiel
helperFn.createGroup Die Funktion createGroup legt eine Benutzergruppe mit dem übergebenen Namen direkt im Mandantenbereich an und verknüpft diese mit den bereits vorhandenen Mandanten-Gruppen. Ist die angegebene Benutzergruppe bereits vorhanden, wird diese lediglich zurückgegeben.
let grpRead = helperFn.createGroup('inbox_read'); 

Die neue Benutzergruppe heißt inbox_read.

helperFn.createAcl Die Funktion createAcl legt ein ACL mit dem übergebenen Namen direkt im Mandantenbereich an.
let inboxAcl = helperFn.createAcl('inbox', [
  {
    entity: grpRead.UUID,
    access: 'read',
  },
]);

Das ACL beinhaltet die Gruppe inbox_read mit read-Recht.

helperFn.files Die Funktion files beinhaltet das Ordner-Objekt für die mandantenspezifische Dokumentenverwaltung.
let folder = helperFn.files;

Der Ordner wird auf Basis des Mandantennamens erstellt.

helperFn.workspace Die Funktion files beinhaltet das Ordner-Objekt für den mandantenspezifischen Workspace.
let folder = helperFn.workspace;

Der Ordner wird auf Basis des Mandantennamens erstellt.

Verschiedene Mandantentypen verwenden


Die Mandantenverwaltung mit agorum core client areas verwendet standardmäßig eine Grundstruktur für die Mandantenverwaltung (einen Standard-Typ). Mit diesem Standard-Typ werden die Objektstrukturen mit Zugriffsberechtigungen für verschiedene Mandanten unterhalb eines Ordners client-areas angelegt.

Wenn Sie Ihre Mandanten noch weiter kategorisieren oder aus einem anderen Grund verschiedene Mandantengruppen verwenden wollen, können Sie dafür weitere Mandantentypen anlegen:

  1. Editieren Sie das zuvor erstellte Handler-Skript (siehe Eigenes Handler-Skript erstellen) und gehen Sie zum Bereich exports.identifiers.
  2. Im Bereich exports.identifiers können Sie zusätzliche Mandantentypen ergänzen. Beispiel:
    /**
     * Here you can define identifiers, that should be selectable, when creating a new client
     */
    exports.identifiers = [
      {
        name: 'another-client-area',
        displayName: 'Custom-Typ',
    
        // enable/disable
        disabled: false,
    
        // optional acl, to control, who is allowed to see this identifier
        // this could be made dependent on a feature acl
        acl: null,
      },
    ];

    Ergebnis:
    • In der Mandantenverwaltung unter  > Administration > Konfiguration > Mandantenverwaltung muss beim Anlegen eines Mandanten zusätzlich der Mandantentyp ausgewählt werden.

    Auswahl des Mandantentyps, wenn mehrere Mandantentypen vorhanden sind

    • Die Mandanten werden in Strukturen entsprechend dem Mandantentyp abgelegt.

    Ablage nach Mandantentyp und Mandant

Mandanteneinstellungen ergänzen


Sie können die Einstellungen, die in der Administrationsoberfläche für Mandanten verfügbar sind, um zusätzliche Einstellungen erweitern. Das ausgelieferte Handler-Skript liefert dazu eine Grundlage. Sie können das Beispiel aktivieren und für Ihre eigenen Zwecke anpassen:

  1. Editieren Sie das zuvor erstellte Handler-Skript (siehe Eigenes Handler-Skript erstellen) und gehen Sie zum Bereich exports.clientSettings.
  2. Ändern Sie den Eintrag disabled, um die Verwendung der zusätzlichen Mandanteneinstellungen zu aktivieren:
    // enable/disable
    disabled: false,

    Ergebnis: In der Mandantenverwaltung unter  > Administration > Konfiguration > Mandantenverwaltung können beim Anlegen/Bearbeiten eines Mandanten Weitere Einstellungen angegeben werden.

     

    Weitere Einstellungen für Mandanten
  3. Sie können statt der Beispiel-Einstellungen eigene Einstellungen verwenden, indem Sie das aguila-Skript durch ein eigenes Widget-Skript ersetzen. Sie finden das verwendete aguila-Skript, das Sie in Ihr eigenes Projekt kopieren und und als Grundlage für Ihre Anpassungen verwenden können, hier:
    /agorum/roi/customers/agorum.client.areas/js/aguila/sample-client-settings.js
  4. Registrieren Sie das neu erstellte aguila-Skript und ändern Sie den folgenden Wert entsprechend:
        // use a widget for configuration, value-property is the input/output of the widget
        aon: {
          type: 'agorum.client.areas.sampleClientSettings',
        },
  5. Sie können den Zugriff auf Weitere Einstellungen optional über ein ACL kontrollieren:
        // optional acl, to control, who is allowed to see this button
        // this could be made dependent on a feature acl
        acl: null,

Adresseinstellungen ergänzen


Sie können die Einstellungen, die in der Administrationsoberfläche für Adressen verfügbar sind, um zusätzliche Einstellungen erweitern. Das ausgelieferte Handler-Skript liefert dazu eine Grundlage. Sie können das Beispiel aktivieren und für Ihre eigenen Zwecke anpassen:

  1. Editieren Sie das zuvor erstellte Handler-Skript (siehe Eigenes Handler-Skript erstellen) und gehen Sie zum Bereich exports.addressSettings.
  2. Ändern Sie den Eintrag disabled, um die Verwendung der zusätzlichen Mandanteneinstellungen zu aktivieren:
    // enable/disable
    disabled: false,

    Ergebnis: In der Mandantenverwaltung unter  > Administration > Konfiguration > Mandantenverwaltung können beim Anlegen/Bearbeiten von Adressen zu Mandanten Weitere Einstellungen angegeben werden.

     

    Weitere Einstellungen für Adressen
  3. Sie können statt der Beispiel-Einstellungen eigene Einstellungen verwenden, indem Sie das im Beispiel verwendete aguila-Skript durch ein eigenes Widget-Skript ersetzen. Sie finden das verwendete aguila-Skript hier. Kopieren Sie dieses Skript in Ihr eigenes Konfigurationsprojekt und ändern Sie es für Ihre Anforderungen.
    /agorum/roi/customers/agorum.client.areas/js/aguila/sample-address-settings.js
  4. Registrieren Sie das neu erstellte aguila-Skript (siehe aguila widget registrieren) und ändern Sie den folgenden Wert entsprechend:
        // use a widget for configuration, value-property is the input/output of the widget
        aon: {
          type: 'agorum.client.areas.sampleAddressSettings',
        },
  5. Sie können den Zugriff auf Weitere Einstellungen optional über ein ACL kontrollieren:
        // optional acl, to control, who is allowed to see this button
        // this could be made dependent on a feature acl
        acl: null,

Zusätzliche Benutzerfunktionen aktivierbar machen


Die Mandantenverwaltung mit agorum core client areas erlaubt standardmäßig die Einrichtung von Mandantenadministratoren in den Benutzereinstellungen. Sie könnten zusätzlich weitere Funktionen über die Benutzereinstellungen aktivierbar machen, etwa den Zugriff auf die weiteren Einstellungen für Mandanten, wenn Sie welche mit Zugriffsbeschränkung einrichten (siehe Mandanteneinstellungen ergänzen). 

Wenn Sie weitere Benutzerfunktionen konfigurierbar machen wollen, können Sie dafür weitere Funktionen anlegen:

  1. Editieren Sie das zuvor erstellte Handler-Skript (siehe Eigenes Handler-Skript erstellen) und gehen Sie zum Bereich exports.features.
  2. Im Bereich exports.features können Sie zusätzliche Funktionen ergänzen. Beispiel:
    exports.features = [
      {
        name: 'agorum.client.areas.clientExtraSettings',
        displayName: 'Weitere Einstellungen für Mandanten',
        description: 'Zugriff auf Weitere Einstellungen für Mandanten zulassen.',
      },
    ];

    Ergebnis:
    • In der Mandantenverwaltung unter  > Administration > Konfiguration > Mandantenverwaltung kann diese Funktion beim Anlegen eines Benutzers zusätzlich für den Benutzer aktiviert werden.

     

    Zusätzlich aktivierbare Benutzerfunktionen