Release Notes for XWiki Enterprise 4.1 Milestone 2

Version 45.1 by Vincent Massol on 2012/05/30

This is the second milestone of the XWiki Enterprise 4.1 version (Roadmap).

New and Noteworthy (since XWiki Enterprise 4.1 version)

Custom Chart Colors

It's now possible to select custom colors in Chart graphs. For example:

{{chart type="pie" source="inline" params="range:B2-D5;series:columns;colors:C3E3F7,1D9FF5,015891,012A45" title="Chart Test" width="320" height="240"}}
|  |X  |Y  |Z

Will generate:


Hide Technical Documents

  • In the activity stream, events (such as edit or delete) triggered by hidden documents does not appear unless the user chose to "display hidden documents" in his user preferences.

Extension Manager improvements

XWiki Enterprise 4.1 milestone 2 comes with a first version of the Merge Conflict Resolution UI. From now on, when your upgrade a XAR extension and the extension manager fails to automatically merge your changes with the changes from the new version of the extension the extension manager will guide you to resolve the conflict.


In its first iteration the UI only allows you to choose which version to keep. You can compare the versions to make the right decision. Only the document content changes are displayed for the moment. The plan is to show all document changes (including meta data, objects, class, attachments) in 4.1 final and to allow you to edit the diff, i.e. create a custom version, in XWiki Enterprise 4.2.

Other minor improvements of the extension manager UI include:

  • Mark 'Show Details', 'Hide Details' and 'Back to list' buttons as secondary buttons
  • Display an "upgrade" button instead of an "install" one when an extension is already installed
  • Better messages for empty search results

See the Extension Manager Application documentation for more details.

Global and per-user timezone setting

Wiki administrators can now decide to use a specific timezone, without having to take care of the one set on the server. The following setting can be found under Administration > Localization.
Users will find the same setting, allowing them to see dates reflecting their current location. The user setting is accessible through Profile > Preferences > Localization Preferences.


For developers

  • There's a new Script Service allowing to access the Component Manager directly from scripts. For example:
    def myComponent = services.component.getInstance(MyComponentRole.class)
  • We added a new Velocity uberspector that tries to convert method arguments to formal parameter types when the passed arguments don't match the method signature. For example:
    // will forward to
    // if obj has a method with signature someMethod(SomeEnum) and not someMethod(String)
    But this is not limited to enums. The conversion is done using the Properties Module which means you can create and register custom converters for data types specific to your application domain.
  • It's now much easier to share variable between languages. For example:
    var = "toto"


    Bug fixes and improvements

    • Filenames of entries in XAR files are now always decoded using UTF-8 during import. The previous behavior was to use the platform encoding. The filenames have always been encoded using UTF-8 in XAR files, but now also the Unicode extra fields are included, so unpacking XAR files with InfoZIP will result in the filenames beeing properly reencoded with the local filesystems character set.  

    See the full list of JIRA issues fixed in this release.


    The following dependencies have been upgraded:

    • Restlet 2.0.14
    • Reflections 0.9.7

    Test Report

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

    Tested Browsers

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


    Tested Databases


    Known issues

    Upgrade Notes

    Version-specific Upgrade Notes

    • The location where the HSQLDB database is located in the Standalone distribution has changed from database/ to data/database in order to group all data in the same directory. The location of the HSQLDB is specified in hibernate.cfg.xml with a default value of jdbc:hsqldb:file:${environment.permanentDirectory}/database/xwiki_db;shutdown=true. Notice the introduction of the new ${environment.permanentDirectory} variable which points to the directory defined in in the environment.permanentDirectory property (which defaults to data for the Standalone distribution). When upgrading, make sure the location you have in your hibernate.cfg.xml file matches the location where your HSQLDB database is located.

    General Upgrade Notes

    If you're running in a multiwiki setup you'll also need to define the property in your xwiki.cfg file if you want to explicitly name some databases to be migrated as the default is now to migrate all databases. Database that are not migrated could not be accessed.

    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.

    API Breakages

    The following APIs were modified since version 4.1:


Get Connected