# Suche
Die Benutzeroberfläche der Suche kann im Archiv Schema Editor konfiguriert. Konkret kann einerseits die Filterliste auf der rechten Seite konfiguriert werden, andererseits die Liste der angebotenen Filterfelder der erweiterten Suche.
# Konfiguration der Filter
Standardmässig (wenn keine Konfiguration vorliegt) werden die Standardfilter vom Produkt DLS verwendet. In der Konfiguration ist es möglich zu definieren, welche Filter angeboten werden sollen und in welcher Reihenfolge sie dargestellt werden sollen.
Die Konfiguration der Filter wird unter dem Schlüssel filters
innerhalb von search
vorgenommen.
Beispielkonfiguration:
search:
filters:
- schema:
- label:
de: Stufe
widget: DescriptionLevel
- label:
de: Deskriptoren
widget: DescriptorsField
- label:
de: Verzeichnungseinheit
widget: TreeField
- label:
de:
widget: MediaTypes
- label:
de: Entstehungszeitraum
widget: DateRange
- label:
de: Bestandsinformationen
field: bestand_history
widget: Select
options:
multiple: AND
# Filter pro Reiter
Es ist möglich, die Konfiguration je nach ausgewähltem Reiter (archival_type
) zu verändern, so dass Filter angezeigt oder versteckt werden wenn man einen Reiter auswählt.
Technisch ist der Reiter an das Feld archival_type
gebunden. Es können mehrere Werte angegeben werden, für welche eine Konfiguration angewendet wird. Die Bedingung archival_type
ist optional. Die oberste Konfiguration, deren Bedingung erfüllt ist, wird verwendet.
search:
filters:
- archival_type:
- Akte
schema:
- label:
de: Bestandsinformationen
field: bestand_history
widget: Select
options:
multiple: AND
Das angegebene Schema wird nur auf Suchergebnisse angewendet, bei denen der Archivalienart Akte
ist.
# Widgets
Unter filters
wird eine Liste der zur Verfügung stehenden Filter definiert.
Pro Filter wird ein widget
angegeben, welches das Verhalten und die Darstellung des Filters
vorgibt.
Der DLS bringt bereits ein Set an Widgets mit, welche für spezifische Felder optimiert sind und eine Basisfunktionalität anbieten:
DateRange
DescriptionLevel
DescriptorsField
MediaTypes
TreeField
Relation
OrderableFilter
# Relation
Das Relation
Widget erlaubt es nach Relationen zwischen Verzeichnungseinheiten zu suchen.
Wenn das Widget Relation
ausgewählt wird, muss ein eindeutiger Name in der Konfiguration hinterlegt werden.
Zusätzlich kann die Auswahl der Verzeichnungseinheiten, die im Filter erscheinen, eingeschränkt werden. Im folgenden Beispiel werden zwei Filter mit dem Widget relation
konfiguriert. Im Filter für Akte
werden nur Verzeichnungseinheiten angezeigt, die im Feld archival_type
den Wert Akte
enthalten. Im Filter für Bild
werden nur Verzeichnungseinheiten angezeigt, die im Feld archival_type
den Wert Bild
enthalten. Zu beachten ist die Eigenschaft name
, die zwingend notwendig ist und eindeutig über alle mit dem Widget Relation
sein muss.
search:
filters:
- schema:
- label:
de: Akte
widget: Relation
name: akte
filter:
archival_type: Akte
- label:
de: Bild
widget: Relation
name: bild
filter:
archival_type: Bild
# Labels
Bei den meisten Widgets ist es möglich, das Label in den entsprechenden Sprachen zu definieren.
Dies ermöglicht es, die Filter umzubenennen und so an die spezifischen Bedürfnisse anzupassen.
Das keyword label
ist daher erfordlich und enthält ein Label für jede unterstützte Sprache
(de
, en
, it
, fr
, rm
).
Das Widget MediaTypes
hat kein Label, da diese Felder nur aus einer Schaltflächengruppe bestehen
und kann wird daher leer definiert werden (siehe Beispiel oben).
# Felder
Sie können Felder entweder aus den Produkten oder Benutzerdefinierten Optionen auswählen. Diese ausgewählten Felder müssen als Enums existieren. Das ausgewählte Feld wird mit den entsprechenden Enum-Werten abgeglichen. Bei der Filterung wird das Label der entsprechenden Enums angezeigt und die Filterung basiert auf dem ausgewählten Identifier des Enums. Wenn der Feldwert keine Daten in der Enum-Tabelle hat, werden die Suchfelder leer sein.
# Optionen
Wenn Sie Benutzerdefinierte Felder oder Produkfelder für Filter verwenden, können Sie Optionen definieren. Diese Optionen werden an das entsprechende Widget übergeben und während der Filterung verwendet.
# Optionen: Multiple
Mit dem Operator multiple
kann das Widget mehrere Auswahlmöglichkeiten haben.
Mit dem Operator können Sie auch festlegen, wie die ausgewählten Werte kombiniert werden sollen.
Die verfügbaren Operatorwerte sind AND
und OR
.
# Erweiterte Suche
Die in der erweiterten Suche angebotenen Filter können auch über den Archiv Schema Editor konfiguriert werden.
Dazu wird unterhalb des Schlüssels advanced-search
innerhalb von search
eine Liste von
Feldern definiert, die als Filter zur Verfügung stehen. Es können dabei auch Customfields
angeboten werden.
Beispielkonfiguration:
search:
advanced-search:
- schema:
- field: title
label:
de: Titel
- field: signature
label:
de: Signatur
- field: usability
label:
de: Bestand
- field: bestand_history
label:
de: Bestandsgeschichte
widget: FieldsText
# Widgets
Folgende Widgets stehen zur Verfügung
FieldsText
für TextwerteSelect
für AuswahlwerteRelation
für Relationen zwischen Verzeichnungseinheiten
Widgets werden analog der einfachen Filter mit dem Schlüsselwort widget
konfiguriert.
# Filter pro Reiter
Es ist möglich, die Konfiguration je nach ausgewähltem Reiter (archival_type
) zu verändern, so dass Filter angezeigt oder versteckt werden wenn man einen Reiter auswählt.
Technisch ist der Reiter an das Feld archival_type
gebunden. Es können mehrere Werte angegeben werden, für welche eine Konfiguration angewendet wird. Die Bedingung archival_type
ist optional. Die oberste Konfiguration, deren Bedingung erfüllt ist, wird verwendet.
search:
advanced-search:
- archival_type:
- Akte
schema:
- label:
de: Bestand
field: bestand_history
widget: auswählen
options:
multiple: AND
# Konfiguration
Pro Feld wird unter dem key field
der technische Name des Feldes angegeben. Das label
ist zwingend und wird pro aktivierte Sprache übersetzt angegeben. Wird keine Übersetzung angegeben, erscheint für jede Sprache der technische Name des Feldes.
Limitierung
Momentan können nur einfach Textfelder (char/string) in der erweiterten Suche verwendet werden.
# Standardfelder
In der erweiterten Suche werden momentan folgende Standardfelder des Produktes unterstützt:
accessibility
(Char
)ancestor_path
(Char
)approval
(Char
)author
(Char
)contains
(Char
)contains_also
(Char
)content_form
(Char
)copyright
(Char
)created_display
(Char
)custom_fields
(Char
)descendant_path
(Char
)description
(Char
)description_level
(Char
)editor
(Char
)external_representations
(Char
)legal_state
(Char
)locations
(Char
)order_classification
(Char
)ownership
(Char
)protection_base_date
(Char
)protection_period_category
(Char
)provenance
(Char
)related_records
(Char
)signature
(Char
)text
(Char
)thumbnail_path
(Char
)title
(Char
)usability
(Char
)usability_accessibility_type
(Char
)
# Benutzerdefinierte Felder (customfields)
Benutzerdefinierte Felder können wie im folgenden Beispiel verwendet werden.
Technisch wird dann im Hintergrund ein entsprechender customfield_
Präfix verwendet.
search:
advanced-search:
- schema:
- field: bestand_history
label:
de: Bestandsgeschichte
widget: FieldsText
# Konfiguration der Metadaten in den Suchresultaten
Die Metadaten der Suchresultate können konfiguriert werden. Die Konfiguration erfolgt unter search.search-card
.
Anbei ein Beispiel für eine Konfiguration:
search:
search-card:
- condition:
filter:
archival_type: Bild
schema:
- field: signature
label:
de: Signatur
en: Signature
- field: quantity
label:
de: Quantität
en: Quantity
- field: ownership
label:
de: Institution
en: Institution
- condition:
filter:
archival_type: "Tonaufzeichnung"
schema:
- field: description_level
label:
de: Description Level
Für Bild werden die Felder signature
, quantity
und ownership
in den Suchresultaten angezeigt.
Für Tonaufzeichnung wird nur das Feld description_level
angezeigt.
Für andere Archivtypen wird die Standardkonfiguration verwendet.
Mit exclude
im Bedingungsblock werden z.B. Archivtypen ausgeschlossen.
Felder, die keinen Wert enthalten, werden standardmässig mit k.A
angezeigt. Wenn stattdessen leere Felder ausgeblendet werden sollen, kann die Option hide-empty: true
verwendet werden.
Der Titel ist standardmässig auf eine Zeile begrenzt. Mit der Option max-lines-title: x
kann der Titel so konfiguriert werden, dass er auf X-Zeilen begrenzt wird. Mit max-lines-title: 2
wird der Titel auf zwei Zeilen begrenzt.
Im Unterschied zum Titel sind Felder standardmässig nicht auf eine bestimmte Anzahl Zeilen begrenzt. Mit der Einstellung max-lines: x
in der Felddefinition kann der Inhalt analog zum Titel auf X-Zeilen gekürzt werden. Mit max-lines: 1
wird der Feldinhalt auf eine Zeile begrenzt.
Um das Feld signatur
für alle Archivtypen ausser Bild
anzuzeigen, wird folgende Konfiguration angewendet:
search:
search-card:
- condition:
filter:
exclude:
archival_type: Bild
schema:
- field: signature
label:
de: Signatur
en: Signature
Anbei eine abgeschlossene Liste der verfügbaren Metadaten, die in den Suchresultaten angezeigt werden können:
pk
is_orderable
is_orderable_for_inspection
is_orderable_for_reproduction
is_orderable_for_exposition_lending
is_orderable_for_administrative_lending
signature
title
created_display
thumbnail_url
has_thumbnail
archival_type
description_level
descendant_path
accessibility_usability
usability_accessibility_type
usability_accessibility_type_label
files_are_public
files
is_public
is_approval_required
children_count
custom_fields
thumbnail_path
accessibility
usability
ownership
Zusätzlich werden auch benutzerdefinierte Felder unterstützt.