jeffersongoncalves/filament-mail-editor
Filament Mail Editor adds a visual email template editor to Filament admin panels, letting you create, edit, and preview mail templates with a rich-text or code editor, Blade variable support, and seamless integration with Laravel mailables.
Architecture fit
jeffersongoncalves/laravel-mail-editor (models, enums, events, support classes, seeder, config, migrations, translations) plus this Filament plugin (resources, drag-and-drop builder, metrics widget, block forms). This is a sound separation — the domain/persistence layer becomes usable headless (API, queue jobs, console commands, other UIs) and the Filament layer becomes a thinner, replaceable presentation concern.HasPropsSchema contract is the architecturally significant addition: it turns custom blocks from a "hack the form schema" exercise into a supported extension point. This materially improves fit for teams with bespoke block types (product grids, personalized content, dynamic pricing tables).Integration feasibility
--tag="mail-editor-config" and --tag="mail-editor-migrations", run migrations.filament-mail-editor exports still import into 1.1.0, but 1.1.0 exports will not import into older installs. Any environment fleet running mixed versions (staging on new, prod on old, or a shared template library) will hit asymmetric failures.Technical risk
^1.1 constraints will silently pull a breaking release. This is the single highest-severity finding and should drive the pinning strategy regardless of everything else./filament-mail-editor/* to /mail-editor/*. If those URLs are embedded in emails already dispatched to recipients (countdown timers and "view in browser" links are exactly the kind of thing that gets emailed), previously sent mail will 404 after deploy. There is no stated redirect or alias.Key questions
/filament-mail-editor/* routes, and are those routes known to appear in already-sent email?laravel-mail-editor, and is the core's release cadence locked to the plugin's?HasPropsSchema have a documented BC policy — is it stable enough to build internal blocks against, or explicitly experimental?type discriminators)?Stack fit
mail-editor, which is the right convention and reduces the "which prefix is it this time" cognitive load.Migration path
^1.1, given the breaking-change-to-version mismatch.FilamentMailEditor, filament-mail-editor, filament-mail-editor-migrations, filament-mail-editor-config, and the literal route strings. Also search custom block classes, service providers, factories, seeders and any test fixtures. Enumerate stored data referencing old class names (polymorphic type columns, queued job payloads, serialized form state).mail-editor-config, diff against the existing filament-mail-editor config, and delete the old file only after confirming no code reads the old key.Compatibility
Sequencing
HasPropsSchema for custom blocks only after the upgrade is stable — do not bundle a feature adoption into a breaking-change window.Maintenance
mail-editor config/migration/translation prefix reduces long-term drift and makes future config diffs easier to reason about.Support
Scaling
Failure modes
composer update pulls an incompatible core under a plugin patch release.Ramp-up
HasPropsSchema is a single-contract learning cost for teams writing custom blocks.filament-mail-editor key from memory and prior documentation.How can I help you explore Laravel packages today?