Release Notes for OpenCms 6.0 beta 3
04/28/2005: This is the third public binary BETA release of
OpenCms 6.0. OpenCms 6.0 is a major upgrade, and it vastly expands
the features of OpenCms 5.0. The beta 3
features important enhancements as the improvement of SQL
queries, the implementation of tablegalleries and many extensions
of the "templateone" module. It also contains numerous fixes
applied since 6.0 beta 2. We are confident that this third beta
release is pretty stable, since 6.0 is already used successfully in
quite a lot of "live" installations.
Who should use this 6.0 beta 3
This is a beta version. Please don't expect it to be perfectly
Having said that, we believe that this 6.0 beta 3 version
is certainly stable enough to be used in a production system. It's
likely to be more stable than the current "stable" 5.0.1 release.
The main reason for still being in "beta" status is that we want to
fully re-write the Workplace "Administration" view before we
announce 6.0 as finished.
If and how you should use this version depends on what your
- If you are starting a new OpenCms project, you should
use this 6.0 beta 3 and not 5.0.1.
- If you are currently using any previous 6.0
development release (e.g. 6.0 alpha 1, 2, 3 or beta 1, 2), you should upgrade
to this new version in case you have encountered issues with the release you
are using. If this is not the case, you may as well wait until the 6.0 final
release is out.
- If you are running a website based on OpenCms 5.0.1, and you
want to upgrade, you should wait until the final 6.0 release is
When will the "final" release of OpenCms 6.0 be
End of Q2 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 beta 3
release compared to the beta 2 version:
- Improvements and additions to the "templateone" demo:
- "templateone" can now be configured to either
display the "accessible" or "classical" (HTML table based) version
- "templateone" data is displayed in the "accessible"
version by default
- "templateone" now allows individual header styles
for each microsite
- Added read-to-use "news" module to "templateone"
- Added read-to-use "jobs" module to "templateone"
- Added read-to-use "events" module to "templateone"
- Added read-to-use "faq" module to "templateone"
- New "Table
- Supports "copy & past" from spreadsheets (e.g.
Ecxel) into a HTML table format
- HTML output format of the tables can be controlled
with XSLT formatting
- Also supports uploading of CSV data which is then
transformed to a HTML table
- All correctly configured "galleries" are now
automatically displayed in all WYSIWYG editors
- "Table gallery" also available as widget for XML
- Improvements of SQL queries:
- Optimized SQL query statement for reading all
resources with a certain property value
- Applied PostgreSQL patches supplied by Antonio
- Introduction of a "roles"-concept in OpenCms
- System functions are not longer accessible by
"Administrators" only, they now require a certain role instead
- This feature will be fully implemented until 6.0 final
- Improved Localization in OpenCms
- CmsMessages can now handle localized keys with
- Improved implementation of CmsException (and it's
subclasses) to be more standard compliant
- Improved logging configuration on system startup to
allow static log members in all classes
- Started to localize all internal OpenCms Exceptions
and Log messages
- Improved implementation for localized keys in the
- Added utility classes to org.opencms.i18n for convenient
dealing with localized core messages
- Further improvements:
- Final design of the "New Administration" view
- It's now possible to activate and deactivate
scheduled jobs and to update and remove a job from the scheduler
- Added "search in search result" functionality
- Added option for nested macros in CmsMacroResolver
- It's now possible to add the Workplace context menu
configuration for a new resource type in a module
- New "Textarea" Widget for XML content for simple
multiline String input
- Added implementation of a list "widget" for display
of manageable objects in the "New Administration"
- Updated log4j.jar to latest version 1.2.9
- Updated quartz.jar to latest version 1.4.5
- Resolved Issues:
- Fixed issue in static export for binary resources
- Fixed issue in database export of resources where a deleted
"created by" user caused an Exception
The most important new features in this release compared
to the 5.0.x version:
- Multiple websites can now be managed in one OpenCms
- 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
- All new, much more user friendly "Administration"
pages (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"
- It's not poossible to configure a "secure" (e.g.
https-) server for a site
- Individual documents can be marked as secure, so
that they are transmitted via this secure server
- Optimizations of search queries for the full text
- 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
Explorer 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
- The OpenCms VFS has been made much more scalable,
bottlenecks like the slow Explorer 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
- All known issues with Oracle 9.x that were present in
5.0.x have been solved
- Logging now uses log4j from Apache Jakarta
- 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
- The rest of the "Administration" view is to be
re-implemented in the new tool API
- Write documentation how to update from 5.0 to 6.0
- Testing and bug fixing - your feedback is required!
Please note: The development of JMX for OpenCms and the Content
Relationship Engine (CRE), both features initially intended for the
6.0 release, will not make it in the 6.0 release. We hope to add
these features in a later version.
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
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
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.
Regarding version numbers and CVS build
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 beta
releases are "build_5_7_x", e.g. 6.0 beta 3 is "build_5_7_3".
Until we finally publish OpenCms 6, we will continue to use 5.x as
internal CVS build tag numbers. 6 alpha had CVS build tags 5.5.x,
the 6 beta now uses 5.7.x, and 6 release candidates will use
Regarding compatibility with other JVMs / Servlet
containers / Databases
OpenCms 6.0 beta 3 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 beta 3 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 6.0
development 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 firstname.lastname@example.org in
case you are interested in supporting the development of OpenCms 6,
or give your feedback on the opencms-dev
Please use our Bugzilla to report bugs in this release: http://www.opencms.org/bugzilla/
Thank you for using OpenCms and have fun with OpenCms 6.0
beta 3 :-)