DMS

Aus Limbas Wiki

Wechseln zu: Navigation, Suche

<-- zurück zu Admin-Dokumentation / <-- zurück zur Hauptseite


Note: Im Folgenden wird zwischen physischer und virtueller Ordnerstruktur in LIMBAS unterschieden! Hierbei ist die physische Ordnerstruktur die Ordnerstruktur des Betriebssystems auf dem LIMBAS installiert ist. Im Gegensatz dazu ist die virtuelle Ordnerstruktur in den LIMBAS Systemtabellen (also in der Datenbank) definiert und nicht wirklich auf dem Betriebssystem vorhanden.

Ordnerstruktur

Funktionsweise

Alle im DMS hochgeladenen Dateien werden im gleichen Verzeichnis ('/UPLOAD') mit einem Hash als Dateinamen gespeichert. Die Ordnerstruktur, wie sie z.B. im Datei-Manager zu sehen ist, existiert also auf dem Server nicht physisch, sondern wird von LIMBAS virtuell aus der Datenbank erzeugt. Dies macht Dateien berechtigbar und auch leicht verknüpfbar.

Example:

Möchte ein User z.B. die Datei 'öffentlicher Ordner/Bilder/Berge.jpg' herunterladen, wird vom Server ein Symlink im entsprechenden User-Verzeichnis ('/USER/<userid>/download/Berge.jpg') auf die entsprechende physische Datei ('/UPLOAD/<geheimer hash>.jpg') erstellt.

Physischer / virtueller Dateiname, Mimetype, etc. werden über die Systemtabelle 'ldms_files' verwaltet, die virtuelle Ordnerstruktur wird aus der Systemtabelle 'ldms_structure' erzeugt.

Anpassung für entfernte Dateisysteme

Will man Teile des Upload-Verzeichnis -jedoch nicht das gesamte Verzeichnis- z.B. auf einen NAS auslagern, kann LIMBAS so eingestellt werden, dass es alle Dateien eines bestimmten virtuellen Ordners auch zusammen in einem physischen Ordner gespeichert werden. Dazu muss zunächst im Verzeichnis '/UPLOAD/STORAGE/' ein Ordner mit beliebigem Namen erstellt werden.
Ein Super-Admin muss danach im entsprechenden virtuellen Ordner im Datei-Manager über das Menü 'Extras‑>Einstellungen‑>Storage folder' den erstellten Ordner auswählen.

LIMBAS verschiebt daraufhin die physischen Dateien aus dem entsprechenden virtuellen Ordner mit all seinen virtuellen Unterordnern automatisch aus dem Upload-Verzeichnis in den erstellten Unterordner in '/UPLOAD/STORAGE/' (dies kann je nach Anzahl der Dateien etwas dauern), welcher dann z.B. auf eine NAS gemounted werden kann.

DMS-Systemtabellen

ldms_files

Diese Tabelle enthält einen Datensatz für jede hochgeladene Datei. Zu jeder Datei werden unter anderem

  • der Ordner, der diese Datei enthält (Fremdschlüssel auf ldms_structure),
  • der virtuelle Dateiname,
  • der geheime physische Dateiname ('/UPLOAD/<secname>') und
  • der Mimetype der Datei (Fremdschlüssel auf lmb_mimetypes)

gespeichert.

ldms_meta

Diese Tabelle enthält zu jedem Datensatz in ldms_files genau einen Datensatz mit der selben ID. Hier werden die Metadaten der Dateien, wie z.B. Creator, Titel, oder Erstell-Datum gespeichert.

ldms_rules

In dieser Tabelle werden zu je einer Gruppe (lmb_groups) und einem Ordner (ldms_structure) die Rechte gespeichert. Über Filter können auch einzelne Files berechtigt werden.

ldms_favorites

Diese Tabelle enthält zu jedem User (lmb_userdb) die Ordner/Dateien, die er zu seinen Favoriten hinzugefügt hat.

ldms_structure

Diese Tabelle repräsentiert die virtuelle Ordnerstruktur in LIMBAS. Zu jedem virtuellen Ordner existiert ein Datensatz, der u.a. den Namen des Ordners und die ID des übergeordneten Ordners enthält.