Invoice Installation

Einleitung

Einleitung

Umfang

Diese Dokumentation beschreibt die Installation des Invoice-Workflow-Pakets. Die Dokumentation umfasst lediglich die Documents5-Komponenten. Die Installation ist unabhängig von der Scan und Extraktions-Strecke und Sie beinhaltet auch keine Archivanbindung!

Das Installations-Paket wird als Zip-Datei zur Verfügung gestellt. Die Installation darf nur durch geschultes Personal durchgeführt werden!

Einleitung

Voraussetzung

Für die Installation des Invoice-Paktes muss Documents5 vorinstalliert sein! Es sollte immer die neueste für die Installation freigegebene Version verwendet werden. Bei einer bestehenden Installation muss zunächst ein Update auf diese Version erfolgen. In der "INVOICE_CHANGELOG.md" wird zur jeder Invoice-Version die Documents-Versionsnummer angegeben, welche zum Zeitpunkt der Entwicklung verwendet wurde. Bei einer Installation oder einem Update sollte die dort angegebene Versionsnummer als Mindestanforderung gesehen werden. Vor dem Invoice-Update muss zuerst Documents aktualisiert werden!

Falls es keine Vorgaben für die Installations-Pfade gibt wird eine Installation auf eine separate Applikations-Partition empfohlen und das Repository sollte ebenfalls auf eine separate Daten-Partition abgelegt werden. Die Installationen sollten sich möglichst gleichen. Für den Support sollte immer auch die Documents5 Remote Console importiert werden!
Beispiel:

Wenn für die Installation ein separater SQL-Server installiert wird, dann sollte dieser auf demselben Betriebssystem installiert werden.

Anpassung Documents-Installations-Pfad

Sowohl Documents5 als auch Documents6

Anpassung Documents-Installations-Pfad

Dateien kopieren

Zur Sicherheit sollte die bestehende Installation vorab gesichert werden. Der bereitgestellte Documents-Ordner aus der Installation-ZIP-Datei muss über den Documents-Installations-Pfad kopiert werden. Bei einer neuen Installation werden nur Dateien hinzugefügt. Die Update-Varianten enthalten nur die geänderten Dateien.

image-1717485535048.png

 

 

Anpassung Documents-Installations-Pfad

Anpassung documents.ini

Die documents.ini befindet sich im Sever-Verzeichnis der Documents5-Installation. Die Anpassungen mit Beschreibungen werden mit der documents_help.ini ausgeliefert. Folgende Einträge müssen aktiviert werden:

JSMaxMemory 1638400
JSMaxBranch 0
MaxLogFile 100000000

 

Der PDF-Druck von Handlebars-Documenten-Vorlagen wird größtenteils im Procurement-Modul benötigt. Für bessere Druck-Ergebnisse sollte auf die Chromium-Bibliotheken umgestellt werden. Die Standard-Einstellung muss deaktiviert oder überschrieben werden. Die Einstellung ist nur relevant, wenn der PDF-Druck verwendet wird.

# Usage of Chromium for html to pdf
$convert.html "[INSTALLDIR]\..\createpdf\convert\html_chrome\html2pdf.bat" %input %output

 

Das Passwort für den DB-Benutzer sollte verschlüsselt werden! Hierfür muss das Passwort wie folgt angegeben werden.

DBPassword {crypt:Password}

Die Anpassungen bzw. die Verschlüsselung des Passworts wirken sich erst durch einen Neustart aus.

Anpassung Documents-Installations-Pfad

Anpassung documents.xml

Die documents.xml befindet sich in der Documents-Installation und einem Tomcat9 unter:
...\Documents\tomcat9\conf\Catalina\localhost\documents.xml.

Abweichunde Ordner-Pfade in der Datei müssen manuell angepasst werden.

<?xml version="1.0" encoding="UTF-8"?>
<Context>
	<Resources>
		<PreResources base="D:/Documents6/DEXPRO/ScriptExits" webAppMount="/ext/jsp/"               className="org.apache.catalina.webresources.DirResourceSet" />
		<PreResources base="D:/Documents6/DEXPRO_ClientExits" webAppMount="/ext/jsp/DexClientExits" className="org.apache.catalina.webresources.DirResourceSet" />
		<PreResources base="D:/Documents6/DEXPRO/WEB-INF"     webAppMount="/WEB-INF/"               className="org.apache.catalina.webresources.DirResourceSet" />
		<PreResources base="D:/Documents6/DEXPRO/Gentable"    webAppMount="/WEB-INF/classes/"       className="org.apache.catalina.webresources.DirResourceSet" />
		<PreResources base="D:/Documents6/DEXPRO/Skin"        webAppMount="/"                       className="org.apache.catalina.webresources.DirResourceSet" />
        <PreResources base="D:/Documents6/DEXPRO/Vue/www" 	  webAppMount="/ext/dex"                className="org.apache.catalina.webresources.DirResourceSet" />
		<PreResources base="D:/Documents6/DEXPRO/SQUEEZE/www" webAppMount="/ext/dex"                className="org.apache.catalina.webresources.DirResourceSet" />
	</Resources>
</Context>

Sollte die Datei bereits existieren, müssen die Einträge hinzugefügt werden.
Wenn bereits Einträge bestehen, dann müssen die Skript-Importe zusammengefasst werden.

Bei einem Update älterer Invoice-Versionen ist darauf zu achten, dass der SQUEEZE-Ordner in den DEXPRO-Ordner umgezogen wurde und der Vue-Ordner hinzugekommen ist.

Anlage Datenbanken (MS SQL / MySQL)

ORACLE wird nicht offiziell unterstützt!

Anlage Datenbanken (MS SQL / MySQL)

Datenbank-Import

Das Invoice-Paket wird mit 2 separaten Datenbanken DEX_Workflow und DEX_MasterData ausgeliefert. Das Invoice-Paket wird auf einer Maria-DB (MySQL) entwickelt und wird mit einer MS-SQL Datenbank getestet. Die Anbindung an ORACLE ist nicht getestet!

Die Erstellung der Datenbanken ist im ausgelieferten SQL-Skript enthalten. In dem Skript ist ein fixer Datei-Pfad für Datenbankdateien enthalten. Die beiden Datenbanken sollten manuell vorab erstellt werden und die Datenbank-Erstellung im SQL-Skript müssen in dem Fall auskommentiert werden. Alternativ kann der Datei-Pfad manuell angepasst werden. Auf jeden Fall sollten die Angaben für die Daten- und Log-Erweiterungen angepasst werden!

Für den Import der Tabellen stehen SQL-Skripte zur Verfügung (MS SQL und MySQL bzw. Maria DB). Die Tabellen werden ohne Daten ausgeliefert! Die Konfigurations-Daten werden zu einem späteren Zeitpunkt separat über die WEB-Konfiguration importiert. Die SQL-Befehle befinden sich unter "Documents5\DEXPRO\DbTableConfig\" in den Unterordnern "MSSQL" bzw. "MYSQL".

Der Stammdaten-Import muss projektspezifisch erfolgen! Die Datenbanken müssen regelmäßig gesichert werden!

Die Datenbanknamen können abgeändert werden. Wenn die produktiven Datenbanken und die Testdatenbanken auf demselben SQL-Server installiert werden, sollten zwingend alle Namen abgeändert werden! Sollte an irgendeiner Stelle nicht die korrekte Datenbank angesprochen werden wird hierdurch verhindert, dass in eine andere bestehende Datenbank geschrieben wird. Um ganz sicher zu gehen können unterschiedliche Datenbank-Benutzer mit entsprechender Berechtigung verwendet werden.

 

MS SQL

In jedem Fall sollten die Anfangsgröße, die Vergrößerung und der Speicher-Pfad angepasst bzw. kontrolliert werden. Hier die empfohlenen Werte:

 

My SQL

Bei der Installation mit MySQL ist darauf zu achten, dass die Tabellen für die Positions-Daten bereits in der Auslieferung alle Standard-Felder als Spalten enthalten. Vor der Erstellung der DB muss die "page size" hochgestellt werden, damit es beim Import nicht zu Fehlern kommt. Der folgenden Einträge müssen zur "my.ini" im Abschnitt "[mysql]" hinzugefügt werden, welche sich im "Data"-Verzeichnis der MariaDB installation befindet.

# Die Tabellen der "dex_workflow" haben zum Teil viele Spalten.
# Die Datenbank kann ohne diese Anpassung nicht importiert werden!
innodb_page_size=32K

# Die Buffer-Poolsize sollte 2/3 vom RAM sein
innodb_buffer_pool_size=2G
# Die Logs sollte auf 1/4 vom Wert  innodb_buffer_pool_size gesetzt werden!
innodb_log_file_size=512M

innodb_log_buffer_size=512M
# Schreibt 2 Transaktions-Logs (wirkt sich sehr positiv auf die Performance aus!)
innodb_flush_log_at_trx_commit=2

Die "page size" sollte vor der Anlage der ersten Datenbank erhöht werden! Andernfalls siehe folgende Anleitung.

DOCUMENTS 5 verwendet UTF-8 als Datenbank-Encoding. Bitte installieren Sie den MySQL Server mit der Option "Use UTF8 as default server's character set"!

 

My SQL: PageSize nachträglich ändern


Sollten bereits Datenbanken mit einer anderen PageSize existieren, dann führt der Eintrag "innodb_page_size" zu Fehlern. In dem Fall müssen die bestehenden Datenbanken exportiert und später wieder importiert werden! Der Export der Datenbanken muss mit Daten und der Einstellung "Max INSERT Länge" mit dem Wert "32.000" erfolgen!

image-1605606452620.png

Die Datenbank muss im Anschluss heruntergefahren werden und die Datenbank-Ordner unter "...\MariaDB\data\..." können gesichert oder gelöscht werden. Zudem müssen die Dateien

aus dem "data" Verzeichnis gelöscht werden.

Erst jetzt darf der "PageSize"-Eintrag zur "my.ini" hinzugefügt werden. MariaDB kann wieder gestartet werden und die Datenbanken können wieder importiert werden.

XML-Importe

Im Installations-Paket werden XML-Dateien zur Verfügung gestellt. Diese Dateien müssen zwingend in der korrekten Reihenfolge über den Documents-Manager importiert werden.

XML-Importe

XML-Importe und Anpassungen über den Manager

Es muss zwingend darauf geachtet werden, dass die vorgegebene Import-Reihenfolge eingehalten wird!

Die XML-Datei für die Documents-Einstellungen sollte nur bei Neuinstallationen verwendet werden! Falls das Invoice-Paket in eine bestehende Installation integriert werden soll müssen die Einträge manuell hinzugefügt werden! Relevant sind die folgenden Einträge:

Die folgenden globalen Documents-Einstellungen werden empfohlen. Es muss aber pro Eigenschaft projektspezifisch geprüft werden, ob es evtl. Auswirkungen auf andere Umsetzungen beim Kunden gibt und ggf. muss abgestimmt werden, ob bestimmte Funktionen wie die Chat-Funktion beim Kunden überhaupt gewünscht sind!

Am Documents-Mandanten können die folgenden Eigenschaft gesetzt werden:

Es muss zwingend ein Job-Benutzer gesetzt sein und dieser muss zwingend alle Berechtigungen an allen Rechnungs-Akten erhalten! Es wird empfohlen das Löschen zu deaktivieren, damit ausschließlich über die Aussteuerungs-Funktion gelöscht werden kann.

Die nächste XML-Datei importiert Gruppen und Benutzer. Nach dem Import müssen die folgenden Gruppen existieren. Die Gruppen können auch manuell erstellt werden:

Für den Workflow werden kundenspezifisch weitere Gruppen benötigt.

Der hinterlegte Job-Benutzer muss entweder als Benutzer oder Redakteur existieren. Der Benutzer muss den Gruppen WorkflowError und TechAccessProfile zugeordnet werden!
Zudem muss es einen Benutzer für den Import der Rechnungs-Dokumente geben. In jedem Fall sollten weitere Benutzer für erste Tests angelegt werden und diese müssen Gruppen zugeordnet werden.

Die weiteren XML-Importe müssen zwingend in der vorgegebenen Reihenfolge durchgeführt werden, damit Verknüpfungen automatisch gesetzt werden können!

Die Administrations-Outbar enthält alle Konfigurations-Outbars für alle DEXPRO-Lösungen. Die nicht verwendeten Outbars können manuell ausgeblendet werden, indem die "Freigegeben"-Checkbox deaktiviert wird. Die Outbars selber enthalten ggf. nicht benötigte Konfigurations-Ordner bzw. ausgeblendete aber zwingend benötigte Konfigurations-Ordner. Die Ordner müssen projektspezifisch angepasst werden.

image-1721138467298.png

Die Anzeige-Reihenfolge der Outbars kann in den Documents-Einstellungen vorgenommen werden.

image-1721138644747.png

Es kann passieren, dass die Verknüpfung des Workflows am Invoice-Mappentypen nicht automatisch gesetzt werden konnte. In dem Fall muss die Verknüpfung manuell gesetzt werden. Der Workflow muss unter "Zulässige Workflows" hinzugefügt werden und die aktuelle Workflow-Version muss unter "Workflow" als "Standard-Workflow" gesetzt werden. Die Checkbox "Workflow bei der Neuanlage sofort starten" kann optional gesetzt werden. Wenn die Belege über Squeeze über die SOAP-Schnittstelle angelegt werden, dann dauert der Anlage-Vorgang so lange, bis der gestartete Workflow die erste Aktion erreicht. Um die Anlage-Zeit zu verkürzen und somit auch die Fehleranfälligkeit in der Schnittstelle zu minimieren, können die Vorgänge auch zeitversetzt üder den Job "Invoice_JOB_StartWorkflow" gestartet werden.

image-1721138689713.png

 

Zusammenfassung
  1. XML-Import der Eigenschaften oder manuelle Anlage
  2. XML-Import der Benutzer und Gruppen oder manuelle Anlage
  3. XML-Import Skripte
  4. XML-Import Workflow
  5. XML-Import Mappentyp (zwingend die Import-Reihenfolge einhalten!)
  6. XML-Import Ordner+Outbars (zwingend die Import-Reihenfolge einhalten!)
  7. Outbar-Reihenfolge anpassen und nicht benötigte Admin-Outbars ausblenden
XML-Importe

Neustart der Documents-Dienste und Test

Nach dem Abschluss der Documents-Installationen müssen die Documents-Dienste neu gestartet werden. Erst durch den Neustart greifen einige der neue gesetzten Documents-Einstellungen wie die Sub-Outbars oder das "Design20".

Es wird empfohlen sich einmal an der Documents-Oberfläche mit einem Benutzer anzumelden, um die Anpassungen zu kontrollieren. Die Reihenfolge der Outbars kann zum Beispiel über die Konfiguration Documents-Einstellungen auf dem Reiter "Outbars" angepasst werden.

image-1606223002755.png

Einrichtung WEB-Konfiguration

Einrichtung WEB-Konfiguration

Einleitung WEB-Konfiguration

Der abschließende Teil der initialen Invoice-Einrichtung erfolgt über die WEB-Konfigurationen. Hierzu muss man sich mit einem Benutzer aus der Gruppe "Administration" an der Documents WEB-Seite anmelden. Nur Mitglieder der Gruppe "Administration" haben initial Zugriff zu den Aministrations-Outbars. Projektspezifisch können die Berechtigungen feiner justiert werden, indem über den Documents-Manager zusätzliche Berechtigungen pro Ordner definiert werden. Dies kann zum Beispiel notwendig sein, wenn ein Anwender lediglich Workflow-Regeln ändern können soll.

Die einzelnen Konfigurationen verteilen sich auf mehrere Sub-Outbars. auf der Sub-Outbar "Allgemein" befinden sich sehr allgemeine Konfigurations-Elemente wie die Konfiguration für die Benutzer und Gruppen, Datenbank-Verbindungen und Übersetzungen. Die Sub-Outbar "Invoice" enthält spezifische Konfigurationen für die gleichnamige Documents-Lösung wie die Workflow-Regeln und Feldkonfigurationen. Die Sub-Outbar "Squeeze" enthält Konfigurations-Ordner für die Squeeze-Anbindung und -Konfiguration. Hierfür existiert eine separate Anleitung.

Die WEB-Konfigurationen wurden als Gadget-Aufruf auf öffentlichen Ordnern umgesetzt. Die Darstellung erfolgt über das Framework "Vue.js" und die Daten werden in der Regel in Datenbank-Tabellen gespeichert.

Der Zugriff auf die Datenbank-Daten erfolgt über den Table-Service.

Einrichtung WEB-Konfiguration

Einrichtung Table-Service

Die WEB-Konfigurationen von Invoice greifen über den Table-Service auf Daten aus den Datenbanktabellen zu. Hierzu muss die Verbindung zur Datenbank eingerichtet werden. Der Ordner "TableService" befindet sich im DEXPRO-Ordner der Documents-Installation.

Die Datenbank-Verbindung kann über den Ordner "Verbindung" -> "Table Service" auf der Administrations-Outbar "Allgemein" konfiguriert werden. Die TableService-URL verweist auf das lokale System. Der Port kann in der Regel unverändert bleiben und der Api-Key kann über den Button "API-KEY ERZEUGEN" automatisch generiert werden. Der API key vom Table Service befindet sich im Ordner "...\DEXPRO\TableService\config\" in der Datei "local.json".  Sollte der Table Service an anderer Stelle installiert sein (zum Beispiel bei Docker-Systemen), dann muss sich die Datei "local.json" trotzdem an dieser Stelle befinden und in der Datei muss der API key von der Table Service konfiguration eingetragen werden.

Pro Datenbank kann ein alternativer Zugriff definiert werden. In der Standard-Auslieferung muss der Zugriff für die Datenbanken "DEX_MasterData", "DEX_Workflow" sowie für die "Documents"-Datenbank konfiguriert werden. Da alle 3 Datenbanken in der Regel auf demselben SQL-Server liegen und die Zugriffe in der Regel über denselben Benutzer erfolgen, kann die Checkbox "Verbindungsdaten für alle Verbindungen verwenden?" gesetzt werden. Hierdurch muss der Zugriff nur einmalig konfiguriert werden. Der Anwender muss unter "Host" den SQL-Server-Namen inklusive Instanz angeben. Der SQL-Benutzer sollte volle Berechtigungen auf den Datenbanken haben.

image-1591266623552.png

Die WEB-Konfiguration passt die folgenden Dateien an, welche alternativ auch manuell angepasst werden können:

Über den Button "SERVICE INSTALLIEREN" wird das angegebene Passwort automatisch verschlüsselt und der Table-Service wird als Dienst installiert und gestartet. Sollte die Installation fehlschlagen sollte die "service-install.bat" aus dem Ordner "TableService" manuell mit Administrations-Rechten ausgeführt werden.

Nach der Table-Service-Installation muss der Browser-Cache geleert werden! Andernfalls werden auf den Konfigurations-Seiten keine Daten geladen!

 

Alternativ kann der Browser-Cache vorübergehend deaktiviert werden. Hierfür kann man über die "F12"-Taste auf dem Register "Netzwerk" die Checkbox "Cache deaktivieren" drücken.

image-1605261689740.png

 

Bei einem MS SQL Express Server (bitte nur auf Testservern verwenden) muss die Einstellung "Named Pipes" über den SQL Server-Konfigurations-Manager aktiviert werden und der Dienst "SQL Server-Browser" muss gestartet werden.

image-1606313564287.png

Sobald der Table-Service korrekt konfiguriert wurde, können auch die WEB-Konfigurationen aufgerufen werden, welche auf Daten aus den Datenbanken zugreifen. Auch die Stammdaten Pop-Up Auswahlfenster verwenden den Table-Service.

Projektspezifische Konfigurationen sollten immer nur unter "...\DEXPRO\DocumentsOS\DEXPRO\TableService\data\table-definitions\Custom\" abgelegt werden. Standard-Konfigurationen sollten durch projektspezifische Konfigurationen im Custom-Ordner ersetzt werden. Die Konfigurations-Bezeichnungen ("nameApi") dürfen immer nur einmalig vergeben werden. Andernfalls lässt sich der TableService nicht mehr starten. Projektspezifische Konfigurationen sollten immer die Bezeichnung "Custom" enthalten, um Dopplungen auch bei Updates auszuschließen. Spezielle WEB-Konfigurationen befinden sich im Ordner "...\DEXPRO\Vue\www\vue\include\". Der Ordnername entspricht dem "nameApi".

Einrichtung WEB-Konfiguration

Einrichtung Datenbankverbindung für Documents-Skripte

Neben den WEB-Konfigurationen müssen auch die Documents-Skripte eine Datenbank-Verbindung herstellen können. Die Klasse "DBConnection()" enthält 4 Parameter.

In der Documents-Installation im DEXPRO-Ordner befindet sich die Datei "dbConn.json". Die Datei beinhalte Informationen zu den Datenbankverbindungen zu den 3 Datenbanken "DEX_Workflow", "DEX_MasterData" und der "Documents"-Datenbank. Die Angaben können entweder direkt über die Datei oder über den WEB-Konfigurations-Ordner "Datenbank-Verbindung" hinterlegt werden. Der Konfigurations-Ordner befindet sich auf der Administrations-Outbar "Allgmein" unter "Verbindung".

image-1591271338981.png

In der Regel liegen alle 3 Datenbanken auf demselben SQL-Server und der Zugriff soll über denselben Benutzer erfolgen. Über die Checkbox "Verbindungsdaten für alle Verbindungen verwenden?" muss die Verbindung nur beim ersten Eintrag gesetzt werden und die Angaben werden automatisch übertragen.

Für die Datenbankverbindung muss zunächst der SQL-Typ ("sqltype") definiert werden. Bei den Standard-Verbindungen werden nur die Angaben "MySQL" und "Microsoft-SQL" unterstützt. Bei projektspezifischen Verbindungen kann auch "ORACLE" angegeben werden. Die Angabe bezieht sich auf den "sqltype"-Eintrag in der "dbConn.json". Die Angaben hier sind "mysql", "mssql" bzw. "oracle". 

Als Verbindungstyp steht bei Microsoft-SQL nur die Option via "ODBC" zur Verfügung und unter "SQL-Connection String" muss entsprechend der ODBC-Verbindungsname angegeben werden. Die entsprechenden Angaben in der "dbConn.json" sind "d5conntype" und "d5connstr".

image-1591273480895.png

Die ODBC muss als System-DSN (64-Bit) angelegt werden!

Bei "MySQL" kann hingegen eine direkte Verbindung zur Datenbank hergestellt werden  (Beispiel: "dex_workflow@localhost").

Pro Verbindung kann genau ein Datenbankname angegeben werden. Bei einigen Kundeninstallationen liegen die Test- und Produktiv-Datenbanken auf demselben SQL-Server und die Test-Datenbank-Namen werden lediglich um ein "_Test" ergänzt. Bei Microsoft-SQL wird die Verbindung zusätzlich auf eine "dbo"-Angabe eingeschränkt.

Um Datums-Werte korrekt in die Datenbank schreiben zu können muss das korrekte Datums-Format bekannt sein. Je nach Konfiguration muss entweder zuerst der Monat oder zuerst der Tag angegeben werden.

Zuletzt muss ein Benutzer für die Datenbankverbindung angegeben werden. Dieser SQL-Benutzer muss mindestens Schreibrechte auf die 3 Datenbanken haben. Bei SQL-Benutzern muss das Passwort angegeben werden. Dieses Passwort wird beim ersten Portal-Skript-Aufruf automatisch verschlüsselt. Alternativ kann auch ein Windows-Benutzer verwendet werden. In dem Fall muss das Passwort leer bleiben.

Die Verbindung sollte zum Abschluss über den Button "VERBINDUNG PRÜFEN" getestet werden.

Bei Microsoft-SQL-Benutzern darf die Checkbox "Kennwortrichtlinie erzwingen" nicht gesetzt werden!

Bei manuellen Anpassungen über die dbConn.json muss der propCache "DbConnections" über den Ordner "Documents Property Cache" auf der allgemeinen Administrations-Outbar gelöscht werden.

Projektspezifisch können eigene Einträge zur dbConn.json hinzugefügt werden.

Einrichtung WEB-Konfiguration

Tabellen-Konfigurationen importieren

Über den Ordner „Tabellendaten exportieren“ können Daten aus einer Datenbank-Tabelle exportiert und wieder importiert werden. Die Exporte werden im Ordner „…\Documents5\DEXPRO\JsonExport\“ als JSON-Dateien abgelegt. Der Dateiname entspricht dem Tabellen-Namen plus Zeitstempel.

image-1585896326735.png

Alle JSON-Dateien aus dem Ordner „JsonImport“ können bei einer Neu-Installation über den Button "Alle Importieren" in einem Zug importiert werden! Bei einem Update wird in der Regel nur die "parameter_config" JSON ausgeliefert.

image-1591269527630.png

Folgende JSON-Dateien sollten beim Import enthalten sein:

Einrichtung WEB-Konfiguration

Übersetzungen

Über den Ordner Übersetzungenmüssen die produktspezifischen properties-Dateien über den Button mit dem Wolken-Icon und dem Pfeil nach unten in die Datenbank geladen werden. Im Anschluss sollten die Daten direkt wieder über den nebenstehenden Button wieder zurück in die properties-dateien geschrieben werden.

image-1591269278326.png

Beim Schreiben in die Datenbank werden immer nur Daten hinzugefügt. Wenn an einem Eintrag die Checkbox "Projektspezifische Anpassung" gesetzt ist, werden die Daten bei einem Import nicht überschrieben. Bei einem Export wird die bestehende properties-Datei mit einem Zeitstempel versehen und in einen Backup-Ordner verschoben und es wird eine neue Datei erstellt.

Einrichtung WEB-Konfiguration

Benutzer / Benutzergruppen

Neue Benutzer und Gruppen können über die WEB-Konfiguration über die jeweiligen Filter-Ordner erstellt werden. Über den Aktionslisten-Eintrag „Synchronisieren“ werden die jeweiligen Akten erstellt. Falls die Benutzer und Gruppen über LDAP synchronisiert werden können die Ordner über den Documents-Manager ausgeblendet werden.

Es werden die aus anderen Lösungen bekannten Mappentypen otrAccessProfile und otrUser verwendet. Allerdings wurden alle an den Mappentypen hinterlegten Skripte durch eigene Skripte ersetzt. Die Mappentypen wurde um diverse Funktionen erweitert. Falls sich diese Mappentypen bereits durch andere Lösungen auf dem System befinden, dann sollten die Mappentypen nicht überschrieben werden, damit alle bestehenden Funktionen auch weiterhin funktionieren!

Einrichtung WEB-Konfiguration

Anlage der kundenspezifischen Mandanten

Es muss mindestens ein kundenspezifischer Mandant über den Stammdaten-Konfigurations-Ordner Mandanten angelegt werden. Die Lösung unterscheidet "Mandanten" (Principal) und "Buchungskreise" (CompanyCode).

In der Regel reicht ein Wert zur Unterscheidung aus. Beide Werte können in dem Fall auf denselben Wert gesetzt werden und das "CompanyCode" Feld kann später über die Feldkonfiguration ausgeblendet werden. Beim Speichern können beide Feldwerte zum Beispiel über das UserExit "ue_OnSave_Start()" auf denselben Wert gesetzt werden. In den Stammdaten-Tabellen sollte "CompanyCode" hingegen immer mit "ANY" belegt werden, damit bei einem Mandanten-Wechsel ohne Zwischen-Speichern direkt die korrekten Stammdaten angezeigt werden.

Einrichtung WEB-Konfiguration

Import Kopf-Felder und Anpassung SQL-Insert

Auf der Administrations-Outbar „Invoice“ gibt es den Ordner „Kopf-Felder“ unterhalb der „Feldkonfigurationen“. Die Kopffelder müssen initial über den Button „KOPFFELDER NEU LADEN“ eingelesen werden. Die Werte werden direkt aus der Documents5-Datenbank ausgelesen.

Bei den Standardwerten kann über die Checkbox „SQL Insert?“ angegeben werden, ob das Feld beim Speichern der Rechnungs-Akte in die Datenbank-Tabelle „invoice_posting_head“ geschrieben wird oder nicht. Wenn es zum Feld ein gleichnamiges Feld in der Tabelle existiert, wird die Checkbox beim Import vorbelegt. Andernfalls kann über die Feldkonfirguation automatisch eine passende Spalte in der Tabelle erzeugt werden.

Über die Spalte "In Workflow-Regel verwenden?" kann festgelegt werden, ob das Feld in den Workflow-Regeln zur Auswahl steht. In den Workflow-Regeln wird die Auswahlliste hierdurch übersichtlicher.

Lizenz

Ab der Version 1.0.300 wird eine Lizenzdatei benötigt. Die Lizenz sollte vor einem Update beantragt werden!

Lizenz

Lizenzdateien

Die Lizenz besteht aus 2 Dateien. Die Informationen stehen im Klartext in einer JSON-Datei. Eine zweite Datei signiert diese JSON-Datei. Sobald Änderungen an der JSON-Datei vorgenommen werden passt die Signatur nicht mehr zur JSON-Datei. Der Dateiname ist der Name der Documents-PEM.

Verwendung ab Invoice 1.0.300

Die Lizenzdateien werden ab der Invoice-Version 1.0.300 benötigt. Das betrifft sowohl Neuinstallationen als auch Updates! Vor einem Update muss die Lizenzdatei rechtzeitig beantragt werden!

JSON-Datei

Die JSON-Datei enthält Informationen zur Lizenz-Versionsnummer; eine interne ID sowie die interne Kundennummer und den Kundennamen; einen Anlagezeitstempel und ein Ablaufdatum. Zur Ausstellung einer Lizenz werden folgende Angaben benötigt:

Signatur

Die JSON-Datei wird zusammen mit einer passenden Signatur-Datei ausgeliefert. Die Signatur-Datei enthält einen verschlüsselten String. Eine Anpassung an der JSON- oder Signatur-Datei führt zu einem Lizenz-Fehler!

Ablage und Prüfung

Im DEXPRO-Ordner der Documents-Installation befindet sich der Licence-Ordner. Hier müssen beide Dateien abgelegt werden. Der Ordner enthält den Unterordner "Tool" mit der "licence-tool-x64.exe". Die Datei wird benötigt um die Lizenz zu prüfen. Sollte der Pfad oder sollte eine Datei fehlen oder manipuliert worden sein wird es im Workflow zu Fehlern kommen. Zudem werden die Angaben in der Lizenz an diversen Stellen im Workflow geprüft.

Die Lizenz kann in den aktuellen Versionen über die WEB-Oberfläche angefordert und hochgeladen werden.

image-1721143616651.png

Optionale Erweiterungen

Optionale Erweiterungen

Single-Sign-On: Auslagerung der web.xml

Ein häufiger Kundenwunsch ist die automatische Anmeldung am System via Single-Sign-On. Hierfür müssen Anpassungen in der web.xml vorgenommen werden, welche sich im webapps-Ordner des Tomcats befindet. Nach einem Documents-Update soll jedoch immer der webapps-Ordner gelöscht werden und dadurch gehen auch diese SSO-Anpassungen in der web.xml verloren.

Hierfür kann die web.xml in den ..\DEXPRO\WEB-INF\-Ordner kopiert werden. Bei einem Documents-Update gehen die Anpassungen an der Datei nicht mehr verloren. Der Nachteil ist allerdings, dass dadurch ggf. benötigte Erweiterungen an der web.xml manuell hinzugefügt werden müssen.

Die Auslagerung der web.xml ist ausdrücklich nur als Option zu sehen.

Optionale Erweiterungen

SSL

Bei einer Umstellung auf https müssen alle Programme über dasselbe Protokoll miteinander kommunizieren! In der Regel sind folgende Programme betroffen und es werden folgende Zertifikate benötigt:

<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
		maxThreads="200"
        SSLEnabled="true"
        scheme="https"
        secure="true"
		keystoreFile="D:\Applikationen\Documents5\tomcat8\conf\zertifikatsdatei.p12"
        keystorePass="ZertifikatPasswort"
		clientAuth="false"
        sslProtocol="TLS"
        maxPostSize="8388608"
        maxHttpHeaderSize="32768"
/>

Der Zertifikatsspeicher (PFX) bzw. das Zertifikat muss mindestens mit dem Signaturalgorithmus SHA-256 signiert sein.
Es kann bei veraltet konfigurierten CAs (Certificate Authority) vorkommen, dass ein Exportvorgang mit SHA-256 erfolgreich abgeschlossen, das Zertifikat jedoch immer noch mit SHA-1 signiert wurde. SHA-1 gilt seit 2017 als NICHT SICHER!

Der Kunde soll einen PFX Zertifikatsspeicher bereitstellen und das Passwort mitteilen. Gegebenenfalls wird im DEXPRO-Ordner bereits der Unterordner OpenSSL ausgeliefert. Der Ordner enthält die openssl.exe und 2 DLL's sowie eine ExtractPfx.bat. In der BAT-Datei müssen lediglich der Dateiname, das Passwort und der Pfad angepasst werden. Die PFX-Datei muss in den Unterordner "IN"  abgelegt werden.

REM VARIABLES TO SET!
SET FILENAME=cert.pfx
SET PW=mySecretPW
SET PATH=D:\Documents5\DEXPRO\OpenSSL\

OPENSSL BINARIES

Durch die Extraktion werden die folgenden Dateien erstellt:

Die ExtrctPfx.bat sollte mit Administrator-Berechtigungen ausgeführt werden. Das Ergebnis sollte wie im folgenden Screenshot zu sehen aussehen.

image-1651066881810.png

Die konvertierte crt- und die ky-Datei enthalten zusätzliche Informationen, welche manuell aus der Datei gelöscht werden müssen. Die Dateien können beliebig umbenannt und verwendet werden.

image-1651067220769.png