1
0
Files
breadcrumb-the-shire/docs/reference-extension-readiness.md
fs 545bcc789b docs: replace ASCII umlaut fallbacks with proper äöüß across all .md
Most German docs were written with `ue`/`ae`/`oe`/`ss` ASCII fallbacks
(`fuer`, `aenderung`, `koennen`, `gemaess`) — relic from older toolchain
constraints. Replaced 237 occurrences across 38 .md files with proper
umlauts and ß so the docs read naturally.

Substitutions are constrained to plain prose: fenced code blocks
(```...```), inline code spans (`...`), markdown link targets `[..](..)`,
and HTML comments are preserved verbatim. Path references like
`docs/howto-erste-aenderung.md` keep their original (umlaut-replaced)
filenames — only the surrounding prose is normalised.

Tool: bin/fix-md-umlauts.py (idempotent — no-op on already-clean files).
Re-runnable if ASCII fallbacks creep back in via copy-paste.

Doc-link-check + doc-drift-check stay green.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-29 09:57:22 +02:00

2.1 KiB

Extension-Readiness (Module-System V1.1)

Letzte Aktualisierung: 2026-03-18

Ziel

Verbindliche Vorbedingungen für weitere eigenstaendige Module auf dem bestehenden Modul-System festhalten.

Kanonische Quelle

Normativer Manifest- und Runtime-Contract: /docs/reference-module-manifest-contract.md.

Diese Readiness-Doku ist bewusst kurz und verweist für Felddefinitionen/Guards immer auf den Manifest-Contract.

Readiness-Checkliste vor Modul 2+

  1. Modulgrenzen klarziehen
    • Betroffene Schichten benoennen (pages -> Service -> Repository).
    • Keine Modul-spezifischen Hardcodings im Core-Layout/Core-Routing.
  2. Manifest-Contract einhalten
    • module.php validiert gegen den kanonischen Contract (permissions, scheduler_jobs, ui_slots, routes).
    • Route-/Slot-/Layout-Guards laufen fail-fast.
  3. Security + Scope absichern
    • AuthZ/RBAC serverseitig prüfen.
    • Tenant-Scope serverseitig prüfen.
    • POST-Mutationen mit CSRF absichern.
  4. Runtime-Hygiene absichern
    • php bin/console module:sync laeuft reproduzierbar mit standardisierter Step-Summary.
    • Keine First-party CLI-Warnings/Notices/Deprecations; Vendor-Rauschen wird nur gezaehlt/reportet.
  5. Testbarkeit und Gates
    • Architektur- und Domain-Tests für neue Logik ergaenzen.
    • phpunit und phpstan als Pflicht-Gates gruen.
  6. Daten- und Betriebsfaehigkeit
    • Schema-/Datenänderungen für Bestandsinstallationen idempotent in db/updates/*.sql.
    • Logs/Audit ohne unredacted PII/Secrets.

Derzeit Out of Scope

  • Eigener DB-Server oder Netzwerk-Microservice je Modul.
  • Externe Drittanbieter-Module mit Legacy-Kompatibilitaet.

Verfügbare Core-Services für Module

JS-seitig:

  • Confirm-Dialog (confirmDialog)
  • Async-Flash (showAsyncFlash)
  • DOM-Utilities (app-dom.js)
  • CSRF-Metadaten über data-csrf-key / data-csrf-token

PHP-seitig:

  • Guard (MintyPHP\\Support\\Guard)
  • SessionStore (MintyPHP\\Http\\SessionStoreInterface)
  • Flash (MintyPHP\\Support\\Flash)
  • DI-Container (MintyPHP\\App\\AppContainer)
  • Modul-Contracts (LayoutContextProvider, SessionProvider, SearchResourceProvider)