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 3

12/22/2004: This is the third 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 3 release improves the alpha 2 version with new features for XML content, fully re-written and much improved content galleries, plus support for JDK 5.0 (Java 1.5).

Who should use this 6.0 alpha 3 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 or alpha 2), 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?

We now do expect the final release of OpenCms 6.0 end of Q1 2005. You can help speeding up the process of development by providing 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.

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

  • Support for Java 5.0 / 1.5 and PostgreSQL:
    • Fixed issue with setup wizard in JDK 5.0
    • OpenCms now installs and runs with JDK 5.0 (please note: no exhaustive tests have been done so far)
    • Added support for the PostgreSQL database (thanks to Antonio Core for his contribution)
    • Optimized DB queries and index generation for MySQL
    • Improved DB performance on MySQL after heavy testing
  • JSP based re-implementation of the "Galleries" with new features:
    • Added new "Image gallery" dialog for WYSIWYG editor (also available as XML content widget)
    • Added new "Download gallery" dialog for WYSIWYG editor (also available as XML content widget)
    • Added new "External link gallery" dialog for WYSIWYG editor (also available as XML content widget)
    • Added new "HTML gallery" dialog for WYSIWYG editor (also available as XML content widget)
    • All galleries are now available for the (optional) HTMLArea editor
    • Modified VFS to allow multiple folder resource types
    • Added new resource types for image, download, link and html galleries
    • Resource "type change" dialog can now also change the type of a folder (e.g. to a gallery type)
  • XML content improvements and new features:
    • Added XML content handler interface for special action in the XML content lifecycle
    • Added full text search capabilities for XML content data
    • Default implementation of XML content handler is org.opencms.xml.content.CmsDefaultXmlContentHandler
    • XML content now allows variable mapping of XML content widgets to schema types
    • XML content editor can now handle optional elements (min occurs = 0) from the XML schema
    • XML content editor can now handle multiple elements (max occurs > 1) from the XML schema
    • XML content now allows validation and error handling in editor with customizable validation rules
    • Widgets for XML contents can now be configured independent from schema types
    • Removed "index" attribute from "contentshow" tag (use "element=name[1]") to directly access an element index value > 0
    • Added support for nesting XML content definitions
    • Added internal caching for XML content definitions
  • Further improvements:
    • Source code for the 'templateone' default module is now available in the src-modules CVS subfolder
    • VFS resource types and Workplace context menus can now be added by a module
    • Configuration of default VFS files (e.g. index.html) has been moved to opencms-vfs.xml
    • Added GUI to modify property values and delete definitions in Administration view
    • Property definitions can be deleted from Admin GUI even if resources still use the property
    • Added support for language - country based locales in the Workplace
    • Updated Lucene to latest stable version 1.4.3, plus an additional patch to prevent NPE in the Lucene index manager
  • Resolved Issues:
    • Fixed issue with deleted users or groups causing "orphan" ACE entries (causing NPE errors in the Workplace permission dialog)
    • Fixed issue with upload applet not working in root site "/"
    • Fixed issue with HTML comments in editor causing invalid HTML documents
    • Fixed issue with shutDown() method of modules not being called
    • Fixed issue with Lucene search engine not correctly indexing pages based on non-ISO encoding
    • Fixed issue with password change being broken in the user administration
    • Fixed issue with "https" scheme not correctly working in site configuration

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
  • 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!

The development of the Content Releationship Engine (CRE) initially scheduled for the 6.0 release has been moved to a version past the 6.0 release.   

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 3 is "build_5_5_4". 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. or Java 1.5.x. It won't work with Java 1.3.x. 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, Tomcat 5.0.x and Tomcat 5.5.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, MySQL 4.1.x and Oracle 9.x. PostgresSQL support has been contributed as well thanks to Antonio Core, but we at Alkacon have not tested it. 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.

In case you run OpenCms 6.0 on components different from our default components (SUN JDK 1.4.x. / Tomcat 4.1.x, 5.0.x or 5.5.x / MySQL 4.0.x or 4.1.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 3 :-)

Please login:

Alkacon Software © 2002-2005 Alkacon Software
The OpenCms experts