Support vertec.com

Template für cloudfähige DMS Schnittstellen

Created: 05.11.2019
Updated: 21.07.2020

Mit Vertec 6.3 wurden cloudfähige DMS Schnittstellen eingeführt. Diese neuen DMS Extensions sind vom Typ "DMS". Ein Beispiel, welches von uns mitgeliefert und gewartet wird ist die SharePoint Online DMS Schnittstelle.

Ab Vertec 6.3.0.15 finden Sie im Ordner Extensions in Ihrem Vertec Installationsverzeichnis die DmsExampleExtension.py - ein Template, welches zeigt, was man implementieren muss, um eine lauffähige DMS Schnittstelle zu erstellen.

Eine DMS Extension kann auch neben einem normalen Filesystem eingesetzt werden. Das geschieht über einen Prefix, den man selber definieren kann - die Pfade sind dann z.B. vom Format Dropbox:\meine Dateien\....

Es können nicht mehrere DMS Extensions oder mehrere Dokumentbibliotheken parallel eingesetzt werden. Unterstützt ist jeweils eine installierte DMS Extension, welche sich mit einer Dokumentbibliothek verbindet.

Vertec DMS Extensions und Pfadpräfixe

Es kann ein Pfadpräfix definiert werden (z.B. MyPrefix:). Für diesen Präfix gibt es dann eine entsprechende DMS Extension, welche die Dateioperationen der entsprechenden Pfade verarbeitet.

Ändert sich ein Präfix oder gibt es dafür keine Extension, wird bei den entsprechenden Operationen ein Fehler geworfen.

Einen neuen Präfix einführen

Folgende Schritte müssen durchgeführt werden, um einen neuen Präfix zu implementieren:

  1. Einen noch nicht existierenden Präfix wählen, z.B. MyNewPrefix:
  2. Eine neue DMSMyNewPrefix.py Extension implementieren
  3. Pfade mit MyNewPrefix:\... in Vertec verwenden

In Vertec können Sie mit diesem Präfix beginnen, um den Dateispeicherort festzulegen:

MyNewPrefix:\customers\DemoInc\invoice337.pdf

Vertec versucht nicht, den Pfad selbst zu validieren. Sobald er mit einem Präfix startet, wird das gesamte Filehandling über die entsprechende DMS Extension abgewickelt.

Ein gültiger Präfix:

  • enthält nur Gross- oder Kleinbuchstaben
  • ist mindestens zwei Zeichen lang (weil C:\ zum Beispiel ein Windows Pfad ist)
  • ist maximal 20 Zeichen lang
  • wird immer gefolgt durch einen Doppelpunkt : und einen Backslash \

Extensions implementieren

class DmsExampleExtension(VertecExtension):

Eine Vertec DMS Extensions muss folgende Klassen-Methoden definieren (vertecFilePath ist immer ein Pfad in der Form SharePoint:\dir1\dir2\file.txt oder MyDmsExt:\dir3\dir4\someOtherFile.docx):

def DirectoryExists(self, vertecFilePath):

Soll True oder False zurückgeben, je nachdem, ob das angegebene Verzeichnis existiert.

def DirectoryCreate(self, vertecFilePath):

Soll das angegebene Verzeichnis erzeugen. Falls nicht möglich, werfe eine Exception mit einer Fehlermeldung. Diese Methode soll auch die übergeordneten Verzeichnisse erzeugen.

Kein Rückgabewert.

def DirectoryOpen(self, vertecFilePath):

Soll das angegebene Verzeichnis in einer nützlichen Variante öffnen, z.B. in einer Browser Ansicht.

Kein Rückgabewert.

def DocumentExists(self, vertecFilePath):

Soll True oder False zurückgeben, je nachdem, ob das angegebene Dokument existiert.

def DocumentOpen(self, vertecFilePath):

Soll das angegebene Dokument in einer nützlichen Variante öffnen, z.B. in einer Browser Ansicht.

Kein Rückgabewert.

def StoreDocument(self, content, vertecFilePath, aktivitaet):

Vertec hat eine In-Memory-Datei erstellt, die im DMS gespeichert werden soll.

  • content: In-Memory-Byte-Array mit dem Inhalt der Datei.
  • vertecFilePath: der Zieldateipfad
  • aktivitaet: bietet einen Kontext für die Übertragung von Metadaten.

Kein Rückgabewert.