Release Notes for OpenCms 6.0 beta 1
02/21/2005: This is the first 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 1 features the first look of
the new OpenCms "Administration" view. It also contains numerous fixes applied since 6.0 alpha 3. We are confident that this first
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 1 version?
This is a beta version. Please don't expect it to be perfectly
Having said that, we believe that this 6.0 beta 1 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 starting a new OpenCms project, you should use this 6.0
beta 1 and not 5.0.1.
- If you are currently using any previous 6.0 development release
(e.g. 6.0 alpha 1, 2 or 3), 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. I promise this is the last delay and time the
release date is for real!
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 1 release
compared to the alpha 3 version:
- Documentation available for 6.0 features:
- This release contains the first version of the "Alkacon
Documentation" for version 6.0
- The documentation of the 5.0 release was updated to reflect the
6.0 changes where required
- New documentation modules for XML content, Multisite
configuration and how to use the "Direct Edit" feature are
- Improvements and additions to the "templateone" demo:
- "templateone" demo now features a configurable email form
- "templateone" demo horizontal menu navigation can now be
configured to show sub-levels of navigation
- "templateone" demo horizontal menu navigation allows optional images in the first level
- Redesign of the "Administration" view:
- The "Administration" view in the OpenCms Workplace is in the
process of being modularized to allow easier update of individual
- First version of new API for the development of Workplace
- First implementation of several tools of the "Administration"
screen, currently available as "New Administration"
- Unified the css files of the Workplace in one JSP that
generates different css versions
- Modules are now distributed as .zip files to avoid issues with
long path names in MS Windows
- XML content improvements and new features:
- Added selector widget for XML content to create dropdown
selections in the editor
- Added <cms:contentcheck> tag to provide information about XML
content inside a <cms:contentload> tag
- Parameters to the <cms:contentload> tag can now be passed as macro
variables, including properties, request parameters etc.
- Added support for paging of results from
<cms:contentload> tag (demo is missing, sorry)
- Further improvements:
- Improved performance of internal Lucene search by not
calculating the excerpts for all results
- Updated PDFbox for better results searching in PDF
- Added master implementation of SQL manager that delivers
connections to the configured database
(this means applications running in OpenCms can now access the
OpenCms core connection pool through an API)
- Static export "file scrubbing" can now be customized
- Added logging option to site manager for debugging site
- Height of popup windows in WYSIWYG editor now automatically
adjusts to content height
- Permission ACL for folders are not longer automatically
inherited to subfolders, only to files in the folder
- Added configurable user options to expand/collapse ACL
permission dialog details
- New module build.xml file available for easy building of
- Modules are now distributed as .zip files to avoid issues with
long path names in MS Windows
- Resolved Issues:
- Fixed issue with stray locks of deleted new resources sticking
in the lock manager
- Fixed several small issues in the static export
- Fixed issue with http headers not being written according to
- Fixed issue with "help bubbles" hidden behind input elements in
XML content editor
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" among
- 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
- 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
- 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 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
- 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
- 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 1 is "build_5_7_1".
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 1 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 1 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 mailing
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 1