lucascranach / cda-orga

DevOrga rund um das Cranach Digital Archive
https://lucascranach.org/intern
Apache License 2.0
0 stars 0 forks source link

Tool zur Bildbeschriftung im Adminbereich #71

Closed CranacharchivGunnar closed 5 months ago

CranacharchivGunnar commented 1 year ago

URL of the buggy page?

https://lucascranach.org

Contact Details

gunnar.heydenreich@th-koeln.de

What happened?

Im alten Adminbereich hatten wir ein Tool, um Bildbeschriftungen einzugeben, die nicht als EXIF Daten kommen. Wäre schön, wenn wir das überführen könnten...

On what kind of device does the bug appear?

No response

What browsers are you seeing the problem on?

No response

Additional context & Screenshots

No response

yannic-bruegger commented 10 months ago

Ich werde mir als nächstes großes Thema dieses hier nehmen. Damit komme ich dann in den nächsten Wochen mal regelmäßiger auf das Team zu. Um euch schon einmal vorzuwarnen. 😄

Mein Vorgehen:

  1. UI-Entwurf möglichst integriert in die bisherige interne Umgebung (ggf. im Jekyll-Projekt)
  2. Architekturentwurf (Wo werden die Metadaten wie abgelegt? Mit welchen Tools kann die Lösung gebaut werden?)
  3. Prototyp bauen und zum Testen freigeben
yannic-bruegger commented 9 months ago

Hier mal ein kleines Update:

Der UI-Entwurf ist relativ unspektakulär. Wir haben jetzt Bearbeiten-Icons neben den jeweiligen Eigenschaften. Klickt man sie an, gibt es abbrechen und speichern funktionen für das eine Textfeld. Hier müssen wir uns noch gedanken machen, wie es im Kontext von mehreren Sprachen aussieht. Ich bin offen für Ideen - das ist jetzt wirklich nur ein schneller, grober Entwurf.

Image

Der Architekturentwurf sieht eine TypeScript Applikation auf der Deno Runtime vor. Die API machen wir mindestens über einen Security-Key (Secret) erreichbar. Dieses Secret wird dann nur im internen Bereich veröffentlicht, sodass ausschließlich Mitarbeitende Änderungen vornehmen können. Wir sollten uns aber gedanken über bessere Absicherung machen. Idealerweise vor Go-Live.

Bau des Prototyps ist gestartet. Ich habe mich entschieden, die Lösung zu Containerisieren. So können wir sie nachher leichter deployen. Dazu gibt es ein neues Repo: https://github.com/lucascranach/cranach-metadata-service

yannic-bruegger commented 9 months ago

Feedback von Gunnar:

In dem alten Tool hatten wir eine Kopierfunktion und eine Wortvorschlagsliste. Wäre hilfreich.

yannic-bruegger commented 9 months ago

Kleines Update: Christian versucht mir einmal das alte Tool rauszusuchen. Vielleicht kann ich mich daran etwas orientieren, damit es für euch möglichst hilfreich ist :)

CranacharchivGunnar commented 9 months ago

Super! Danke!

CranacharchivGunnar commented 8 months ago

Hi Yannic darf ich mal nach dem Stand der Dinge fragen? Würde gern zahlreiche Fehler in der Bildbeschriftung im Onlinebereich korrigieren (wo Abb. ersetzt wurden, blieben die alten Metadaten erhalten) Zudem werden jetzt wieder einen neuen Export mit etwa 600 Bildern auf den Weg bringen... Kannst Du ungefähr sagen, bis wann das fertig wird? Herzlich, Gunnar

yannic-bruegger commented 8 months ago

Hi Gunnar, ich komme recht gut voran. Die Anwendungslogik ist soweit implementiert, sodass Änderungen an den Daten vorgenommen werden können. Dazu fehlt jetzt noch die Benutzeroberfläche, damit das ganze auch von der Artefacts-Seite zu nutzen ist.

Das komplizierteste wird wahrscheinlich das Deployment. Wo legen wir die neue Applikation hin (auf welchem Server, mit welchen Technologien und unter welchen Sicherheitsbestimmungen). Dazu stimme ich mich heute noch mal mit Christian ab. Ich denke eine erste Version (noch ohne Wortvorschlagsliste) kann in zwei Wochen genutzt werden. Leider arbeite ich ja nur Mittwochs für Cranach. Passt dir das?

CranacharchivGunnar commented 8 months ago

Hi Yannic, Danke für die Info, super, dass die Implementierung in greifbare Nähe rutscht! In zwei Wochen freue ich mich auch noch über ein Osterei! Kurze Rückfrage: Du arbeitest einen Tag für Cranach, nach meiner Info war es eine Stelle "28 Monate * 0,3-Stelle (Brügger)"? Vielleicht habe ich was verpasst? Herzlich, Gunnar

yannic-bruegger commented 8 months ago

Hi Gunnar, erst einmal gute Nachrichten. Ich habe es heute schon geschafft die Anwendungslogik fertig (auf den echten Datensätzen) zu implementieren. Ich werde voraussichtlich morgen mit Christian das Deployment durchführen, sodass nur noch die Benutzeroberfläche erstellt werden muss. Dazu sind die Designs ja auch schon da, es geht also nur noch ums "herunterprogrammieren". Ich kann dir nicht versprechen, ob wir vor Ostern schon testen können aber das setze ich mir mal als ambitioniertes Ziel 👍

Ich versuche bei meiner 12h Stelle so viel wie möglich (~9.5h) Mittwochs zu machen. Das ist der beste Weg für mich, um fokussiert an einem Thema zu arbeiten. Außerdem ist es so leichter mit meinem anderen Job (28h) zu vereinbaren. Die restliche Zeit kommt dann Donnerstags immer dazu. Das führt leider dazu, dass zwischen Donnerstag Mittag und dem nächsten Mittwoch immer eine recht große Verfügbarkeitslücke liegt.

yannic-bruegger commented 7 months ago

Es wurde leider deutlich komplizierter als gedacht. Hier ein Update des aktuellen Standes:

Hier sieht man mal testweise, wie eine erste Benutzeroberfläche aussehen kann. Die wird allerdings nicht im Großformat, sondern nur klein später auf der Cranach-Artefacts-Seite zum jeweilig ausgewählten Artefakt/Aufnahme eingebunden. Lesend kann potentiell immer darauf zugegriffen werden. Für schreibenden Zugriff muss ein API-Schlüsel mitgegeben werden.

https://lucascranach.org/metadata/metadataForm.html?artefact=G_DE_ALBD_Georg-421-11&image=Overall-001

Image

yannic-bruegger commented 7 months ago

Die größe Challenge ist es, den richtigen Dateinamen zu identifizieren. Ich habe den Code leider noch nicht ganz durchblickt.

Was ist das dann am Ende noch? CH_SORW_1925-1b_FR006_c1995

Tut mir echt Leid, aber ich stecke so tief noch nicht in der Materie 👓 Kann wer helfen? :)

dangoerr commented 7 months ago

Sofern die Frage noch nicht mündliuch beantwortet wurde: Nach cda-ID und Friedländer/Rosenberg-Nummer kann (muss aber nicht) das Entstehungsjahr/-datum der Abbildung folgen, hier "c. 1995", also "etwa 1995", kann aber auch "04-2024" für April 2024 o. Ä. lauten.

CranacharchivGunnar commented 7 months ago

Sieht schon vielversprechend gut aus!

dangoerr commented 7 months ago

Hallo Yannic, nach Rücksprache mit Gunnar, hier der Vorschlag zur Funktionalität im Dropdown-Menü des Tools zur Bildbeschriftung, die dem entspricht, wie es im alten Tool funktionerte:

yannic-bruegger commented 7 months ago

Habe ich schon mal implementiert. Es kommt jetzt beim Klick auf ein Feld die (scrollbare) Liste. Beim Tippen wird diese Liste auch automatisch gefiltert. Ihr könnt also (siehe Screenshot) auch "Sca" eingeben, sodass euch nur noch passende Vorschläge angezeigt werden. Morgen lade ich die neue Version hoch, sodass ihr gerne schon mal rumprobieren könnt. Mittwoch, spätestens Donnerstag kann ich das gesamte feature dann hoffentlich im internen Bereich veröffentlichen. Danke euch, für das schnelle Feedback!

image

CranacharchivGunnar commented 6 months ago

Hi Yannic, finde das Tool im internen Bereich noch nicht. Kannst Du mir behilflich sein, wie ich das öffnen kann? G

yannic-bruegger commented 6 months ago

Hi Gunnar, es geht aktuell nur über den Link - die CDA-ID bzw. den Ordernamen könntest du schon in der Adresszeile anpassen aber dis ist wirklich noch nicht Sinn der Sache. Leider bin ich bei der Entwicklung auf Hindernisse gestoßen. Gestern habe ich mit Christian darüber reden können und er hat einen Blick drauf geworfen. Um 15:00 spreche ich mit ihm im Weekly das weitere vorgehen ab. Er hat da vermutlich neue Infos. Ich melde mich nach unserem Termin um 15:00 noch einmal hier. Sorry für die unerwartete verspätung und danke, für deine Unterstützung!

yannic-bruegger commented 6 months ago

Christian hat noch eine Metadatenquelle gefunden, von der wir dachten, sie wäre nicht mehr aktiv. Christian wird anfang nächter Woche die Daten aus der Datenbank exportieren und wie die restlichen Metadaten auch per JSON auf den Server legen. Dann haben wir alles an einem Ort und der Metadaten-Editor kann richtig arbeiten

yannic-bruegger commented 6 months ago

So, endlich gibt es eine testbare Version im internen Bereich. In der oberen rechten Bildschirmecke finde ihr jetzt ein kleines Icon für den Metadaten-Editor.

Image

Bei betätigung klappt der sich von der Seite aus.

Image

Aktuell gibt es leider noch kein User-Feedback (ob speichern funktioniert hat). Das kommt aber im nächsten Update nächte Woche. Zum prüfen könnt ihr die Seite nach einer änderung einmal neu laden. Wenn im Metadaten-Editor dann euer neuer Wert angezeigt wird, hat es funktioniert.

To Do:

Wenn ihr schon mal testen könntet, würde ich mich freuen. Feedback gerne hier lassen 😄

CranacharchivGunnar commented 6 months ago

Hi Yannic, brilliant, riesigen Dank! Sind gerade in Wittenberg, ich teste gern sobald ich zurück bin!! Herzlich, Gunnar

CranacharchivGunnar commented 6 months ago

Hi Yannic,

Wenn ich eine neue Abb. aufrufe, zu der es noch keinen Eintrag gibt, dann wir mir kein leeres Formular angezeigt. Könntest Du das bitte ermöglichen, denn die Umbenennung ist häufig nötig, weil neue Abb. dazu gekommen sind und die möchte ich auch gleich beschriften... grafik Danke! Herzlich, G

CranacharchivGunnar commented 6 months ago

Hi Yannic, gerade bemerke ich auch, dass die Wortvorschlagslisten für die einzelnen Datenfelder noch nicht angezeigt werden. Wäre super, wenn Du diese bitte mit einblenden könntest. Danke! Herzlich, g

yannic-bruegger commented 5 months ago

Guten Morgen Gunnar, ich setze mich jetzt dran und arbeite dein Feedback ein. Danke!

yannic-bruegger commented 5 months ago

Jetzt gibt es eine neue Schaltfläche, die angezeigt wird, wenn noch keine Datei mit Metadaten besteht. Diese Funktion muss mit ein wenig Vorsicht verwendet werden. Sollten im Metadaten-Editor keine Daten zu finden sein (also die neue Schaltfläche sichtbar sein) jedoch Metadaten bei der üblichen Metadaten-Anzeige zu sehen sein, ist vermutlich etwas in der Datenhaltung falsch. Dann diese Fälle bitte gerne melden statt mit "Create new metadata entry" eine neue Datei zu erstellen. Danke! 😄

Image

yannic-bruegger commented 5 months ago

Bzgl der Auswahlmöglichkeiten:

Die sollten zu sehen sein, wenn doppelt auf das Feld geklickt wird oder wenn mit der Eingabe begonnen wird. Ich verwende auch den Firefox, bei mir funktioniert es. Gerne noch mal rückmelden. Danke!

CranacharchivGunnar commented 5 months ago

Hi Yannic, grundsätzlich funktioniert es, d.h. ich kann Einträge vornehmen - sehe allerdings ja noch keine Ergebnisse (wäre hilfreich!)...

Im folgenden Datensatz habe ich mal die Bilder neu beschriftet: https://lucascranach.org/intern/artefacts/de/PRIVATE_NONE-P439/ Kannst Du sehen, ob die Beschriftungen angekommen sind?

Folgende Anschlussbitten ergeben sich daraus:

Mit diesen Erweiterungen würde ich viel, viel Zeit sparen.

Gleich noch eine Frage: Habe bei der Beschrifung bemerkt, dass in diesem Ordner die Abb. PRIVATE_NONE-P439_FR-none_2023_IRR nicht angezeigt wird. Kannst Du den Grund erkennen? Danke! Gunnar

yannic-bruegger commented 5 months ago

Hi Gunnar, wir können die Wortvorschläge relativ einfach im Quelltext bearbeiten. Dafür hatte ich eine Config-Datei angelegt. Leider ist der Aufwand eine Benutzeroberfläche dafür einzurichten unverhältnismäßig hoch. Schreibe mir gerne die weiteren Wortvorschläge, sodas ich die jetzt initial einbauen kann. Für die Zukunft erstelle ich ein Video (im Prinzip wie dieses hier), wo ich euch eine kurzanleitung zum Aktualisieren der Liste gebe.

Hier ein Beispiel für die aktuell konfigurierten Wortvorschläge. Wir können die aber ohne weiteres für jedes andere Feld auch angeben.

"suggestions": {
    "image-description-de": [
      "Gesamtaufnahme",
      "Gesamtaufnahme, Rückseite",
      "Gesamtaufnahme, Streiflicht",
      "Gesamtaufnahme, Durchlicht",
      "Detail",
      "Detail, Wasserzeichen",
      "Mikroskopaufnahme",
      "Übersicht zur Lokalisierung der Mikroskopaufnahmen",
      "Röntgenaufnahme, Gesamtaufnahme",
      "Röntgenaufnahme, Detail",
      "Infrarot Reflektografie, Gesamtaufnahme",
      "Infrarot-Reflektografie, Detail",
      "OSIRIS Infrarot-Reflektografie, 900-1700nm",
      "Querschliff",
      "Rückseite der Reproduktion / des Fotos"
    ],
    "image-description-en": [
      "Overall",
      "Overall, reverse",
      "Overall, raking light",
      "Overall, transmitted light",
      "Detail",
      "Detail, watermark",
      "Photomicrograph",
      "Location of the Photomicrographs",
      "X-Radiograph, overall",
      "X-Radiograph, detail",
      "Infrared Reflectogram, overall",
      "Infrared Reflectogram, detail",
      "OSIRIS Infrared-Reflectogram, 900-1700nm",
      "Cross-section",
      "Reverse of photograph / reproduction"
    ],
    "file-type-de": [
      "Digitale Aufnahme",
      "Scan eines Diapositivs",
      "Scan eines 35 mm Diapositivs",
      "Scan eines Schwarz-Weiß-Fotos",
      "Scan einer Reproduktion",
      "Scan eines Schwarz-Weiß-Negativs",
      "Scan eines Dokumentes",
      "Scan einer IR-Fotografie",
      "Scan eines Röntgenfilms",
      "Scan einer UV-Fluoreszenz-Fotografie",
      "Digitale Montage gescannter Röntgenfilme",
      "Digitale Montage einer analogen IR-Reflektografie",
      "Montage digitaler Aufnahmen (Indigo Alpha NIR)",
      "Analoge Aufnahme mit Hamamatsu Vidicon-Kamera, nachfolgend digitalisiert"
    ],
    "file-type-en": [
      "Digital image",
      "Scan of colour slide",
      "Scan of 35 mm colour slide",
      "Scan of black and white photograph",
      "Scan of reproduction",
      "Scan of black and white negative",
      "Scan of a document",
      "Scan of IR-photograph",
      "Scan of a X-ray film",
      "Scan of UV-fluorescence photograph",
      "Digital assembly of scanned X-ray films",
      "Digital assembly of analogue IR-Reflectogram",
      "Assembly of digital images (Indigo Alpha NIR)",
      "Digital image converted from Hamamatsu vidicon",
      "Digital mosaic converted from Hamamatsu vidicon"
    ]
yannic-bruegger commented 5 months ago

Zu deinem nächsten Punkt (Kopieren, Einfügen) habe ich ein eigenes Issue erstellt. Gib dem gerne die Priorisierung, die du dir vorstellst. Dann lasse ich das in die Planung mit einfließen 👍

https://github.com/orgs/lucascranach/projects/2/views/1?pane=issue&itemId=66933807

CranacharchivGunnar commented 5 months ago

Hi Yannic, Wenn ich einfach auf diese Liste zugreifen und diese dort ergänzen kann, dann sollte das gehen. Gern warte ich auf die Anleitung. Die Ergänzungen werden auch in den unteren Feldern nötig, z.B. Autor/Rechte: Gunnar Heydenreich, cda Quelle: cda

Möchte das bei 1000 Bildern nicht jedes Mal per Hand neu schreiben müssen...

Das Issue zu Kopieren/Einfügen habe ich in der Prioliste gerade noch nicht gesehen, würde dem aber "Urgent" geben. Danke! Herzlich, G

yannic-bruegger commented 5 months ago

Die neuen Autovervollständigungen sind jetzt implementiert. Die komme gleich in den internen bereich :) Das zweite Feature versuche ich dann heute auch noch zu implementieren

yannic-bruegger commented 5 months ago

Ist live 👍

CranacharchivGunnar commented 5 months ago

Perfekt, funktioniert angenehm. Danke!!

CranacharchivGunnar commented 5 months ago

Hi Yannic, wenn Du mir noch den Zugang zu dem Editor geben könntest, wo ich die Wortliste erweitern kann, dann wäre das abzuschließen. Danke!

yannic-bruegger commented 5 months ago

Hier die Anleitung: https://lucascranach.org/intern/blog/2024/07/02/metadaten-editor-word-list.html

Das Video ist aus einem anderen Anwendungsfall aber quasi 1:1 identisch. Unterschiede habe ich unter dem Video in Textform hinzugefügt. Wenn noch Fragen offen sind, gerne melden :)

Daniel hat damit auch schon Erfahrung und kann ggf. helfen. LG

CranacharchivGunnar commented 5 months ago

Hi Yannic, sorry, aber ich bleibe bereits am ersten Schritt hängen, "create brunch" wird mir nicht angezeigt. Hatte versucht "aktualisierung-wortvorschlagliste1" zu erstellen. Ich denke, dass muss doch noch einfacher ablaufen... Das ist zu aufwändig für die Anpassung der Wortliste. Herzlich, Gunnar