Skip to content

Open Data Wizard 2.41.0

Choose a tag to compare

@github-actions github-actions released this 27 Aug 11:29
· 8 commits to main since this release
d3a14f0

Fünf Punkte aus dem Usability-Test. Hilfetexte haben jetzt je einen Ort, die Definition zeigt
ihre Struktur und verweist auf den Standard — und wo ein Feld eine feste Auswahl hat, ist es
auch eine Auswahl und kein Textfeld, das seine Optionen erst nach dem Tippen preisgibt.

✨ Added

  • Merkmalsliste über jeder Definition. Das „Mehr erfahren"-Panel nennt oben in zwei Zeilen
    die DCAT-AP-Eigenschaft und die Multiplizität, darunter folgen wie bisher Alltagssprache und
    Definition. Der Tester hatte bemerkt, dass die Definitionstexte einer festen Struktur folgen,
    diese aber nur im Fließtext steht.
  • cardinality als eigenes Feld im Katalog — für alle 53 Einträge. Zwei neue Tests halten
    den strukturierten Wert und die Angabe im Definitionstext zusammen; ohne sie laufen beide
    auseinander, sobald jemand nur eine Seite anfasst.
  • Link auf die Spezifikation je Profil-Klasse. Am Fuß jedes Panels steht „Im Standard
    nachlesen: Datensatz" bzw. „: Distribution" mit Verweis auf den passenden Abschnitt von
    DCAT-AP.de 3.0. Bewusst je Klasse und nicht je Feld: Die feldgenauen Anker ließen sich von
    hier aus nicht überprüfen — bei den drei Klassen-Ankern führt ein Irrtum schlimmstenfalls an
    den Anfang des richtigen Dokuments. Die Zuordnung der 12 Distributions-Felder stammt aus
    odw_build_distribution_node() und wird von einem Test dagegen gehalten.
  • entity als eigenes Feld im Katalog — 41 Datensatz-, 12 Distributions-Felder,
    gegengeprüft gegen die Registry.

✨ Added (Fortsetzung)

  • Thema ist eine Mehrfachauswahl. dcat:theme erlaubt laut Profil 0..n Themen; das Formular
    bot ein Auswahlfeld in Tab 1 und ein Tipp-Feld unter „Erweiterte Angaben" — zusammen höchstens
    zwei, auf zwei verschiedene Arten. Beide sind durch ein Mehrfachfeld mit den EU-Themen ersetzt.
    Der Batch-Import nimmt jetzt ebenfalls mehrere Themen an (Komma- oder Zeilentrennung).
  • Engagementfeld ist eine Mehrfachauswahl, Contributor-ID ein Auswahlfeld. Beide waren
    Textfelder mit einer <datalist> dahinter — man musste erst tippen, um überhaupt zu sehen,
    dass es eine Auswahl gibt, und wer daneben tippte, bekam einen Wert ohne URI. 16 bzw. 69
    Einträge passen in eine Liste. dct:subject erlaubt 0..n, deshalb ist das Engagementfeld
    mehrfach wählbar; die Contributor-ID bleibt einfach.
  • Die CESSDA-Vorschläge öffnen sich beim Anklicken. Mit mehreren hundert Konzepten bleibt
    hier eine Vorschlagsliste richtig — aber eine, die zeigt, was zur Auswahl steht. Sie ersetzt
    das native <datalist> durch eine eigene Liste mit Tastaturbedienung (Pfeiltasten, Enter,
    Escape). Nebeneffekt: Das Verhalten ist in allen Browsern dasselbe und im E2E-Test überhaupt
    prüfbar — ein datalist-Popup ist Browser-Chrome und für Playwright unsichtbar.

🎨 Changed

  • Tooltip und „Mehr erfahren" haben getrennte Rollen. Das ⓘ trägt nur noch den DCAT-AP-Begriff,
    alles Erklärende steht im Panel. Vorher stand beides an beiden Orten — beim Herausgeber sogar
    mit unterschiedlichen Beispielen. Betrifft 42 Felder.
  • Fünf Felder hatten gar keinen Fachbegriff im Tooltip, sondern schon dort Prosa: die drei
    Kontaktfelder, die eigene Lizenz-URI und die HVD-Kennzeichnung. Sie tragen jetzt ihren
    tatsächlich ausgegebenen Begriff (vcard:fn, vcard:hasEmail, vcard:hasURL, dct:license,
    dcatap:applicableLegislation).
  • Das Schlagwort-Beispiel widersprach seiner eigenen Regel. Der Text verlangte ein Wort je
    Zeile und nannte dann ein Beispiel mit Kommas — wer nur den Katalog las, tippte genau die
    falsche Form.

🐛 Fixed

  • Migration der Themen, damit nichts verlorengeht. Carbon Fields legt Mehrfachwerte unter
    eigenen Meta-Keys ab (_odw_theme|||0|value), die alten flachen Zeilen wären unsichtbar
    geworden. Eine einmalige Umschreibung überführt beim ersten Aufruf des Backends alle
    Datensätze — über carbon_set_post_meta(), nicht über selbstgebaute Schlüssel, weil deren
    Format ein Interna der Bibliothek ist.
  • Themenfilter und Sortierung wären still kaputtgegangen. Beide fragten die Datenbank auf
    _odw_theme ab und hätten Mehrfachwerte nicht mehr gefunden. Das Plugin schreibt die Auswahl
    deshalb zusätzlich flach: _odw_theme_index (eine Zeile je Thema) für den Katalogfilter,
    _odw_theme_sort für die Spaltensortierung. Der bestehende E2E-Test auf ?theme=Bildung
    prüft das mit — und fand dabei gleich noch, dass der Katalogfilter den Parameter anders
    auflöste als der Index geschrieben wird: resolve_theme_uri() kennt nur die EU-Bezeichnungen,
    und „Bildung" heißt dort „Bildung, Kultur und Sport". Der Filter nimmt jetzt dieselbe
    Auflösung wie das Speichern, damit Harvester mit dem alten deutschen Kurznamen weiter
    Treffer bekommen.
  • Das Engagementfeld hätte seinen Wert verloren. Wie beim Thema ändert die Mehrfachauswahl
    das Speicherformat; dieselbe einmalige Umschreibung überführt jetzt beide Felder und löst
    dabei einen von Hand eingetippten Namen zur Vokabular-URI auf.
  • bin/check-i18n.py übersah config/. mqa-metrics.php und dcat-ap-fields.php führen
    ihre Beschriftungen über __(), standen aber nicht in der Dateiliste der Prüfung — für 31
    Zeichenketten hätte eine fehlende Übersetzung also nie jemand gemeldet. Aufgefallen ist es,
    weil ich beim Aufräumen der Kataloge beinahe genau diese Einträge gelöscht hätte.

🧹 Removed

  • Das generische Vokabular-Autosuggest (data-odw-vocab) ist entfallen — mit Thema,
    Engagementfeld und Contributor-ID hatte es keine Nutzer mehr. Damit entfällt auch die
    Auslieferung der drei Vokabulare an jede Admin-Seite; die Optionen stehen jetzt im Formular
    selbst. Die Vokabulardateien unter config/vocabularies/ bleiben unverändert.

ℹ️ Eine Ausnahme mit Begründung

Das Wiederholfeld für weitere Distributionen behält seinen Hilfetext: Für dieses Feld gibt es
keinen Katalogeintrag, das Panel erscheint dort also gar nicht — der Tooltip ist die einzige
Erklärung, die es hat.

Installation: WordPress → Plugins → Installieren → Plugin hochladen.