Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Workflows for builders

Make something happen around publishing: workflows, events, triggers, processes and the workflow cronjob, explained for builders, with an approval workflow and the event types that need no code.

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/extension-development/part-2-builder/workflows-for-builders.md

On this page

Workflows for builders

Part 2, chapter 19. A workflow runs steps around an operation of the system, most often publishing: "send every article to an editor for approval before it is published", "publish this at a date". Builders set workflows up in the administration; developers add new kinds of steps (Workflow event types). The complete guide is Workflows; this chapter is the builder's summary.

The pieces

PieceWhat it isWhere
Workflowan ordered list of eventsSetup > Workflows (/workflow/grouplist)
Eventone step, of an event typethe workflow's edit page
Triggerconnects a workflow to an operation, before or after it (pre_publish, post_publish)Setup > Triggers (/trigger/list)
Processone run of a workflow for one object and version that has not finishedSetup > Workflow processes (/workflow/processlist)
Workflow cronjobresumes processes that waitcronjobs/workflow.php

Event types that need no code

The kernel ships these (workflow.ini [EventSettings] AvailableEventTypes[]):

TypeDoes
Approveholds publishing until an approver approves
Wait until dateholds publishing until a date in an attribute
Multiplexerruns another workflow only for some sections, classes or users
Payment gatewayholds an order until payment (shop)
Simple shippingadds shipping cost to an order (shop)
Finish user registercompletes a user registration

Extensions add more; swark, for example, ships event types in eventtypes/event/.

Worked plan: approval before publishing

  1. Setup > Workflows: create a workflow "Approve articles" with one event Approve, choosing the approvers (a user group), and the sections, languages or classes it applies to.

  2. Setup > Triggers: connect the workflow to content, publish, before.

  3. Make sure the workflow cronjob runs (cronjob.ini, part frequent):

    php runcronjobs.php -s <siteaccess> --script=workflow.php
  4. Try it: an editor publishes an article; it waits as pending; the approver approves it in their collaboration inbox; the next run of the workflow cronjob publishes it.

The guide walks through each screen: Workflows.

Using a multiplexer to target

A trigger runs one workflow for all publishing. To approve only articles in one section, make the triggered workflow a Multiplexer that starts "Approve articles" only for the class Article and the section you choose.

When a builder needs a developer

You needUse
A step the list does not have (notify an external system, set a field, move content)a custom workflow event type (With RAD: a workflow event)
Something on publish that never waits and never asksoften simpler as an event listener (Events, listeners and filters)

Troubleshooting

SymptomCheck
Articles stay pending foreverdoes the workflow cronjob run? Setup > Workflow processes lists waiting processes
The approver gets nothingthe approvers chosen in the event; their collaboration inbox
The workflow runs for everythingthe trigger has no filter; use a multiplexer

Become an Exponential Partner

Partners share their information, provide funding, contribute back and develop the products with us, and that is how Exponential grows. A partner website and dashboard are planned for mid-2027: please become a partner today to speed up our growth rate and land new features faster.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x