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.Oct 8, 2024 - OpenCms 18 adds a new "Place element" mode in the page editor that allows precise element placement as an alternative to drag & drop. Reused content is now clearly marked. Automatic typographical correction of quotation marks has been added to all of the editors. “Dead links” in content that is entered in a WYSIWYG editor are now automatically disabled. Our Mercury template includes several new features, such as setting different image formats for mobile and desktop and many more.
Oct 8, 2024 - The OpenCms 18 release notes contain detailed information about the new features and fixes in this version.
Oct 8, 2024 - Alkacon OCEE 18 is the latest OCEE release for OpenCms 18. This version features a license key mechanism that allows to share the license key on several servers in a cloud installation.
Jul 8, 2024 - The Mercury template from Alkacon Software is a comprehensive, modular template based on Bootstrap 5 for OpenCms. This feature-rich template now has a complete and exhaustive documentation website.
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