Install
This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.
Install straight from GitHub with WP-CLI:
wp plugin install https://github.com/blitzdonner/blitz-donner-forms/archive/refs/heads/main.zipBlock-native Formulare für den WordPress-Editor. Gratis-Basis für WordPress.org, erweiterbar durch Add-ons über plugins.blitzdonner.ch.
Status
Etappe 2 – Basis-Extraktion abgeschlossen. Formular- und Feld-Blöcke, Submit-Pfad mit Abwehrkette, Benachrichtigung, Erscheinungsbild-System, Entwurfs-Speicherung und Einsendungen-Backend sind aus dem Bestand «Blitz & Donner Formular» übernommen und auf bdfrms umbenannt. Verschlüsselung, Audit-Log und ClamAV sind durch Hooks ersetzt – sie kommen als Security-Add-on (Etappe 3).
Kennungen
| Ebene | Wert |
|---|---|
| Slug / Textdomain | blitz-donner-forms |
| Code-Präfix | bdfrms_ / Klassen BDFRMS_ |
| Block-Namespace | bdfrms/* |
| DB-Tabellen | {prefix}bdfrms_submissions, {prefix}bdfrms_files |
| Lizenz | GPL-2.0-or-later |
Architektur
Die Basis ist eigenständig vollwertig und kennt ihre Add-ons nicht. Add-ons (Security, Compliance, Mautic/CRM, Team) hängen sich ausschliesslich über die dokumentierte Hook-Oberfläche ein – siehe docs/hooks.md.
Grundsatz: Jede Stelle, an der der Vorgänger Krypto, Audit-Log oder ClamAV aufruft, ist in der Basis ein Hook. Verschlüsselung, Audit und Virenscan liefert das Security-Add-on.
Theming über theme.json
Die Formularfarben lassen sich site-weit über settings.custom.bdfrms in der theme.json setzen (Kaskade: Feld-Block → Formular-Block → theme.json → eingebauter Default). Token-Namen in Kebab-Schreibweise, je light-* und dark-*:
{
"settings": {
"custom": {
"bdfrms": {
"light-label": "#6e6e73",
"light-border-focus": "#0071e3",
"dark-bg": "#2c2c2e"
}
}
}
}
Verfügbare Tokens: label, text, placeholder, bg, border, border-focus, help, submit-bg, submit-text, form-shell (je light-*/dark-*) sowie label-size und help-size (ohne Hell/Dunkel-Präfix). Die Blöcke deklarieren example-Vorschauen und erscheinen damit im Stilbuch des Site Editors. Über diese Schnittstelle kann auch ein Design-System-Werkzeug (z.B. der Design-System-Generator) die Formulare aus theme.json speisen.
Interims-Auslieferung und WordPress.org-Build
Bis zur Freigabe im WordPress.org-Verzeichnis liefert plugins.blitzdonner.ch die Basis aus. Der Update-Client (includes/class-bdfrms-update-client.php, Public-Modus ohne Lizenz-Token, Ed25519-signiert) lädt nur, wenn seine Datei existiert. Der WP.org-Einreichungs-Build entfernt genau diese eine Datei – eigene Update-Mechanismen sind im Verzeichnis verboten. Versionsdisziplin: self-hosted bleibt unter 1.0, die WP.org-Erstversion wird 1.0.0; das letzte self-hosted Update liefert die client-lose 1.0.0 aus, danach übernimmt WordPress.org automatisch (gleicher Slug, höhere Version).
Entwicklung
composer install # Dev-Tools (PHPCS mit WordPress Coding Standards)
composer run lint # PHP-Syntaxprüfung
composer run phpcs # Coding-Standards-Prüfung
Updates der Basis kommen ausschliesslich von WordPress.org; die Basis enthält keinen Update-Client. Einziger optionaler externer Dienst ist Friendly Captcha (in readme.txt deklariert).