3.8. Dateiverwaltung (Mini-DMS)

3.8.1. Übersicht

Parallel zum alten WebDAV gibt es ein Datei-Management-System, das Dateien verschiedenen Typs verwaltet. Dies können

  1. aus ERP-Daten per LaTeX Template erzeugte PDF-Dokumente,

  2. zu bestimmten ERP-Daten gehörende Anhangdateien unterschiedlichen Formats,

  3. per Scanner eingelesene PDF-Dateien,

  4. per E-Mail empfangene Dateianhänge unterschiedlichen Formats,

  5. sowie speziel für Artikel hochgeladene Bilder sein.

3.8.2. Struktur

Über eine vom Speichermedium unabhängige Zwischenschicht werden die Dateien und ihre Versionen in der Datenbank verwaltet. Darunter können verschiedene Implementierungen (Backends) gleichzeitig existieren:

  • Dateisystem

  • WebDAV

  • Schnittstelle zu externen Dokumenten-Management-Systemen

  • andere Datenbank

  • etc ...

Es gibt unterschiedliche Typen von Dateien. Jedem Typ läßt sich in der Mandantenkonfiguration ein bestimmtes Backend zuordnen.

  • "document": Das sind entweder generierte, eingescannte oder hochgeladene PDF-Dateien, die zu bestimmten ERP-Daten (ERP-Objekte, wie z.B. Rechnung, Lieferschein) gehören.

  • "attachment": zusätzlich hochgeladene Dokumente, die an bestimmte ERP-Objekte angehängt werden, z.B. technische Zeichnungen, Aufmaße. Diese können auch für Artikel, Lieferanten und Kunden hinterlegt sein.

  • "image": Bilder für Artikel. Diese können auch verkleinert in einer Vorschau (Thumbnail) angezeigt werden.

Zusätzlich werden in der Datenbank zu den Dateien neben der Zuordnung zu ERP-Objekten, Dateityp Dateinamen und Backend, in dem die Datei gespeichert ist, auch die Quelle der Datei notiert:

  • "created": vom System erzeugte Dokumente"

  • "uploaded": hochgeladene Dokumente

  • "email": vom Mail-System empfangene Dateien

  • "scanner[1]": von einem oder mehreren Scannern erzeugte Dateien. Existieren mehrere Scanner, so sind diese durch unterschiedliche Quellennamen zu definieren.

Je nach Dateityp sind nur bestimmte Quellen zulässig. So gibt es für "attachment" und "image" nur die Quelle "uploaded". Für "document" gibt es auf jeden Fall die Quelle "created". Die Quellen "scanner" und "email" müssen derzeit in der Datenbank konfiguriert werden (siehe Datenbank-Konfigurierung).

3.8.3. Anwendung

Die Daten werden bei den ERP-Objekten als extra Reiter dargestellt. Eine Verkaufsrechnung z.B. hat die Reiter "Dokumente" und "Dateianhänge".

Bei den Dateianhängen wird immer nur die aktuelle Version einer Datei angezeigt. Wird eine Datei mit gleichem Namen hochgeladen, so wird eine neue Version der Datei erstellt. Vorher wird der Anwender durch einen Dialog gefragt, ob er eine neue Version anlegen will oder ob er die Datei umbenennen will, falls es eine neue Datei sein soll.

Es können mehrere Dateien gleichzeitig hochgeladen werden, solange in Summe die maximale Größe nicht überschritten wird (siehe Mandantenkonfigurierung).

Sind keine weiteren Quellen für Dokumente konfiguriert, so gibt es nur "erzeugte Dokumente". Es werden alle Versionen der generierten Datei angezeigt. Für Verkaufsrechnungen kommen keine anderen Quellen zur Geltung. Werden entsprechend der Datenbank-Konfigurierung zusätzliche Quellen konfiguriert, so sind diese z.B. bei Einkaufsrechnungen sichtbar:

Statt des Löschens wird hier die Datei zurück zur Quelle verschoben. Somit kann die Datei anschließend an ein anderes ERP-Objekt angehängt werden.

Derzeit sind "Titel" und "Beschreibung" noch nicht genutzt. Sie sind bisher nur bei Bildern relevant.

3.8.4. Konfigurierung

3.8.4.1. Mandantenkonfiguration

3.8.4.1.1. Reiter "Features"

Unter dem Reiter Features im Abschnitt Dateimanagement ist neben dem "alten" WebDAV das Dateimangement generell zu- und abschaltbar, sowie die Zuordnung der Dateitypen zu Backends. Die Löschbarkeit von Dateien, sowie die maximale Uploadgröße sind Backend-unabhängig

Die einzelnen Backends sind einzeln einschaltbar. Spezifische Backend-Konfigurierungen sind hier noch ergänzbar.

3.8.4.1.2. Reiter "Allgemeine Dokumentenanhänge"

Unter dem Reiter Allgemeine Dokumentenanhänge kann für alle ERP-Dokumente ( Angebote, Aufträge, Lieferscheine, Rechnungen im Verkauf und Einkauf ) allgemeingültige Anhänge hochgeladen werden.

Diese Anhänge werden beim Generieren von PDF-Dateien an die ERP-Dokumente angehängt, z.B. AGBs oder aktuelle Angebote. Es werden in dem Fall die Daten kopiert, sodass an den ERP-Dokumenten immer die Anhänge zum Generierungszeitpunkt eingebettet sind.

3.8.4.2. Datenbank-Konfigurierung

Die zusätzlichen Quellen für "email" oder ein oder mehrere Scanner sind derzeit vom Administrator direkt in der Datenbanktabelle "user_preferences" einzurichten. Die "value" ist im JSON-Format mit den jeweiligen Werten des Verzeichnisses und der Beschreibung der Quelle.

 id |  login    |  namespace   | version |   key    |          value
----+-----------+--------------+---------+----------+---------------------------
  1 | #default# | file_sources | 0.00000 | scanner1 |
                             {"dir":"/var/tmp/scanner1","desc":"Scanner Einkauf"}
  2 | #default# | file_sources | 0.00000 | scanner2 |
                             {"dir":"/var/tmp/scanner2","desc":"Scanner Verkauf"}
  3 | #default# | file_sources | 0.00000 | emails   |
                             {"dir":"/var/tmp/emails","desc":"Empfangene Mails" }
          

Es ist daran gedacht, statt dem Default-Eintrag später für bestimmte Benutzer ('login') bestimmte Quellen zuzulassen. Dies wird nach Bedarf implementiert.

3.8.4.3. kivitendo-Konfigurationsdatei

Dort ist im Abschnitt [paths] der relative oder absolute Pfad zum Dokumentenwurzelverzeichnis einzutragen. Dieser muss für den Webserver schreib- und lesbar sein, jedoch nicht ausführbar.

[paths]
document_path = /var/local/kivi_documents
          

Unter diesem Wurzelverzeichnis wird pro Mandant automatisch ein Unterverzeichnis mit der ID des Mandanten angelegt.