Closed cnoss closed 1 year ago
Beispielobjekt: GWN_LC_HVI-56_79
Habe mir die Daten nochmal angeschaut.
Glaube nicht, dass wir die Condition so leicht aus anderen Feldern ableiten können.
Für das Beispielobjekt finde ich z. B. keine klare Zustandsangabe.
Was man nur findet, ist gelegentlich die Erwähnung von I. Zustand oder II. Zustand im Description-Text oder dem Text zur Signatur. In manchen Fällen wird der Zustand auch als Bemerkung zu einer Referenz angegeben, was aber nicht immer der Fall ist.
Zudem können Grafiken neben einem ersten und zweiten Zustand, ebenfalls einen dritten Zustand besitzen.
Sollte man also am besten nur auf Basis des Druckzustand-Feld in der Sektion 4 den Zustand bestimmen?
<Section SectionNumber="4">
<Field FieldName="{@Klassifizierung}" Name="Klassifizierung1">
<FormattedValue>Druckgrafik</FormattedValue>
<Value>Druckgrafik</Value>
</Field>
<Text Name="Text24">
<TextValue>Klassifizierung:</TextValue>
</Text>
<Text Name="Text28">
<TextValue>Druckzustand/Version:</TextValue>
</Text>
<Field FieldName="{@Druckzustand}" Name="Druckzustand1">
<FormattedValue>II. Zustand#2nd state</FormattedValue>
<Value>II. Zustand#2nd state</Value>
</Field>
</Section>
Und welchen Zustand soll eine Grafik erhalten, wenn das Feld leer ist?
Der Importer fügt Grafikobjekten nun ein zusätzliches Feld conditionLevel
hinzu. Durch die Art und Weise wie Grafiken durch den Importer gehandhabt bzw. verarbeitet werden, kann diese Information momentan nicht auf Referenzebene hinzugefügt werden, da sonst zuerst alle Grafiken verarbeitet werden müssten, um dann ausgehend der Referenzen, den Zustand auf Basis des referenzierten Grafikobjekt bestimmen zu können.
Deshalb wird der conditionLevel
erstmal nur zum Zeitpunkt der Verarbeitung für eine Grafik bestimmt, da man dann auch den direkten Zugriff auf die Klassifizierungsdaten hat.
Aktuell wird nur das condition
-Feld unter classification
für den Zustand ausgewertet.
Dabei wird überprüft, ob eins der folgenden Muster zu finden ist:
^I.\s*Zustand
=> 1
^II.\s*Zustand
=> 2
^III.\s*Zustand
=> 3 (es gibt genau eine Grafik, die diesen Zustand aufweist)
Sofern der Zustand einer Grafik nicht bestimmt werden kann, wird auf den Wert 0
zurückgefallen.
Commit: 8f5ab19787c4b8be700d91f650c83972c0066b44
Musste die Muster wie folgt ergänzen und nach Sprache aufsplitten:
[
'de' => [
[
'patterns' => [
'/^I\.\s*zustand/i',
'/^1\.\s*auflage/i',
],
'value' => 1,
],
[
'patterns' => [
'/^II\.\s*zustand/i',
'/^2\.\s*auflage/i',
],
'value' => 2,
],
[
'patterns' => [
'/^III\.\s*zustand/i',
'/^3\.\s*auflage/i',
],
'value' => 3,
],
],
'en' => [
[
'patterns' => [
'/^1st\s*state/i',
'/^1st\s*edition/i',
],
'value' => 1,
],
[
'patterns' => [
'/^2nd\s*state/i',
'/^2nd\s*edition/i',
],
'value' => 2,
],
[
'patterns' => [
'/^3rd\s*state/i',
'/^3rd\s*edition/i',
],
'value' => 3,
],
],
]
Commit: 1ed7b9cff6c1bd6963969bde4100b79388b9508a
Die Daten zum Testen ebenfalls schon eingebunden und die Ausgabe entsprechend umgestaltet:
https://lucascranach.github.io/cranach-grafiken-gatsby/de/GWN_LC_HVI-81_105
https://lucascranach.github.io/cranach-grafiken-gatsby/de/GWN_LC_HVI-7_6
Momentan hat jede Zustandsgruppe ihr eigenes Leporello-Item. Evtl. müsste die gruppierte Ausgabe innerhalb der LeporelloGraphicReprintsItem-Komponente passieren.
… und die Info zum Zustand ergänzen.
references -reprints -item1 -item2 -condition: 1 -relatedWorks -item1 -item2