Workflow (WF) in OpenCms should provide support for a publish cycle of one or more resources. This means that a workflow may consist of creation, modification (deletion) and publishing of one or more resources. An OpenCms workflow therefore will always terminate when a resource or a set of resources is published to the Online project.
Important to note is that WF requirements for customers are widely different, so that is should always be possible to adopt WF to customer specific needs.
During the workflow, a resource may shift through several stages, different users being responsible to approve/edit the resource in these stages. Some sort of messaging functionality will be required to inform users about their tasks. Moreover, dialogs and functions and a GUI to start a workflow and to manage the different WF states will be required.
In this sprint, we evaluate the minimal changes required to the OpenCms core in order to be able to implement Workflow functionality in general. The purpose is to develop a thin layer interface for a 'Workflow Manager' that the OpenCms core and the lock system in particular should be aware of.
This thin Workflow Manager interface should provide the following functionality:
With the above mentioned changes, it should be possible to implement a full WF system in OpenCms without further changes to the OpenCms core. Implementing the WF GUI, Messaging and state information will be the work that has to be done in the next step. Apparently there will be additional dialogs in OpenCms required to start and manage the workflows, we will need an overview of the workflow items owned by a specific user etc.
However, all of this can be developed in an OpenCms module without any further core changes, since it is possible to add entries to the context menus or additional Workplace views by configuration.
The above mentioned minimum requirements can be implemented like this:
org.opencms.lockpackage where the classes
org.opencms.workplace.explorer.CmsExlorerclass and the helper classes around that. Here we need to add information which icon and text should be displayed.
modules/org.opencms.workplace.explorer/resources/system/workplace/resources/commons/explorer.jsthat is generating the Explorer HTML needs to be modified to include the new Explorer icons and text.
org.opencms.main.OpenCmsSingelton in the very same way all other manager classes are provided.
opencms-system.xmlfile similar e.g. to the Event Manager. Required changes in the configuration files and classes will be straightforward.
CmsLock#isOwnedByInWorflow(CmsUser user)must be implemented.
CmsObject#lockResourceInWorkflow(CmsUser user). This will then use the WF lock type with the existing private method in the CmsObject.
Sep 26, 2016 - OpenCms 10.5 Beta provides a feature complete look at OpenCms 10.5. This will be the only pre-release version before OpenCms 10.5.0 is published, which is expected by the end of November. Only minor GUI updates, as well as improvements to the demo template, will be made for the final release.
Sep 26, 2016 - The OpenCms 10.5 Beta release notes contain detailed information about the new features and fixes in this beta version.
Jun 14, 2016 - Being the greatest OpenCms update for years, version 10 brings a vastly improved user experience that combines the intuitive "Direct Edit" approach of OpenCms with a new, well integrated Lauchpad app center. OpenCms 10.0.1 is a maintenance update for 10.0.0 installations. It fixes several issues that persisted in previous releases. This version focuses on performance and stability.
Jun 14, 2016 - The OpenCms 10.0.1 release notes contain detailed information about the updates and fixes in this version.