Kollektoren

Die Collectoren werden in den Kanzleieinstellungen im Standard DESK konfiguriert. Ein Kollektor besteht aus einem Verzeichnis aus welchem der DMS-Server enthaltene Dateien importiert und einer Verarbeitungsvorlage. Diese beschreibt, was mit den importierten Dateien geschehen soll.

Verarbeitungsvorlagen

Eine solche Vorlage KANN verschiedene Angaben zu einem Dokument machen. Nichts hiervon ist verpflichtend. Man kann Dokumentdaten festlegen, die Akte in welche das Dokument importiert wird und auch Zugriffsberechtigungen direkt setzen. Außerdem können Aufgaben und Notizen angehängt und Aufgabenlisten gestartet werden.

Der Collector im DMS-Server importiert also alle im Verzeichnis gefundenen Dokument und wendet anschließend die Verarbeitungsvorlage an.

Collector in der API

Hier in der API funktioniert das ähnlich. Allerdings werden die Verzeichnisse auf welche der DMS-Server zugreift nicht verwendet. Vielmehr importiert die API die Dokumente und wendet selber (ohne den DMS-Server) die Verarbeitungsvorlage auf die importierten Dokumente an.

Vorgehensweise

Der erste Schritt, will man den Collector verwenden ist, dass man die konfigurierten Verarbeitungsvorlagen lädt. Diese sind hierarchisch und können so geladen werden:

var definitions = await dms.Collector.ReadDefinitions();

Anschließend können mit einer der dort enthaltenen Vorlagen ein oder mehrere Dokumente importiert werden.

var importFiles = new List<ImportFileInfo>();
var file = new FileInfo(localFilename);
var importCreator = new ImportFileInfoCreator(file);
importFiles.Add(importCreator.GetInfo());
var importedFileInfos = await dms.Collector.ImportDocuments(definition, 
                                                importFiles.ToArray(), null);

Auf diese Weise können mehrere Dateien in die importFiles-Liste aufgenommen werden. Die ImportDocuments-Methode läuft so lange, bis alle angegebenen Dokumente entweder importiert oder fehlgeschlagen sind. Erfolgreich importierte Dokumente erhalten in der Ergebnisliste (referenzidentisch mit importFiles) eine DmsDocumentId. Fehlgeschlagene enthalten hier Guid.Empty.

Über den importCreator können vorab schon Indexdaten zu den Dokumenten mitgegeben werden. Diese werden aber ggf. von der Verarbeitungsvorlage überschrieben.

Rückmeldung

Da der Importvorgang bei vielen Dateien entsprechend lange dauern kann, kann man Rückmeldung während des Imports erhalten. Dazu übergibt man als letzten Parameter (im Beispiel null) eine Methode, welche für Fortschrittsinformationen vielfach während des Imports aufgerufen wird.

Verknüpfung mit