DE   |   EN   |   RU

Keltenring 17, 82041 Oberhaching bei München  |  Tel.: +49 89 4554 6533  |  E-Mail: info@intechcore.com 

„Versionierung“ als eine andere Bedeutung für ein DMS (Dokumentenmanagementsystem)

Die Versionierung ist für ein DMS kein Fremdwort. Normalerweise bedeutet es, dass Historie der Änderungen von Dokumenten gespeichert wird. In dem Artikel wird beschrieben, was gemacht werden soll, wenn die Dokumente aus den Vorlagen erstellt werden, und die Vorlagen selbst fortentwickelt werden können, und die Abhängigkeiten vom Dokument zur Vorlage nicht aufgelöst worden sind.

Bei größeren Unternehmen für die Erstellung von Dokumenten werden diverse komplexe Vorlagen umgesetzt. Z.B. auf XML-Basis, wie bei Gerichten und Staatsanwaltschaften, oder als dot-Datei von MS Word. Die Vorlagen können voneinander abhängen, modularisiert werden, Includs (Collections) haben usw. Die Dokumente werden mit dynamischen Daten gefüllt und können eine interne Sprache besitzen, z.B. Skriptelemente, Makros. Also, eine Vorlage wird geladen, ggf. interpretiert, oder es werden die Skripte gestartet, die gewisses Dynamic ins Dokument hereinbringen. Wenn in der Skriptsprache die Bedingungselemente verwendet werden, dann kann es so sein, dass einige Vorlagen erst später gelesen werden können, z.B. bei der nächsten Session, bzw. bei der nächsten Interpretierung des Dokumentes. Dadurch kommen neue dynamische Daten aus Vorlagen ins Dokument herein. Das kann man graphisch wie folgt darstellen:

versionierung dms dokumentenmanagementsystem

Jede XML-Vorlage (oder XML-Baustein) kann noch bedingte Elemente haben und auf die weiteren XML-Vorlagen sich verweisen. Das alles bringt die Problematik mit, dass wenn man versucht, die Vorlagen zu erweitern, können alt gespeicherte Dokumente nicht mehr ablauffähig sein. Es können verschiedene Probleme von „Variable nicht gefunden“ bis „das Modul existiert nicht mehr“ auftreten. Um die aus diesen Vorlagen erstellten Dokumente immer interpretierbar zu halten und die Abhängigkeit von der Vorlage aufzulösen, gibt es zurzeit zwei Alternativen:

1. Die Vorlagen sollen so entwickeln werden, dass keine Abhängigkeiten zwischen der geladenen Vorlagen im Dokument und erweiterten oder neu entwickelten Vorlagen, auch in der absehbaren Zukunft, entstehen können.

2. Ein Versionierungssystem für die Vorlagen einführen.

Die Alternative Nummer 1 ist einfach, kann aber bei größeren Projekten nicht realistisch sein, weil fast bei jeder Erweiterung der Vorlagen alle anderen immer von jemandem überprüft werden sollen, ob keine Abhängigkeiten entstehen.

Versionierungssystem

Die Idee ist jede Vorlage zu versionieren. Alle XML- Vorlage sollen über ein Versionsverwaltungsystem (z.B. SVN, VSS) bereits versioniert werden. Die Nummer der Revision soll in der Vorlage sichtbar sein, z.B. als Metadata.

<Meta name="vss" value="{version}27{/version}" />

Die Information wird später beim Laden von alten Dokumenten verwendet. Das DMS soll nach dem Öffnen eines alten XML-Dokumentes immer eine Zuordnung von allen XML-Vorlagen zum Dokument je nach Erstellungsdatum finden können. Als Schema könnte man alles in einer Tabelle darstellen:

Nummer oder symbolischer Name des Releases von XML-Vorlagen

Ablauf der Textverarbeitung

release1 Aktuelle_XML_Vorlage_vom_2008-02-01_XX-XX-XX.zip
Die Dokumente werden im Zeitraum von 01.02.2008 bis 07.02.2008 erstellt und gespeichert. Alle Dokumente, wenn nichts anders von Verwaltung vorgegeben, sollen nur die XML- Bausteine aus der Auslieferung „Aktuelle_XML_Vorlage_vom_2008-02-01_XX-XX-XX.zip“ verwenden.
release2 Aktuelle_XML_Vorlage_vom_2008-02-07_XX-XX-XX.zip
Die Dokumente werden im Zeitraum von 07.02.2008 bis 14.02.2008 erstellt und gespeichert. Alle Dokumente, wenn nichts anders von Verwaltung vorgegeben, sollen nur die XML- Bausteine aus der Auslieferung „Aktuelle_XML_Vorlage_vom_2008-02-07_XX-XX-XX.zip“ verwenden.
release… Aktuelle_XML_Vorlage_vom_….._XX-XX-XX.zip
…..
releaseNN Aktuelle_XML_Vorlage_vom_2008-10-15_XX-XX-XX.zip
Die Dokumente werden im Zeitraum von 15.10.2008 bis TT.MM.JJJJ erstellt und gespeichert. Alle Dokumente, wenn nichts anders von Verwaltung vorgegeben, sollen nur die XML- Bausteine aus der Auslieferung „Aktuelle_XML_Vorlage_vom_2008-10-15_XX-XX-XX.zip“ verwenden.

 

Die Nummer oder eine textuelle Bezeichnung der Auslieferung (kurz „release“ oder „schnitt“) soll als Metadata zum Dokument gespeichert werden. Später, beim Laden des Dokumentes, gibt diese Bezeichnung vor, welche Version der noch nicht geladenen XML-Vorlagen in dieses Dokument geholt bzw. bei Bedarf aktualisiert werden sollte.

Allen Bezeichnungen des Releases werden alle enthaltenen XML-Vorlagen mit eigenen Versionen zugeordnet. Falls ein Release nur eine Delta der XML-Vorlagen enthielt, diese wird auch mit gleichem Prinzip markiert. Wenn bei der Interpretierung des Dokumentes kein XML-Baustein in der Bezeichnung des Releases gefunden wird, geht DMS automatisch auf eine Version der Bezeichnung runter.

Veröffentlicht unter Artikel