Release Notes for XWiki Enterprise 3.3

Version 6.1 by Vincent Massol on 2011/12/15

Following the goals established for the 3.x cycle, XWiki Enterprise 3.3 delivers the first usable but experimental versions of App Within Minutes and Extension Manager features.

New and Noteworthy since XWiki Enterprise 3.2

App Within Minutes (Experimental)

This feature is experimental at this point which means you shouldn't use it in production at this stage. However we need the maximum number of feedback on this new feature in order to finalize it and to make it reach the production-ready status which we'd like to reach in 3.4 or 3.5.

This feature offers a wizard to help you create collaborative web applications within minutes, based on XWiki's powerful structured data management system.

Check the App Within Minutes documentation for more details.

Extension Manager (Experimental)

This feature is experimental at this point which means you shouldn't use it in production at this stage. However we need the maximum number of feedback on this new feature in order to finalize it and to make it reach the production-ready status which we'd like to reach in 3.4 or 3.5.

Check the Extension Manager Application documentation for more details.


Link Checker

It's now possible to check the statuses of all external links found in your wiki.


FAQ Application

A new FAQ application is now made available (but not bundled by default in XWiki Enterprise):


Better support for exporting CJK documents as PDF

CJK characters, shorthand for Chinese, Japanese and Korean, need special fonts not provided in the standard 14 fonts required by the PDF specification, nor in the FreeFonts distributed and enabled by default with XWiki. Starting with this version we also distribute three new free fonts, along with the configuration needed to enable them for their target languages.


LDAP user membership improvements

Organization unit and search filter support have been added in the group membership mapping settings. To use them, replace the group DN with an organization unit DN or with any search filter.

Attachments improvements

Since the filesystem attachment storage allows uploading very large files, a necessary improvement is to be able to pause and resume downloads. Starting with this version, it is possible to do so, since the /download/ action now respects the Range HTTP header.

Several bugs with downloading attachments when the filesystem storage is enabled have also been fixed, making this feature ready for production use.

Debian packages

Starting with 3.3 Milestone 1 Debian packages and repositories are released.

You can add one of the following list files to /etc/debian/apt/source.list.d/:

sudo wget -P /etc/apt/sources.list.d

For Developers

Script services for Application Manager and Wiki Manager

There are script services now available for the old application and wiki manager plugins. You can access them via $services.applicationmanager and $services.wikimanager, and call all the methods previously exposed by their respective plugin APIs. For the moment the plugins are still there, with the script services just bridging them to the new preferred way of accessing APIs from Velocity scripts.

Cache improvements

Several bugfixes and improvements have been committed, affecting the rendering cache, the cache macro, and the cache infrastructure in general. An important change is the introduction of an infinispan-based cache implementation, replacing JBossCache as the default one.

New xdom+xml syntax

The rendering now come with two reference XML based syntaxes which are the exact representation of rendering events.

Two variants are provided:

  • 1.0: a stable syntax which represent the rendering events in the state they had when this version has been released. If anything change a new version of the syntax will be created (1.1, etc.)
  • current: always in sync with rendering events whatever the version but also mean that it can change anytime without warning, only use that for internal use when you are sure you will render and parse with the same version of XWiki Rendering

XE and XEM XAR changes

The XAR plugin by default doesn't bundle dependencies anymore, so the XE and XEM XARs now come in two variants:

  • the old xwiki-enterprise-wiki module has been renamed into xwiki-enterprise-ui, and produces a XAR only with the documents specific to XWiki Enterprise, without dependencies;
  • the full XAR with all the dependencies bundled in it is now produced by the xwiki-enterprise-ui-all module.

JSR330 Provider Support

XWiki now supports JSR330 Providers.

They are useful for the following use cases:

  • You wish to break a cyclic dependency
  • You wish to lazily get a component instance (instead of it getting injected when your Component is looked up the first time)
  • You wish to control how you return the instance you're providing for. For example you may wish to read the Component Hint from a configuration file and return the instance of the Component matching that Hint dynamically

Component Event Improvements

The registration and unregistration event triggered by a component manager is now perfectly paired. Registering an existing component role and hint now trigger the unregistration event before registering the new component.

New Disposable interface for Components

To prepare the future uninstallation feature of the Extension Manager, singleton components could now implements the Disposable interface. This interface require a single dispose() methods that will be call when a singleton component is unregistered from its component manager. When a singleton component has been created, this could happen in three cases:

  • the component role and hints is explicitly unregistered
  • another component role with same hints is registered and therefore replace the existing component
  • the component instance is explicitly released calling the release function in the manager

Components that require a singleton component should be aware that the instance provided is now subject release and should prevent from accessing a component that have been released. This could be done by observing the registration events of the component manager. The Unregister Event is always triggered when a component is released.


The following dependencies have been upgraded:

  • commons-lang 3.1
  • Groovy 1.8.4
  • LogBack 1.0
  • Selenium 2.13.0
  • SLF4J 1.6.4
  • Maven AntRun Plugin 1.7
  • Maven Shade Plugin 1.5
  • Maven Checkstyle Plugin 2.8
  • CSS4J 0.13
  • JGroups 2.12.2
  • Reflections 0.9.6


  • Make it simple to add Icon Transformation mappings when using the Rendering in standalone mode
  • Add support for being able to override components more than once TODO: Document it and linke to the documentation
  • Bundle the Icon and WikiWord Transformations in the Rendering Standalone JAR
  • Comments Macro is not bundled in the Rendering Standalone JAR
  • Allow setting time to live and max entries when using the Cache macro
  • IRC Bot application improvements
  • Move to JBoss Infinispan as default cache implementation
  • Application Manager and Wiki Manager plugins now expose a ScriptService and don't need to be added as plugin in xwiki.cfg file anymore. You can access they using $services.applicationmanager and $services.wikimanager.
  • The Dashboard feature which was part of several applications (XWiki Enterprise Application and Administration Application) has been extracted into in a separate Dashboard Application. There's now a new Dashboard space which is visible in the list of spaces on the XE home page.
  • XRENDERING-161: Starting with XE 3.2 we had introduced caching of rendered content to improve performances but that led to a huge increase in memory needs. We've now tuned this and we've been able to keep the performance improvement and at the same time to drastically reduce the memory need.


The following translations have been updated: 

Supported Browsers

Here's the list of supported browsers for this version (i.e. browsers that we've tested as working):

Internet Explorer
Internet Explorer

Supported Databases

Here's the list of supported databases for this version (i.e. databases that we've tested as working):

  • Oracle 10g and 11g
  • MySQL 5.x

Known issues

  • Bugs we know about
  • We've had reports that support for PostgreSQL has been broken since XWiki Enterprise 3.2. If you're using Postgre SQL we recommend you to stay on XWiki Enterprise 3.1.1 and wait for its support to be fixed in upcoming 3.3.1 or 3.4 versions.

Test Report

You can check the manual test report to learn about what was tested and the results on various browsers.

Backward Compatibility and Migration Notes

General Notes

If you're running in a multiwiki setup you'll also need to define the property to your xwiki.cfg file or explicitly name all databases to be migrated as in,db2,....

You may also want to import the default wiki XAR in order to benefit from all the improvements listed above.

Always make sure you compare your xwiki.cfg and files with the newest version since some configuration parameters were added. Note that you should add so that XWiki will attempt to automatically migrate your current database to the new schema. Make sure you backup your Database before doing anything.

Issues specific to <projet> <version>

<issues specific to the project>

API Breakages

The following APIs were modified since <project> <version - 1>:

<clirr output here>

Get Connected