Release Notes for XWiki 8.3 Milestone 1

Version 53.5 by Vincent Massol on 2016/09/17
Warning: For security reasons, the document is displayed in restricted mode as it is not the current version. There may be differences and errors due to this.

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 brings mostly usability improvements:

  • You now have the ability to export children pages along with the current one in XAR and HTML formats. 
  • Ratings and active install numbers are now displayed in the Livetable on the home page of the Extension Repository Application. 
  • You can easily use a color theme from the main wiki in other subwikis.
  • New hints are displayed in the user profile preferences. 
  • Some page suggestions are displayed when you try to reach a page or an attachment that do not exist.

In addition, more than 35 bugs have been fixed!

New and Noteworthy (since XWiki 8.2)

Full list of issues fixed and Dashboard for 8.3.

New Children Macro

A new {{children/}} macro has been added to display a tree view of all children of the current page.

Example:

childrenmacro.png

Export a page with children

It's now possible, for HTML and XAR formats, to export selected children along with the current page:

export.png

Repository improvements

Rating is now displayed in the home page livetable.
The number of active installs is displayed for each extension in the home page livetable and in the extension page.

rating_home.pngexo4.png

Color themes

It's now possible, on a subwiki, to use a color theme coming from the main wiki (global themes).

FlamingoThemePicker.png

FlamingoThemesHome.png

Blog Application

The Blog Category Panel now has an entry for All blog posts with a RSS feed for all.

BlogPanel.png

Suggestions when a page or an attachment is not found

We have added suggestions for the "document not found" and "attachment not found" error screens. The suggestions address minor typos and misspelling (including lower case vs upper case), but also bad location requests:

  • Documents:
    docnotfound-suggestsions-mixed.png
  • Attachments:
    attachmentnotfound-suggestsions-mixed.png

Miscellaneous

  • User Profiles: We have added hints for User Profile Preferences:

    userProfileHints.png

  • The AutoSave feature is now available in the WYSIWYG edit mode.
  • It's now possible to customize a Maven repository in xwiki.properties with any Aether property. See XWiki Commons - Extension - Repository - Maven.
  • It's now possible to change the socket and connection timeouts of a XWiki Repository in xwiki.properties. See XWiki Commons - Extension - Repository - XWiki.
  • Active installs client now send the memory used by the instance
  • Debian packages now override standard configuration files handling for xwiki.cfg, xwiki.properties and web.xml to provide 3 ways merge with standard dpkg and apt command line tools

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

For Developers

Velocity and Script context improvements

VelocityContext and ScriptContext are here since a long time and were not fully a sync leading to many hack having to deal with both (and often forgetting one of the other).

They are now fully in synch (and if you find a use case where it's not true create a BUG on http://jira.xwiki.org) and VelocityContext is now close to internal detail. From now on if you want to set some binding for whatever script is going to be executed next you should to it trough ScriptContext and completely forget that VelocityContext ever existed in most cases.

New APIs to help with that:

  • VelocityManager#evaluate(Writer out, String templateName, Reader source) which execute the passed velocity content with the passed template name and write the result in the passed Writer. This method deal with VelocityContext internally
  • ScriptContextManager#getCurrentScriptContext() should be used when you want to SET something in the current script context so that it end up in a script that might be executed later
  • ScriptContextManager#getScriptContext() is not new but should be used only if you want to get the ScriptContext exactly as a script would get it (to see if it contains something you want to access), this should be a rare use case.

Another consequence of this is that you can (finally) do things like:

{{velocity}}
## Setting some script binding in Velocity
#set($myvar = "toto")
{{/velocity}}

{{groovy}}
// Lets use the script binding that has been set in previous script
print myvar
{{/groovy}}

The opposite was already possible but there was some limitations, for example it was impossible to overwrite in groovy a binding that was already in the VelocityContext.

Filter framework improvements

Thanks to Java 8 now supporting getting method parameter names through reflection, it's not required anymore to use @Name annotation in the definition of a filter. See Filter Module for more details.

It's also possible to override the name of the event (which is by default extracted from the method name) using the @Name annotation.

Filter manager make sure to calculate the event descriptor based on the top most overridden method (usually coming from an interface). Various things were not always properly inherited (like event name or reflection based parameters names).

Cache module moved to XWiki Commons

This mostly means that you can now use it in commons and rendering modules. Nothing change in the classes or packages names, just need to update group id and artifact id in your build tool.

Deprecated and Retired projects

Upgrades

The following dependencies have been upgraded:

Miscellaneous

Translations

The following translations have been updated: 

Tested Browsers & Databases

Failed to execute the [velocity] macro. Cause: [The execution of the [velocity] script macro is not allowed in [xwiki:TestReports.ManualTestReportSummaryXWiki83M1]. Check the rights of its last author or the parameters if it's rendered from another script.]. Click on this message for details.

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

BrowserTest Result
Chrome30.pngGoogle ChromeNot Tested
Firefox30.pngMozilla FirefoxNot Tested
IE30.pngInternet Explorer 10Not Tested
IE30.pngInternet Explorer 11Jira Tickets Marked as Fixed in the Release Notes + New and Noteworthy Features

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

DatabaseTest Result
hypersql.pngHyperSQL 2.3.4Jira Tickets Marked as Fixed in the Release Notes + New and Noteworthy Features
mysql.pngMySQL 5.7.13Jira Tickets Marked as Fixed in the Release Notes + New and Noteworthy Features
oracle.pngOracleNot Tested
postgresql.pngPostgreSQLNot Tested

All the tests have passed except for which has been reopened as .

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.

Issues specific to XWiki 8.3 Milestone 1

LDAP Module moved to Contrib

The module containing among other things the standard LDAP authenticator has been moved to http://github.com/xwiki-contrib/ldap and is not embedded anymore in XE. Starting with 8.3M1 you need to install it if you want to use it. See http://extensions.xwiki.org/xwiki/bin/view/Extension/LDAP/#H8.3.x for more details on what between the XWiki Platform module and the new Contrib Extension.

Cache module moved to XWiki Commons

The only thing that changed is the id of the modules. If you have any dependency on those you just need to change org.xwiki.platform:xwiki-platform-* to org.xwiki.commons:xwiki-commons-*

API Breakages

No API has been broken since XWiki 8.2.1!

Credits

The following people have contributed code to this release (sorted alphabetically):

  • Alexandru Cotiuga
  • Denis Gervalle
  • Ecaterina Moraru (Valica)
  • Eduard Moraru
  • Guillaume Delhumeau
  • Lukas Krejci
  • Manuel Smeria
  • Marius Dumitru Florea
  • Sergiu Dumitriu
  • Thomas Mortagne
  • Vincent Massol
Tags:
   

Get Connected