tl;dr;
Auf der Suche nach einer Möglichkeit die Leserichtung (left-to-right, right-to-left) für einen Datensatz in MODS zu definieren, wurde entschieden einen eigenen XML-Namespace hierfür anzulegen,
welche in einem späteren Gobi viewer Update entsprechend interpretiert wird.
Long Story:
Wir haben einige neuzeitlichen orientalische Handschriften in unserer Sammlung, welche wir digitalisieren wollten.
Hierbei ist aufgefallen, dass Aufgrund der Leserichtung und da das Buch ‘normal’ von links nach rechts gescannt wurde, Aufgaben wie Paginierung und Darstellung nicht optimal sind.
Wenn ein Buch von rechts nach links gelesen werden soll, möchte man entsprechend auch durch das Digitalisat klicken können.
Da unser Scanner im Doppelseitenmodus immer linke Seite rechte Seite fotografiert und entsprechend nummeriert, und dies in den Einstellungen nicht geändert werden kann, wird das Buch normal gescannt ( von links nach rechts).
Ein Shell Skript dreht die Nummerierung der Bilddateien nach dem Upload in Goobi rum. Die Ausführung des Skripts kann im Rahmen eines Automatischen Schrittes erfolgen.
# /bin/bash /full/path/to/script/reverseFilenames.sh <path/to/metadata/id/images/folder>
# $1 = <path/to/metadata/id/images/folder>
# create a temporary directory
cd $1
mkdir -p ./tmp
# create an array of images and find maximum number
# colorChart -> Color Calibration Charts is alway the last photo of our scans and should not be renamed
colorChart=$(ls *.tif | tail -n 1)
mv -- $colorChart ./tmp/$colorChart
images=(*.tif)
max=${#images[*]}
# loop through array keys and subtract the key from maximum number to reverse
for i in "${!images[@]}"; do
# rename to the temporary directory, with three-digit zero padding
mv -- "${images[$i]}" ./tmp/$(printf "%08d.tif" $(($max - i)))
done
# move files back and remove temporary directoy
mv ./tmp/*.tif .
rmdir ./tmp
Danach können später die Paginierung (mit automatische Unterstützung!), Metadaten und Strukturdaten entsprechend ohne größere Probleme angepasst werden.
Was jetzt natürlich noch nicht ganz korrekt ist, ist das man nachdem das Buch exportiert wurde, nach links ließt aber die Blätter mit dem Knopf nach rechts umblättert.
Hierfür hat Intranda in Rücksprache mit der SUB Göttingen ein auswertebares Metatag in den den Standards gesucht um die Leserichtung anzugeben, damit der Viewer diese auch auswerten kann.
Da es hier scheinbar leider keine gibt und die Leserichtung nicht alleine an der Sprache fest zu machen ist, wurde entschieden einen eigenen XML-Namespace hierfür anzulegen, welche in einem späteren Gobi viewer Update entsprechend interpretiert wird.
Hier die entsprechenden ruleset.xml und goobi_metadataDisplayRules.xml Anpassungen.
Hierbei ist natürlich zu beachten, dass die NamespaceDefinition einen einzigartigen prefix hat
##### ruleset.xml #####
Metadatum definieren:
<MetadataType>
<Name>ReadingDirection</Name>
<language name="de">Leserichtung</language>
<language name="en">Reading direction</language>
</MetadataType>
Metadatum in Dokumententyp freischalten:
<metadata num="1o" DefaultDisplay="true">ReadingDirection</metadata>
Namespace definieren:
<NamespaceDefinition>
<URI>https://goobi.io/schema/</URI>
<prefix>goobi</prefix>
</NamespaceDefinition>
Metadatum exportieren:
<Metadata>
<InternalName>ReadingDirection</InternalName>
<WriteXPath>./mods:mods/mods:extension/#goobi:readingdirection</WriteXPath>
</Metadata>
##### goobi_metadataDisplayRules.xml #####
Festlegen eines DropDown Menüs mit der Leserichtung und einem Standardwert von Links nach Rechts:
<context projectName="*">
<select1 ref="ReadingDirection">
<item selected="true">
<label>Links nach Rechts</label>
<value>left-to-right</value>
</item>
<item selected="false">
<label>Rechts nach Links</label>
<value>right-to-left</value>
</item>
</select1>
</context>
Vielen Dank noch einmal an Jan und Frau Rühle, die sich dieser Thematik angenommen hatten und uns dieses Feature in einem kommenden Viewer Release zur Verfügung stellen werden.