Skip to content

10.0.0-beta.4 (BETA)

Pre-release
Pre-release

Choose a tag to compare

@skerbis skerbis released this 13 Sep 13:48
· 22 commits to main since this release

⚠️ BETA. Nicht für produktive Installationen. Nur zum Testen, vorher ein Backup anlegen. PHP 8.4 ist Pflicht, MBlock wird nicht mehr unterstützt. Wer stabil bleiben will, bleibt bei 9.5.x (Branch 9.x).

Vierte Beta von MForm 10. Weil die ersten drei Betas in kurzer Folge kamen, hier einmal der Stand über alle Betas hinweg, damit niemand die einzelnen Notes zusammensuchen muss.

Was MForm 10 bis jetzt ist

Basis. PHP 8.4 ist Pflicht, der Parser läuft auf \Dom\HTMLDocument. MBlock ist raus, die stabile 9.5-Linie lebt im Branch 9.x weiter. Eine Datenmigration von 9 nach 10 gibt es nicht, das Update ist ein normales Addon-Update. Was man vorher prüfen sollte, steht jetzt als Checkliste in „Was ist neu in MForm 10“.

Von MBlock zum Repeater. Der Assistent „MBlock zu Repeater“ führt in sechs Schritten durch Inventar, Code-Konvertierung, Modul-Kopie, Datenmigration mit Backup und Rollback, Slices umhängen und YForm-Felder. Auf der Konsole heißt das mform:migrate, dazu ein Linter mform:lint. Der Konverter bleibt fester Teil von MForm.

Repeater. Neue Bedienung mit Kopfzeile (Label, Zähler, Aktionen) und einem durchgehenden „Hinzufügen“-Streifen unter der Liste, auch verschachtelt. Optionales Speicherformat mit Versionsmarker ('data_version' => 2), alle Ausgabehelfer lesen beide Formate. Typisierte Items über MFormOutput::from(1)->items() mit media(), article(), dataset(), url(). Wrapper und Feldzeilen kommen im klassischen Formular und im Repeater aus denselben Theme-Fragmenten, per Snapshot-Test abgesichert.

Felder. HTML5-Felder (addNumberField(), addRangeField(), addDateField(), addDateTimeField(), addTimeField(), addEmailField(), addColorField()). Eigene Feldtypen aus Fremd-Addons über MForm::registerFieldType() und addCustomField(), ein Renderer für beide Pfade.

Barrierefreiheit. Medien-Felder prüfen auf Wunsch ALT-Text und weitere Metainfo-Felder gegen den Medienpool und zeigen Befunde direkt unter dem Widget, mit „Metadaten bearbeiten“ und „Erneut prüfen“. Dekorative Bilder, mehrsprachige Felder (metainfo_lang_fields) und MediaPlace (eigenes ALT-Feld, mediaplace:<key>) werden berücksichtigt. Global und je Feld abschaltbar, optional als Standardprüfung für alle Medien-Felder.

Widgets und Integrationen. Ein Design für alle Widgets über gemeinsame Tokens, Light und Dark, abgestimmt auf Linkmap und MediaPlace, Felder eckig wie das Backend. Mit installiertem Linkmap öffnen Link-Felder das Overlay, ylink-Datensätze kommen aus dem Linkmap-Picker.

Form Builder. Vollständige Palette inklusive Collapse, Accordion, Column, Inline und den Radio-Varianten, JSON-Export/Import, Live-Vorschau über die MForm-Engine, jetzt unter dem Ausgabecode.

Qualität. PHPUnit (ohne und gegen REDAXO), Render-Snapshots, Playwright-Smoke, rexstan Level 8, alles in CI. Neue Seite „Einstellungen“ im Backend, Beta-Banner auf jeder MForm-Seite.

Neu in beta.4

  • Doku komplett durchgesehen: „Was ist neu in MForm 10“ mit Umstiegs-Checkliste, MBlock-Reste aus den Kapiteln entfernt, falsche Beispiele korrigiert, Optionstabellen vervollständigt, README.de mit Beta-Hinweis.
  • MFormOutput::link() und linkUrl() verstehen jetzt redaxo://ID, das Format des Custom-Link-Widgets.
  • Builder-Vorschau steht unter dem Ausgabecode, Eingabe- und Ausgabecode bleiben zusammen.

Offen bis rc.1

Conditional-Editor im Builder (#417), Rating und Tags (#412), englische Doku (#456).

Alle Details im Changelog. Rückmeldungen bitte in #448. Diese Beta wird nicht auf redaxo.org veröffentlicht, Installation nur über GitHub.