XWiki Publication Workflow Application

Last modified by Gabriela Anechitoaei on 2017/12/11 00:04

cogSimple publication workflow implementation that allows to push a document through various validation states until it is published.
TypeXAR
Developed by

Anca Luca, Thomas Delafosse

Active Installs48
Rating
Rate!
1 Votes
LicenseGNU Lesser General Public License 2.1
Installable with the Extension Manager

Description

Note that this extension only has a French version, you need to add your own translations and mail templates if you need to implement a different language.

This extension uses 2 important concepts:

  • the draft document
  • the published document (the target document, from the point of view of a draft),
    and functions in the following way: the contributors edit the draft document, demand moderation and validation on it, and once it's published it is copied to the published document. So there are always 2 documents, the draft and the published document. When a workflow is initiated on a document, the current document will be the draft and the user will need to fill in the target document. The published documents should never be edited directly, only published from a draft document.

In order to use this extension, add the PublicationWorkflow.PublicationWorkflowPanel to the spaces of your choice (should be the space where the draft documents reside and the space where the published documents reside, so that the draft can be accessed from the published document and edited) and use tbe commands available in this panel. The same UI can be achieved by using the {{publicationworkflow /}} macro in the context of the draft and published document.

CreateWorkflow.png

WorkflowGroups.png
The workflow "New Workflow" has been created using the template provider on the PublicationWorkflow space (the groups for contributors, moderators and validators have been created using the wiki administration).
In order to define a workflow, just create a new document using the  PublicationWorkflowConfigTemplate template (which has a template provider available in the space PublicationWorkflow, see the first image above) and fill in the 3 groups: contributors, moderators and validators (webmasters). By default workflows work with 2 levels of validation: the contributors start the workflow and edit the documents then submit to moderation. Moderators can edit further and then submit of validation or refuse and send the doc back to contribution. Then, the validators can edit further and validate and publish or refuse and send back to moderation. If, in the configuration, the moderators group is missing then there will only be one level of moderation, done by the validators. Once published, a document can be archived (passed to hidden) or unpublished (the published document is removed and the content is copied to the draft).

DraftsSpace.png
The panel PublicationWorkflow.PublicationWorkflowPanel has been added on the right column for the Draft space in the example above (using the space administration section).

chooseSpace.png
We have created a new document inside the Draft space and we would like to publish it in the Sandbox space using the "New Workflow" workflow.

draftStatus.png
The button "Initier le workflow" will send the document to the "Brouillon" status (draft).

moderationStatus.png
The button "Summetre a la moderation" will sent the document to the "En cours de moderation" status (moderation).

validationStatus.png
The button "Publier" will open a modal box to confirm the publishing of the document.

publishScreen.png
The user needs to confirm if the document is published.

published.png
The published document is copied to the "Sandbox" space which was initially selected.

Note that on the draft document the rights are handled automatically by the workflow application (between contributors, moderators and validators) but for the published documents the rights fall in the responsibility of the wiki administrator, which should make sure that no one can edit the published documents directly (usually it means setting the rights on a space).

Mails are being sent in the following cases:

  • when a document is submitted to moderation - mail is sent to the moderators
  • when a document is submitted to validation - mail is sent to validators
  • when a document is refused by moderators - mail is sent to the contributors
  • when a document is refused by validators - mail is sent to moderators
  • when a published document is unpublished - mail is sent to validators

The list of drafts documents is available on the page PublicationWorkflow.Overview:

Overview.png

Tested on

This extension has been tested with the following configurations.

Extension VersionXWiki FlavorNotes
1.1XWiki Enterprise 4.1.4, 4.3.1, 5.2.1
1.7XWiki Enterprise 9.1.2
2.5.4XWiki 9.8.1

Issue: https://jira.xwiki.org/browse/XAWORKFLOW-30

Prerequisites & Installation Instructions

We recommend using the Extension Manager to install this extension (Make sure that the text "Installable with the Extension Manager" is displayed at the top right location on this page to know if this extension can be installed with the Extension Manager). Note that installing Extensions when being offline is currently not supported and you'd need to use some complex manual method.

You can also use the following manual method, which is useful if this extension cannot be installed with the Extension Manager or if you're using an old version of XWiki that doesn't have the Extension Manager:

  1. Log in the wiki with a user having Administration rights
  2. Go to the Administration page and select the Import category
  3. Follow the on-screen instructions to upload the downloaded XAR
  4. Click on the uploaded XAR and follow the instructions
  5. You'll also need to install all dependent Extensions that are not already installed in your wiki

Note: if this extension is installed on a version of XWiki lower than 4.3, mailsender plugin needs to be replaced with the 4.3 version, so that workflow notification mails are sent.

Release Notes

v1.7

Dependencies

Dependencies for this extension (org.xwiki.contrib.workflow-publication:xwiki-workflow-publication-application 1.7):

  • org.xwiki.contrib.workflow-publication:xwiki-workflow-publication-api 1.7
Tags: workflow
Created by Anca Luca on 2013/08/20 11:00
    

Get Connected