ReleaseNotesXWikiEnterprise20M3

Last modified by Thomas Mortagne on 2017/03/24

ContentsThe [toc] macro is a standalone macro and it cannot be used inline. Click on this message for details.

Release Notes for XWiki Enterprise 2.0 Milestone 3

Third (and last) milestone of the XWiki Enterprise 2.0 version (Roadmap).

New and Noteworthy (since XWiki Enterprise 2.0 Milestone 2)

At a glance (see below for details):

  • Improvements and bug fixes in the GWT WYSIWYG editor
  • Improvements and bugfixes in the rendering engine and the syntax converter
  • New macros
  • Upgrade to SmartGWT 1.2
  • New experimental network event distribution module (to be used for clustering XWiki caches)
  • Several Blog application improvements
  • Several Tag application bug fixes
  • Translations updated for de, fr, lv, nl, ru

WYSIWYG improvements

Double click to edit a macro

User can now double click on a macro to edit it and double click in the list of macro to insert it.

Nicer macro names in the list of macros

WYSIWYG does not expose macro identifier anymore but human readable names provided by the different macros.

Rendering improvements

Footnote macro

footnote1.png

See Footnote macro documentation.

Formula macro

Ability to render Mathematical Formulas using the {{formula}} macro (see documentation page).

You can check for examples on the Wikipedia Math Markup page.

Smaller XHTML output

We introduced a light XHTML renderer which avoid having all extra datas needed by the WYSIWYG. You will not get any weird XHTML comment anymore in the rendered page.

Renderers are now real components

The same way it's possible to add any parser it's not possible to add any renderer for a specific output simply by registering it as a component.

See Rendering Module.

New plain text parser

Plain text parser make possible to put in a page some plain text to render it exactly as it. The syntax name of plain text renderer is plain/1.0, you can enable it in xwiki.cfg.

Remote Observation Manager

It's now possible to make different instances of XWiki or other programs shares events.

The main use cases for this are:

  • clustering
  • external monitoring of XWiki

This release include documents events support for code using new Observation Manager and remote events support in document cache so that's it's possible to do basic clustering already. The old code using old notification system will be upgraded during the RC process before the final 2.0 version and support will be added for other types of events. Note that Remote Observation Manager already support any kind of fully Serializable events.

Translations updated

  • de: Helmut Lehner
  • fr: Guillaume Lerouge
  • lv: Valdis Vitolins
  • nl: Hank Schouten
  • ru: Ivan Podgorny

Important bugs fixed

  • XWIKI-4140 - Wiki macros are evaluating programming rights on wrong (local) documents when executed in virtual wikis
  • XWIKI-4114 - Not possible to put content in info, warning and error macro from the WYSIWYG

Known issues

Backward Compatibility and Migration Notes

General Notes

If you're running in a multiwiki setup you'll also need to define the property xwiki.store.migration.databases=all to your xwiki.cfg file or explicitly name all databases to be migrated as in xwiki.store.migration.databases=db1,db2,....

You may also want to import the default wiki XAR in order to benefit from improvements listed above.

Always make sure you compare your xwiki.cfg file with the newest version since some configuration parameters were added. Of note, 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 Enterprise 2.0M2:

  • Rendering Module
    • Macro have to provide a human readable name in various AbstractMacro helpers constructors
    • Big refactor around renderers and the way to use them since they are real components now
    • Details:\
[ERROR] org.xwiki.rendering.block.MacroBlock: Method 'public java.lang.String getName()' has been removed
[ERROR] org.xwiki.rendering.block.PlainTextBlockFilter: In method 'public PlainTextBlockFilter(org.xwiki.rendering.renderer.LinkLabelGenerator)' the number of arguments has changed
[ERROR] org.xwiki.rendering.configuration.RenderingConfiguration: Method 'public java.util.Properties getMacroCategories()' has been added to an interface
[ERROR] org.xwiki.rendering.listener.chaining.AbstractChainingListener: In method 'public AbstractChainingListener(org.xwiki.rendering.listener.chaining.ListenerChain)' the number of arguments has changed
[ERROR] org.xwiki.rendering.macro.AbstractMacro: Parameter 2 of 'public AbstractMacro(java.lang.String, org.xwiki.rendering.macro.descriptor.ContentDescriptor)' has changed its type to java.lang.String
[ERROR] org.xwiki.rendering.macro.AbstractMacro: Parameter 2 of 'public AbstractMacro(java.lang.String, org.xwiki.rendering.macro.descriptor.ContentDescriptor, java.lang.Class)' has changed its type to java.lang.String
[ERROR] org.xwiki.rendering.macro.AbstractMacro: In method 'public AbstractMacro(java.lang.String, java.lang.Class)' the number of arguments has changed
[ERROR] org.xwiki.rendering.macro.MacroManager: Parameter 1 of 'public boolean exists(java.lang.String)' has changed its type to org.xwiki.rendering.macro.MacroId
[ERROR] org.xwiki.rendering.macro.MacroManager: Method 'public boolean exists(java.lang.String, org.xwiki.rendering.parser.Syntax)' has been removed
[ERROR] org.xwiki.rendering.macro.MacroManager: Parameter 1 of 'public org.xwiki.rendering.macro.Macro getMacro(java.lang.String)' has changed its type to org.xwiki.rendering.macro.MacroId
[ERROR] org.xwiki.rendering.macro.MacroManager: Method 'public org.xwiki.rendering.macro.Macro getMacro(java.lang.String, org.xwiki.rendering.parser.Syntax)' has been removed
[ERROR] org.xwiki.rendering.macro.MacroManager: Method 'public java.util.Set getMacroIds()' has been added to an interface
[ERROR] org.xwiki.rendering.macro.MacroManager: Method 'public java.util.Set getMacroIds(org.xwiki.rendering.parser.Syntax)' has been added to an interface
[ERROR] org.xwiki.rendering.macro.MacroManager: Method 'public java.util.Set getMacroNames(org.xwiki.rendering.parser.Syntax)' has been removed
[ERROR] org.xwiki.rendering.macro.descriptor.AbstractMacroDescriptor: In method 'public AbstractMacroDescriptor(java.lang.String, org.xwiki.rendering.macro.descriptor.ContentDescriptor, org.xwiki.properties.BeanDescriptor)' the number of arguments has changed
[ERROR] org.xwiki.rendering.macro.descriptor.DefaultMacroDescriptor: Parameter 2 of 'public DefaultMacroDescriptor(java.lang.String, org.xwiki.rendering.macro.descriptor.ContentDescriptor)' has changed its type to java.lang.String
[ERROR] org.xwiki.rendering.macro.descriptor.DefaultMacroDescriptor: Parameter 2 of 'public DefaultMacroDescriptor(java.lang.String, org.xwiki.rendering.macro.descriptor.ContentDescriptor, org.xwiki.properties.BeanDescriptor)' has changed its type to java.lang.String
[ERROR] org.xwiki.rendering.macro.descriptor.DefaultMacroDescriptor: Parameter 3 of 'public DefaultMacroDescriptor(java.lang.String, org.xwiki.rendering.macro.descriptor.ContentDescriptor, org.xwiki.properties.BeanDescriptor)' has changed its type to org.xwiki.rendering.macro.descriptor.ContentDescriptor
[ERROR] org.xwiki.rendering.macro.descriptor.MacroDescriptor: Method 'public java.lang.String getDefaultCategory()' has been added to an interface
[ERROR] org.xwiki.rendering.macro.descriptor.MacroDescriptor: Method 'public java.lang.String getName()' has been added to an interface
[ERROR] org.xwiki.rendering.parser.SyntaxType: Method 'public org.xwiki.rendering.parser.SyntaxType getSyntaxType(java.lang.String)' has been removed
[ERROR] org.xwiki.rendering.renderer.EventsRenderer: Class org.xwiki.rendering.renderer.EventsRenderer removed
[ERROR] org.xwiki.rendering.renderer.PlainTextRenderer: Class org.xwiki.rendering.renderer.PlainTextRenderer removed
[ERROR] org.xwiki.rendering.renderer.PrintRenderer: Method 'public void setPrinter(org.xwiki.rendering.renderer.printer.WikiPrinter)' has been added to an interface
[ERROR] org.xwiki.rendering.renderer.PrintRendererFactory: In method 'public org.xwiki.rendering.renderer.PrintRenderer createRenderer(org.xwiki.rendering.parser.Syntax, org.xwiki.rendering.renderer.printer.WikiPrinter)' the number of arguments has changed
[ERROR] org.xwiki.rendering.renderer.PrintRendererFactory: Method 'public java.util.List getAvailableSyntaxes()' has been removed
[ERROR] org.xwiki.rendering.renderer.PrintRendererFactory: Method 'public org.xwiki.rendering.parser.Syntax getSyntax()' has been added to an interface
[ERROR] org.xwiki.rendering.renderer.TexRenderer: Class org.xwiki.rendering.renderer.TexRenderer removed
[ERROR] org.xwiki.rendering.renderer.XHTMLRenderer: Class org.xwiki.rendering.renderer.XHTMLRenderer removed
[ERROR] org.xwiki.rendering.renderer.XWikiSyntaxRenderer: Class org.xwiki.rendering.renderer.XWikiSyntaxRenderer removed
[ERROR] org.xwiki.rendering.renderer.chaining.AbstractChainingPrintRenderer: Class org.xwiki.rendering.renderer.chaining.AbstractChainingPrintRenderer removed
[ERROR] org.xwiki.rendering.renderer.printer.MonitoringWikiPrinter: Class org.xwiki.rendering.renderer.printer.MonitoringWikiPrinter removed
[ERROR] org.xwiki.rendering.renderer.xhtml.DefaultXHTMLImageRenderer: Class org.xwiki.rendering.renderer.xhtml.DefaultXHTMLImageRenderer removed
[ERROR] org.xwiki.rendering.renderer.xhtml.DefaultXHTMLLinkRenderer: Class org.xwiki.rendering.renderer.xhtml.DefaultXHTMLLinkRenderer removed
[ERROR] org.xwiki.rendering.renderer.xhtml.XHTMLImageRenderer: Method 'public org.xwiki.rendering.renderer.printer.XHTMLWikiPrinter getXHTMLWikiPrinter()' has been added to an interface
[ERROR] org.xwiki.rendering.renderer.xhtml.XHTMLLinkRenderer: Method 'public org.xwiki.rendering.renderer.printer.XHTMLWikiPrinter getXHTMLWikiPrinter()' has been added to an interface
[ERROR] org.xwiki.rendering.renderer.xhtml.XHTMLRendererFactory: Class org.xwiki.rendering.renderer.xhtml.XHTMLRendererFactory removed
[ERROR] org.xwiki.rendering.util.ParserUtils: Method 'public java.util.List parsePlainText(java.lang.String)' has been removed
[ERROR] org.xwiki.rendering.util.RenderersUtils: Class org.xwiki.rendering.util.RenderersUtils removed

Get Connected