Release Notes for XWiki 6.0 Milestone 1

Version 88.1 by Thomas Mortagne on 2014/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.

<insert description of release here>

New and Noteworthy (since XWiki 5.4)

Full list of issues fixed and Dashboard for 6.0.

Moved to Java 7 as minimum version

The minimum required Java version to run XWiki is now Java 7. It's not just the minimum officially supported version, XWiki won't work anymore on Java 6.

Wiki Application

  • In the Wiki Index, all the wikis that the user can not access are not displayed anymore.
  • Now, by default, guest users can see a subwiki depending if they can see the main one. But of course, it is still possible to manually give view right to guest users in the subwiki's administration.

New Chart Renderers

The stackedbar and stackedbar3D plot renderers were added in the Chart Macro:

stackedbar.png

stackedbar3D.png

Panels Application Improvements

  • The Panels Application is now available from the Applications Panel:

    panels-application.png

  • The Panels Application's home page now uses a LiveTable to display the list of available Panels:

    panels-home.png

Standard XAR import scalability

The standard XAR import (in administration) is now based on WikiStream by default. This means that you should (at last) be able to import a XAR of any size (as long as you can attach it to the import page since that's how import UI is working right now).

You can put back old system if any issue using xwiki.action.import.xar.usewikistream property in xwiki.cfg file.

Experimental Flamingo Skin

A new skin is now bundled in XWiki: Flamingo. The skin use the well-known Bootstrap framework framework which gives us a modern look-and-feel and makes the UI responsive and thus working on mobile devices.

The skin is currently an alpha version and should not be used in production. In addition, only the view mode is currently implemented.

flamingo.png

To active the skin (for testing purpose only at the moment), edit XWiki.DefaultSkin and put "flamingo" in the "base skin" field or add ?skin=flamingo to your URLs.

Miscellaneous

  • The document references are displayed as wiki >> Space >> Page path in the extension install log.

    docRefInExtensionLog.png

  • The "membership type" options are more clear

    membershipType.png

  • The date search facets have a new option 'Older than 30 days':

    dateFacet.png

  • Added built in support for Apple's open directory groups in LDAP authenticator
  • Generate extension event in Wikistream XAR input module when the XAR contains extension informations
  • Add new Locale based API to manipulate current Locale:

    {{code language="velocity}}
      $xcontext.locale
      $xcontext.interfaceLocale
    {{/code}}

  • The Container Macro is now responsive. So if there is not enough place to display several columns side by side, they are displayed instead one after the other in a vertical alignment.

    responsive.png

  • The Windows Installer (EXE) now also work on Windows 8 and Windows 8.1.
  • By default the Total Installs and Active Installs figures displayed by the Active Installs Application now counts non-SNAPSHOT XWiki Enterprise instances (it used to count everything: SNAPSHOTs installs and even non-XE instances).
  • Authenticators can be installed as extensions. Note that they still require to modify xwiki.cfg to indicate the selected authenticator.
  • A new macro {{watchlist/}} can be used to embed the watchlist of the current user on any page. This is especially useful for a dashboard:

    watchlist.png

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

For Developers

Solr

Advanced Search Suggest Sources

The Search Suggest feature retrieves live search results from various configurable sources. These sources specify the search engine to use and the search query. The search doesn't perform well, at least on Solr, if we use only the search query because each query is different (when the input text is different) so the cache is not used efficiently. Best is to rely on the filter cache but for this we need to be able to specify the filter query.

Starting with this release you are able to specify more advanced search parameters in the search query and they will be passed directly to the search engine. This currently works with Solr. As an example, the following statement from the 'query' property of a Search Suggest Source

type:DOCUMENT AND (title:(__INPUT__*) OR name:(__INPUT__*))

could be written as

fq=type:DOCUMENT
qf=title^2 name

Note that:

  • you would use the filter query which is the same for all search requests to this Search Suggest Source so it will be cached by Solr
  • you would be able to specify the boost for each field you want to search in
  • the query statement used is '__INPUT__' by default, if not specified.

In order to preserve backward compatibility with existing Solr Search Suggest Sources, we use the following convention:

 A line that doesn't start with 'xxx=' specifies the query statement; in other words, existing Solr Search Suggest Sources are specifying only the query statement.

For example:

foo __INPUT__* bar
fq=type:DOCUMENT
qf=title^2 name

means the query statement is 'foo __INPUT__* bar'. Which is equivalent to:

q=foo __INPUT__* bar
fq=type:DOCUMENT
qf=title^2 name

See the Solr common query parameters and the Extended DisMax query parser parameters documentation  for details on what parameters you can pass to the search engine.

Search UI Configuration

Application developers can now easily create a dedicated search page for their application, tailored for the application data. You can take a look at the FAQ application for example:

{{include reference="XWiki.SearchCode"/}}

{{velocity output="false"}}
#if ($searchEngine == 'solr')
  ## Customize the Solr Search UI for the FAQ application.
  #set ($solrConfig = {
    'queryFields': 'title^3 property.FAQCode.FAQClass.answer',
    'facetFields': ['creator', 'creationdate', 'author', 'date', 'mimetype', 'attauthor', 'attdate', 'attsize'],
    'filterQuery': [
      'type:DOCUMENT',
      "wiki:$xcontext.database",
      "space_exact:$doc.space",
      'class:FAQCode.FAQClass'
    ]
  })
#end
{{/velocity}}

{{velocity}}
{{include reference="$searchPage"/}}
{{/velocity}}

Faceting on Object Properties

In XWiki 5.3 we added support for faceting on object properties but the facets were not displayed nicely. We improved the facet display in this release so that the property type is taken into account: e.g. a facet on a date property will be displayed using the date facet (same as for the document creation date or the last modification date). Moreover, you can now configure the facet displayer to use and even create your own facet displayer. See the Solr Search Application for details.

Action API

This Action API module is the entry point for all UIs and in charge of calling the correct backend code to display what the user has asked for (it's the Controller in MVC terminology).

Note that right now most Actions are still implemented the old way in the oldcore module without Components and using Struts. The goal is to progressively rewrite them using this new Action API.

WebJars Integration

The WebJars integration solves the issue of packaging JavaScript frameworks by bundling them as JARs. This allows XWiki Extensions to depend on JavaScript frameworks an be installable by the Extension Manager Application.

LiveTable Query Filters

It's now possible to specify which Query filters to apply when retrieving LiveTable data.

For example if you want to show always hidden docs, then you would use:

...
  'queryFilters': 'currentLanguage',
...

And if you wish to show all docs for all languages and hidden docs you would use:

...
  'queryFilters': '',
...

Miscellaneous

  • The XAR plugins's format mojo now handles properly the defaultLanguage element: if a document has translation we assume it means the document is not a technical document and thus we set the default language to be English. This allows the XWiki SOLR Search to return results when the English language is selected in language facet.
  • The XAR plugin's verify mojo now also handles the defaultLanguage check accordingly.
  • The XAR plugin's verify mojo now checks for missing license headers (if the formatLicense configuration property is set to true).
  • The XAR plugin's format and verify mojos now support including/excluding files.
  • We changed a bit the behaviour of Solr search with respect to the current language. We stopped using the (dynamically computed) 'locales' filter by default. We now rely only on the 'locale' facet, which has the current language preselected. See XWIKI-9977 for the full story.
  • $services.wiki.getAll() makes a better use of its internal cache, so the performances are better.
  • New API to test if logs of specific level exist in LogQueue.
  • Added support for several sets of properties for the same reference in org.xwiki.model.reference.EntityReferenceSet.

Deprecated and Retired projects

Upgrades

The following dependencies have been upgraded:

Translations

The following translations have been updated: 

Tested Browsers & Databases

Known issues

Backward Compatibility and Migration 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.

Moved to Java 7 as minimum version

The minimum required Java version to run XWiki is now Java 7. It's not just the minimum officially supported version, XWiki won't work on Java 6.

Crypto Modules moved to Commons

The crypto modules (except the script service) have been moved to xwiki-commons. Developers should be careful to update their dependencies.

Active Installs

The Active Installs feature now requires an ElasticSearch server version 1.0.0 or greater.

API Breakages

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

<clirr output here>
Tags:
   

Get Connected