Release Notes for XWiki 8.2
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 integrates CKEditor as the default WYSIWYG content editor. It also features a redesigned default homepage, a tour on the home page to describe the XWiki user interface to newcomers, new default templates, a new application index in the drawer and a new administration UI to help manage available syntaxes. There are also minor improvements to the template providers, the Flamingo skin and Ratings. For developers, we have Livetable macro improvements and a long overdue change of behavior for the getRenderedContent() method.
New and Noteworthy (since XWiki 8.1)
Full list of issues fixed and Dashboard for 8.2.
CKEditor Becomes the Default WYSIWYG Editor
Starting with this version we have a new WYSIWYG editor: the CKEditor. The integration with CKEditor was already available as an extension and now this extension is bundled with the standard XWiki distribution.
The old WYSIWYG editor is still available and if you want to switch back to it you can do it from the "Edit Mode Settings" section in the wiki administration.
New Homepage
We replaced the Dashboard application from the main Homepage and added introductory steps as wiki syntax. This change will make it simpler for new users to edit the Homepage content, while also benefiting from some basic help concepts. The left panels area also showcases now the "Navigation" panel, while the right panels area contain a "Need Help?" panel.
Tour for Homepage
A tour has been created to present the existing UI elements from the home page. Every user will be guided through this tour in order to become familiar with XWiki.
Default Templates
We added 4 default templates that will appear in the Create step. Their purpose is to showcase the template feature, by providing pre-created page structures that can be used immediately. The templates added are: Article, Encyclopedia, Meeting Report and Simple Page.
Application Index
We removed some applications from the AppBar (like Scheduler, Invitation, Panels, etc.) with the intention to simplify the interface and promote a smaller number of applications inside the AppBar panel. In order for the applications to still be discoverable, we added in the Drawer an Application Index.
Configure Syntaxes in Administration UI
It's now possible to easily configure the markup syntaxes that you wish to be made available to your users when writing pages, directly from the Admin UI.
We've also modified the default syntax configuration when you start with a fresh new XWiki; by default the only configured syntax is the XWiki Syntax 2.1. To add more you need to install extensions offering new syntaxes or go to the Admin UI to configure more syntaxes for those bundled by default in XWiki.
Note that the xwiki/2.1 syntax is the only configured syntax by default now (we used to also have the xwiki/2.0 syntax too but we want to incitate users to use the newest syntax). In addition when the user is an Admin and only 1 syntax is configured, a hint is given to the user to let him know he can configure more syntaxes:
Miscellaneous
- Removed Main.Welcome page from the Dashboard since we now have a new Homepage that contains the welcome messages
- You now have the option to create a blog post from anywhere inside the Blog page (or one of its children) by simply using the + (create page) button and selecting Blog Post as your new page's type.
- When creating a new page, the Template Providers for specific applications can now add an icon and a description, in order to display additional information in template providers list. We added new icons and descriptions for the Blog and Dashboard default templates.
- Events produced during Filter conversion job are now folded by default. This essentially means that they won't appear in Activity Stream anymore.
- Improved the edit section styling to be in consistency with the Flamingo Skin style
- Improved the way ratings stars are displayed by removing the white background from picture
- Default XWiki Syntax 1.0 configuration has been removed from xwiki.cfg and is now documented here.
- Added 2 new Tips Panel:
See the full list of JIRA issues fixed in this release.
For Developers
Associate Editors to Data Types
This version introduces a new module that provides APIs to associate editors to data types. For instance you can associate a date picker to java.util.Date, or a WYSIWYG editor to org.xwiki.rendering.block.XDOM. There can be multiple editors available for a specific data type and the user or the administrator can configure the preferred one. Checkout the Edit Module documentation for more details. This new API has been used to embed CKEditor as the default WYSIWYG editor.
Instance Filter improvements
- Instance Output Filter now support missing begin/end event on document locale and revision so input filter for which those two concept don't make sense don't have to send them anymore.
- Instance Output Filter now use the context locale as default locale (used to be empty locale).
Deprecated and Retired projects
MediaWiki parser
xwiki-rendering-syntax-mediawiki has been deprecated and moved to https://github.com/xwiki-contrib/syntax-mediawiki-1.0.
It's now recommended to use MediaWiki Syntax extension instead.
Upgrades
The following dependencies have been upgraded:
- Guice 4.1.0
- Commons Compress 1.12
- httpasyncclient 4.1.2
- JGroups 3.6.10
- Less4j 1.17.2
- Infinispan 8.2.3
- Groovy 2.4.7
- Jackson 2.7.5
- httpcore 4.4.5
- cssparser 0.9.19
- Tika 1.13
- HSQLDB 2.3.4
- Infinispan 8.2.2
- Pygments 2.1.3
- Commons FileUpload 1.3.2
- Joda-Time 2.9.4
- httpasyncclient 4.1.1
- old Jackson 1.9.13
- JBoss Logging 3.3.0
- javax.mail 1.4.7
Miscellaneous
- New org.xwiki.rendering.listener.SectionGeneratorListener to generate section events from headers events
- Instance Output filter now indicate the target syntax for Input filters producing rendering events
- The same relative file path supported for source filter properties parameter is now supported for any InputSource filter properties parameter in the Filter test framework
- $regextool Velocity Tool has a new method to quote the replacement string in String#replaceAll(). Here's how you can use it:#set ($out = $out.replaceAll(" (id|for)=('|"")$regextool.quote($oldId)",
" ${escapetool.d}1=${escapetool.d}2$regextool.quoteReplacement($newId)")) - Added 2 new column types for the Livetable macro: "boolean" and "multilist"
- The URL API module (xwiki-platform-url-api) now provides an EntityReferenceResolver<String> resolver and an EntityReferenceSerializer<String> serializer implementations (with hint url) that can be used to parse/serialize EntityReference when used in URLs. The rationale is that Tomcat, for security reasons, doesn't support forward and backward slashes (/, \) in URLs by default. Thus, if a reference contains some reserved characters such as dot (.), colon (:), etc and you use a default serializer they'll be escaped using a backslash, leading to problems under Tomcat. So this resolver/serializer uses a different escape character (namely, it uses !)
- It's now possible to use the more consistent "Space" instead of "XWikiSpace" in XWQL request
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:
Browser | Test Result | |
---|---|---|
Google Chrome 52 | Jira Tickets Marked as Fixed in the Release Notes + New and Noteworthy Features | |
Mozilla Firefox | Not Tested | |
Internet Explorer 10 | Not Tested | |
Internet Explorer 11 | Not Tested |
Here is the list of databases we support and how they have been tested for this release:
Database | Test Result | |
---|---|---|
HyperSQL | Not Tested | |
MySQL 5.7.13 | Jira Tickets Marked as Fixed in the Release Notes + New and Noteworthy Features | |
Oracle | Not Tested | |
PostgreSQL | Not 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 8.2
- We refactored the way in which the editors are loaded for page content and TextArea properties. We're now using the new Edit API.
- The following breaking changes have been done:
- textarea_text.vm and textarea_wysiwyg.vm Velocity templates have been removed. In case you have customized these templates you can port the changes to the new editor templates available in /templates/editors/xdom*.vm
- $xcontext.getEditorWysiwyg() has been deprecated and is now returning null all the time (which translates into "no TextArea fields that need a WYSIWYG editor"). If you were using this method to customize the WYSIWYG editor then you can do the same from the new editor templates available in /templates/editors/xdom*.vm
- A side effect of this refactoring is that the Object and Class editors are now using the configured preferred editor, unless it is overwritten using the "editor" meta property.
- If you have a TextArea property that doesn't support wiki syntax then best is to configure the xclass to use the PureText editor for this property.
- If the TextArea property supports wiki syntax but it's mostly code (e.g. Velocity, HTML) then best is to configure the Text editor.
- Finally, if the TextArea property supports wiki syntax and it's mostly free text then best is to configure the WYSIWYG editor.
- The following breaking changes have been done:
- The behavior of the getRenderedContent methods located in Document/XWikiDocument changed a bit.
- methods taking a String to render in the context of the document: they are still rendering in the context of the document but with the right of whatever called the method
- methods rendering the document itself: they are still rendering in the context of whatever called this method but with the right of the document
- The xwiki.rendering.syntaxes configuration property from xwiki.cfg has changed purpose. It's now used only to define the initial list of active syntaxes. Then an Admin can go to the Admin UI to enable or disable syntaxes.
- Support for the Markdown syntax is no longer bundled by default and needs to be installed as an Extension if needed.
API Breakages
The following APIs were modified since XWiki 8.1:
- Moved to a different module
- Violation type:java.class.removed
- Code:## Old:
class org.xwiki.rendering.wikimodel.mediawiki.MediaWikiMacroParser
- Violation type:
- Moved to a different module
- Violation type:java.class.removed
- Code:## Old:
class org.xwiki.rendering.wikimodel.mediawiki.MediaWikiParser
- Violation type:
- Moved to a different module
- Violation type:java.class.removed
- Code:## Old:
class org.xwiki.rendering.wikimodel.mediawiki.MediaWikiReferenceParser
- Violation type:
- No actual breakage. Class was moved to another module
- Violation type:java.class.removed
- Code:## Old:
class org.xwiki.rendering.parser.ContentParser
- Violation type:
Credits
The following people have contributed code to this release (sorted alphabetically):
Alexandru Cotiuga
Anca Luca
Clemens Robbenhaar
Denis Gervalle
Ecaterina Moraru (Valica)
Eduard Moraru
Guillaume Delhumeau
katpavlova
Marius Dumitru Florea
Manuel Smeria
Medjdoub
Pascal Bastien
Raluca Stavro
rnveach
Sean Whalen
Sergiu Dumitriu
Thomas Mortagne
Vincent Massol