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.lock
package where the classes
CmsLock
,
CmsLockState
and
CmsLockManager
reside.org.opencms.workplace.explorer.CmsExlorer
class 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.js
that is generating the Explorer HTML needs to be modified to include the new Explorer icons and
text.org.opencms.main.OpenCms
Singelton in the very same way all other manager classes are
provided.opencms-system.xml
file 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.Apr 25, 2023 - OpenCms 15 provides role-based control to restrict who is allowed to update the sitemap configuration, including an editor for modifying selected sitemap attributes by any content manager. The new launchpad app "Person data search" reveals personal user data stored in the VFS. The Mercury template adds more than 1800 optional icons from the Bootstrap collection and numerous further enhancements.
Apr 25, 2023 - The OpenCms 15 release notes contain detailed information about the new features and fixes in this version.
Apr 25, 2023 - Alkacon OCEE 15 is the latest OCEE release for OpenCms 15. This version features a new scheduled job for LDAP synchronization and fixes a number of issues that have been detected in Alkacon OCEE 14.
Oct 11, 2022 - This version features XML schema versioning with automatic content rewrite. Also new is support for two factor authentication (2FA) in the user login. A source code editor widget is available for multi-line text input fields. The Mercury template has been updated to use Bootstrap 5.2.
Do you want to take a quick test drive of OpenCms to get an impression of its great features? Try out the OpenCms Live Demo website available at http://demo.opencms.org
© Alkacon Software GmbH & Co. KG - http://www.alkacon.com - Terms of use - Impressum - Privacy policy