Repository navigation
10.0.0-rc.1 (Release Candidate)
Pre-release
⚠️ Release Candidate, noch nicht für produktive Installationen. Funktional ist MForm 10 damit komplett, bis 10.0.0 geht es nur noch um Fehler. Vorher Backup anlegen. PHP 8.4 ist Pflicht, MBlock wird nicht mehr unterstützt. Wer stabil bleiben will, bleibt bei 9.5.x (Branch9.x).
Erster Release Candidate von MForm 10. Hier noch einmal der ganze Weg von 9.5 bis hierher in einem Stück, damit niemand vier Beta-Notes zusammensuchen muss.
Was MForm 10 ist
Basis. PHP 8.4, Parser auf \Dom\HTMLDocument. MBlock ist raus, 9.5 lebt im Branch 9.x weiter. Eine Datenmigration von 9 nach 10 gibt es nicht, das Update ist ein normales Addon-Update. Die Checkliste dazu steht 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. Konsole: mform:migrate und der Linter mform:lint. Der Konverter bleibt fester Teil von MForm.
Repeater. Kopfzeile mit Label, Zähler und Aktionen, „Hinzufügen“ als Streifen unter der Liste, auch verschachtelt. Optionales Speicherformat mit Versionsmarker (data_version => 2), typisierte Items über MFormOutput::from(1)->items() mit media(), article(), dataset(), url(). Wrapper und Feldzeilen kommen in beiden Renderpfaden aus denselben Theme-Fragmenten, per Snapshot-Test abgesichert.
Felder. HTML5-Felder (addNumberField(), addRangeField(), addDateField(), addDateTimeField(), addTimeField(), addEmailField(), addColorField()). Tags-Feld addTagsField() für Schlagworte als Pills mit Vorschlägen, allow_new und max. Eigene Feldtypen aus Fremd-Addons über MForm::registerFieldType() und addCustomField().
Bedingungen. setVisibleIf() mit mehreren Regeln, addVisibleIf(), setVisibleIfLogic('any'), setHiddenIf(); addConditionalFieldsetArea() ebenfalls mit Liste. Im Form Builder gibt es dafür einen Editor.
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) werden berücksichtigt. Global und je Feld abschaltbar, optional als Standardprüfung.
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 Linkmap öffnen Link-Felder das Overlay, ylink-Datensätze kommen aus dem Linkmap-Picker.
Form Builder. Vollständige Palette inklusive Collapse, Accordion, Spalte, Inline und den Radio-Varianten, alle Wrapper mit Ablagefläche, Spalten nebeneinander mit Vorlagen „2 Spalten“ und „3 Spalten“. Bedingungs-Editor, „Weitere Attribute“ je Feld, Editor-Auswahl (TinyMCE, CKEditor 5, MarkdownEditor) mit Profil. JSON-Export/Import. Vorschau, Eingabe- und Ausgabecode als auf- und zuklappbare Abschnitte, die Vorschau rendert über die MForm-Engine und initialisiert die Editoren mit.
Qualität. PHPUnit (ohne und gegen REDAXO), Render-Snapshots, Playwright-Smoke, rexstan Level 8, alles in CI. Seite „Einstellungen“, Banner für Vorabversionen auf jeder MForm-Seite. Doku komplett durchgesehen, „Was ist neu in MForm 10“ mit Umstiegs-Checkliste.
Neu seit beta.4
- Bedingungen mit mehreren Regeln und Editor im Builder (#417).
- Tags-Feld (#412).
- Builder: Abschnitte statt gestapelter Blöcke, „Weitere Attribute“, Editor-Auswahl, Editoren in der Vorschau, Ablage für Collapse/Accordion/Spalte/Inline, Spalten nebeneinander.
- Behoben: Bedingungen mit Ids wie
1.0.typefanden das Quellfeld nicht; Wrapper-Attribute waren nicht escaped; Steuerwerte landeten im Repeater am Eingabeelement.
Bis 10.0.0
Nur noch Fehlerbehebung. Rating und die weiteren Felder aus #412 kommen in 10.1, ebenso Undo/Redo im Builder (#411).
Alle Details im Changelog. Rückmeldungen bitte in #448. Der Release Candidate wird nicht auf redaxo.org veröffentlicht, Installation nur über GitHub.