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 Filament Publishable

Laravel Filament Publishable Laravel Package

novius/laravel-filament-publishable

Manage Laravel Publishable models in Filament 4: add publication status fields, columns, filters, and bulk actions to your resources for Laravel 11+ and PHP 8.2+.

View on GitHub
Deep Wiki
Context7

Laravel Filament Publishable adds complete publication management to Laravel Filament resources backed by Laravel Publishable models. Ready-made form fields, table columns, filters, and bulk actions let you schedule when content goes live or expires — no custom logic required. Requires Filament 4, Laravel 11+, and PHP 8.2+.

  • Form fields — PublicationStatus, PublishedAt, ExpiredAt, PublishedFirstAt
  • Table column — PublicationColumn showing publication state
  • Filter — PublicationStatusFilter for status-based listings
  • Bulk action — PublicationBulkAction for batch publish/unpublish
  • Lang files — publishable and customizable via vendor:publish
Frequently asked questions about Laravel Filament Publishable
How do I install novius/laravel-filament-publishable in a Laravel app?
Run composer require novius/laravel-filament-publishable in a project running Laravel 11 or newer, PHP 8.2 or newer, and Filament 4. The README does not surface any service provider registration, config file, or migration step, so installation is essentially a single Composer command. The real prerequisite is that the Eloquent models you want to manage already use the novius/laravel-publishable trait and expose the expected publication columns. After that you import the form, table, filter, and bulk action classes into your Filament resource.
Does this package support Laravel 10 or Filament 3?
No. This version of the adapter requires Filament 4, Laravel 11 or newer, and PHP 8.2 or newer as hard minimums. If you are still on an older stack you have to stay on the 2.x branch linked in the README's previous-version notes. Because both Laravel and Filament are moving targets, plan any Filament major upgrade as a coordinated task that includes a compatibility check on this package rather than an incidental composer update.
Do I need novius/laravel-publishable installed before using this package?
Yes. This is a thin UI adapter, not a standalone library: it only renders Filament components bound to the publication_status, published_at, and expired_at columns owned by novius/laravel-publishable. Your models must use the parent trait and the schema must already exist before the Filament fields make sense. If your team has not committed to the parent package, treat this as a joint adoption decision and evaluate the pair rather than the adapter alone.
How do I add publication fields to a Filament resource form?
Import PublicationStatus, PublishedAt, ExpiredAt, and PublishedFirstAt and call them inside your resource's form schema, for example PublicationStatus::make('publication_status') and PublishedAt::make('published_at'). Watch the README sample, which shows PublishedFirstAt::make('expired_at') and therefore binds the wrong column; pass published_first_at instead. Verify every component's column name against your migration and against the src directory, which is the reliable source of truth.
How do I show publication status in a Filament table and filter records by it?
Add PublicationColumn::make('publication_status') to the resource's table columns to render the current state, and PublicationStatusFilter::make('publication_status') to the filters array so editors can list only draft, published, or expired records. Both components read the same parent column, so keep the field name consistent with your schema. No additional configuration is documented for either component.
How does the bulk publish and unpublish action work?
Drop PublicationBulkAction::make() into your resource's bulkActions array and editors can publish or unpublish several selected records at once. Filament policies gate access to the resource but not to publishing specifically, so add your own authorization if only certain roles may put content live. The package does not document partial-failure handling or publish-triggered side effects such as cache invalidation, notifications, or webhooks, so decide how those should fire under bulk operations before relying on them.
How do I translate or customize the package's labels and messages?
Publish the lang files with php artisan vendor:publish --tag=lang and edit the copies in your application's lang directory. The README's example command references a Nova-era provider class (LaravelNovaPublishableServiceProvider) that does not exist in this package, so use the tag form or the correct provider class from src. Only publish the files if your panel serves non-English editors or you need different wording.
Can I use this package in a commercial or closed-source product?
The package is licensed under AGPL v3, which is a legal gate rather than a technical detail and is incompatible with many proprietary or SaaS distribution models. Internal tooling is usually fine, but get sign-off from legal before writing any code, because licensing can stop an initiative faster than sprint work can start it. If the license does not clear, consider building equivalent fields yourself on top of the parent package's data model.
Is novius/laravel-filament-publishable production ready and well maintained?
Treat it as pilot-grade: it has a single-maintainer profile, no commercial support, and few dependents, and the README ships at least two real bugs (the PublishedFirstAt column binding and the Nova-era lang publish command). Pin the version in composer.json and budget a short verification spike against src/ before rolling it across resources. Start with one resource end to end, wrap the components so they stay replaceable, and write feature tests for the publish, expire, and bulk flows since the package ships no dedicated test helpers.
What are the alternatives to this Filament publishable package?
The closest alternative is building the UI yourself with Filament's Toggle, DateTimePicker, and Select components plus a status column on your model, which also keeps you free of the AGPL dependency. Another option is adopting novius/laravel-publishable for the domain logic and writing your own thin Filament layer instead of using this adapter. If you are not already committed to the parent package, evaluate general scheduling or workflow packages before adopting either.
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.
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel
draftsmaninc/draftsman
square-bit/laravel-volition
himito/laravel-mailman
htinlynn/genius-helper
maco-studios/hephaestus
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log