WP Manifestindependent plugin directory
manifest / forms / blitz-donner-forms

Blitz & Donner Forms

Block-native forms for the WordPress editor. Free base plugin, extensible by add-ons.

★ 0stars

Install

Download source zip No release zip yet

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.zip
Updates itself. It ships its own updater (Update URI header), so new versions appear under Dashboard → Updates.

Block-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).