Download the PHP package glueful/thallo-workflow without Composer

On this page you can find all versions of the php package glueful/thallo-workflow. 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 thallo-workflow

glueful/thallo-workflow

A single-stage editorial approval workflow for Thallo — submit → review → approve/request-changes over the draft/publish lifecycle — packaged as a capability pack. Core stays workflow-agnostic behind one tiny seam: the PublishGate contract. With the capability disabled, publishing behaves exactly as stock Thallo.

The state machine

Review state is per (entry, locale) — the same granularity as drafts. An absent row means draft.

Transition From → To Who
submit draft, changes_requested → in_review content.edit
approve in_review → approved workflow.review, reviewer ≠ submitter¹
request changes in_review → changes_requested (note required) workflow.review
withdraw in_review → draft the submitter, or workflow.review
(edit) in_review, approved → draft automatic (entry.updated)
(publish) any → draft (approval consumed) automatic (entry.published)

¹ Self-review is blocked by default; workflow.allow_self_review (WORKFLOW_ALLOW_SELF_REVIEW, default false) is the tiny-team escape hatch.

Edits invalidate active review or approval — editing an in_review or approved draft resets it to draft (what was approved must be what publishes). changes_requested deliberately survives edits: it means "reviewer asked for revisions; author is revising". Submit is the only transition that clears it.

The publish gate

PublishService asks every container-tagged thallo.publish_gate service before any write. This pack's gate allows a publish when the state is approved, or when the actor holds workflow.bypass — otherwise it throws PublishBlocked, which the publish endpoint maps to 409 with details.workflow_state. One rule, every path: admin UI, API, and scheduled publishes (evaluated at run time with the schedule's stored created_by; revoking a bypass before firing fails the schedule).

Every successful publish is recorded in the history: published when it consumed an approval, published_with_bypass when the gate let it through on the permission — emergency publishes never vanish from governance history.

Storage, permissions, API

The capability

thallo.workflow, enabled by default. An operator turns it off or on in the admin under Extensions › Capabilities (stored system-wide; it overrides the deploy-time thallo.capabilities config map). Off: routes 404, the lifecycle listener is not wired, and the gate short-circuits — publish behaves exactly as current core. There is deliberately no enabled config key in the pack.

Boundary

Depends on glueful/thallo-contracts + glueful/framework only. Permission checks use the framework's PermissionManager (Aegis is the expected provider in Thallo but is never imported). Lifecycle reactions subscribe to the ContentLifecycleEvent contract (name()/payload()), never the engine's concrete event classes. The repo's composer boundaries check enforces this.

Install

The pack ships with Thallo: glueful/thallo-core requires it at the same version and the project's config/serviceproviders.php loads its provider, so there is nothing to install or enable per pack. php glueful migrate:run creates its tables with the rest of the schema. Switching the capability off leaves the workflow tables on disk.

Out of scope (v1)

Multi-stage/configurable pipelines, per-content-type reviewer policy, assignment, notification delivery, and a workboard UI.

Contributing

This repository is a read-only mirror, published from glueful/thallo on every release; its main is overwritten by the next split, so nothing can land here. Issues and pull requests belong in glueful/thallo, where this code lives at packages/thallo-workflow/.


All versions of thallo-workflow with dependencies

PHP Build Version
Package Version
Requires php Version ^8.3
glueful/thallo-contracts Version self.version
glueful/extension-contracts Version *
glueful/framework Version ^1.65.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 glueful/thallo-workflow contains the following files

Loading the files please wait ...