fix: Gegencheck-Befunde (CLI-Bug auf ZIP-Installationen, i18n-Lücke) + Doku-Aktualisierung (v2.34.1) - #84
Merged
Merged
Conversation
… docs (v2.34.1)
Befunde aus einem Gesamt-Gegencheck (Funktion, UX, Code, i18n).
Fixed:
- 'wp open-data-wizard docs' schlug auf JEDER ZIP-Installation fehl: Der Befehl
schreibt nach docs/FELD-REFERENZ.md, doch das Release-ZIP liefert korrekt kein
docs/ aus. file_put_contents() scheiterte still ('konnte nicht geschrieben
werden'). write() legt das Zielverzeichnis jetzt an — WordPress-unabhängig,
damit bin/generate-field-reference.php weiter standalone läuft.
Regressionstest ergänzt (ohne Fix nachweislich rot).
- Fehlende en_US-Übersetzung ergänzt (Katalog-Beschreibungs-Fallback aus
v2.33.1). en_US wieder lückenlos, per Tokenizer gegen den Quelltext geprüft.
Docs:
- CLAUDE.md stand noch auf v2.5.1/'94 Tests': Version, Testzahl, Projektstruktur
(class-rdf, class-field-reference, bin/, docs/, samples/, neue config/-Dateien),
Klassenübersicht und Roadmap (Phase D/E waren fälschlich offen) aktualisiert.
- README: Version-Badge; Roadmap weist Harvest-Endpoint + Turtle als erledigt aus.
Ohne Befund geprüft: PHP-/JS-Syntax, Datei-Integrität (require-/Asset-Pfade),
UX-Verknüpfungen (Sprungziele, Pflichtfeld-Marker, Accordion-Sektionen) gegen die
realen Feldnamen, Turtle-Ausgabe (valides RDF, GovData DCAT-AP.de konform),
keine TODO/FIXME. 188 Tests grün, PHPCS 0, PHPStan clean.
https://claude.ai/code/session_01JB1xUQM892bVZ4Yv3MZjvq
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JB1xUQM892bVZ4Yv3MZjvq
Die CI installiert WPCS 3.4.1 aus dem Lock und meldet unlink()/rmdir() in der Aufräum-Logik des neuen Tests. Im Unit-Test steht kein WordPress-Runtime zur Verfügung (kein WP_Filesystem/wp_delete_file), daher sind direkte PHP-Aufrufe korrekt — per phpcs:disable für WordPress.WP.AlternativeFunctions annotiert. Verifiziert durch gezielten Sniff-Lauf: vorher 2 Warnungen, jetzt 0. https://claude.ai/code/session_01JB1xUQM892bVZ4Yv3MZjvq Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JB1xUQM892bVZ4Yv3MZjvq
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Ergebnis eines Gesamt-Gegenchecks auf Funktions-, UX- und Code-Fehler — plus die gewünschte Aktualisierung von README und CLAUDE.md.
🐛 Zwei echte Befunde (behoben)
1.
wp open-data-wizard docsschlug auf jeder ZIP-Installation fehlDer Befehl schreibt nach
docs/FELD-REFERENZ.md, aber das Release-ZIP liefert — korrekterweise — keindocs/-Verzeichnis aus (die Allowlist inbin/build-release.shenthält nur Laufzeit-Dateien).file_put_contents()scheiterte dadurch still und der Befehl meldete nur das irreführende „Feld-Referenz konnte nicht geschrieben werden".→
ODW_Field_Reference::write()legt das Zielverzeichnis jetzt an. Bewusst WordPress-unabhängig implementiert (wp_mkdir_p()falls verfügbar, sonstmkdir()), damitbin/generate-field-reference.phpweiter standalone in der CI läuft.→ Regressionstest ergänzt und gegengeprüft: ohne den Fix schlägt er fehl.
2. Eine fehlende englische Übersetzung
Offene Daten, bereitgestellt von %s.— der in v2.33.1 eingeführte Katalog-Beschreibungs-Fallback. Auf englischen Installationen wäre dort deutscher Text erschienen.en_USist wieder lückenlos (620 Einträge), per Tokenizer gegen den Quelltext verifiziert.✅ Ohne Befund geprüft
require_once- und Asset-Pfad existiert (kein toter Enqueue)Conforms: TrueTODO/FIXME-Marker im Code188 Tests grün, PHPCS 0, PHPStan Level 6 clean.
📄 Doku-Aktualisierung
CLAUDE.md war deutlich veraltet (stand auf v2.5.1 und „94 Tests"):
class-rdf.php,class-field-reference.php,bin/,docs/,samples/und die neuenconfig/-Dateien (field-catalog.php,mqa-metrics.php,shacl/) ergänztODW_RdfundODW_Field_ReferenceREADME:
Accept-Header, Turtle auch für/datasets/<id>)🤖 Generated with Claude Code
https://claude.ai/code/session_01JB1xUQM892bVZ4Yv3MZjvq
Generated by Claude Code