Domains

Einführung

Domains sind die zentralen Bausteine zur Organisation und Konfiguration von Objekten in VLS. Domains werden hierarchisch modelliert. Über diese Hierarchie werden einerseits Navigationsräume definiert und andererseits wird die Konfiguration vom Root in Richtung Kind vererbt. Mehrere Rootknoten sind möglich.

Filesystem

Die Domainstruktur wird auf dem Filesystem hierarchisch abgelegt:

    domain
      |--> DOMAIN-1
      |      |--> config
      |      |--> domain
      |             |--> KIND-DOMAIN-1
      |             |--> KIND-DOMAIN-2
      |--> DOMAIN-2

Es besteht auch die Möglichkeit Domains ohne Filesystembezug anzulegen. In diesem Fall wird die Hierarchie über das Datenbankfeld OPR_Domain.OD_OD_Parent festgelegt.

Auf dem Filesystem im jeweiligen Domainverzeichnis finden sich die allgemeinen Konfigurationsoptionen unter config/config.ini. Unter config/types.ini finden sich typspezifische Konfigurationen und unter config/languages.xml domainspezifische Übersetzungen (i18n).

Für Domains ohne Filesystemrepräsentation können die allgemeinen Konfigurationsoptionen und die i18n-Definitionen via Datenbankoverlay verändert werden. Ein Datenbankoverlay für config/types.ini gibt es bisher nicht.

Konfiguration

Die Konfiguration, die für eine Domain aktiv ist, wird einerseits über Pfad der Vorfahren (Merge-Chain) und über den Domaintyp bestimmt.

In folgendem Beispiel für DOMAIN-2 werden 6 Konfigurationpakete auf die Defaults in der dconfigspec gemerged. Die Nummerierung entspricht der Merge-Reihenfolge. :

    DEFAULTS
     |  0) server/config/dconfigspec.ini
     |--> DOMAIN-1 (TYP: mandant)
           |  1) server/config/presets/mandant.ini
           |  2) DOMAIN-1/config/config.ini
           |  3) Datenbankoverlay
           |--> DOMAIN-2 (TYP: retro)
                 4) server/config/presets/retro.ini
                 5) DOMAIN-2/config/config.ini
                 6) Datenbankoverlay

Typen

Domains sind typisiert. Über den Typ werden verschiedene Konfigurationen aktiviert (Presets). Folgende Domaintypen werden unterstützt:

retro (Retrodigitalisierung)

Dieser Domaintyp aktiviert die Dokumenttypen, die für den Workflow in der Retrodigitaliserung notwendig sind.

pubserv (Publikationsserver)

Dieser Domaintyp aktiviert die Born-Digital Dokumenttypen. Weiterhin werden Upload-Formulare und Zugriffsbeschränkungen aktiviert.

domain (Domain)

Dieser Domaintyp zeigt an, dass es sich um eine bisher untypsierte Domain handelt. In Zukunft werden diese durch typisierte Domaintypen ersetzt.

domain folder (Sammlungsordner)

Dieser Domaintyp beinhaltet normalerweise keine Katalogisate sondern dient nur der Gruppierung von anderen Domains. Es besteht aber die Möglichkeit Klassifikationsbäume anzulegen und Katalogisate (normalerweise aus Subdomains) zu verlinken.

mandant (Mandant)

Dieser Typ wird in Multimandanteninstanzen bei der jeweiligen Mandanten-Rootdomain verwendet. Er enthält analog zum Typ domain folder keine Katalogisate.

esa (Elektronischer Semesterapparat)

Der esa-Typ steuert einen Workflow, bei dem es primär um Digitalisierungsaufträge geht, die aus einem Kursraumssystem wie Moodle initiert werden.

root (Root)

Dient als Container für Mandantendomains.

oaPeriodical (Open-Access Zeitschrift)

Eine einzelne Open-Access Zeitschrift, bisher Universitätspublikationen. Die Rootebene der Domain enthält hier nur Jahrgänge.

oaPeriodicals (Open-Access Zeitschriften)

Dient als Container für oaPeriodical Typen.

Alle Navigationselemente auf dem Frontend folgen dem Paradigma, dass der gewählte Domainkontext die Kontexte der Nachfahren in der Baumhirarchie enthält. Einfacher gesagt: Eine Domain zeigt auch die Objekte der Kinddomains an.

Das umschließt die Schnell- und Detailsuche, die Listenansichten und die Cloudansichten.