# Detailseite Verzeichnungseinheiten
Dieser Abschnitt beschreibt, wie die Darstellung der Metadaten auf der Detailseite einer Verzeichnungseinheit mittels eines Schemas konfiguriert werden kann.
Die Darstellung der Felder auf der Detailseite wird im Archiv Schema Editor vorgenommen.
In der Konfiguration können mehrere Bedingungen konfiguriert werden. Jede Bedingung wird mit einem Abschnitt im Schema unter dem Abschnitt metadata-view
konfiguriert. Die Einrückung von Leerzeichen wird zur Kennzeichnung der Struktur verwendet. Listenmitglieder werden durch einen führenden Bindestrich (-
) gekennzeichnet.
Die Art der Felder, die für die Filterung und Ausschlüsse verwendet werden, müssen einem Metadatum der Verzeichnungseinheit entsprechen.
Für jeden Eintrag in der metadata-view
muss ein definiertes schema
vorhanden sein. Mit einem condition
Block wird die Konfiguration für eine bestimmte Verzeichnungseinheit im Schema festgelegt.
# Bedingungen
Die Bedingung gibt an, für welche Verzeichnungseinheiten das Schema angewendet werden soll. Die Schlüsselwörter filter
und exclude
werden verwendet, um Verzeichnungseinheiten auszuschliessen oder einzubeziehen. Das Schema wird nur auf Verzeichnungseinheiten angewendet, die diese Bedingungen erfüllen. Hier ein Beispiel für die Filterung nach archival_type
und den Ausschluss einer bestimmten Verzeichnungseinheit durch die Verwendung von description_level
:
metadata-view:
- condition:
filter:
archival_type:
- Bild
exclude:
description_level: 'Dossier'
In diesem Beispiel wird der Bindestrich für archival_type
verwendet, da dieses Feld als Liste im Modell gespeichert wird. Verzeichnungseinheiten, die alle Werte in der Liste enthalten, werden auszuschliessen oder einzubeziehen.
# Leere Bedingungen
Leere Bedingungen werden auf alle Verzeichnungseinheiten angewendet. Die Darstellung einer Verzeichnungseinheit kann mit einem Bedingungsblock überschreiben werden. Auf diese Weise werden sämtliche Detailansichten der Verzeichnungseinheiten auf Basis dieser Konfiguration angepasst.
# Schema-Definition
Wenn die Bedingungen erfüllt sind, wird die Seite Detailansicht der Verzeichnungseinheiten gemäss dem schema
angezeigt. Der Schemablock hat drei Felder: fields
, label
und search-link
. Damit wird das Akkordeonmenü für die Detailseite festgelegt. Das Schlüsselwort label
wird für die Darstellung des Titels verwendet. Mit dem Schlüsselwort fields
wird festgelegt, welche Felder für dieses Akkordeon angezeigt werden. Mit search-link
kann festgelegt werden, ob automatisch ein Link zur Suchseite erzeugt werden soll.
Für jedes Feld müssen label
und field
definiert werden. field
muss mit einem der Felder aus den Metadaten der Verzeichnungseinheiten übereinstimmen. Mit dem Feld label
können mehrsprachige Bezeichnungen definiert werden.
Für search-link
sind die Werte fulltext
oder filter
erlaubt. Mit fulltext
wird ein Link auf die Suche generiert, der eine Volltextsuche mit dem Wert des Feldes auslöst. Mit filter
wird das Suchresultat nach dem Feld gefiltert. Wenn im Suchschema das Feld als Filter definiert wurde, wird der Filter ausgefüllt. Wenn das Feld nicht als Filter definiert wurde, wird eine Erweiterte Suche abgesetzt.
Anbei ein Beispiel eines Schemas:
metadata-view:
- schema:
- label:
de: Parent
fields:
- field: title
label:
de: Title
search-link: fulltext
- field: signature
label:
de: Signatur
search-link: filter
In diesem Kontext haben wir ein Akkordeon mit zwei definierten Feldern: title
und signature
. Für beide Felder haben wir jeweils eine Bezeichnung in der Sprache Deutsch festgelegt. Das Parent
-Label wird im Titel des Akkordeons verwendet.
# Zuordnung von Enum-Werten zu Feldern
In der Konfiguration können auch Enums auf Felder gemappt werden.
In diesem Beispiel wird das Feld lending_institution
mit dem Enum ownership
gemappt. Das Enum ownership
wird im Modell definiert.
metadata-view:
- schema:
- label:
de: Institutionen
fields:
- field: lending_institution
label:
de: Ausleihende Institution
enum: ownership
Dies bewirkt, dass der im Feld lending_institution
definierte Wert mit dem Enum ownership
dargestellt und übersetzt wird.
# Standardfelder
Momentan werden als Filter folgende Standardfelder unterstützt:
accessibility
(Char
)ais_created
(Date
)ais_modified
(Date
)approval
(Char
)archival_type
(MultiValue
)author
(Char
)contains
(Char
)contains_also
(Char
)content_form
(Char
)copyright
(Char
)created_display
(Char
)created_end
(Integer
)created_start
(Integer
)deliveries
(MultiValue
)descendant_path
(Char
)description
(Char
)description_level
(Char
)descriptors
(MultiValue
)editor
(Char
)files_are_public
(Boolean
)is_approval_required
(Boolean
)is_public
(Boolean
)is_reproducible
(Boolean
)is_shareable
(Boolean
)legal_state
(Char
)level
(Integer
)order_classification
(Char
)ownership
(Char
)page_title
(Char
)pk
(Char
)protection_base_date
(Char
)protection_duration
(Integer
)protection_period_category
(Char
)protection_period_end
(Date
)provenance
(Char
)signature
(Char
)text
(Char
)title
(Char
)usability
(Char
)usability_accessibility_type
(Char
)
# Verwendung von Standard-Komponenten
Im Beispiel oben wird eine Komponente zusammengestellt, welche eine definierte Liste von Metadaten-Feldern auflistet.
Es besteht auch die Möglichkeit, die vom Produkt vordefinierten Standardkomponenten zu verwenden, um so beispielsweise
eine Karte mit Standorten zu integrieren.
Die beiden Möglichkeiten sind kombinierbar.
Der Titel der Komponenten kann auch mit der label
Eigenschaft konfiguriert werden.
Das nachfolgende Beispiel zeigt die Verwendung der verschiedenen Standardkomponenten:
metadata-view:
# Allgemeine Auflistung von spezifischen Metadaten-Feldern
- schema:
- label:
de: Grundinformationen
fields:
- field: title
label:
de: Titel
# ISAD(G): Identifikation
- component: Identity
# ISAD(G): Kontext
- component: Context
# ISAD(G): Inhalt und innere Ordnung
- component: ContentStructure
# ISAD(G): Zugangs- und Benutzungsbestimmungen
- component: AccessUse
# ISAD(G): Allied materials
- component: AlliedMaterials
# Unterobjekte in Tektonik
- component: Children
# Verknüpfungen
- component: Relations
# Deskriptoren
- component: Descriptors
# Ablieferungen
- component: Deliveries
# Auflistung aller Custom-Fields
- component: CustomFields
# Karte mit Standorten
- component: Location
# Kommentar-Funktion
- component: Comments
# Komplettes Beispiel
Anbei ein vollständiges Beispiel mit zwei Bedingungen:
metadata-view:
- condition:
filter:
archival_type:
- Tonaufzeichnung
exclude:
description_level: 'Dossier'
schema:
- label:
de: Parent
fields:
- field: title
label:
de: Titel
- field: signature
label:
de: Signature
- component: Location
- component: Relations
label:
de: Verknüpfungen mit anderen Verzeichnungseinheiten
- condition:
filter:
description_level: 'Dossier'
schema:
- label:
de: Second Accordion
fields:
- field: title
label:
de: Customized
- field: signature
label:
de: Signatur
- field: approval
label:
de: Approval
- field: usability
label:
de: Usability
- component: Location
- component: Comments
- schema:
- label:
de: No condition block
fields:
- field: title
label:
de: Title
Die erste Bedingung beinhaltet eine Filterung nach archival_type
und eine Ausschlussbedingung durch description_level
. Für die Verzeichnungseinheiten, die diese Bedingung erfüllen, wird der erste Definitionsblock mit title
und signature
angewendet. Die Verzeichnungseinheiten, die diese Bedingung nicht erfüllen, werden von der nächsten Bedingung überprüft. Die Verzeichnungseinheiten, welche die zweite Bedingung mit title
, signature
, approval
und usability
erfüllen.
Der letzte Block enthält keine condition
. Dieser Block wird für die Verzeichnungseinheiten angewendet, die die ersten beiden Bedingungen nicht erfüllen.
Wenn ein Block ohne condition
definiert ist, wird eine Standardansicht für die Verzeichnungseinheiten angewendet. Die Standardansicht stellt alle verfügbaren Daten dar.
# Verknüpfungen
Verzeichnungseinheiten können Verknüpfungen zu anderen Verzeichnungseinheiten haben. Die Verknüpfungen werden im folgenden Beispiel konfiguriert.
metadata-view:
- schema:
- label:
de: Personen
component: Relations
filter:
archival_type: people
exclude:
description_level: Dossier
Bei obigem Beispiel wird ein Abschnitt mit dem Titel Personen
definiert.
Für Verknüpfungen wird die Komponente Relations
verwendet.
Nun kann analog der condition
ein filter
und/oder exclude
definiert werden.
In diesem Beispiel werden also nur diejenigen Verknüpfungen angezeigt die im Feld archival_type
den Wert people
und im Feld description_level
nicht den Wert Dossier
haben.
Die Werte für filter
und exclude
lassen sich beliebig auf alle Standardfelder anwenden.
Weiter kann mit der Konfiguration die Art der Verknüpfung gefiltert werden:
metadata-view:
- schema:
- label:
de: Freunde
component: Relations
relation:
filter:
role:
- freund
- label:
de: Keine Feinde
component: Relations
relation:
exclude:
role:
- feind
Obiges Beispiel zeigt für den Abschnitt Freunde
nur Verknüpfungen an, die in der Rolle freund
enthalten. Der Abschnitt Keine Feinde
zeigt alle Relationen an ausser diejenigen, die in der Rolle nicht feind
enthalten.