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.
Feb 15, 2017 - OpenCms 10.5.1 is a maintenance update that fixes several issues that persisted in the 10.5.0 release. This version focuses on security and stability, also adding some new features and enhancements. It also ships an optimized version of the Apollo Template. Based on Bootstrap, the Apollo Template is fully customizable without coding.
Feb 15, 2017 - The OpenCms 10.5.1 release notes contain detailed information about the new features and fixes in this version.
Dec 9, 2016 - OCEE 5.5.0 supports OpenCms 10.5.0 and brings seveal improvements to the LDAP Connector. It also adds more shell commands for remote cluster administration, and fixes some issues. Updated OCEE packages for 10.0, 9.x and 8.x based OpenCms installations are also available.
Nov 30, 2016 - OpenCms 10.5 focuses on site localization, adding tools for assisted translation of pages and sitemaps. Many usability improvements have been made for the Page Editor and the Explorer. OpenCms 10.5 also ships a much improved version of the Apollo Template. Based on Bootstrap, the Apollo Template is fully customizable without coding.