Weave Code
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

Workflow Manager Laravel Package

xentixar/workflow-manager

View on GitHub
Deep Wiki
Context7
v2.0.0

🚀 Workflow Manager v2.0.0 - Major Release

We're excited to announce the release of Workflow Manager v2.0.0! This major version brings significant improvements, modern PHP features, and enhanced developer experience.

🎯 Key Highlights

PHP Enum Support

  • Full integration with PHP 8.1+ enums for type-safe state management
  • Enhanced state validation and better code organization
  • Improved developer experience with enum-based workflows

🔄 Filament 4.0 Compatibility

  • Complete compatibility with the latest Filament v4.0
  • Updated components and improved admin interface
  • Enhanced performance and modern UI patterns

Simplified Configuration

  • Consolidated navigation and permission settings in config file
  • No more separate translation files - everything in one place
  • Streamlined setup process

🔒 Improved Authorization

  • Uses Laravel's built-in authorization system (no external dependencies required)
  • Flexible permission management with Gates, Policies, or any auth package
  • Enhanced security and better integration options

⚠️ Breaking Changes

This is a major version with breaking changes. Please review the migration guide before upgrading:

  • Interface renamed from Workflows to WorkflowsContract
  • getStates() method now returns enum class name instead of array
  • Form component renamed from WorkflowStateSelect to StateSelect
  • Component API changes: use setWorkflowForModel() and setRole() instead of workflowModel()

📋 Migration Guide

1. Update your models:

// Before v2.0
class YourModel extends Model implements Workflows
{
    public static function getStates(): array
    {
        return ['draft' => 'Draft', 'published' => 'Published'];
    }
}

// v2.0+
class YourModel extends Model implements WorkflowsContract
{
    public static function getStates(): string
    {
        return YourModelStatusEnum::class;
    }
}

2. Update your forms:

// Before v2.0
WorkflowStateSelect::make('status')
    ->workflowModel(YourModel::class, 'admin')

// v2.0+
StateSelect::make('status')
    ->setWorkflowForModel(YourModel::class)
    ->setRole('admin')

3. Create state enums:

enum YourModelStatusEnum: string
{
    case DRAFT = 'draft';
    case PUBLISHED = 'published';

    public function getLabel(): string
    {
        return match ($this) {
            self::DRAFT => 'Draft',
            self::PUBLISHED => 'Published',
        };
    }
}

🆕 New Features

  • Enhanced Configuration: Added ignored_actions for flexible workflow validation
  • Improved Helper Class: Better model discovery and enum state extraction
  • Enhanced Validation: More robust state transition validation
  • Better Error Handling: Improved error messages and validation

📦 Installation

composer require xentixar/workflow-manager:^2.0

For new installations:

php artisan vendor:publish --tag=workflow-manager-config
php artisan vendor:publish --tag=workflow-manager-migrations
php artisan migrate

📚 Documentation

🙏 Support

If you encounter any issues during migration or have questions, please:

Thank you for using Workflow Manager! We're excited to see what you build with v2.0! 🎉

v1.0.1

We're excited to announce the release of Workflow Manager v1.0.1 for Laravel Filament! This update brings significant architectural improvements to the workflow state management system and enhances the overall user experience.

Major Database Architecture Improvements

This release introduces a complete rethinking of how workflow states are managed, with a dedicated workflow_states table that provides better data integrity and more flexible workflow definitions:

  • New State Management System: States are now first-class citizens in their own database table, enabling better referencing and management
  • Improved Transition Relationships: Transitions now use foreign keys to directly link states, improving data integrity and query performance
  • Auto-population of States: Automatically creates workflow states from your Eloquent models when workflows are created

New Features

  • Dedicated States Management UI: A new admin page for managing workflow states independently
  • Enhanced State Labeling: Improved labeling of states throughout the admin interface and diagrams
  • Better Developer API: More intuitive relationships between workflows, states, and transitions

Visual and UX Improvements

  • Redesigned Workflow Diagrams: Both flowchart and transition diagrams have been updated to use the new state management system
  • Clearer State Visualization: States are now more clearly represented with proper labels in diagrams
  • Improved Error Handling: Better validation and error messages when working with workflow states

Migration Note

This update includes breaking changes to the database schema. When upgrading, you'll need to:

  1. Publish the new migrations:
php artisan vendor:publish --tag=workflow-manager-migrations
  1. Run the migrations:
php artisan migrate

Documentation

Documentation has been updated to reflect these changes. Refer to the README.md for complete details on how to use the new state management system.


Thank you for using Workflow Manager! As always, we welcome your feedback and contributions to make this package even better.

v1.0.0

Initial Release 🚀

We are excited to announce the first official release of Workflow Manager for Laravel Filament!

Workflow Manager is a powerful package that allows you to define and manage state transitions for your Laravel models through an intuitive admin interface.

Features

  • Visual Workflow Management: Create and edit workflows with a user-friendly interface directly in your Filament admin panel
  • Interactive Diagram: Visualize workflow states and transitions using Mermaid.js diagrams
  • Model Integration: Easily add workflow capabilities to any Laravel model
  • Role-Based Access Control: Define which user roles can manage specific workflows
  • Flexible State Transitions: Configure allowed transitions between states with parent-child relationships
  • Form Integration: Use the WorkflowStateSelect component in your Filament forms to automatically enforce workflow rules

Requirements

  • PHP 8.0+
  • Laravel 10.0+
  • Filament 3.0+

Thank you for choosing Workflow Manager for your state transition needs. We welcome your feedback and contributions!

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.
codifyo/ts-generator-bundle
andydefer/laravel-cluster
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity
christhompsontldr/laravel-inky
spatie/mailcoach-vapor