Release Notes for XWiki 6.4-milestone-3

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 milestone integrates the Ratings module inside platform, providing the ability to rate extensions inside the Extension Repository and visualise them inside Extension Manager. We have also added improvements for Flamingo Skin on the responsiveness aspect, reintroduced the Wiki configuration section in Administration and done massive work in augmenting the Mail Sender API to be able to send large number of emails.

New and Noteworthy (since XWiki 6.4-milestone-2)

Full list of issues fixed and Dashboard for 6.4.

Rating Features

Ratings module

Contrib ratings project has been moved to platform. Java APIs have been broken by the package renaming but script APIs have been kept retro-compatible and the UI is mostly the same.

See Ratings Application.

Ratings support for extensions

It's now possible to rate extensions in Extension Repository and any repository handler can expose extension rating that are displayed (read only for now) in Extension Manager.

ratingem.png ratinger.png

Wiki Configuration

A new "Configuration > Wiki" section is added in Administration where you can configure the current wiki, whether it is the main wiki or a subwiki.

wikiDescriptorEditingAdministration-cropped.png

For more information, see the documentation.

Flamingo Skin

Some improvements have been made on the responsive tables (including the livetables) and we have fixed the broken livetables for mobiles on some places:

  livetable-rights.png mobile-users.png mobile-groups.png

Batch Mail Sending

The Mail Sender API has been modified to support sending a large number of mails at once. In addition the Mail Admin UI has been improved to display the statuses of mails (when they're sent by XWiki features specifying that the mail statuses should be persisted).

emailcategory.png

emailstatus.png

Solr server setup package

Everything needed to setup an XWiki index in a remote Solr server is now packaged in a standalone project (xwiki-platform-search-solr-server-data). A Debian package (xwiki-solr-data) has also been provided to make easier to keep it up to date.

Miscellaneous

  • Displaying the 'Stable versions' label in an extension's description in Extension Manager before and after the list of versions is retrieved.

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

For Developers

Rendering

  • XWiki Rendering now provide an HTML5 Renderer.

REST

The REST API for the repository module has been updated to include information about the extension's rating.
The information regarding ratings has been included in the AbstractExtension element of the XML Schema, thus it is available in the extension's detailed information and in the search results.

More information:

Example:

<extension>
 <id>org.xwiki.contrib:application-filemanager-ui</id>
 <name>File Manager Application</name>
 <type>xar</type>
 <!-- start rating info -->
 <rating>
   <totalVotes>821</totalVotes>
   <averageVote>5.0</averageVote>
 </rating>
 <!-- end rating info -->
 <summary>Application to manage a hierarchy of folders and files. It embeds viewers for many known file types, such as office and PDF.</summary>
 <description>This application lets your organize your files inside XWiki using a tree hierarchy of folders. It supports all standard operations like move, rename, copy, delete on both files and folders. You can use drag & drop to upload new files and to modify the folder hierarchy. A wide range of files types can be viewed or played (in case of audio and video files) directly from the wiki. This includes PDF and office documents [...]</description>
 <licenses>
   <name>GNU Lesser General Public License 2.1</name>
 </licenses>
 <website>http://extensions.xwiki.org/xwiki/bin/view/Extension/File+Manager+Application</website>
 <authors>
   <name>Thomas Delafosse</name>
   <url>http://www.xwiki.org/xwiki/bin/view/XWiki/tdelafosse</url>
 </authors>
 <authors>
   <name>Ludovic Dubost</name>
   <url>http://www.xwiki.org/xwiki/bin/view/XWiki/LudovicDubost</url>
 </authors>
 <authors>
   <name>Marius Dumitru Florea</name>
   <url>http://www.xwiki.org/xwiki/bin/view/XWiki/mflorea</url>
 </authors>
 <features>tdelafosse:file-manager-application</features>
 <features>org.xwiki.contrib:application-filemanager</features>
</extension>

Upgrades

The following dependencies have been upgraded:

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:

BrowserTest Result
Chrome30.pngGoogle Chrome 39Not Tested
Firefox30.pngMozilla Firefox 34Jira Tickets Marked as Fixed in the Release Notes
IE30.pngInternet Explorer 8Not Tested
IE30.pngInternet Explorer 9Not Tested

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

DatabaseTest Result
hypersql.pngHyperSQL 2.3.2Not Tested
mysql.pngMySQL 5.6.17Not Tested
oracle.pngOracle 11.2Not Tested
postgresql.pngPostgreSQL 9.4.0Jira Tickets Marked as Fixed in the Release Notes

For the full list of tests see this page.

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.

API Breakages

The following APIs were modified since XWiki 6.3:

  • It's very unlikely that this class is implemented by anything else and it does not make much sense to not have this method, since this is not really a cache behind it but a Map that keep engines forever it may create a memory leak on a big farm running for a long time
    org.xwiki.velocity.VelocityFactory: Method 'public org.xwiki.velocity.VelocityEngine removeVelocityEngine(java.lang.String)' has been added to an interface
  • This shouldn't be a backward incompatible change since it's a method addition on an Annotation.
    org.xwiki.component.annotation.Component: Method 'public boolean staticRegistration()' has been added to an interface
  • Young API, this method needs to be available for consistency with the getMainWikiDescriptor/Id pair of methods
    org.xwiki.wiki.descriptor.WikiDescriptorManager: Method 'public org.xwiki.wiki.descriptor.WikiDescriptor getCurrentWikiDescriptor()' has been added to an interface
  • WYSIWYG's MacroService API was not previously considering a multiwiki environment.
    org.xwiki.gwt.wysiwyg.client.plugin.macro.MacroService: Method 'public org.xwiki.gwt.wysiwyg.client.plugin.macro.MacroDescriptor getMacroDescriptor(java.lang.String, java.lang.String, java.lang.String)' has been added to an interface
    org.xwiki.gwt.wysiwyg.client.plugin.macro.MacroService: Method 'public java.util.List getMacroDescriptors(java.lang.String, java.lang.String)' has been added to an interface
    org.xwiki.gwt.wysiwyg.client.plugin.macro.MacroServiceAsync: Method 'public void getMacroDescriptor(java.lang.String, java.lang.String, java.lang.String, com.google.gwt.user.client.rpc.AsyncCallback)' has been added to an interface
    org.xwiki.gwt.wysiwyg.client.plugin.macro.MacroServiceAsync: Method 'public void getMacroDescriptors(java.lang.String, java.lang.String, com.google.gwt.user.client.rpc.AsyncCallback)' has been added to an interface
  • Add new methods to the Icon Set Module
    org.xwiki.icon.IconManager: Method 'public java.util.List getIconNames()' has been added to an interface
    org.xwiki.icon.IconManager: Method 'public java.util.List getIconNames(java.lang.String)' has been added to an interface
    org.xwiki.icon.IconSetManager: Method 'public java.util.List getIconSetNames()' has been added to an interface
  • LESS refactoring.
    org.xwiki.lesscss.LessCompilerScriptService: Method 'public boolean clearCacheFromFileSystemSkin(java.lang.String)' has been removed
    org.xwiki.lesscss.LessCompilerScriptService: Return type of method 'public org.xwiki.lesscss.ColorTheme getColorThemeFromSkinFile(java.lang.String)' has been changed to org.xwiki.lesscss.colortheme.ColorTheme
    org.xwiki.lesscss.LessCompilerScriptService: Return type of method 'public org.xwiki.lesscss.ColorTheme getColorThemeFromSkinFile(java.lang.String, java.lang.String)' has been changed to org.xwiki.lesscss.colortheme.ColorTheme
    org.xwiki.lesscss.ColorTheme: Class org.xwiki.lesscss.ColorTheme removed
    org.xwiki.lesscss.ColorThemeCache: Class org.xwiki.lesscss.ColorThemeCache removed
    org.xwiki.lesscss.LESSCache: Class org.xwiki.lesscss.LESSCache removed
    org.xwiki.lesscss.LESSColorThemeConverter: Class org.xwiki.lesscss.LESSColorThemeConverter removed
    org.xwiki.lesscss.LESSCompiler: Class org.xwiki.lesscss.LESSCompiler removed
    org.xwiki.lesscss.LESSCompilerException: Class org.xwiki.lesscss.LESSCompilerException removed
    org.xwiki.lesscss.LESSSkinFileCache: Class org.xwiki.lesscss.LESSSkinFileCache removed
    org.xwiki.lesscss.LESSSkinFileCompiler: Class org.xwiki.lesscss.LESSSkinFileCompiler removed
  • Lots of refactoring on the new Mail module, which is a young API
    org.xwiki.mail.MailResultListener: Class org.xwiki.mail.MailResultListener removed
    org.xwiki.mail.MailSender: Parameter 1 of 'public void send(javax.mail.internet.MimeMessage, javax.mail.Session)' has changed its type to java.lang.Iterable
    org.xwiki.mail.MailSender: Return type of method 'public void send(javax.mail.internet.MimeMessage, javax.mail.Session)' has been changed to org.xwiki.mail.MailResult
    org.xwiki.mail.MailSender: Parameter 1 of 'public void sendAsynchronously(javax.mail.internet.MimeMessage, javax.mail.Session, org.xwiki.mail.MailResultListener)' has changed its type to java.lang.Iterable
    org.xwiki.mail.MailSender: Parameter 3 of 'public void sendAsynchronously(javax.mail.internet.MimeMessage, javax.mail.Session, org.xwiki.mail.MailResultListener)' has changed its type to org.xwiki.mail.MailListener
    org.xwiki.mail.MailSender: Return type of method 'public void sendAsynchronously(javax.mail.internet.MimeMessage, javax.mail.Session, org.xwiki.mail.MailResultListener)' has been changed to org.xwiki.mail.MailResult
    org.xwiki.mail.MailSender: Method 'public void waitTillSent(long)' has been removed
    org.xwiki.mail.MailSenderConfiguration: Method 'public java.util.List getBCCAddresses()' has been added to an interface
    org.xwiki.mail.MailSenderConfiguration: Method 'public java.lang.String getScriptServicePermissionCheckerHint()' has been added to an interface
    org.xwiki.mail.script.MimeMessageWrapper: In method 'public MimeMessageWrapper(org.xwiki.mail.internal.ExtendedMimeMessage, javax.mail.Session, org.xwiki.mail.MailSender, org.xwiki.context.Execution, org.xwiki.component.manager.ComponentManager)' the number of arguments has changed
    org.xwiki.mail.script.MimeMessageWrapper: Accessibility of method 'public MimeMessageWrapper(org.xwiki.mail.internal.ExtendedMimeMessage, javax.mail.Session, org.xwiki.mail.MailSender, org.xwiki.context.Execution, org.xwiki.component.manager.ComponentManager)' has been decreased from public to package
    org.xwiki.mail.script.MimeMessageWrapper: Method 'public java.util.concurrent.BlockingQueue getErrors()' has been removed
    org.xwiki.mail.script.MimeMessageWrapper: Method 'public void send()' has been removed
    org.xwiki.mail.script.MimeMessageWrapper: Method 'public void sendAsynchronously()' has been removed
    org.xwiki.mail.script.MimeMessageWrapper: Method 'public void waitTillSent(long)' has been removed

Get Connected