Development status of the next OpenCms version
Development on the next major release of OpenCms is progressing. The next major OpenCms release version will be OpenCms 6.0.
The release date of OpenCms 6.0 is the second half of 2004, hopefully in Q3.
We consider the current development status to be 6 pre-alpha, the version number being 5.3.x. Until we finally publish OpenCms 6, we will continue to use 5.x as version numbers. 6 alpha will have version numbers 5.5.x, 6 beta will use 5.7.x, 6 release candidates will use 5.9.x (ok this might be confusing).
Anyone who regular works with OpenCms (or even earns money with it) is encouraged to try the current development status from CVS to see what's coming. A lot is already finished and now it's the best time to provide feedback on the new functions. We will start making binary downloads available on opencms.org when we reach the late alpha / early beta phase of OpenCms 6 development.
Development roadmap and feature list for OpenCms 6.0
Finished tasks (already available in current CVS HEAD):
- Resource permissions in the VFS are now managed in ACLs instead of Unix - style
- Multiple websites can now be managed in one OpenCms installation
- Allow multi-language versions of the same page and improved support for managing multi language websites
- Implement a "Direct Edit" feature that 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)
- Start rewriting the OpenCms workplace in JSP, adding new features and much improved usability
- Build-in support for full text search in HTML, PDF, Word and Excel (based on Apache Lucene)
- Start rewriting the static export, already finished is new "on demand" export of resources
- Implement new, cleaned up XML page API to replace old XMLTemplate
- The OpenCms VFS has been made more scalable, so that OpenCms can be used better for document management
- 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
- Logging now uses log4j from Apache Jarkarta
- Heavily modified the database model and completely rewrote the database access class layer
- 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
- Removed dependency on Xerces1, OpenCms now also works fine with Xerces2
Open tasks to be finished before OpenCms 6 is released:
- Full support for Mozilla 1.4 upwards, especially adding a WYSIWYG editor
- Finish rewriting static export by adding a "full static render" functionality
- The setup wizard will be improved, it will also provide help for the 'known' issues (e.g. setting the encoding)
- The most important management functions (e.g. cache maintainance, system status) will be exposed to allow JMX containers to manage OpenCms
- New/Improved module mechanism (tentative) - we will either implement a new or greatly improve the existing module mechanism for "structured content" like news etc. (not much has been decided now, and this point might be pushed behind 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 and require almost no modification. However, for the sake of a clean and structured API, we have decided to make improvements on the API level that will likley break existing code. This means some 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 by just a matter of exchanging these import statements and some minor adjustments.
Regarding support for XmlTemplates
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 (at last with our own resources).
How you can help
Contributions to the OpenCms core development are most welcome. Please contcat 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 list.