Release Notes for XWiki 5.3 Milestone 2

Last modified by Thomas Mortagne on 2017/03/24

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.

This release comes with a new syntax quide, an improved faceted search and the ability to import content from Confluence wiki. Also, the wiki creation wizard has now support for creating wiki templates and for choosing the user scope (local, global or both). This release also includes a lot of bug fixes (33) and a few improvements (19) so you should definitely check it out.

New and Noteworthy (since XWiki 5.3 Milestone 1)

Full list of issues fixed and Dashboard for 5.3.

Solr Search Improvements

Search Facets

The display of some of the search facets has been improved. The Author and Creator facets now show the user full name, alias and avatar.

search-userFacet.png

The wiki facet displays the wiki pretty name instead of the wiki identifier.

search-wikiFacet.png

The language facet displays the full language name and country (when applicable) in the current locale.

search-languageFacet.png

The number of displayed facet values is limited to 5 by default but you can see the rest of the values by clicking on the link following the facet values (each click will show 5 more values).

The date facets (last modification date and creation date) have been improved to display a list of predefined date intervals, with the possibility to specify a custom date interval.

search-dateFacet.png

When selected, the date facet displays the end points of the date interval. If you specify only the start/end date then the interval will include all dates after/before the specified date.

search-dateFacet-selected.png

RSS Feed

We added a RSS feed for Solr search results. You can find the link on the default search page after the list of results. The feed provides the most recent results that match the current search query and filters. It contains the same type of information that was included in the Lucene search RSS feed.

See the Solr Search Application documentation for details.

WikiStream improvements

Allow exporting Large Wikis by default

The WikiStream module is now used by default in the standard export action, thus allowing exporting wikis with lots of content.

Note that you can still put back the old implementation in case you find a problem by setting xwiki.action.export.xar.usewikistream=0 at the end of your xwiki.cfg file.

New WikiStream application

A new generic UI has been introduced to manipulate WikiStream modules easily. See XWiki Platform - WikiStream - UI for more details.

Script service improvements

  • added a properties converter for WikiStreamType to make easier to manipulate it from Velocity
  • made APIs asynchronous

Confluence XML input module for WikiStream

A new WikiStream input module has been added to parse Confluence backup packages.

New XHTML based Confluence syntax

Since 4.0 Confluence moved to a XHTML based syntax for page content. So in order to import recent version of Confluences a parser for this syntax had to be written first.

New Syntax Guide

The Syntax Guide has been completely rewritten to better support growing number of syntaxes and make it easier to add documentation other syntaxes. For now it includes xwiki/1.0, xwiki/2.0 and xwiki/2.1.

helpui221.png

helpui222.png

Multi-Wiki

  • The "create wiki" wizard now offers the ability to create a new wiki template:

    wizard-new-template.png

  • It is also possible to select the "user scope" of the new wiki. The user scope determines if local or global users are enabled, or both:

    wizard-user-scope.png

  • When the user creates a wiki from a template, a new step is displayed in the wizard, while the system is provisioning the wiki:

    wizard-provisioning.png

  • The "users" section in the administration of a (sub)wiki gives the opportunity to change the user scope setting, and the membership type too:

    admin-wiki-users.png

  • In the "wikis" section of the administration of the main wiki, the created templates are displayed:

    admin-wiki-template.png

  • It is also possible to edit wikis directly from the wiki index.
  • All the documentation is available on the application page.

Miscellaneous

  • We're now officially not supporting saving Servlet Session in URL (a.k.a URL Rewriting). This means that if you want to remain logged on in XWiki you need to enable cookies (See why jsessionid are considered harmful here and here).
  • The Statistics Application now has an entry point in the Applications Panel (only visible by Admins by default):

    statsentry.png

  • The Scheduler Application now has an entry point in the Applications Panel (only visible by Admins by default):

    schedulerentry.png

  • The URL Legacy JAR is now correctly bundled in the XE WAR. This is important since otherwise you'd need to set the URL configuration properties in your xwiki.properties file in addition to setting them in xwiki.cfg. For example url.standard.multiwiki.isPathBased in xwiki.properties and xwiki.virtual.usepath in xwiki.cfg).
  • Deleted users do not appear anymore in the "Top Active Members" list in the wiki dashboard.

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

For Developers

Multi-Wiki

  • The modules xwiki-platform-wiki-manager and wiki-platform-workspaces are now replaced by the module xwiki-platform-wiki, that now manages how (sub)wikis are created and how users can access to them.

Deprecated and Retired projects

Upgrades

The following dependencies have been upgraded:

Miscellaneous

  • New com.xpn.xwiki.doc.XWikiDocument#getDocumentReferenceWithLocale() method to get the real reference of the document to use in com.xpn.xwiki.XWiki#getDocument(DocumentReference, XWikiContext) for example
  • New Java API + a few new APIs in the Git module

Translations

The following translations have been updated: 

Tested Browsers & Databases

Here is the list of browsers we support and how they have been tested for this release:

BrowserStatus
Chrome30.pngGoogle Chrome 31Jira Tickets Marked as Fixed in the Release Notes
Firefox30.pngMozilla Firefox 25Not Tested
IE30.pngInternet Explorer 8Not Tested
IE30.pngInternet Explorer 9Fully

Here is the list of databases we support and how they have been tested for this release:

DatabaseStatus
hypersql.pngHyperSQL 2.3.0Fully
mysql.pngMySQL 5.6.10Not Tested
oracle.pngOracle 11.2Not Tested
postgresql.pngPostgreSQL 9.2.4Not Tested

For the full list of tests see this page.

Known issues

Backward Compatibility and Migration Notes

General Notes

General Notes

When upgrading make sure you compare your xwiki.cfg, xwiki.properties and web.xml files with the newest version since some configuration parameters may have been modified or 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.

API Breakages

The following APIs were modified since XWiki 5.2.1:

  • Requesting a dependency without indicating the namespace does not really make sense. This interface is not really supposed to be implemented anyway.
org.xwiki.extension.ExtensionManager: Method 'public org.xwiki.extension.Extension resolveExtension(org.xwiki.extension.ExtensionDependency, java.lang.String)' has been added to an interface
  • Needed to filter search by namespace. This interface is not really supposed to be implemented anyway.
org.xwiki.extension.repository.InstalledExtensionRepository: Method 'public org.xwiki.extension.repository.result.IterableResult searchInstalledExtensions(java.lang.String, java.lang.String, int, int)' has been added to an interface
  • Young API. Not supposed to be implemented from outside.
org.xwiki.filter.xml.parser.XMLParserFactory: Method 'public javax.xml.stream.XMLEventWriter createXMLEventWriter(java.lang.Object, org.xwiki.filter.xml.XMLConfiguration)' has been added to an interface
org.xwiki.filter.xml.serializer.XMLSerializerFactory: Method 'public java.lang.Object createSerializer(java.lang.Class[], javax.xml.transform.Result, org.xwiki.filter.xml.XMLConfiguration)' has been added to an interface
  • Young API. Not supposed to be implemented from outside.
org.xwiki.filter.FilterDescriptorManager: Method 'public java.lang.Object createCompositeFilter(java.lang.ClassLoader, java.lang.Object[])' has been added to an interface
org.xwiki.filter.FilterDescriptorManager: Method 'public java.lang.Object createFilterProxy(java.lang.Object, java.lang.ClassLoader, java.lang.Class[])' has been added to an interface
  • Young API that has been refactored to introduce the new Resource module.
org.xwiki.url.AbstractXWikiURL: Class org.xwiki.url.AbstractXWikiURL removed
org.xwiki.url.URLCreationException: Class org.xwiki.url.URLCreationException removed
org.xwiki.url.UnsupportedURLException: Class org.xwiki.url.UnsupportedURLException removed
org.xwiki.url.XWikiEntityURL: Class org.xwiki.url.XWikiEntityURL removed
org.xwiki.url.XWikiURL: Class org.xwiki.url.XWikiURL removed
org.xwiki.url.XWikiURLFactory: Class org.xwiki.url.XWikiURLFactory removed
org.xwiki.url.XWikiURLManager: Class org.xwiki.url.XWikiURLManager removed
org.xwiki.url.XWikiURLSerializer: Class org.xwiki.url.XWikiURLSerializer removed
org.xwiki.url.XWikiURLType: Class org.xwiki.url.XWikiURLType removed
  • XWikiURL (now Resource) should only be in the Execution Context and not in the Request.
org.xwiki.container.servlet.ServletRequest: Method 'public org.xwiki.url.XWikiURL getURL()' has been removed
org.xwiki.container.servlet.ServletRequest: Method 'public void setXWikiURL(org.xwiki.url.XWikiURL)' has been removed
org.xwiki.container.portlet.PortletRequest: Method 'public org.xwiki.url.XWikiURL getURL()' has been removed
org.xwiki.container.portlet.PortletRequest: Method 'public void setXWikiURL(org.xwiki.url.XWikiURL)' has been removed
org.xwiki.container.Request: Field XWIKI_URL has been removed, but it was previously a constant
  • Lots of refactoring in WikiStream.
org.xwiki.wikistream.WikiStream: Class org.xwiki.wikistream.WikiStream removed
org.xwiki.wikistream.descriptor.DefaultWikiStreamBeanParameterDescriptor: Method 'public java.lang.reflect.Type getPropertyType()' has been removed
org.xwiki.wikistream.descriptor.WikiStreamPropertyDescriptor: Method 'public java.lang.reflect.Type getPropertyType()' has been removed
org.xwiki.wikistream.descriptor.WikiStreamPropertyDescriptor: Method 'public java.lang.reflect.Type getType()' has been added to an interface
org.xwiki.wikistream.filter.FarmFilter: Class org.xwiki.wikistream.filter.FarmFilter removed
org.xwiki.wikistream.filter.WikiAttachmentFilter: Class org.xwiki.wikistream.filter.WikiAttachmentFilter removed
org.xwiki.wikistream.filter.WikiClassFilter: Class org.xwiki.wikistream.filter.WikiClassFilter removed
org.xwiki.wikistream.filter.WikiClassPropertyFilter: Class org.xwiki.wikistream.filter.WikiClassPropertyFilter removed
org.xwiki.wikistream.filter.WikiDocumentFilter: Class org.xwiki.wikistream.filter.WikiDocumentFilter removed
org.xwiki.wikistream.filter.WikiFilter: Class org.xwiki.wikistream.filter.WikiFilter removed
org.xwiki.wikistream.filter.WikiObjectFilter: Class org.xwiki.wikistream.filter.WikiObjectFilter removed
org.xwiki.wikistream.filter.WikiObjectPropertyFilter: Class org.xwiki.wikistream.filter.WikiObjectPropertyFilter removed
org.xwiki.wikistream.filter.WikiSpaceFilter: Class org.xwiki.wikistream.filter.WikiSpaceFilter removed
org.xwiki.wikistream.input.BeanInputWikiStreamFactory: Removed org.xwiki.wikistream.WikiStream from the set of implemented interfaces
org.xwiki.wikistream.input.InputWikiStreamFactory: Removed org.xwiki.wikistream.WikiStream from the set of implemented interfaces
org.xwiki.wikistream.output.BeanOutputWikiStreamFactory: Removed org.xwiki.wikistream.WikiStream from the set of implemented interfaces
org.xwiki.wikistream.output.BeanOutputWikiStreamFactory: Method 'public org.xwiki.wikistream.output.OutputWikiStream creaOutputWikiStream(java.lang.Object)' has been removed
org.xwiki.wikistream.output.BeanOutputWikiStreamFactory: Method 'public org.xwiki.wikistream.output.OutputWikiStream createOutputWikiStream(java.lang.Object)' has been added to an interface
org.xwiki.wikistream.output.OutputWikiStreamFactory: Removed org.xwiki.wikistream.WikiStream from the set of implemented interfaces
org.xwiki.wikistream.output.OutputWikiStreamFactory: Method 'public org.xwiki.wikistream.output.OutputWikiStream creaOutputWikiStream(java.util.Map)' has been removed
org.xwiki.wikistream.output.OutputWikiStreamFactory: Method 'public org.xwiki.wikistream.output.OutputWikiStream createOutputWikiStream(java.util.Map)' has been added to an interface
org.xwiki.wikistream.type.WikiStreamType: Removed field XWIKI_XAR
org.xwiki.wikistream.instance.input.AbstractInstanceInputEventGenerator: Removed org.xwiki.wikistream.filter.FarmFilter from the set of implemented interfaces
org.xwiki.wikistream.instance.input.AbstractInstanceInputEventGenerator: Removed org.xwiki.wikistream.filter.WikiDocumentFilter from the set of implemented interfaces
org.xwiki.wikistream.instance.input.AbstractInstanceInputEventGenerator: Removed org.xwiki.wikistream.filter.WikiFilter from the set of implemented interfaces
org.xwiki.wikistream.instance.input.AbstractInstanceInputEventGenerator: Removed org.xwiki.wikistream.filter.WikiSpaceFilter from the set of implemented interfaces
org.xwiki.wikistream.instance.input.EntityEventGenerator: Method 'public org.xwiki.wikistream.descriptor.WikiStreamDescriptor getDescriptor()' has been added to an interface
org.xwiki.wikistream.instance.input.InstanceInputEventGenerator: Removed org.xwiki.wikistream.filter.FarmFilter from the set of implemented interfaces
org.xwiki.wikistream.instance.input.InstanceInputEventGenerator: Removed org.xwiki.wikistream.filter.WikiDocumentFilter from the set of implemented interfaces
org.xwiki.wikistream.instance.input.InstanceInputEventGenerator: Removed org.xwiki.wikistream.filter.WikiFilter from the set of implemented interfaces
org.xwiki.wikistream.instance.input.InstanceInputEventGenerator: Removed org.xwiki.wikistream.filter.WikiSpaceFilter from the set of implemented interfaces
org.xwiki.wikistream.instance.input.InstanceInputEventGenerator: Method 'public org.xwiki.wikistream.descriptor.WikiStreamDescriptor getDescriptor()' has been added to an interface
org.xwiki.wikistream.instance.input.InstanceInputEventGenerator: Method 'public java.util.Collection getFilterInterfaces()' has been added to an interface
org.xwiki.wikistream.instance.input.InstanceInputEventGenerator: Method 'public void setWikiDocumentParameters(java.lang.String, org.xwiki.filter.FilterEventParameters)' has been added to an interface
org.xwiki.wikistream.instance.input.InstanceInputEventGenerator: Method 'public void setWikiFarmParameters(org.xwiki.filter.FilterEventParameters)' has been added to an interface
org.xwiki.wikistream.instance.input.InstanceInputEventGenerator: Method 'public void setWikiParameters(java.lang.String, org.xwiki.filter.FilterEventParameters)' has been added to an interface
org.xwiki.wikistream.instance.input.InstanceInputEventGenerator: Method 'public void setWikiSpaceParameters(java.lang.String, org.xwiki.filter.FilterEventParameters)' has been added to an interface
org.xwiki.wikistream.instance.output.OutputInstanceWikiStreamFactory: Removed org.xwiki.wikistream.WikiStream from the set of implemented interfaces
org.xwiki.wikistream.instance.script.InstanceWikiStreamScriptService: Method 'public void export(org.xwiki.wikistream.type.WikiStreamType, org.xwiki.wikistream.instance.internal.input.InstanceInputProperties, java.util.Map)' has been removed
org.xwiki.wikistream.script.WikiStreamScriptService: Method 'public void convert(org.xwiki.wikistream.type.WikiStreamType, java.util.Map, org.xwiki.wikistream.type.WikiStreamType, java.util.Map)' has been removed
org.xwiki.wikistream.script.WikiStreamScriptService: Method 'public org.xwiki.wikistream.input.InputWikiStream createInputWikiStream(org.xwiki.wikistream.type.WikiStreamType, java.util.Map)' has been removed
org.xwiki.wikistream.script.WikiStreamScriptService: Method 'public org.xwiki.wikistream.output.OutputWikiStream createOutputWikiStream(org.xwiki.wikistream.type.WikiStreamType, java.util.Map)' has been removed
Tags:
   

Get Connected