Download the PHP package boutdecode/sylius-etl-plugin without Composer

On this page you can find all versions of the php package boutdecode/sylius-etl-plugin. 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 sylius-etl-plugin

Sylius Logo.

BoutDeCode Sylius ETL Plugin

Integrate a full ETL (Extract, Transform, Load) pipeline system into the Sylius admin panel.

## Overview This plugin adds a full-featured ETL workflow management system to the Sylius admin panel. It allows store administrators to define reusable **Workflows** (named chains of ordered ETL Steps), and execute them as **Pipelines** — either manually, via file upload, or on a schedule. The plugin provides the ETL infrastructure (workflow management, pipeline execution, history tracking). Step implementations are defined in your application. ## Features - **Workflow management** — create and configure reusable chains of ETL steps from the admin panel - **Pipeline execution** — run workflows as pipelines with JSON input, file upload, or scheduled execution - **Execution history** — detailed per-step and per-pipeline run history with status tracking - **Step registry** — register your own step services tagged with `etl.step` - **State machine** — pipeline lifecycle management with reset/execute transitions - **Planned tasks** — define recurring ETL jobs by binding a workflow to a cron expression; a new pipeline is created and dispatched automatically on each occurrence - **Dedicated logging** — separate `pipeline` log channel for ETL activity - **Notifications** — notify on pipeline success and/or failure per workflow, through pluggable providers (built-in email support) - **Pipeline purge** — opt-in scheduled cleanup of old completed/failed pipelines and their history, to keep storage bounded - **Sylius admin integration** — ETL section added to the admin sidebar with grid views for Workflows and Pipelines ### Screenshots **Workflow list** ![Workflow list](docs/media/workflow-index.png) **Workflow editor** — configure ordered steps with their configuration ![Workflow editor](docs/media/workflow-edit.png) **Pipeline list** ![Pipeline list](docs/media/pipeline-index.png) **Pipeline detail** — inspect pipeline and configuration ![Pipeline detail](docs/media/pipeline-show.png) **Execute a pipeline** — provide a file upload, JSON input or a scheduled date; the workflow configuration can also be overridden at runtime per step ![Execute a pipeline](docs/media/workflow-execute.png) **Pipeline run history** — per-step status and execution timeline ![Pipeline run history](docs/media/pipeline-history.png) ## Requirements - PHP `^8.1` - Sylius `^1.14` - Symfony `^6.4` - Symfony Messenger with an `async` transport ## Installation ### 1. Require the plugin via Composer ### 2. Enable the plugin Add the plugin to your `config/bundles.php`: ### 3. Import the plugin configuration **PHP** — create or update `config/packages/bout_de_code_sylius_etl.php`: **YAML** — create or update `config/packages/bout_de_code_sylius_etl.yaml`: ### 4. Import the admin routes **PHP** — add to `config/routes.php` (or `config/routes/sylius_admin.php`): **YAML** — add to `config/routes.yaml` (or `config/routes/sylius_admin.yaml`): ### 5. Configure Symfony Messenger Ensure an `async` transport is configured in `config/packages/messenger.yaml`: ### 6. Import the admin assets Add a dedicated entry in your `webpack.config.js`: Then include the compiled entry in your admin layout (e.g. `templates/bundles/SyliusAdminBundle/layout.html.twig`): Then install and build the assets: ### 7. Run database migrations ### 8. Start the Messenger worker Pipeline execution and planned task scheduling are processed asynchronously via Symfony Messenger. Start the worker with both the `async` and `scheduler_etl` transports: In production, use a process manager (Supervisor, `systemd`, etc.) to keep the worker running continuously. ## Usage ### Workflows Navigate to **Admin > ETL > Workflows** to create a new Workflow. A workflow defines an ordered chain of steps, each with a step type code and a JSON configuration. Step type codes correspond to services tagged `etl.step` registered in your application. See the [etl-core documentation](https://github.com/boutdecode/etl-core) for instructions on how to create and register custom steps. #### Notifications Each workflow can be configured to notify on success and/or on failure, and to restrict which providers are used (leave empty to notify through every registered provider). The built-in `email` provider is configured globally in your application, not per workflow: See the [etl-core documentation](https://github.com/boutdecode/etl-core#notifications) for how to implement a custom notification provider (e.g. Slack). ### Pipelines Navigate to **Admin > ETL > Pipelines** to create and execute pipelines from existing workflows. When creating a pipeline you can provide: - A **JSON input** payload - A **file upload** (e.g. a CSV file) - A **JSON configuration override** to customize step parameters at runtime - A **scheduled date/time** for deferred execution - A **cron expression** for recurring scheduled execution ### Purging old Pipelines The bundle can automatically delete old pipeline runs so that storage doesn't grow unbounded. This is handled by a scheduled job (disabled by default) that removes pipelines in a terminal state (`completed` or `failed`) whose finish date is older than a configurable retention window, together with their `PipelineHistory` and `StepHistory` records. `WorkflowStatistic` and `WorkflowExecutionStatistic` records are left untouched, so aggregated reporting survives pipeline purges. See the [etl-core documentation](https://github.com/boutdecode/etl-core#purging-old-pipelines) for details. ### Planned tasks Navigate to **Admin > ETL > Planned tasks** to create recurring ETL jobs. A planned task binds a **Workflow** to a **cron expression** (e.g. `0 2 * * *` for every day at 2 AM). Every minute the built-in Symfony Scheduler fires, picks up all enabled planned tasks, and dispatches an execution command for each one. The runner then: 1. Creates a new `Pipeline` from the task's workflow, applying any per-task configuration and input overrides. 2. Computes the next scheduled run date from the cron expression. 3. Persists the pipeline and links it back to the planned task. **Available fields when creating a planned task:** | Field | Description | |---|---| | Name | Human-readable label | | Workflow | The workflow to execute | | Schedule | Cron expression (e.g. `*/5 * * * *`) | | Enabled | Toggle to activate/deactivate without deleting | | Configuration | JSON override merged on top of the workflow's step configuration | | Input | Inline JSON payload or a file upload used as pipeline input | ### Logging Pipeline execution is logged to a dedicated file: ## Testing ### PHPUnit ### Behat (non-JS scenarios) ### Behat (JS scenarios) 1. [Install Symfony CLI](https://symfony.com/download). 2. Start Headless Chrome: 3. Start the test application server: 4. Run Behat: ### Static Analysis ### Coding Standards ## License This plugin is released under the [MIT License](LICENSE).

All versions of sylius-etl-plugin with dependencies

PHP Build Version
Package Version
Requires php Version ^8.1
boutdecode/etl-core-bundle Version >=0.9.0 <1.0.0
dragonmantank/cron-expression Version ^3.6
sylius/sylius Version ^1.14
symfony/uid Version ^6.4
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 boutdecode/sylius-etl-plugin contains the following files

Loading the files please wait ...