OpenCms Logo

Navigation: 6.0 b 3 notes | 6.0 b 2 notes | 6.0 b 1 notes | 6.0 a 3 notes | 6.0 a 2 notes | 6.0 a 1 notes | 5.0 final release notes | 5.0 rc 2 notes | 5.0 rc 1 notes | 5.0 beta 2 notes | Installation | 4.x to 5.0 upgrade info | Mailing list | Welcome to OpenCms

Release Notes for OpenCms 6.0 alpha 2

10/25/2004: This is the second public binary alpha release of OpenCms 6.0. OpenCms 6.0 is a major upgrade, and it vastly expands the features of OpenCms 5.0. The alpha 2 release improves certain issues with alpha 1 that have been reported on the opencms-dev mailing list. A couple of new features have also been added to the 6.0 alpha 2 release.

Who should use this 6.0 alpha 2 version?

This is an alpha version. Please don't expect it to be perfectly stable. One of the most important Open Source philosophies is "Release early, Release often", and this is what we intend to do with this and subsequent 6.0 releases. If and how you should use this version depends on what your goals are:

  • If you are currently using any previous 6.0 development release (e.g. 6.0 alpha 1), you should upgrade to this new version.
  • If you are an IT professional or a company working with OpenCms on a regular basis, you should definitely check if and how your current websites, modules and functions can be ported to the new release. Even though changes on the Java API level and changes on the DB schema are to be expected until we reach the beta or even release candidate state of the development, most of the big changes have already been made.
  • If you start a new project that is expected to go live in about 3 months, you may use this version to build your project - but be prepared for some extra work to update when new releases become available, and also for some time figuring out the so far undocumented features if these are required.
  • If you are working on a project with OpenCms 5.0.x that has a delivery date soon, you should stick to the 5.0.x version unless you absolutely require a feature of the 6.0 version.
  • If you are running a website based on OpenCms, and you plan to implement some new features in the not so far future, you should install this version on a test machine and check out the new features.

When will the "final" release of OpenCms 6.0 be available?

This will greatly depend on the feedback for this release and the following releases, especially regarding bugs. In case you find any bug, please use the OpenCms bugzilla to document it, or at least post a note to the opencms-dev mailing list. The more feedback and code contributions are made, the faster we can fix the issues and finish the development. Currently we expect the final release of OpenCms 6.0 in Q4/2004 or Q1/2005.

The most important new features in this alpha 2 release compared to the alpha 1 version:

  • The release is the first that displays the new XML content features of OpenCms 6.0 by including a full demo for most of the new functions (the "templateone" frontend). Implemented new features for XML content in this release are:
    • XML content editor elements titles can be localized
    • XML content editor correctly supports locales, including locale switch
    • XML content editor supports optional "help bubbles" using special locale keys
    • XML content editor allows scrolling in case of many widgets on the screen
    • XML content editor now allows "direct publish" directly from the editor
    • XML content can be created with the "New" dialog wizard if properly configured
    • Made XML content types configurable in opencms-vfs.xml
    • Made XML content type filters configurable in opencms-vfs.xml
    • Added advanced XML content widgets: Boolean, Colorpicker, VfsFile
    • Added new tags "contentload", "contentcheck", "contentloop", "contentshow" to OpenCms JSP taglib to display XML content in templates
  • Other features of notice:
    • New "content-conversion" property allows automatic conversion of XML page HTML content to XHTML, also optionally corrects HTML errors etc.
    • Added option "clean up after Copy&Paste from Word" to all XML page editors
    • Added support for MySQL 4.1
    • Explorer "History" dialog with version information has been rebuild in JSP
  • Fixed issues and minor improvements:
    • Updated included libaries to their latest available release versions
    • Split the CmsDriverManager into CmsSecurityManager and CmsDriverManager, for more efficient handling of permission checks during DB operations
    • Added feature to set web application context name in web.xml (required e.g. for Jboss)
    • New "displayresource.jsp" replaced XML template based "show resource" file
    • Locale handler for the workplace has been made configurable
    • Fixed issue with link replace mode in XML content editor operating in the root site
    • Fixed issue with default XML default value creation not having an OpenCms context available
    • Fixed issue with translated module name not correctly written to log
    • Fixed issues with legacy master module permissions and history
    • Fixed issue with Lucene search query not working with "OR" logic
    • Fixed issue with old temporary file lock owned by wrong user
    • Fixed issue with cached page element in request attribute not being properly initialized
    • Added configurable password class encryption handler to opencms-system.xml

The most important new features in this release compared to the 5.0.x version:

  • Multiple websites can now be managed in one OpenCms installation
  • The "Direct Edit" feature allows users to open the editor directly from the websites front-end by pushing an "Edit" button that appears on elements on the page (if the user has the permissions to edit it)
  • Using the new resource type "XmlContent", building structured content (e.g. news articles, product descriptions etc.) is really easy and requires little or no programming
  • OpenCms now comes with a highly configurable template with many advanced functions as additional default module
  • Multi-language versions of the same page and improved support for managing multi language websites is integrated
  • Build-in support for full text search in HTML, PDF, Word, Excel and Plaintext documents (based on Apache Lucene)
  • All contents in the VFS can now have a "publication date" and an "expiration date" so they can appear / disappear automatically from a website
  • Resource permissions in the VFS are now managed in ACLs instead of Unix - style
  • The OpenCms workplace has been rewritten in JSP, adding new features and much improved usability (this task is not fully finished)
  • Full support for multibyte languages (e.g. UTF-8)
  • Files in the VFS can now have multiple "siblings", this is comparable to a "hard link" in a Unix file system and prevents broken "VFS links" automatically
  • Properties on files can be "individual" or "shared" among siblings
  • Implement "plugin" mechanism for editors and make editors more configurable, so that other editor implementations (e.g. WYSIWYG Java Applet) can be easily integrated in the workplace
  • Added optional WYSIWYG editor implementation of the popular HtmlArea editor, this editor also works with Mozilla browsers
  • The setup wizard has been improved, also many "known issues" (e.g. regarding encoding setting and Xerces version) have been fixed
  • The module API has been rewritten from the ground up, now providing a clean interface to implement
  • Optimized the use of http headers, including use of "304 - not modified" for resources that have not been modified
  • The resource type API has been enhanced, so that resource types can be easily added without workarounds
  • The Workplace is now fully usable with Mozilla based browsers (e.g. Firefox)
  • It's not longer required to "lock" a resource in the Exlorer with the context menu manually, this is done automatically if the "autolock" feature is enabled (this is also the default)
  • The static export has been fully rewritten, is also features a new "on demand" mode for export of resources
  • Implement new, cleaned up XmlPage API that replaces the old XmlTemplate for page data storage
  • The XmlPage structure is always validated by a W3C XML Schema, to prevent creation of invalid content
  • The edited pages are now stored directly in the location where they have been edited, the /system/bodies/ folder is not longer required
  • The OpenCms VFS has been made much more scalable, bottlenecks like the slow Exlorer tree have been removed
  • The OpenCms user management has been made independent from the OpenCms VFS, so that other user directories can be "plugged" into the system as a separate module
  • Publishing has been rewritten and is now much faster especially with many resources
  • All resources in the OpenCms VFS now have a UUID
  • The database pooling has been replaced with DBCP from Apache Jarkarta
  • All known issues with Oracle 9.x that were present in 5.0.x have been solved
  • Logging now uses log4j from Apache Jarkarta
  • Heavily modified the database model and completely rewrote the database access class layer
  • The configuration is now based on a new XML structure that is read by Apache Digester (this task is not fully finished)
  • UTF-8 is now the default encoding

TODO list to be finished before OpenCms 6.0 is released:

  • The OpenCms workplace is still not fully implemented in JSP - all XmlTemplate using dialogs will be rewritten to JSP
  • We will write a "content relation engine" (CRE) for resources in the VFS - this replaces the old "channel" concept of the master module
  • More of the configuration will be transferred from to the new Digester XML based configuration file, the current will stay only for the database configuration - this configuration will be moved to the XML in a release after 6.0.
  • The most important management functions (e.g. cache maintainance, system status) will be exposed to allow JMX containers to manage OpenCms
  • Documentation needs to be revised for old functions and written for new functions
  • Testing and bug fixing - your feedback is required!

Regarding backward compatibility

OpenCms 6 will be as backward compatible as possible with the 5.x releases. Existing content from 5.x will be easily importable, automatically converted to the new format and require almost no manual modification - at least if you didn't somehow change the structure of the XML control code of the 5.0.x page files.

For the sake of a clean and structured API, we have decided to make improvements on the API level that will break existing code. This means changes of Java code in templates or custom classes will be necessary to upgrade from 5.x to 6. Most obvious will be renaming the packages from com.opencms.* to org.opencms.*. Making existing code work will hopefully be just a matter of exchanging these import statements and some minor adjustments.

We will try to provide a more detailed documentation for the upgrade procedure from 5.0 to 6.0 as part of a later release. This is on the TODO list.

Regarding support for XmlTemplates and the "Master Module"

OpenCms 6 will have support for legacy XmlTemplates, but only with an additional opencms-legacy.jar that will not be installed by default. All classes dealing with XmlTemplates will stay in the com.opencms.* packages where they are now. We consider XmlTemplate a "dead" technology and will not support it past the 6.0 release.

The "master module" technology of 5.0.x will be replaced by the new XmlContent mechanism. Therefore all database tables that are used for the master module and some others (like the "webusers" table) have been moved to a separate module org.opencms.legacy.compatibility that installs these tables if required.

The current 6.0 development release still requires XmlTemplates because parts of the OpenCms Workplace are still not updated to JSP. Therefore opencms-legacy.jar is currently installed by default. This applies mostly to the "Administration" and the "Workflow" views. As soon as these are rewritten to JSP the opencms-legacy.jar will be moved to the optional org.opencms.legacy.compatibility module. This is on the TODO list.

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 6 alpha releases are "build_5_5_x", e.g. 6.0 alpha 2 is "build_5_5_3". Until we finally publish OpenCms 6, we will continue to use 5.x as internal CVS build tag numbers. 6 alpha will have CVS build tags 5.5.x, 6 beta will use 5.7.x, and 6 release candidates will use 5.9.x.

Regarding compatibility with other JVMs / Servlet containers / Databases

OpenCms 6.0 alpha 2 requires Java 1.4.x. It won't work with Java 1.3.x. It has not been tested on Java 1.5.x so far, even though some variables called "enum" where renamed to avoid conflicts with Java 1.5.x. Users of the 6.0 alpha 1 release have reported that the current development version does not run with Java 1.5.x - we currently have not investigated if this is an issue in OpenCms or one of the many pre-build external libaries we use . We have tested only with SUNs version of the JDK. However, we have removed the dependencies from all sun.* packages that were present in OpenCms 5.0.x so it should in theory run with all compliant JVMs.

We have tested this release only on the Tomcat servlet engine. OpenCms 6.0 alpha 2 works "out of the box" with Tomcat 4.1.x and Tomcat 5.0.x. No replacing of Xerces is required like in OpenCms 5.0.x. Others have reported deploying pre 6.0 alpha versions successfully on other servlet containers like BEA Weblogic, SunONE and JBoss.

On the database side, we have tested with MySQL 4.0.x and Oracle 9.x. The MS SQL Server and the SAP DB port have not been updated to OpenCms 6.0 so far, and we still need volunteers for this task. For alpha 2, we also did some initial testing on MySQL 4.1.x and apparently it works fine. Since MySQL 4.1 has a slightly different syntax when creating tables with Unicode support, we have provided a new database setup driver for MySQL 4.1.x.

In case you run OpenCms 6.0 on components different from our default components (SUN JDK 1.4.x. / Tomcat 4.1.x or 5.0.x / MySQL 4.0.x / Oracle 9.x), please let us know by posting a message to the OpenCms mailing list. We intend to collect a list of "supported platforms". Also, if you had to patch some lines of code to make OpenCms 6.0 run on your platforms, please contribute these so they can be included in the official release.

How you can help

Contributions to the OpenCms core development are most welcome. Please contact in case you are interested in supporting the development of OpenCms 6, or give your feedback on the opencms-dev mailing list.

Please use our Bugzilla to report bugs in this release:

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

Please login:

Alkacon Software © 2002-2005 Alkacon Software
The OpenCms experts