Skip to content

OpenCms 18 release notes

OpenCms 18
The OpenCms 18 release notes contain detailed information about the new features and fixes in this version.
Date:
October 8, 2024

OpenCms 18 adds a new "Place element" mode in the page editor that allows precise placement of elements as an alternative to drag & drop. Reused content is now clearly marked to prevent users from accidentally changing content that is used on multiple pages. 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. The Jetty 12 servlet container is now supported as an alternative to Tomcat. Our Mercury template includes several new features, such as setting different image formats for mobile and desktop, opening hours for places, and internal search result boosting for defined keywords.

Major new features of OpenCms 18

  • New "Place element" mode in the page editor as alternative to drag & drop.
  • Reused content in the page and form editor is now clearly marked.
  • Automatic typographical correction of quotation marks in editors.
  • "Dead links" in content from a WYSIWYG editor are now automatically disabled.
  • Support for the Jetty 12 servlet container as an alternative for Tomcat.

Further improvements in OpenCms 18

  • Page editor: Use custom <oc-...> tags instead of <div> for inserted 'edit points' in lists.
  • Page editor: Added improved JavaScript events for page editor actions.
  • Workplace: Added CSV user import/export dialog option for root OU.
  • Workplace: 'Direct publish' added to context menu of gallery dialog.
  • Workplace: Improved file list update behavior in apps after direct publish.
  • Workplace: Improved 'Open page' option in context menus for elements on detail pages.
  • Workplace: Optimized element settings dialog for multiline labels.
  • Workplace: Added option to hide specific categories in category select widget.
  • Configuration: Added sitemap attribute for loading of external TinyMCE configuration file.
  • Configuration: Added option to use custom error messages in XSDs for built-in widgets like datetime.
  • Configuration: Added API fallback option for context menu items.
  • JSP API: Added .toURI method to CmsJspLinkWrapper.
  • JSP API: Added cms.formatterSettingDefault to get the default formatter setting.
  • JSP API: Added cms.formatterKey to read the currently used formatter key.
  • JSP API: Added support for formatter keys in <cms:displayFormatter> tag.
  • JSP API: Added containerType attribute to <cms:display> tag.
  • Optimized log output for JSP compiler errors.
  • Using UTF-8 for all resource bundle .properties files instead of ISO-8859-1.
  • Updated SOLR to version 9.5.
  • Pull request #799 updated Russian translation org.opencms.locale.ru. (github pull request 799).

Issues fixed in OpenCms 18

  • Security: Do not log password on failed user login attempts.
  • Fixed issue with updater not adding required nodes in opencms-system.xml for the 'personal data search' app.
  • Fixed issue with caching for search > document factories > content.
  • Fixed issue when moving a redirect in the sitemap editor.
  • Fixed issue with renaming the image when uploading an image in a content.
  • Fixed issue with uploading files of size 0 bytes.
  • Fixed issue with module import overwriting parent folders that are not part of the module.
  • Fixed issue with wrong functions being inserted when multiple functions are placed directly after another.
  • Fixed issue where moving a page in the sitemap editor to a folder containing a same-named redirect could cause DB corruption.
  • Fixed issue with category detail pages not resolving correctly for expired resources.
  • Fixed issue in the publish dialog where 'My changes' are not cleared when more than 1000 changes are present.
  • Fixed issue where selecting a folder in the log download dialog resulted in an NPE.
  • Fixed issue with 404 error after leaving the sitemap editor.
  • Fixed issue where publishing a page after moving it is not possible when contents use "store with page" setting.
  • Fixed issue where a sitemap configuration using a combination of category specific detail pages is not working correctly.
  • Fixed issue with explorer folder location input sometimes showing a scrollbar.
  • Fixed issue where editor for legacy 'xmlpage' type content could not be accessed from page editor.
  • Fixed issue with 'Undelete' operation failing for resources that are of an unknown type.
  • Fixed issue with dynamic functions not usable in template pages if the page locale is not 'en'.
  • Fixed hardcoded version number in updater.
  • Fixed deprecation warning for DOMNodeInserted mutation event in Chrome console.
  • Fixed deprecation warning for 'unload' event in Chrome console.
  • Fixed issue #805 with unpublished relations on siblings (github issue 805).
  • Fixed issue #804 with missing edit markers in AJAX lists (github issue 804).

General OpenCms features

  • The page editor allows WYSIWYG inline editing of web pages and arrangement of content by drag & drop.
  • The form based editor allows editing of structured content in a well defined form mask.
  • The sitemap editor allows to create new pages and re-arrange the navigation tree by drag & drop.
  • Responsive "Mercury" default template based on Bootstrap 4 with many features.
  • Headless API for accessing content as JSON from external applications.
  • Content creation for mobile devices with preview and device specific content control.
  • Structured contents can be defined using a simple XML schema.
  • Easy to use "Online / Offline" workflow, changes must be approved before they become visible.
  • Link management for all internal resources with broken link detection.
  • Integrated image scaling and cropping.
  • SEO features with automatic sitemap.xml generation and page alias support.
  • Full featured user management that supports the concept of "Organizational Units" (OUs).
  • Allows management of multiple websites within one installation.
  • Contents can be served dynamically or exported to static HTML files.
  • File access to the OpenCms content repository over a shared network / SMB drive.
  • CMIS and WebDAV access to the OpenCms content repository.
  • Integrates Apache SOLR for powerful content searching and noSQL like queries.
  • Full text search for web pages as well as in office documents like PDF, MS Office and Open Office.
  • Extensions can be added through a flexible module system.
  • The "time warp" feature allows to view resources which are expired or not yet released.
  • JSP integration for dynamic functionality in templates, dynamic forms etc.
  • ... and many more

Backward compatibility

OpenCms 18 is backward compatible with all 17, 16, 15, 14, 13, 12, 11 and 10 versions. Templates and other OpenCms developed code from these versions should work mostly "out of the box" with version 18.

Notice for users of Alkacon OCEE Users of Alkacon OCEE require a new OCEE version for OpenCms 18. The update is free for Alkacon customers with a valid OCEE subscription. Please contact Alkacon to receive the new version.

Compatibility with Java versions, servlet containers and databases

OpenCms 18 is compatible with Java 21, 17 and 11.

OpenCms 18 requires a Java Servlet 4.0 compatible web container. We have tested this release using Jetty and Tomcat. It works "out of the box" with Jetty 12 or Tomcat 9. Others have reported deploying OpenCms successfully on other web servlet containers like WildFly, GlassFish, WebLogic, WebSphere and Resin.

On the database side, we provide support for MySQL, MariaDB, Oracle, PostgreSQL, MS SQL Server, DB2 and HSQLDB.

Regarding version numbers and build tags

The main OpenCms Git repository is available on Github at github.com/alkacon/opencms-core.

In case you want to get the most current OpenCms sources from Git, please check out branch master. This release is tagged build_18_0_0.

How you can help

Contributions to the OpenCms core development are most welcome. Please send us your pull requests directly on GitHub.

Please report issues found in OpenCms using our GitHub issue tracker.

Thank you for using OpenCms and have fun with OpenCms :-)