Release Notes for XWiki 5.2

Version 11.1 by Marius Dumitru Florea on 2013/10/02

This is the release notes for XWiki Commons, XWiki Rendering, XWiki Platform and XWiki Enterprise. They share the same release notes as they are released together and have the same version.

Warning

The support of XWiki Enterprise Manager is stopped. XWiki Enterprise now comes with the ability to create (sub)wikis by default, see below.

<insert description of release here>

New and Noteworthy (since XWiki 5.1)

Full list of issues fixed and Dashboard for 5.2.

Multi-wiki Support

XWiki Enterprise comes now with the ability for users to create their own wikis (a.k.a subwikis) without the need to install additional extensions. This supersedes the notion of "workspace" and consists in the integration of the Workspace Application in the default XWiki distribution.

add-wiki.png

This new menu entry appears only if a wiki template is created first, see below.

Wiki Creation Right

The wiki creation is now possible for users who have the "createwiki" right. This right is only available for the main wiki users, exactly like the Programming Right.

Wikis Administration Section

A new section is available in the administration of the main wiki. In this section, you can enable the wiki creation feature by creating a wiki template. It also manages who has the right to create new wikis.

admin-wikis.png

Wiki Creation Wizard

A new wizard for the creation of a new wiki is now available from the "Add" menu.

createwiki1.png

createwiki2.png

Home Menu

A new top level menu is available when there is more than one wiki.

mainwiki-homemenu.png

workspace-homemenu.png

The "main wiki" (the first you have when you start a new instance) is now called "Home".

Solr-based Search Suggest

Starting with this version the search suggest feature takes into account the configured search engine. To achieve this we added a new property to SearchSuggestSourceClass that specifies the search engine used by the source. We also created a search suggest service based on Solr and we added search suggest sources that mimic the behaviour of the existing Lucene-based sources. As a result, the search suggest feature is now using Solr by default (as Solr is the default search engine starting with 5.1).

We also improved the search suggest administration section

searchSuggestAdminSection.png

and we simplified the source creation form.

searchSuggestSourceForm.png

The live search now displays a message when there are no results.

liveSearch-noResults.png

Distribution Wizard Step to Upgrade All Wikis

We added a new step to the Distribution Wizard to update the default set of wiki pages on each of the existing wikis. This step is triggered only if you choose to upgrade the entire farm in the "Upgrade Mode" step.

dw-wikisStep.png

Active Installs Tracking

It' very important for the open source committers to understand how well or how badly they're faring when developing the XWiki open source project. So far we didn't know if the number of people using XWiki was increasing, decreasing or staying stable. This module allows us to know who's using XWiki.

It does the following:

  • A client side JAR is bundled with XWiki and it sends a ping with data once per day
  • A server side Application is installed on xwiki.org, allowing us to query the data sent and to display a counter of Active Installs of XWiki (i.e. installs for which we've received a ping in the last N days, for example at least one ping in the past month).

The data sent is anonymous and consists of the following:

  • A unique id (UUID) representing the XWiki instance. Note that not even the IP is kept and there's no way to find who's having a give UUID (it's generated using Java's UUID implementation)
  • The date of the ping
  • The XWiki distribution id (e.g. org.xwiki.enterprise:xwiki-enterprise-web)
  • The version of your XWiki distribution (e.g. 5.2)
  • The technical ids and versions of extensions you have installed.

This will allow us to present the following data:

  • Number of total installs of XWiki
  • Number of Active Installs
  • Most used extensions across versions of XWiki
  • How frequently the XWiki user base upgrades to newer versions of XWiki

stats.png

Information

In the near future we'll offer a UI feature to opt-out (in the Administration pages) but at the moment if you wish to opt-out (please don't, we need your help, knowing who's using us and that it's growing is what keeps us motivated to continue developing XWiki!), then simply remove the WEB-INF/lib/xwiki-platform-activeinstalls* JAR and restart.

Reference documentation:

Toggle Email Address Obfuscation

The email configuration section in the Administration now has an option to enable/disable the obfuscation of the email addresses that are stored in object properties of type Email. The obfuscation is done by displaying only the first letter of the email account, e.g. a...@domain.org, the rest of the letters being replaced by an ellipsis. Email obfuscation is off by default.

generalEmailSettings.png

Markdown Syntax 1.1

We've added version 1.1 of the Rendering Syntax for Markdown, adding support for:

  • Macros
  • Superscript and subscript
  • (X)HTML improvements

Export Large Wikis as XARs

It's possible to enable the use of new WikiStream framework in standard export action (use in the standard export UI for example). Among other things it allows exporting a wiki of pretty much any size.

WikiStream is too young to be enabled by default and will require heavy testing. In the meantime you can try it by uncommenting # xwiki.action.export.xar.usewikistream=1 at the end of xwiki.cfg file.

Miscellaneous

  • The user profile menu is now consistent with the administration menu.

    userProfile.png

  • The line chart type has two parameters, hideShapes and hideLines, to hide the shapes used to display the data points or to hide the interpolation lines that connect the data points.

    lineWithoutShapes.png

  • When creating or editing a template provider the template name field is now mandatory.

    templateNameMandatory.png

  • The checkboxes for the global rights settings are now displayed on the left of their labels.

    RightsAdministration-CheckboxOnTheLeft.png

  • The blog application is now packaged by default in the Home wiki only (not in new wikis).
  • The "Create a new wiki" link has been removed from the wiki index. Now, you can only use the Add > Wiki menu.
  • The Distribution Wizard does not appear anymore just after creating a new wiki based on the default template.

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

For Developers

<developer feature N>

<description of developer feature N>

Deprecated and Retired projects

Upgrades

The following dependencies have been upgraded:

  • Aether 0.9.0.M2 (moved from org.sonatype.aether to org.eclipse.aether)
  • CSSParser 0.9.9
  • Groovy 2.1.7
  • HSQLDB 2.3.0
  • Infinispan 5.3
  • JGroups 3.3.4
  • Maven 3.1.0
  • Tika 1.4
  • Xerces2-Java 2.11.0

Miscellaneous

Translations

The following translations have been updated: 

Tested Browsers & Databases

Known issues

Backward Compatibility and Migration Notes

General Notes

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

Warning

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

Solr Index Format Change

If you're upgrading from XWiki 4.5.x to this version you'll need to perform a full re-indexation when using the Solr Search. This because in XWiki 4.5.x the Solr search was experimental and we've completely changed the indexing format in XWiki 5.1.

Email Address Obfuscation

In 4.2 we introduced a new object property type called Email that can be used to store email addresses. In 5.1 we decided to use this new property type in the user profile to store the user email address. With this change we also introuced a defaut custom displayer for the Email property type that obfuscates the email address in view mode. As a consequence the user profile email address became obfuscated by default. Starting with 5.2 we allow you to toggle the email address obfuscation from the administration. What is important to know is that the email address obfuscation is off by default. So if you upgrade from 5.1 and you want to preserve the obfuscation then you need to enable it from the administration.

Instance Identifier

XWiki now creates a unique identifier in the database (this is used by the new Active Installs module and will be used in the future by the Extension Manager to identify your instance for example). You need to verify that your hibernate.cfg.xml file has the following mapping definition next to the existing mapping definitions:

...
<mapping resource="instance.hbm.xml"/>
...

API Breakages

The following APIs were modified since XWiki 5.1:

  • Moved to xwiki-commons-legacy-properties
org.xwiki.properties.converter.AbstractCollectionConverter: Class org.xwiki.properties.converter.AbstractCollectionConverter removed
  • This method should never have existed
org.xwiki.rendering.listener.reference.ResourceType: Method 'public void setScheme(java.lang.String)' has been removed
  • Moved from xwiki-rendering-api to xwiki-rendering-xml
org.xwiki.rendering.renderer.printer.XHTMLWikiPrinter: Class org.xwiki.rendering.renderer.printer.XHTMLWikiPrinter removed
org.xwiki.rendering.renderer.printer.XMLWikiPrinter: Class org.xwiki.rendering.renderer.printer.XMLWikiPrinter removed
  • This field is not meant to be be modified, the final was just forgotten.
com.xpn.xwiki.XWikiContext: Field TYPE_PROVIDER is now final
  • Not an API. This should be internal.
com.xpn.xwiki.store.XWikiHibernateBaseStore: Method 'protected java.lang.String[] addHibernateSequenceIfRequired(java.lang.String[], java.lang.String, org.hibernate.Session)' has been removed
  • Has been moved to xwiki-platform-feed-api since it was the only module using it. We also dropped jTidy in favor of HTMLCleaner.
com.xpn.xwiki.util.TidyMessageLogger: Class com.xpn.xwiki.util.TidyMessageLogger removed
  • Google API plugin has been retired
com.xpn.xwiki.plugin.google.GooglePlugin: Class com.xpn.xwiki.plugin.google.GooglePlugin removed
com.xpn.xwiki.plugin.google.GooglePluginApi: Class com.xpn.xwiki.plugin.google.GooglePluginApi removed
  • Return the number of imported documents
com.xpn.xwiki.tool.backup.Importer: Return type of method 'public void importXAR(java.io.File, java.lang.String, com.xpn.xwiki.XWikiContext)' has been changed to int
  • The JPQLParser generates source code (that should be internal but it is not) and the grammar has changed a bit.
org.xwiki.query.jpql.analysis.Analysis: Method 'public void caseAFuncnumComparableItem(org.xwiki.query.jpql.node.AFuncnumComparableItem)' has been added to an interface
org.xwiki.query.jpql.analysis.Analysis: Method 'public void caseAFuncstrComparableItem(org.xwiki.query.jpql.node.AFuncstrComparableItem)' has been added to an interface
org.xwiki.query.jpql.analysis.Analysis: Method 'public void caseAFunctimeComparableItem(org.xwiki.query.jpql.node.AFunctimeComparableItem)' has been added to an interface
org.xwiki.query.jpql.analysis.Analysis: Method 'public void caseAPathComparableItem(org.xwiki.query.jpql.node.APathComparableItem)' has been added to an interface
org.xwiki.query.jpql.node.AGroupbyItem: Parameter 1 of 'public AGroupbyItem(org.xwiki.query.jpql.node.PPath)' has changed its type to org.xwiki.query.jpql.node.PComparableItem
org.xwiki.query.jpql.node.AGroupbyItem: Method 'public org.xwiki.query.jpql.node.PPath getPath()' has been removed
org.xwiki.query.jpql.node.AGroupbyItem: Method 'public void setPath(org.xwiki.query.jpql.node.PPath)' has been removed
org.xwiki.query.jpql.node.AOrderbyItem: Parameter 1 of 'public AOrderbyItem(org.xwiki.query.jpql.node.PPath, org.xwiki.query.jpql.node.TOrderbySpec)' has changed its type to org.xwiki.query.jpql.node.PComparableItem
org.xwiki.query.jpql.node.AOrderbyItem: Method 'public org.xwiki.query.jpql.node.PPath getPath()' has been removed
org.xwiki.query.jpql.node.AOrderbyItem: Method 'public void setPath(org.xwiki.query.jpql.node.PPath)' has been removed

Get Connected