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 Publishable Laravel Package

novius/laravel-publishable

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Content Lifecycle Management: Enables a standardized 4-state workflow (draft → scheduled → published → unpublished) for content-heavy applications (e.g., blogs, news sites, marketing pages). Directly supports roadmap items like editorial control, compliance-driven publishing (e.g., GDPR "right to be forgotten"), and time-sensitive content (e.g., events, promotions).
  • Build vs. Buy Decision: Buy for teams prioritizing speed and consistency over customization. Build only if requiring >4 states, event-driven workflows, or deep integration with niche systems (e.g., multi-tenancy, localization).
  • SEO and Performance: Provides published_first_at for chronological sorting and cache optimization (e.g., "only serve published content after X date"). Aligns with performance goals for high-traffic content sites.
  • Admin Panel Standardization: Reduces UI/UX fragmentation in Laravel Nova/Forge by unifying publishable behavior across models (e.g., Post, Product, Event). Supports consistent tooling for content editors.
  • Legacy System Modernization: Accelerates retrofitting publishable logic to existing Eloquent models without rewriting core logic. Ideal for data migration projects.

When to Consider This Package

  • Adopt If:

    • Your application manages content with clear editorial lifecycles (e.g., blogs, e-commerce listings, events).
    • You use Laravel Nova and want consistent publishable behavior across models.
    • Your team prioritizes simplicity and reduced boilerplate over granular control.
    • You need basic scheduling (e.g., "publish this post on June 1st") without complex cron jobs.
    • You’re on Laravel 10+ and PHP 8.2+ and can accommodate the AGPL-3.0 license.
  • Look Elsewhere If:

    • You require >4 states (e.g., "reviewed," "translated," "archived"). Consider spatie/laravel-activitylog or custom solutions.
    • Your workflow needs soft deletes or versioning. Use spatie/laravel-model-caching or laravel-model-versions.
    • You’re on Laravel <10.0 or PHP <8.2. The package is tightly coupled to these versions.
    • Your team prefers event-driven architectures (e.g., broadcasting state changes). This package is model-focused, not event-driven.
    • You need multi-tenancy support out of the box. This package lacks scoping for multi-tenant environments.
    • Your license requirements cannot accommodate AGPL-3.0 (e.g., proprietary SaaS). Fork or seek alternatives like orchid/softdelete.

How to Pitch It (Stakeholders)

For Executives:

"This package standardizes how we publish and manage content across our apps—whether it’s blog posts, product listings, or events—with minimal development effort. It handles drafts, scheduling, and unpublishing in a reusable component, reducing technical debt and accelerating feature delivery. For example, we could launch a ‘coming soon’ section for products in weeks, not months. The AGPL license aligns with our open-core strategy, and it integrates seamlessly with our existing Laravel stack, giving us a competitive edge in content management."

For Engineers:

*"This trait provides a batteries-included way to add publishable states (draft/scheduled/published/unpublished) to any Eloquent model with zero boilerplate. Key benefits:

  • Migration macro ($table->publishable()) adds all needed columns in one line.
  • Trait-based, so we can mix it into any model (e.g., Post, PressRelease).
  • Scheduled publishing via published_at field—no need to reinvent cron logic.
  • Works with Nova out of the box for consistent admin UIs.
  • Lightweight (200 LOC) and actively maintained (recent 2025 updates).

Tradeoff: It’s opinionated (4 states only), but we can extend it if needed. Perfect for our content-heavy roadmap items like the ‘Editorial Calendar’ feature. Let’s pilot it on the Post model first to validate performance and edge cases."*

For Design/UX:

*"This ensures all publishable content follows the same lifecycle in the admin panel—no more ad-hoc ‘published’ checkboxes or confusing timestamps. For example:

  • Drafts are hidden from public views by default.
  • Scheduled content appears automatically at the right time (e.g., Black Friday deals).
  • Unpublished content can be archived cleanly without cluttering the UI. This reduces editor errors and makes the workflow predictable and consistent across all content types."*

For Product Managers:

*"This package directly supports our goals to:

  1. Launch content faster by standardizing publish workflows.
  2. Improve editor experience with clear states (draft/scheduled/published).
  3. Reduce technical debt by replacing custom publish logic with a reusable trait.
  4. Enable time-sensitive features (e.g., scheduled product launches) without custom cron jobs.

Next steps:

  • Validate with the engineering team on state transition rules (e.g., who can publish?).
  • Pilot on the Post model to test performance and edge cases (e.g., scheduled posts across timezones).
  • Assess Nova integration if we’re using it for content management.
  • Confirm license compatibility with our stack (AGPL-3.0 is fine for open-core, but not proprietary SaaS)."*
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.
socialdept/atp-orm
cboxdk/laravel-assistant-client
socialdept/atp-resolver
socialdept/tenant-domains
tautvydasr/blade-class-names
socialdept/color-scales
maherelgamil/controller
coleus/widgets
coleus/table
coleus/users
coleus/music
coleus/health
coleus/calendar
coleus/notes
coleus/support
coleus/settings
coleus/apps
seampact/laravel
emmyconceptng/laravel-ng-postcode
jjsquady/round-robin