Release Notes for OpenCms 7.0.2

September 12, 2007: This is the release of OpenCms 7.0.2. OpenCms 7.0.2 contains some new features and improvements compared to version 7.0.1. Moreover, a number of issues that persisted in the 7.0.1 release have been fixed.

OpenCms 7 is a major upgrade, and it vastly expands the features of OpenCms 6.

General Features of the OpenCms 7 release

  • An update Wizard for OpenCms 6 installations on MySQL, Oracle and PostgreSQL is available.
  • Support for the PostgreSQL and MS SQL Server databases now included.
  • The internal link management has been greatly improved.
  • If files (or folders) are moved / renamed, all links to these files are now kept intact.
  • Deleting a resource that is linked by other resources does now display a warning / confirmation dialog.
  • The new "Content Relationship Engine" (CRE) allows defining arbitrary relations between OpenCms resources.
  • Native support for WebDAV access to the OpenCms VFS has been added.
  • Publishing of resources is now done using a queue, so a user can continue to work after publishing has started.
  • The concept of "Organization Units" (OUs) has been added to the internal user management.
  • System permissions are now based on a complete new set of "Roles".
  • It is now possible to delegate management of users / groups in OUs to Sub-Administrators.
  • A "switch user" (su) function for Administrators in the OpenCms Workplace is now available.
  • Many usability improvements for the OpenCms Workplace have been made, especially concerning the handling of other users locks.
  • Many dialogs in the OpenCms Workplace are more responsive because of the use of Ajax technologies.
  • The context menus in the Workplace are now cascading and can be configured individually based on the users permissions.
  • A new "Undelete" function is available on the context menu to restore deleted resources, including complete deleted subtrees.
  • The full text search has been greatly improved so that individual resource properties or fields from XML content can be searched directly.
  • A "time warp" feature in the Workplace now allows users to view resources with date expired / date released settings.
  • Auto correction for structured XML contents now allows changes to the XML schema of existing resources.
  • A configurable search tool is now available for content managers in the Workplace.
  • A "permalink" handler for resources is available for external references in case a resource is moved or renamed.
  • Link management support has been added in editors for standard HTML tags 'area', 'object' & 'embed'.
  • The core database structure has been optimized.
  • JSP 2.0 and Servlet 2.4 are now used by default.

New Features in OpenCms 7.0.2

  • An update wizard for PostgreSQL is now available.
  • The notification popup that appears after a publish job can now be switched off in the user preferences.
  • Added JSP EL ${cms:...} functions that allow convenient access to the OpenCms VFS.
  • Added <cms:contentaccess> tag for easy access to XML contents with the JSP EL inside a <cms:contentload> block.
  • Added new option "searchsettings" to XML content handler, which can be used to reduce the visibility of fields in the search "content".
  • Added possibility to limit searches to time ranges of the creation and last modification date of resources.
  • Added support for multiple mappings of the same value to different properties to the default XML content handler.
  • The XML content editor will now copy a locale from a configured list of defaults in case a selected locale does not exist.
  • Added a new CmsDateResourceCollector that uses a configurable list of dates to collect the resources.
  • Added a new column to the publish report list that indicates if a publish job finished with errors or warnings.
  • Added new database tool to remove "hanging" publish locks.

Fixed issues and other changes in OpenCms 7.0.2

  • Fixed issue #1291: Now using the correct line break format for UNIX in
  • Fixed issue #1460: Parent locks are now correctly filtered by the CmsLockFilter.
  • Fixed issue #1486: Added missing CmsPrincipal comparator.
  • Fixed issue #1499: Extended context menu rules to prevent direct publishing of files in unpublished folders.
  • Fixed issue #1503: CmsScheduleManager now uses the current time as the request time.
  • Fixed issue #1508: Publish notification popup can now be switched off in the user preferences dialog (errors are always shown).
  • Fixed issue #1513: Trying to disable an indirect assigned role now displays an error message.
  • Fixed issue #1516: Resource type array has been replaced by a self-expanding HashMap.
  • Fixed issue #1519: Roots field in search index now always uses Whitespace analyzer (search index rebuild is required).
  • Fixed issue #1521: The change navigation dialog was having problems with special characters like '+'.
  • Fixed issue #1522: Problems with temporary file creation when the user does not have write permissions on the parent folder.
  • Fixed issue #1523: Problems with implementation of the deprecated version of the CmsObject#importUser method.
  • Fixed issue with validation errors using the display widget on boolean values.
  • Fixed several spelling issues in the German locale.
  • Fixed issue with "new" siblings causing content changes in "old" siblings not to be published.
  • Fixed issue with handling of DB statements and result sets in update wizard.
  • Fixed issue with A_CmlXmlDocument where the xpath for #getValues(...) was not correctly accessing the bookmarks.
  • Fixed issue with workplace encoding being system default while workplace folder was set to UTF-8.
  • Fixed issue with no Exception being thrown in case a <cms:include> of a non-existing file is done.
  • Fixed issue with deleting groups.
  • Fixed issue with moving a folder with deleted subresources.
  • Fixed issue with the 'publish with related resources' feature.
  • Fixed issue with the 'before publish' event.
  • Fixed issue with siblings in the history.
  • Fixed issue with anchor links in XML Pages.
  • Fixed issue with imported overwriting files not being correctly published.
  • Fixed issue with workplace AJAX requests not working in IE if ActiveX is disabled.
  • Fixed issue with context menu sometimes appearing at the wrong position in the workplace explorer.
  • Fixed issue with aging request time in combination with date released in CmsObject instances stored by core classes.
  • Fixed issue with creating a new resource in a locked folder.
  • Fixed issue with validating links during publishing while deleting several linked resources.
  • Fixed issue with FCKeditor saving HTML contents in one long line.
  • Changed location of libaries in CVS for better handling of runtime and compile-time dependencies
  • Refactored setup/update wizard to a separate opencms-setup.jar
  • Updated Lucene to version 2.2.0
  • Updated jug.jar used by CmsUUID to version 2.0.0 (from to version).

Backward compatibility

OpenCms 7.0.2 is fully backward compatible to version 7.0.0 and 7.0.1. We recommend everyone who uses an earlier version of OpenCms to update to the 7.0.2 release.

OpenCms 7 is largely backward compatible with version 6. Most templates and other OpenCms developed code from version 6 should work "out of the box" with version 7. A number of API methods from OpenCms 6 have been marked as "deprecated". In case you have made extensive use of OpenCms internal classes and APIs from version 6, there may be some changes required in your code. However, in most cases this should not take longer than a couple of hours.

Please note that since OpenCms 7 uses JSP 2.0 and Servlet 2.4 standards by default, you may have to change that back to JSP 1.2 / Servlet 2.3 so your existing OpenCms JSP templates run without change. You must edit the "web-app" node in the OpenCms web.xml file to do that.

Compatibility with Java versions, Servlet containers and Databases

OpenCms 7 has been written and tested using Java 1.5 / 1.6. It works well with Java 1.4 using the optional "Java 1.4 compatibility package". We have tested only with SUNs version of the JDK. However, OpenCms has no dependencies to sun.* packages so it should in theory run with all compliant JVMs.

We have tested this release on the Tomcat servlet engine. OpenCms works "out of the box" with Tomcat 5.5, which we recommend. Others have reported deploying OpenCms successfully on other servlet containers like JBoss, BEA and Websphere. We appreciate any feedback regarding other servlet containers.

On the database side, we have tested with MySQL 4.0.x, MySQL 4.1, MySQL 5.x, Oracle 9.x and Oracle 10.x, as well as PostgreSQL 8.2.x and 7.4.x and MS SQL Server 2000 / 2003. The automatic update wizard for OpenCms 7 supports MySQL, Oracle and PostgreSQL.

Regarding version numbers and CVS build tags

In case you want to check out OpenCms from the CVS, please keep the following in mind: The CVS tag numbers for all OpenCms 7 final releases are "build_7_0_x", so the 7.0.2 release is tagged "build_7_0_2". Development of maintenance releases (like 7.0.2) is currently done in CVS HEAD.

How you can help

Contributions to the OpenCms core development are most welcome. Please contact the core development team on the opencms-dev mailing list in case you are interested in supporting the development of OpenCms.

Please use our Bugzilla to report bugs in this release:

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