# Mandanten-Verwaltung Administrative Tätigkeiten bezogen auf die Verwaltung eines oder mehrerer Mandanten. # Server- und Mandantenkonfiguration Server- und Mandantenkonfigurationen enthalten Konfigurationen bzgl. zu verwendender Datenbanken, dem Dokumenten-Repository, Logging-Mechanismen usw. Diese Seite beschreibt die grundsätzliche Funktion der Server- und Mandantenkonfigurationen. #### Konfiguration Die Konfigurationen für Server und Mandanten liegen bei aktuellen Installationen im Repository. Bei einer typischen Windows-Installation wäre das bspw. `D:\SQUEEZE\repository\config` unter Linux `/var/www/html/repository/config` In dem Ordner finden Sie folgendes Layout: [![image-1668795030967.png](https://docs.squeeze.one/uploads/images/gallery/2022-11/scaled-1680-/image-1668795030967.png)](https://docs.squeeze.one/uploads/images/gallery/2022-11/image-1668795030967.png) - Die `server.json` enthält die Server-Konfiguration - Im Ordner `clients` befindet sich für jeden Mandanten eine weitere JSON-Datei. Diese ist benannt nach dem Mandanten also bspw. `meinmandant.squeeze.one.json`

Bei sehr alten Installationen befinden sich die Konfigurationen nicht im Repository, sondern noch innerhalb des Ordners `htdocs/config`

#### Zusammenspiel Server- und Mandantenkonfiguration Die Konfiguration eines Mandanten leitet sich sowohl aus Server- als auch Mandantenkonfiguration ab. Im Allgemeinen gilt für jeden Konfigurationsparameter: - Falls ein Parameter für einen Mandanten definiert wurde, wird dieser für den Mandanten eingesetzt. - Falls ein Parameter nicht für einen Mandanten definiert wurde, wird auf den Parameter des Servers zurückgefallen. Diese Vererbung von Parametern wird in der Praxis bspw. so genutzt: - Jeder Mandant hat seine eigene SQL-Datenbank. Der Name dieser Datenbank steht in der Mandantenkonfig. - Alle Mandanten teilen sich den selben SMTP-Mailserver zum Versand von System-Mails. Daher ist wird der SMTP-Server nur in der Serverkonfig. eingetragen.

Wenn Sie Einstellungen für alle Mandanten pflegen möchten, dann können Sie die server.json nutzen, um die Einstellung für alle Mandanten in einer Datei zu pflegen.

Achten Sie darauf, welche Parameter Sie in der Serverkonfig. pflegen. Eine Änderung der Parameter in dieser Konfig beeinflusst alle Mandanten, welche den Parameter nicht explizit überschreiben.

# Features verwalten Die Feature-Verwaltung ermöglicht es experimentelle bzw. neue Features je Mandant (und wahlweise für alle Mandanten einer Umgebung) zu aktivieren / deaktivieren. Somit ist es möglich Endkunden phasenweise an neue Funktionen zu gewöhnen oder optionale Features grundsätzlich zu deaktivieren.

Die Feature-Verwaltung wird sich langfristig zwischen On-Premis und SaaS-Angeboten unterscheiden.

Die Features eines Mandanten werden aktuell (Stand Q3 2022) als Teil der [Server- und Mandantenkonfiguration](https://docs.squeeze.one/books/squeeze-2-admin-handbuch/page/server-und-mandantenkonfiguration "Server- und Mandantenkonfiguration") gespeichert.

## Feature-Übersicht
**Flag****Funktion****Im Standard aktiviert?** **Verfügbar ab Version**
v2ViewerIst der v2 Viewer in der v2 UI nutzbar?X< 2.3.0
v1ViewerIst der v1 Viewer in der v2 UI nutzbar?X< 2.3.0
v2UiIst die v2 UI nutzbar?X< 2.3.0
v1UiIst die v1 UI nutzbar?X< 2.3.0
masterDataTablePermissionsSoll ein komplexeres Berechtigungssytsem in der Stammdatenverwaltung genutzt werden? < 2.3.0
jobManagementSoll das v2 Jobsystem in der Benutzeroberfläche sichtbar sein? < 2.3.0
documentLogDarf in der UI auf Dokumenten-Logs zugegriffen werden können? (Aktuell nur in Ergänzung mit Logging in Elasticsearch nutzbar) < 2.3.0
newsSidebar*Noch nicht veröffentlicht, wird nicht aktiv gepflegt:* Falls aktiv, zeigt in der UI ein vereinfachtes Changelog an. < 2.3.0
validationFieldLayout*Experimentell:* Soll ein komplexeres Feldlayouting (inkl. Layout-Editor) in der v2 UI für die Validierung genutzt werden? < 2.3.0
savedDocumentSearchesKönnen User Dokumenten-Suchen abspeichern und sehen diese als gespeicherte Suchen im Dashboard uws.? >= 2.3.0
translationAdministrationKönnen User in der Administration Sprachen und Übersetungen administrieren? >= 2.3.0
uiConfigExportKönnen User in der Administration Dokumentenklassen exportieren? >= 2.5.0
uiConfigImportKönnen User in der Administration Dokumentenklassen importieren? >= 2.5.0
uiAllowDocumentUploadKönnen User Dokumente hochladen?X>= 2.5.0
uiAllowDocumentSplitKönnen User Dokumente aufteilen?X>= 2.5.0
pipelineAllowMultipleStepExecutionsKönnen Verarbeitungsschritte mehrfach mit dem selben Dokument ausgeführt werden? >= 2.6.0
configurableFieldAmountFormattingDarf die Formatierung der Betragsfelder konfigurierbar sein? >= 2.7.0
[reportValidatedDocuments](https://docs.squeeze.one/books/squeeze-2-admin-handbuch/chapter/reporting)
Werden Report-Daten für die Auswertung der Extraktionsqualität erhoben und angezeigt? Warnung Stand April 2024: Dieses Feature ist noch nicht vollständig umgesetzt und könnte zur Ansammlung großer Datenmengen führen. >= 2.7.0
workerManager
Sollen Jobs über den Worker Manager verteilt & verwaltet werden? Serverseitig überschreibar über die Umgebungsvariable **SQZ\_WORKER\_MANAGER\_FORCE** >= 2.10
asyncExportAfterValidation
Ist es möglich, dass Dokumente nach einer manuellen Validierung im Hintergrund exportiert werden? Bei sehr langsamen Export-Schnittstellen nützlich. [Bei Aktivierung ist die entsprechende Stapelklassen-Eigenschaft nutzbar.](https://docs.squeeze.one/books/squeeze-2-admin-handbuch/page/stapelklassen-eigenschaften#bkmrk-asyncexportaftervali) X>= 2.12
formTraining
Ist Formularbasiertes Training möglich? >= 2.12
xmlEditorIst der administrative Editor zum Pflegen der XML Verarbeitung aktiv? Achtung, das Feature ist **experimentell**: Wenn sie dieses Flag aktivieren, ohne die explizite Freigabe eines DEXPRO Mitarbeiters dafür eingeholt zu haben, behalten wir uns das Recht vor, Supportfälle zum Thema XML zu lösen. Diese Einschränkung gilt, solange das Feature der XML Verarbeitung mittels Editor nicht über die Release Notes im Forum freigegeben wurde. >= 2.13
xmlTrainingIst das XML-Training für Kopfdaten und Positionen aktiv? >= 2.13
## Konfiguration via Mandanten-Konfig. Folgendes Beispiel aktiviert zwei und deaktivieren ein Feature für den betroffenen Mandanten. ```JSON { "...": { "...": "..." }, "features": { "v2Ui": true, "v2Viewer": true, "oldFeature": false } } ``` # System API #### Beschreibung Diese Seite dokumentiert die System API von Squeeze. Mit dieser können Mandanten und das System verwaltet werden. #### URL Die URL unter welcher Squeeze erreichbar ist, in Kombination mit dem folgenden Path: `/api/system/v1/dist/`, Beispielsweise `https://test.staging.squeeze.one/api/system/v1/dist/`. So erreichen Sie die im Swagger UI, welche die Verwendung unserer System API vereinfacht. #### Absicherung Die System API ist mit einer einfachen Basis-Authentifizierung abgesichert. Die Zugangsdaten, ein Benutzername und ein Passwort, befinden sich in der `docker-compose.yml` ihrer Squeeze Installation oder sollten Ihnen mitgeteilt worden sein. Ist dies nicht der Fall kontaktieren Sie uns bitte, damit wir Ihnen diese zukommen lassen können. #### System API Anfrage authentifizieren ##### Swagger UI In der Swagger UI finden Sie einen Button mit dem Namen "Authorize". Durch die Verwendung von diesem Element öffnet sich ein Modaler Dialog, in dem Sie Ihre Nutzerdaten (Benutzername und Passwort) hinterlegen können. Suchen Sie hierfür nach der "HTTP Basic Authentication"-Methode, welche, im Regelfall, als oberste Methode aufgeführt wird. ##### Selbst erstellte Anfrage Sie müssen Ihre Zugangsdaten mit der Base64-Methode enkodieren, wobei das Format der zu enkodierenden Zeichenkette `Username:Passwort` lautet. So ergibt beispielsweise der Username `system` und das Passwort `system` die nach Base64-Methode enkodierte Zeichenkette `c3lzdGVtOnN5c3RlbQ==`. Der Präfix "Basic" wird der enkodierten Zeichenkette beigefügt und als eine Zeichenkette dem Header, mit dem Key "Authorization", beigefügt; Beispiel: `Authorization: Basic c3lzdGVtOnN5c3RlbQ==`. Wenn Sie beispielsweise alle Tenants aufgeführt haben möchten, als Teil Ihrer selbst erstellten Anfrage, sähe Ihre Anfrage wie folgt aus (den Beispielen dieser Seite folgend, unter Verwendung von cURL): ```shell curl --location 'http://test.staging.squeeze.one/api/system/v1/tenants' --header 'Authorization: Basic c3lzdGVtOnN5c3RlbQ==' ``` # Mandanten-Installation über v2 UI Das Anlegen eines neuen Mandanten kann über den folgenden URL-Pfad im Browser abgerufen werden: - /ui/app/system-administration

Die gesamte URL setzt sich aus dem aktuellen Mandanten (-namen) und dem angegebenen Pfad zusammen.

##### Mandanteneinrichtung Der Mandant benötigt einen Mandantennamen abweichend vom bisherigen Namen der bei der initialen Installation verwendet worden ist. Beispiel: - Bisheriger Name: **squeeze.kunde.local** - Neuer Name: **squeeze-test.kunde.local**

**Achtung:** Sollte ein Mandant via Name bereits existieren, wird dieser anhand der Zustimmung überschrieben.

Ebenfalls ist ein Benutzer und Passwort notwendig, welche in der Serverkonfiguration abgerufen werden können. Nachdem die Eingabe erfolgt ist, werden Daten für den Admin Benutzer des neuen Mandanten benötigt. Im weiteren Schritt können dann Vorlagen ausgewählt werden, welche auf dem neuen Mandanten-Setup integriert werden. An letzter Stelle erfolgt eine Zusammenfassung aller Daten. Nach erfolgter Bestätigung, wird der neue Mandant aufgesetzt und Sie werden zu dem Mandanten-Login weitergeleitet. # Portal Integration

Die Integration des Portal wurde erstmals in Squeeze 2.13 möglich.

Die Integration des Portals befindet sich aktiv in der Entwicklung (Stand Q4 2024) - Bei Rückfragen sprechen Sie den Support bzw. einen Verantwortlichen der Entwicklung an.

### Integration konfigurieren Damit ein Squeeze Mandant sich beim Portal authentifizieren kann, ist die Konfiguration dieser Eigenschaften notwendig: ```JSON { "portal": { "enabled": true, "host": "https://portal.dexpro.de", "auth": { "clientId": "...", "secret": "..." } } } ```

Hinterlegen Sie die Konfiguration zum Portal **ausschließlich** in der Mandantenkonfiguration. Eine Konfiguration in der Serverkonfiguration kann zu Fehlverhalten führen, die nicht nur technische, sondern auch fachliche Fehler und falsche Zuordnungen im Abrechnungsprozess zur Folge haben können.