Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Laravel Mutable Content Filament Laravel Package

amarenkov/laravel-mutable-content-filament

A Filament plugin for managing mutable content in your admin panels. Edit content records, draft and publish changes, and keep revision history without leaving Filament. Simple setup, native resources, and seamless integration with laravel-mutable-content.

View on GitHub
Deep Wiki
Context7

Getting Started

  • Require both amarenkov/laravel-mutable-content (^0.7.11) and the Filament plugin; the v0.8.2 editor/display features depend on the core package's serialization layer, so install them together and let Composer resolve the pair.
  • Publish and run migrations — the package stores field definitions and per-content values in dedicated tables, so a first-run migrate is required before any field can be created.
  • Register the plugin in your panel provider (->plugin(...)) and open the field-definition resource. This is the first place to look: field types, the new Format toggle, and duration units are all configured here.
  • First use case: create a text field, set Format = Markdown, edit it in a resource form (you should get the Markdown editor), then confirm it renders as HTML in the infolist and as plain text in the table column. That single pass exercises everything v0.8.2 added.

Implementation Patterns

  • Definitions vs. usage forms. Define reusable field schemas once, then compose them into usage forms attached to each content type/model. Treat field definitions as the schema and usage forms as the presentation layer; changes to a definition propagate to every usage.
  • Text format is per-field. Pick plain or markdown at the field level. Markdown fields automatically get the Markdown editor in forms, rendered output in infolists, and plain-text fallback in tables — you do not wire these separately.
  • Duration units are per-field. Choose the display unit that matches the domain (seconds for media/playback, minutes for SLA-style values, hours for retention windows) and author values in that unit everywhere. The number stored is the number entered in the display unit.
  • Frontend rendering. Resolve the usage form and iterate fields; Markdown fields hand you HTML you can output directly. Sanitize if the content is author-untrusted.
  • Keep admin and frontend aligned by attaching the same usage form to Filament create/edit schemas and infolists, so the editor preview matches what the site renders.

Gotchas and Tips

  • Changing a duration field's display unit does not convert stored values — it only changes how the number is entered and shown. Treat unit changes as data migrations, not config edits.
  • Markdown renders only in infolists. Table columns fall back to plain text by design, so don't rely on table columns for formatted output; truncate/preview manually if needed.
  • Pin the core dependency. The plugin's ^0.7.11 requirement is real: a mismatched laravel-mutable-content version can silently break Markdown editing and duration display. Lock both and test upgrades together.
  • Debug config before values. Most "wrong display" reports are field-definition problems (wrong format or unit), not bad stored data — inspect the field-definition record first.
  • Don't override views first. Use the field registry and display/formatter extension points for custom field types and rendering rather than patching vendor views, so the next minor release doesn't clobber your changes.
  • Test the plain-text table path whenever you add a Markdown field, since that fallback is the easiest thing to miss in review.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource