Creating Plug & Play Modules for OpenCms 8

Track: Workshop
Speaker: Rüdiger Kurz (Alkacon Software GmbH)

Abstract

OpenCms, since its first public version, features a module mechanism that allows encapsulating functionalities in separate modules. However, the template mechanism of OpenCms up to version 7.5 left many details to the developer. It turned out that developing reusable modules is quite difficult, since there used to be many dependencies from a module to the template it was developed for. The improved template and module mechanism of OpenCms 8 addresses these issues, removes theses dependencies and therefore allows creating modules that are not depended on the template.

Rüdigers presentation did include an overview of the problem with pre-OpenCms 8 modules using the “Template 2” example from the OpenCms 7.x distribution. He did then show how the problems have been addressed in OpenCms 8. Among other things, this includes the possibility to create HTML output that is rendered differently depending on the space available in the template.

Best practices for structuring modules were also explained, for example how to layout module resources in different folders and naming conventions we suggest.

Latest News

  • OpenCms 13 available

    Apr 13, 2022 - OpenCms 13 features a new plugin system as a more flexible replacement of the "headincludes" functionality. Geo search functionality has been added to find contents by geo coordinates. Extensions to the template variant mechanism allow setting overrides and renaming of formatter keys. There are also refinements for the "Mercury" default template as well as security improvements.

  • OpenCms 13 Release Notes

    Apr 13, 2022 - The OpenCms 13 release notes contain detailed information about the new features and fixes in this version.

  • Alkacon OCEE 13

    Apr 13, 2022 - Alkacon OCEE 13 is the latest OCEE release for OpenCms 13. This version fixes a number of issues that have been detected in Alkacon OCEE 12 and improves the licensing mechanism.

  • OpenCms 12 available

    Oct 12, 2021 - OpenCms 12 features a headless JSON API for REST content access, together with several JavaScript demo applications that show how to use it. The default "Mercury" template has been greatly improved. Template variants allow to completely switch the generated HTML of a website simply by configuration. The updated WebDAV implementation enables mounting the OpenCms virtual file system from any WebDAV client.

Try the OpenCms Live Demo