Download the PHP package monzer/filament-workflows without Composer

On this page you can find all versions of the php package monzer/filament-workflows. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package filament-workflows

πŸš€ Filament Workflows Plugin for Laravel

✨ Introduction

This package is a FilamentPHP plugin designed to provide a workflow automation system within FilamentPHP applications. It enables users to create and manage workflows triggered by model events, custom events, or scheduled tasks. The package integrates seamlessly with FilamentPHP, offering a Filament Resource for managing workflows.

🌟 Features

Screenshots

βš™οΈ Installation & Setup

πŸ–₯️ Requirements

Ensure your Laravel application meets the following requirements:

πŸ“₯ Install the Package

⚑ Publish Migration

⚑ Publish Configuration (Optional)

πŸ“Š Migrate Database

πŸ”§ Registering the Plugin

Users must manually register the plugin in their PanelProvider.php:

πŸ“Œ Setting Up Model Event Workflows

To integrate a model with the model event workflow system, the model must implement the following trait:

To change the model display name you can use the getModelName() static function:

To change the attributes display name you can use the getAttributeName() static function:

NOTE:

You need to run php artisan schedule:work command to run the workflows.

πŸ”§ Configuration

Example configuration in config/workflows.php:

πŸ“ Log Management

Automatic Log Rotation

Starting from version 0.3.0, this package includes automatic log rotation to prevent database overflow. By default, only the last 100 log entries are kept for each workflow.

Configuration

You can customize the maximum number of log entries by setting the WORKFLOWS_MAX_LOG_ENTRIES environment variable:

Or modify it directly in the config file:

To disable log rotation (not recommended):

Cleaning Up Existing Logs

If you have existing workflows with large log histories, you can clean them up using the provided artisan command:

Database Migration for Large Logs

For existing installations that experience database errors due to large logs, run the optional migration to increase column size:

πŸͺ„ Magic Attributes

Magic attributes are placeholders that get dynamically replaced with actual data from the model or event triggering the workflow.

πŸ”„ Model Event Workflows

🎭 Custom Event Workflows

🎯 Defining Custom Workflow Actions

Users can create custom actions by implementing the Action interface. Below is an example implementation of the SendEmail** action:

Then add your custom action

πŸ”— Sharing Data Between Actions

To allow actions to be aware of each other and share data, a shared data array is passed between actions in the execute function. This enables actions to store and retrieve information dynamically as they execute.

πŸ“Œ How It Works:

πŸ“ Example: Sharing Data Between Actions

Let's say we need to:

1️⃣ Generate an Invoice and store the invoice_id. 2️⃣ Send an Email using that invoice_id.

πŸ› οΈ Action 1: Generate Invoice

πŸ“§ Action 2: Send Email with Invoice ID

Using workflows with tenancy

Create a middleware to setup tenancy

Then, add the middleware to the panel


πŸ§ͺ Tests

Currently, automated tests are not available for this package. Future updates may include unit tests and integration tests to ensure workflow stability and execution accuracy.

❀️ Support & Contributions

For issues and feature requests, please visit the GitHub repository and create an issue.

Pull requests are welcome. Make sure to follow the contribution guidelines.

πŸ’° Support the Project

If you find this package helpful and would like to support its development, consider making a donation:

β˜• Buy Me a Coffee

Your support helps improve and maintain this package! πŸ™Œ

πŸ“œ License

This package is licensed under the MIT License. See the LICENSE file for details.


All versions of filament-workflows with dependencies

PHP Build Version
Package Version
Requires filament/support Version ^3.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package monzer/filament-workflows contains the following files

Loading the files please wait ...