Magnolia 5.7 reached extended end of life on May 31, 2022. Support for this branch is limited, see End-of-life policy. Please note that to cover the extra maintenance effort, this EEoL period is a paid extension in the life of the branch. Customers who opt for the extended maintenance will need a new license key to run future versions of Magnolia 5.7. If you have any questions or to subscribe to the extended maintenance, please get in touch with your local contact at Magnolia.
Publishing content
To launch the publication of content in content apps, trigger the publish
action in your app's actionbar. Configure the action in the module configuration under /modules/<module-name>/apps/<app-name>/subApps/browser/actions
. The configuration should look similar to the Assets app, for example.
This is what a non-workflow configuration looks like. The configuration launches the activate
command inside the versioned
catalog which is part of the Activation module. The action creates a new version of the published item and and activates it to the public instance but does not trigger a workflow.
Properties related to publishing:
class
: Specifies an action definition class.catalog
: References a command catalog.command
: A command to be launched inside the catalog.
Extendable action skeleton
Before you change the action to trigger a workflow, look at the available configuration in the workflow module.
You can choose from two action configurations:
publish
: Launches the workflow directly. Use this action when you do not want to give an editor the possibility to schedule publishing to a future date or add a comment.schedulePublication
: Opens a dialog where the editor can add a publication date and a comment.
The command name is the same, activate
, but the commands reside in different catalogs. The default non-workflow action launches an activate
command from the versioned
catalog in the Activation module. The other activate
command is in the workflow
catalog in the Workflow module.
Use the publish
and schedulePublication
actions to configure workflow for any content app or extend them in your own action configuration.
Adding fields to publication dialog
When using workflow, the editor can add a comment and set the publication to a future date. The publication dialog provides fields for enter this information.
To open the dialog, reference the dialog definition in the dialogName
property. Here is an example from the schedulePublication
action:
The formTypes
configuration tells the form builder what type of input is expected in the form fields. The types are then mapped to the form configuration using the node name such as publicationDate
and comment
:
The presenterClass
inside the dialogs definition extends the FormDialogPresenter
by the necessary functionality for this manual mapping.
Adding custom parameters
You can pass custom parameters from your action definition into the process using the params
node in the action configuration. You can reference the parameters in the process as described in Input and output parameters.
Example
In this example we enable workflow in the Assets app. Almost all properties are already defined in the configuration.
- Remove all properties from our activate action inside the assets app.
- Add an
extends
property. Set its value to theschedulePublication
action.
- Change the three remaining publication related actions. Extend the
activate
action you already did. Override properties to change the default behavior.