Nuxeo EP 5.4 release notes
We have released today Nuxeo EP 5.4, which includes the following packages:
- Nuxeo DM (Document Management) [more info]
- Nuxeo CAP (Content Application Platform) [more info]
- Nuxeo Core Server [more info]
- Improved the packaging and deployment models (including support for JBoss AS 5.1).
- New Administration Center, Update Center and Marketplace.
- Repository improvements including better CMIS support (based on Chemistry/OpenCMIS)
Detailed release content
Infrastructure improvementsThis 5.4 release comes with significant infrastructure improvements. The main goals of these improvements are:
- To be able to support more deployment targets.
- To be able to run on containers with little or no modifications.
Dependencies managementThe Nuxeo dependencies management system has been changed:
- to be more compliant with OSGi.
- to be more consistent.
deployment-fragment.xmlfiles now hold all the deployment dependencies information (there is no more need to worry about classloader issues in Java and JEE deployments). All standard Nuxeo Bundles have been migrated to this new model, but a compatibility mode is also provided.
Deployment modelWe have also worked on simplifying how the Nuxeo platform can be deployed on JEE server like JBoss. Basically, we have reduced the configuration changes and upgrades needed at the application server level to deploy Nuxeo. To do that, we have aligned Nuxeo JEE deployment on JBoss AS 5.1, thus reducing the upgrade needs (Nuxeo's JBoss 4.3 was indeed massively updated and patched). Nuxeo can now be deployed on JBoss AS 5.1 / EAP 5.01 in 2 modes:
- dynamic EAR:
- exploded EAR that can support dynamic addition of components and configuration
- single external deployer lib
- static EAR:
- solid EAR with fixed configuration
- no external nuxeo lib needed
While redefining how Nuxeo is deployed on JBoss AS, we have also aligned the JBoss packaging with the Tomcat packaging, so now all distributions use the same logic for assembly and deployment.
Because JBoss AS 5.1 is consumes significantly more memory than the previous version, we switched the default distribution to be the Tomcat one.
This distribution does not contains an EJB3 container, but:
- we have integrated a JTA transaction manager and a JCA connector (so it's safe and efficient)
- it uses far less memory than the full JEE deployment
- it starts a lot faster (which is important for the development and test phases)
OSGi deployment compatibilityThe
MANIFESTfiles of Nuxeo Bundles have been aligned on the OSGi spec so that they can be used by an OSGi runtime like Eclipse Equinox to deploy and run Nuxeo components.
This was already the case for some bundles on Nuxeo EP, but the support has been extended to all platform bundles except the some Web Layer components.
We are currently finishing the setup of OSGi repository for third party libs and working on the best procedure to allow to run and develop with Nuxeo EP using both Java/Maven and OSGi modes.
Now that the infrastructure work has been done, the additional documentation and tools should be available is a few weeks.
Third party lib upgradeAs a side effect of the JBoss AS 5.1 alignment, this 5.4 release comes with upgrades for several third-party libraries used by the framework:
- JBoss Seam
- RichFaces / JSF / Facelets / JSTL
- Nuxeo patches are not needed anymore (we upgraded to version where the bugs are corrected)
- No more need to upgrade / patch the libraries in the application server (we aligned on JBoss AS 5.1)
- Leverage new features available (Oracle 11 support in Hibernate, Seam RSS and Excel generation...)
- A clean JBoss packaging that can be used on a vanilla JBoss AS 5.1
- Support for static EAR deployment that opens the way for supporting many more application servers
- Support for deployment on OSGi environments like Eclipse Equinox
Content Repository (Nuxeo Core)As usual, this new release of Nuxeo DM comes with some improvements inside Nuxeo Core (the Nuxeo Content Repository).
Among the different changes, the main ones are:
Versioning modelNuxeo 5.4 introduces a new versioning model that supports explicit check-in and check-out.
From the Nuxeo DM web interface changes are very small, but some low level API were added:
- you can now have Documents that are only checked in (not checked out "live" documents)
- it's now very easy to use the "private working copy" model
- some projects wanted to have explicit check-in / check-out actions
- it provides a better mapping for CMIS
Query and IndexingQueries (NXQL) have been enhanced with support for additional features:
- ILIKE (case-insensitive LIKE) can now be used with multi-valued properties
ecm:fulltextsearches can be done in a single query
- the fulltext query syntax has been extended to support OR, negation, and phrase search for databases that support it (http://doc.nuxeo.com/display/NXDOC/Fulltext+queries)
- you can now make negation comparisons on a path (
ecm:path <> '...')
VCS Client modeThe VCS back-end (Nuxeo's native SQL store) now supports a client-server mode, where a Nuxeo instance can access via http to a remote VCS repository in a very efficient way:
- Transactions are propagated and all clients have Read/Write access
- The VCS Client acts as a proxy cache to the remote repository
JCR support discontinuedWe have decided to discontinue the support of the JCR Backend starting with the 5.4 version.
This decision is driven by the following facts:
- All the people (that we are aware of) running recent version of a Nuxeo distribution are using the VCS Backend
- Some crucial features are only available in VCS (Clustering, Tagging, Join Queries, Core Relations, VCS Client...)
- JSR-170 is not the preferred interoperability solution now that CMIS is available
CMISNuxeo 5.4 now includes the new CMIS java implementation provided by the Apache Chemistry project: OpenCMIS.
This new binding provides a broader support for the CMIS standard:
- versioning support
- audit support
- better CMISQL query support (including JOINs and fulltext search)
- better document names
- full AtomPub and SOAP bindings
UI and customizationNuxeo 5.4 comes with additional or improved tools to help you easily customize your Nuxeo Application.
Widgets, Layouts and Content ViewsThe Widgets and Layouts system has been improved:
- More properties on layouts to handle column selection
- Easier Studio configuration and documentation thanks to widget types export information
- Better AJAX refresh and dynamic generation of layouts
In addition, Nuxeo EP 5.4 introduces a new concept: Content Views.
Content Views provide a single concept to define and configure:
- A parametrized query
- A form to enter parameters for the query
- Result columns selection, associated layout and batching size
For more details about Content views, please see the online documentation.
This is also the infrastructure used to built Faceted Search.
Content views are configurable via XML and via Nuxeo Studio so that you can easily customize the search and result screens.
The Content Views and Layout system have been designed as generic as possible, so in the next months we will introduce:
- Content View support for Audit entries and Directories
- Content View and layout support in GWT and WebEngine
- RSS, ATOM, CSV and Excel exports on Content Views via dedicated layouts
You can already find on the market place the [TODO: "Smart Search" link] addon that uses Content Views to provide smart folders.
Faceted SearchNuxeo DM now integrates a new navigation system (based on Content Views): Faceted Search.
This new tools allows you to:
- Navigate via search and easily refine your search
- Save your searches
- Share your saved searches
- Easily adapt the search facets to your business needs (via Content Views and Studio)
Theme editorThe theme editor has been deeply redesigned in order to be easier to use.
Several customization levels are now provided:
- Presets selection (via Theme banks)
- CSS edition
- Full featured theme editor (including canevas and fragments)
Administration and addons managementThe 5.4 release comes with a new Admin Center where we added all the new administration related features.
Update center and marketplace for addonsThe Update Center is really one of the corner stones of this new release of the platform.
We have built Nuxeo EP as a very modular platform so that you can easily deploy additional components and configurations.
Nuxeo Update Center is basically a way to easily leverage this powerful characteristic.
If you look at our source repository you will see a lot of available addons and sandbox projects for Nuxeo EP. Some addons have also been developed by partners or our cummunity, and are available in other repositories.
The main problem until now was that you have to build them and install them "by hand" in your instance.
With Nuxeo Update center, we are able to make theses additional features easily accessible.
The package installation system manages all the required work for you:
- Download the package
- Check and download required dependencies if needed
- Run the installation
- Hot-reload when applicable
- Provide uninstall procedure
In addition, Nuxeo Update center will also be used to provide update packages such as:
- Back-ports of patches and performance improvements
- Previews of upcoming new features
Among the numerous projects using the Nuxeo platform, we know that some of you have developed great plugins that could benefit the community.
We will provide tools and support for those who are interested in publishing their addons.
When used in conjunction with Nuxeo Studio, the Update Center allows you to easily download and install your Studio Project.
This provides a efficient solution for both:
- Rapid development and testing cycle with Nuxeo Studio
- Easy deployment solution
Anyway, this is just the beginning and you are all welcome to test and play with this Update Center and the Marketplace, and also to give us feedback about them.
MonitoringThe Admin Center also integrates some of the monitoring features we have developed for projects:
- Event bus statistic collection (Useful for detecting bad listeners and monitor event bus activity)
- Extensible Probe system (Useful to check availability for some services and collect metrics about you Nuxeo based application)
- Status management (Useful to enable/disable high level services)
Improved the configuration templating systemNuxeo configuration templates have been improved and extended:
- update for JBoss 5 compliance
- update for Tomcat compliance (with new standardized structure)
- new templates for Tomcat: PostgreSQL, Oracle, MsSQL (MS-SQL Server)
- new templates for JBoss: MsSQL (MS-SQL Server)
- new templates properties: cluster options, parsed files extensions
- allow use of other JBoss configuration than "default"
- ability to deploy resources anywhere in the server using
- templates files to be parsed are configurable, allowing use of template to deploy binaries for example
- JBoss templates use the
nuxeo.data.dirproperty (like Tomcat templates) instead of
- ability to change binaries directory
- manageable from the Admin Center
You can now directly change the templates properties without directly editing files on the server.
This provides, for example, an easy way to do simple configuration changes like:
- Select the Database config (easy switch to PostgreSQL or Oracle storage)
- SMTP settings
- OpenOffice.org server configuration
Misc improvementsMore than 150 tasks where closed for this release, among them we can state:
OOo integrationNuxeo EP now integrates a new version of JODConverter that includes a complete manager for an OpenOffice.org process pool.
WebEngine improvementsWebEngines application are now by default fully stateless and transaction aware.
Content Automation improvementsSome additions have been made to Content Automations, in particular in the scope of the new Nuxeo Document Routing service.
Java 6 support onlyWe discontinue support for Java 5 starting with this release.
Code migration5.4 is backward compatible with 5.3.2 (no compat package is needed).
Packaging and dependenciesThere are some changes in the bundles packaging and dependencies declaration.
Please see http://doc.nuxeo.com/display/NXDOC53/Migration+to+5.4+and+JBoss+5 for a step-by-step guide.
AcknowledgementsThis release was made possible thanks to the hard work of the whole Nuxeo development team and to many external contributions (ideas, bug reports, bug fixes, translations, code contribution) from our customers, partners and community.
Overall, 450 tasks and issues have been closed in the course of this iteration, which is a new record!
Next stepsCome to Nuxeo World next week where we will discuss with our community in greater details all the new features of the Nuxeo EP 5.4 release, as well as brainstorm our plans for the next major release, scheduled for 2011.
Category: Product & Development