Release Notes for OpenCms 7.0.4

March 3, 2008: This is the release of OpenCms 7.0.4. This version adds a number of improvements to the OpenCms core as well as the modules shipped with the core by default.

Most notably in this release is the updated OpenCms demo website created with the new "TemplateTwo". Both the demo and the template are a big step forward compared to the previous "TemplateOne". "TemplateOne" still is available but not longer installed by default.

Moreover, the "Direct Edit" function has been improved greatly. The positioning of the direct edit buttons now is much more precise, especially for CSS based layouts. Plus the look of the direct edit highlighting on the web page has been enhanced.

A ton of other additions and improvements tops off this release. Of course, OpenCms 7.0.4 also fixes a number of issues that persisted in 7.0.3. See below for more details.

New Features in OpenCms 7.0.4

  • Added new "TemplateTwo" demo template with improved demo content, replacing the old "TemplateOne" demo
  • Added "default template" which is used by default if no template is found for a resource
  • Added new JQuery based direct edit provider with much improved positioning of the DE buttons
  • Added better highlighting of selected content to new JQuery direct edit provider
  • Added new tag, which allows to write unprocessed JSP code to the static export
  • Added support to import/export user roles, organizational units and projects
  • Added 'webusers' only organizational units
  • Added support for full text searching in OpenOffice documents (.odf,.ods), contributed by Dirk Oelkers
  • Added option to organizational units to be hidden from the login form
  • Added new resource type parameter to automatically set the 'internal' flag
  • Added new module group selection dialog to the Setup Wizard
  • Added support for resource type limitation settings from "New" dialog to the "Change type" dialog
  • Added option to CmsTimeFrameCategoryCollector, category filter may be turned off by leaving out collector parameter
  • Added new version of the import/export API, using Apache Digester instead of SAX
  • Added #getStringValue() method to CmsJspContentAccessValueWrapper for better support of 'empty' EL operator
  • Added option to resolve macros in XML contents read with the EL using the .resolveMacros method
  • Added method #setLocale(Locale locale) to org.opencms.file.CmsRequestContext
  • Added new multi language static export feature
  • Added database support for AS400
  • Added support for servlet container Resin 3
  • Added support for servlet container Websphere 6

Fixed issues and other changes in OpenCms 7.0.4

  • Fixed security issue 27986 reported by Security Focus
  • Fixed issue with an account manager being able to become an administrator
  • Fixed issue with an account manager being able to modify an administrator account
  • Fixed issue with static export not correctly deleting exported jsp pages
  • Fixed issue with ACEs from all siblings being deleted if only one siblings was deleted
  • Fixed issue with ACEs not being restored when undeleting a resource
  • Fixed issue with search result excerpts highlighting path terms
  • Fixed issue with 'switch user' now working across OUs
  • Fixed issue with relations not being copied when copying a resource
  • Fixed issue with role caching after creating a new organizational unit
  • Fixed issue with role caching where users could administer OUs without having the required role
  • Fixed issue with possible NPE in the login form
  • Fixed issue with publish locks when publishing a file and a parent folder in separate publish jobs
  • Fixed issue with the creation flag of the explorer type permissions being broken
  • Fixed issue with XML content attribute mapping when siblings are involved
  • Fixed issue with XML content model file selection of expired model files
  • Fixed issue with direct edit button HTML not being valid XHTML
  • Fixed issue with the history dialog when setting an unlimited number of historic versions
  • Fixed issue with the history dialog not displaying the names of deleted users
  • Fixed issue with the permissions dialog not displaying the names of deleted users or groups
  • Fixed issue with blank pages appearing for JSP while including/forwarding in Tomcat
  • Fixed issue with synchronizing an expired or not yet released resource
  • Fixed issue with editor preview when the user does not have the visible permission
  • Fixed issue with HTTP 500 error if clients send the "If-Modified-Since" date header in a wrong format
  • Fixed issue with login form direct access URL still being available for hidden OUs
  • Fixed issue with the lock icon when logged in an OU different from the root OU
  • Fixed issue with the disabled context menu item for direct publishing showing a wrong message related to permissions
  • Fixed issue with moving a folder containing resources the user does not have write permissions for
  • Fixed issue with deleting a folder containing resources you do not have write permissions for
  • Fixed issue with displaying the settings from the "Content check" tool in the admin view
  • Fixed issue with role check not working if an organizational unit resource was deleted
  • Fixed issue with some parameters of SQL queries passed to JDBC with the wrong type
  • Fixed issue with OpenCmsColor widget not working with CSS 2 system colors names
  • Fixed issue with PostgreSQL driver with version 8.3, thanks to Ivan Codarin and Georgi Naplatanov
  • Improved support for servlet container BEA Weblogic 9 (no special servlet options needed anymore)
  • Improved default permission settings
  • Updated FCKeditor to version 2.5.1
  • Updated Postgresql JDBC driver to postgresql-8.3-603.jdbc3.jar
  • Updated JTidy library to jtidy-8-svn-206-05-21b.jar, thanks to Christian Steinert for the patch

General Features of OpenCms 7

  • An update Wizard for OpenCms 6 installations on MySQL, Oracle and PostgreSQL is available.
  • Support for Oracle, MySQL, PostgreSQL, MS SQL Server, DB2, AS400 and HSQLDB databases 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.

Backward compatibility

OpenCms 7.0.4 is fully backward compatible to all prior 7.0.x versions. We recommend everyone who uses an earlier version of OpenCms to update to the 7.0.4 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 from OpenCms 6 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, MS SQL Server 2000 / 2003, DB2 9.1 and HSQLDB 1.8.0. 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.4 release is tagged "build_7_0_4". Development of maintenance releases (like 7.0.4) 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: http://bugzilla.opencms.org/

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