Nachdem wir nun wissen, wie wir auf eine Archivista-Datenbank zugreifen können, möchten wir anhand einiger Perl-Zeilen exemplarisch aufzeigen, wie wir aufgrund einer Datenbankabfrage die entsprechenden Bitmap-Seiten in den entsprechenden Verzeichnissen finden:
sub GetDateiName { my $modus = shift; # A- bzw. B-Kopie my $akte = shift; # Aktennummer my $seite = shift; # gewünschte Seite return $modus . FileName($akte,5,) . FileName($seite,2); } sub FileName { my $eingabe = shift; my $anzahl = shift; my ($res,$res1,$out); while ($eingabe != 0) { $res = $eingabe % 26; $res1 = $res + 65; $out = chr($res1).$out; $eingabe = $eingabe - $res; $eingabe = $eingabe / 26; } $out = "0" x ($anzahl - length($out)) . $out; return $out; }
Der obenstehende Code dokumentiert das Berechnen des Dateinamens aus der Aktennummer und einer gewünschten Seite. Zusätzlich muss aus der Tabelle 'archiv' der Typ der Akte (Feld 'ArchivArt' enthält die nachfolgenden Werte 0=BMP/ZIP,1=TIF,2=PNG sowie 3=JPG) für die Dateiendung sowie der gewünschte Ordner (Feld 'Ordner') berechnet werden, um den gesamten Pfad einer Seite berechnen zu können.
Ebenfalls beachtet werden muss, ob eine Akte bereits archiviert wurde (Feld 'Archiviert' in der Tabelle 'Archiv'). Ist dies der Fall, so befindet sich die gewünschte Seite nicht im Input- sondern im Output-Pfad. Den entsprechenden Ordnernamen (einer nicht archivierten Akte) im Input-Pfad erhalten Sie (leicht vereinfacht gesagt) dadurch, dass Sie von einer Aktennummer mit Modulo 100 den Restwert nehmen und so im entsprechenden Unterordner die gewünschte Seite finden. Nachfolgend noch zwei Beispiele:
Seite im Input-Ordner: Akte 1, Seite 1 mit A-Kopie und dem Wert '1' beim Feld 'ArchivArt' befindet sich unter '..\ input\in001\A0000B0B.TIF'.
Seite im Output-Order: Akte 2, Seite 3 mit B-Kopie und dem Format 'JPEG' ist bereits archiviert und liegt im Archivordner '1' (Feld 'Ordner'). Diese Seite finden wir unter '..\ output\ARCH0001\B0000C0D.JPG'.
Einen guten Anhaltspunkt, wie Sie mit einer Archivista-Datenbank kommunizieren können, bietet auch die Publishing-Edition von Archivista. Dort finden Sie einen kompletten Source-Code, um (inkl. der korrekten Anmeldung) mit Archivista-Datenbanken zu kommunizieren.