Frage:
Wie ist die Ablagestruktur bei Archiven im DocuWare 5-Modus organisiert?
Antwort:
Für jedes Archiv im DocuWare 5-Modus wird je DocuWare Platte ein eigenes Verzeichnis im gewählten Speicherort angelegt. Die Archiv-Verzeichnisse werden mit <Archivname>.<Plattennummer> benannt, wobei der Archivname maximal 8-stellig und die Plattennummer immer 6-stellig angegeben wird. Die erste Platte des Archivs Dokumentenpool heißt dann also Dokument.000001.
Unterhalb dieses Verzeichnisses befindet sich die GUID des Archivs. Dies ist die eindeutige Identifikationsnummer des Archivs.
Ebenfalls unterhalb der DocuWare Platte befinden sich drei weitere Verzeichnisebenen, wo jedes Verzeichnis mit einer 3-stelligen fortlaufenden Nummer, beginnend bei 000, benannt wird. Auf oberster Ebene sind maximal 128 Ordner möglich (000 bis 127), auf den beiden darunterliegenden Ebenen jeweils maximal 256 (000 bis 255). Unterhalb der dritten Verzeichnisebene befinden sich die Dokumentverzeichnisse. Jedes dieser Dokumentverzeichnisse enthält alle Seiten (Dateien) eines Dokuments und die Header-Datei im XML-Format. Die Dokumentverzeichnisse erhalten den Namen der, innerhalb des Archivs eindeutigen, 10-stelligen Dokumentnummer (DocID), die ebenfalls fortlaufend ist (von 0000000001 bis (2 hoch 31)-1 = 2.147.483.647 ˜ 2,15 Mrd.).
Die Header-Datei heißt immer <Dokumentnummer>.XML und ist in ihrer Größe nicht beschränkt.
Die Dokumentseiten heißen immer F (für File), dann folgt eine fortlaufende Nummer beginnend bei 1 und die Dateiendung (z.B. doc, xls, pdf, DWTIFF, ...). Also beispielsweise F1.doc oder F5.DWTIFF.
Sie können bis zu 999.999 DocuWare Platten anlegen, allerdings nicht innerhalb eines Verzeichnisses, da Windows die Unterverzeichnisse pro Verzeichnis begrenzt.
Im Beispiel unter dem folgenden Link sehen Sie die Ablagestruktur der Dokumente in einem DocuWare 5 Archiv. Es wurde hier davon ausgegangen, dass alle Dokumente auf einer einzigen DocuWare Platte gespeichert werden.
Ablagestruktur eines DocuWare 5-Archivs auf Dateisystemebene:
Es können also maximal 2.147.483.647 (˜2,15 Milliarden) Dokumente in einem Archiv gespeichert werden.
Ermitteln des Verzeichnisses zu einem bestimmten Dokument
Binärzahl-Methode
Um das genaue Unterverzeichnis eines bestimmten Dokuments zu berechnen, wandeln Sie zunächst die 10-stellige Dokumentennummer (DocID) in eine 32-Bit Binärzahl um.
Beispielsweise ergibt die DocID 0.002.388.444 die 32-Bit Binärzahl 0000.0000.0010.0100.0111.0001.1101.1100
die Punkte sind zur besseren Übersicht eingefügt und die führenden Nullen müssen bis zur 32. Stelle aufgefüllt werden.
Die ersten (linken) 8 Stellen dieser Binärzahl stellen die erste Verzeichnisebene dar.
In unserem Fall also \000\
Die nächsten 8 Stellen der Binärzahl stellen die zweite Verzeichnisebene dar.
In unserem Beispiel 0010.0100, was in Dezimalform 36 ergibt; also \000\036\
Die vorletzten 8 Stellen der Binärzahl ergeben nun die dritte Verzeichnisebene.
In unserem Beispiel 0111.0001, was in Dezimalform 113 ergibt; also \000\036\113\
Die letzten 8 Stellen der Binärzahl sind für die Berechnung der Verzeichnisse nicht relevant.
Das Dokument mit der DocID 0002388444 aus unserem Beispiel wird also im
Unterverzeichnis D:\Archive\Dokument.000001\000\036\113\0002388444\ gespeichert.
Berechnungs-Methode
Um das genaue Unterverzeichnis eines bestimmten Dokuments zu berechnen gehen Sie wie folgt vor:
Berechnung der ersten Verzeichnisebene für unser Beispieldokument mit der Dokumentennummer (DocID) 0002388444:
DocID / (256 * 256 * 256) = 2388444 / 16777216 = 0,1423...
=> ganzzahliger Anteil 0, also Ordner \000\
Berechnung der zweiten Verzeichnisebene:
(DocID - (<Ordnernummer der ersten Ebene> * 256* 256 * 256)) / (256*256)
= (2388444 - 0 * 256 * 256 * 256) / (256*256)
= 2388444 / 65536 = 36,4447...
=> ganzzahliger Anteil 36, also Ordner \000\036\
Berechnung der dritten Verzeichnisebene:
(DocID - (<Ordnernummer der ersten Ebene> * 256* 256 * 256) -(<Ordnernummer der zweiten Ebene> * 256 * 256)) / 256
= (2388444 - (0 * 256 * 256 * 256) - (36* 256* 256)) / 256
= 29148 / 2 56 = 113,8593...
=> ganzzahliger Anteil 113, also Ordner \000\036\113\
Das Dokument mit der DocID 0002388444 aus unserem Beispiel wird also im
Unterverzeichnis D:\Archive\Dokument.000001\000\036\113\0002388444\ gespeichert.
Die Dokumentnummer (DocID) wird in der Datenbank gespeichert und der entsprechende Pfad zu diesem Dokument wird von Content Server berechnet.