Release Notes for XWiki 8.3 milestone 1

Version 40.1 by Vincent Massol on 2016/08/23
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. The rating of the extensions is displayed in the home page. You can easily use a color theme from the main wiki in other subwikis. New hints are displayed in the user profile preferences. Some suggestions are displayed when you try to reach a page or an attachment that does not exist.

For the developers, some improvements have been done, especially in the Script contexts.

Finally, more than 30 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 The [children] macro is a standalone macro and it cannot be used inline. Click on this message for details.
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

Miscellaneous

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

      FlamingoThemePicker.png
     FlamingoThemesHome.png

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

    BlogPanel.png

  • Added hints for User Profile Preferences:

    userProfileHints.png

  • 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
  • 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

<other dev stuff to add and link to JIRA for all issues fixed>

Translations

The following translations have been updated: 

Tested Browsers & Databases

The QA Tests are executed after the release has been done. Thus, they are being prepared now and will be published soon.

Performances tests compared to <last super stable version>

<a summary of the comparison with latest super stable version>

More details on <link to the test report>.

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

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

Credits

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

<code contributors>

Tags:
   

Get Connected