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 some final touches to the notifications module by improving the look and feel of the notification center and the notification emails.
Some optimizations have also been made in order to speed up the loading time of the notifications tray.

New and Noteworthy (since XWiki 9.10)

Full list of issues fixed and Dashboard for 9.11.

For Users

Table of content in the notifications email


Now, the events described in the notification emails are ordered by pages, and then by dates. To have a quick view of all the changes, a table of content is now displayed at the beginning of the mail.

Notification email details


It's now possible to configure what kind of information is displayed in the "details" section of the notification emails. Currently, there are 2 levels:

  • None, if you don't want to see change details and only get links to changes
  • Standard to display the change details as diffs.

See your own activity in notifications


It's now possible to see your own activity in the notifications (either in the "alert" menu or in the emails). By default, your activity is hidden, but you have the ability to disable this filter in the "advanced filtering options" section of your notification settings.

Notifications are loaded on demand


To speed up page rendering, we load the content of the notifications only when the user opens the notifications menu (lazy-loading).

During the load of the content, the user will see a spinning whee as on the following picture.

In addition, we now display 10 notifications instead of 5.

Breadcrumbs in the notifications email


The notification emails now display breadcrumbs for each page-related change, providing a better understanding of the locations of these pages in the wiki.

For Admins

Set the default level of details for the notification emails


The administrator can decide what is the default value when the users don't touch their settings. The following screen is available in the "Notifications" section in the Administration.

For Developers

Shortcuts are now handled by the Keypress JS library


We now handle keyboard shortcuts using the Keypress JS library.

The old API for declaring and managing shortcuts has been kept (XWiki.shortcuts). However, some parameters such as propagate or type are now handled differently.

Please refer to the API to learn more.

Hints for class properties


It is now possible, for developers, to add an hint in a class property. Then this hint is displayed in the object editor.

Notification emails embed images present on the mail template


The notification emails are based on a template (XWiki.Notifications.MailTemplate) that you can customize. Now it is possible to attach images to that templates, and they will be embedded in the notifications email.

To display them in the email, you need to use the syntax <img src="cid:myImage.png" />.

New super secret developers shortcuts


We are now providing the following developer shortcuts:

  • The key sequence X, X, X, A toggles the "advanced user mode" for the currently logged in user. Performing this sequence as an advanced user will switch it back to the "simple user mode" (the default).
  • The key sequence X, X, X, H toggles the "show hidden pages" option for the currently logged in user. Performing this sequence while already viewing hidden pages will switch back to hiding hidden pages (the default).

Get the complete list of developer shortcuts here.

Moved Modules

N/A

Upgrades

The following runtime dependencies have been upgraded (they have a different release cycle than XWiki Commons, XWiki Rendering, XWiki Platform and XWiki Enterprise):

Translations

The following translations have been updated: 

  • French
  • Croatian
  • Portuguese (Brazil)
  • Simplified Chinese

Tested Browsers & Databases

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

BrowserTest Result
Chrome30.pngGoogle Chrome 63Not Tested
Firefox30.pngMozilla Firefox 57Not Tested
Edge30.pngMicrosoft Edge 16Jira Tickets Marked as Fixed in the Release Notes + New and Noteworthy Features
IE30.pngInternet Explorer 11Not Tested

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

DatabaseTest Result
hypersql.pngHyperSQLNot Tested
mysql.pngMySQL 5.7
oracle.pngOracle 11.2Jira Tickets Marked as Fixed in the Release Notes + New and Noteworthy Features
postgresql.pngPostgreSQL 10Not Tested

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 9.11-rc-1

N/A

API Breakages

The following APIs were modified since XWiki 9.10.1:

  • Young API
    • Violation type:
      java.method.numberOfParametersChanged
    • Code:
      ## Old:
      method org.xwiki.notifications.filters.expression.ExpressionNode org.xwiki.notifications.filters.NotificationFilter::filterExpression(org.xwiki.model.reference.DocumentReference, org.xwiki.notifications.filters.NotificationFilterType)

      ## New:
      method org.xwiki.notifications.filters.expression.ExpressionNode org.xwiki.notifications.filters.NotificationFilter::filterExpression(org.xwiki.model.reference.DocumentReference, org.xwiki.notifications.filters.NotificationFilterType, org.xwiki.notifications.NotificationFormat)
  • Young API
    • Violation type:
      java.method.numberOfParametersChanged
    • Code:
      ## Old:
      method void org.xwiki.notifications.filters.watch.WatchedUserReference::<init>(java.lang.String)

      ## New:
      method void org.xwiki.notifications.filters.watch.WatchedUserReference::<init>(java.lang.String, org.xwiki.notifications.filters.internal.user.EventUserFilterPreferencesGetter)
  • Young API
    • Violation type:
      java.method.addedToInterface
    • Code:
      ## Old:
      null

      ## New:
      method org.xwiki.eventstream.RecordableEventDescriptor org.xwiki.eventstream.RecordableEventDescriptorManager::getDescriptorForEventType(java.lang.String, boolean) throws org.xwiki.eventstream.EventStreamException
  • Young API
    • Violation type:
      java.method.numberOfParametersChanged
    • Code:
      ## Old:
      method java.lang.String org.xwiki.notifications.notifiers.email.NotificationEmailRenderer::generateEmailSubject(org.xwiki.notifications.CompositeEvent) throws org.xwiki.notifications.NotificationException

      ## New:
      method java.lang.String org.xwiki.notifications.notifiers.email.NotificationEmailRenderer::generateEmailSubject(org.xwiki.notifications.CompositeEvent, java.lang.String) throws org.xwiki.notifications.NotificationException
  • Young API
    • Violation type:
      java.method.numberOfParametersChanged
    • Code:
      ## Old:
      method java.lang.String org.xwiki.notifications.notifiers.email.NotificationEmailRenderer::renderHTML(org.xwiki.notifications.CompositeEvent) throws org.xwiki.notifications.NotificationException

      ## New:
      method java.lang.String org.xwiki.notifications.notifiers.email.NotificationEmailRenderer::renderHTML(org.xwiki.notifications.CompositeEvent, java.lang.String) throws org.xwiki.notifications.NotificationException
  • Young API
    • Violation type:
      java.method.numberOfParametersChanged
    • Code:
      ## Old:
      method java.lang.String org.xwiki.notifications.notifiers.email.NotificationEmailRenderer::renderPlainText(org.xwiki.notifications.CompositeEvent) throws org.xwiki.notifications.NotificationException

      ## New:
      method java.lang.String org.xwiki.notifications.notifiers.email.NotificationEmailRenderer::renderPlainText(org.xwiki.notifications.CompositeEvent, java.lang.String) throws org.xwiki.notifications.NotificationException
  • Extend EntityResourceReference to be nice to XWikiContext initializer
    • Violation type:
      java.class.nonFinalClassInheritsFromNewClass
    • Code:
      ## Old:
      class org.xwiki.resource.temporary.TemporaryResourceReference

      ## New:
      class org.xwiki.resource.temporary.TemporaryResourceReference
  • Extend EntityResourceReference to be nice to XWikiContext initializer
    • Violation type:
      java.class.nonFinalClassInheritsFromNewClass
    • Code:
      ## Old:
      class org.xwiki.vfs.VfsResourceReference

      ## New:
      class org.xwiki.vfs.VfsResourceReference

Credits

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

Akshit Dewan (GCI)
Alex Cotiugă
Arun Pattni (GCI)
Candymini (GCI)
Clément Aubin
cweckle (GCI)
Denis Gervalle
Eduard Moraru
Guillaume Delhumeau
Jacob Juric (GCI)
MargaretM22 (GCI)
Marius Dumitru Florea
Piyush Gupta (GCI)
Robert (GCI)
Srijan Jha (GCI)
Thomas Mortagne
USA2021 (GCI)
Vincent Massol

Special note and thanks to all Google CodeIn (GCI) students who participated to this release emoticon_smile

Tags:
Created by Guillaume Delhumeau on 2017/11/21
   

Get Connected