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

Second 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):

  • Lots of improvements and new features in the new WYSIWYG editor
  • Lots of improvements and bugfixes in the rendering engine and the syntax converter
  • Smaller XHTML output
  • Upgrade to SmartGWT 1.2
  • New footnote macro
  • New experimental network event distribution module
  • Macros can expose nicer human readable names
  • It's now possible to add renderers easily
  • New plain text parser

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.

Footnote macro

See Footnote macro documentation.

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.

Nicer macro names

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

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 RenderingModule.

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.

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.AbstractBlock: Method 'public void replace(java.util.List)' has been removed
[ERROR] org.xwiki.rendering.block.AbstractBlock: Method 'public void setParameter(java.lang.String, java.lang.Object)' has been removed
[ERROR] org.xwiki.rendering.block.Block: Method 'public void replace(java.util.List)' has been removed
[ERROR] org.xwiki.rendering.block.Block: Method 'public void replaceChild(org.xwiki.rendering.block.Block, org.xwiki.rendering.block.Block)' has been added to an interface
[ERROR] org.xwiki.rendering.block.Block: Method 'public void replaceChild(java.util.List, org.xwiki.rendering.block.Block)' has been added to an interface
[ERROR] org.xwiki.rendering.block.MacroBlock: Method 'public java.lang.String getName()' has been removed
[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 1 of 'public AbstractMacro(org.xwiki.rendering.macro.descriptor.MacroDescriptor)' has changed its type to java.lang.String
[ERROR] org.xwiki.rendering.macro.AbstractMacro: Method 'protected void registerConverter(org.apache.commons.beanutils.Converter, java.lang.Class)' has been removed
[ERROR] org.xwiki.rendering.macro.AbstractMacroSource: Class org.xwiki.rendering.macro.AbstractMacroSource removed
[ERROR] org.xwiki.rendering.macro.MacroManager: Removed java.lang.Comparable from the set of implemented interfaces
[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.MacroManager: Method 'public int getPriority()' has been removed
[ERROR] org.xwiki.rendering.macro.MacroSource: Class org.xwiki.rendering.macro.MacroSource removed
[ERROR] org.xwiki.rendering.macro.descriptor.AbstractMacroDescriptor: In method 'public AbstractMacroDescriptor(java.lang.String, org.xwiki.rendering.macro.descriptor.ContentDescriptor, java.lang.Class)' the number of arguments has changed
[ERROR] org.xwiki.rendering.macro.descriptor.AbstractMacroDescriptor: Method 'protected java.lang.annotation.Annotation extractParameterAnnotation(java.lang.reflect.Method, java.lang.reflect.Method, java.lang.Class)' has been removed
[ERROR] org.xwiki.rendering.macro.descriptor.AbstractMacroDescriptor: Method 'protected void extractParameterDescriptor(java.beans.PropertyDescriptor, java.lang.Object)' has been removed
[ERROR] org.xwiki.rendering.macro.descriptor.DefaultMacroDescriptor: Parameter 2 of 'public DefaultMacroDescriptor(java.lang.String, java.lang.Class)' 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, java.lang.Class)' 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, java.lang.Class)' has changed its type to org.xwiki.rendering.macro.descriptor.ContentDescriptor
[ERROR] org.xwiki.rendering.macro.descriptor.DefaultMacroDescriptor: In method 'public DefaultMacroDescriptor(java.lang.String, org.xwiki.rendering.macro.descriptor.ContentDescriptor)' the number of arguments has changed
[ERROR] org.xwiki.rendering.macro.descriptor.DefaultParameterDescriptor: In method 'public DefaultParameterDescriptor()' the number of arguments has changed
[ERROR] org.xwiki.rendering.macro.descriptor.DefaultParameterDescriptor: Method 'public void setDefaultValue(java.lang.Object)' has been removed
[ERROR] org.xwiki.rendering.macro.descriptor.DefaultParameterDescriptor: Method 'public void setDescription(java.lang.String)' has been removed
[ERROR] org.xwiki.rendering.macro.descriptor.DefaultParameterDescriptor: Method 'public void setMandatory(boolean)' has been removed
[ERROR] org.xwiki.rendering.macro.descriptor.DefaultParameterDescriptor: Method 'public void setName(java.lang.String)' has been removed
[ERROR] org.xwiki.rendering.macro.descriptor.DefaultParameterDescriptor: Method 'public void setType(java.lang.Class)' has been removed
[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.macro.descriptor.annotation.ParameterDescription: Class org.xwiki.rendering.macro.descriptor.annotation.ParameterDescription removed
[ERROR] org.xwiki.rendering.macro.descriptor.annotation.ParameterHidden: Class org.xwiki.rendering.macro.descriptor.annotation.ParameterHidden removed
[ERROR] org.xwiki.rendering.macro.descriptor.annotation.ParameterMandatory: Class org.xwiki.rendering.macro.descriptor.annotation.ParameterMandatory removed
[ERROR] org.xwiki.rendering.parser.ParseException: Parameter 2 of 'public ParseException(java.lang.String, java.lang.Exception)' has changed its type to java.lang.Throwable
[ERROR] org.xwiki.rendering.parser.ParseException: Method 'public ParseException(java.lang.Exception)' has been removed
[ERROR] org.xwiki.rendering.parser.ParseException: Method 'public ParseException(java.lang.Exception, java.lang.String, int)' has been removed
[ERROR] org.xwiki.rendering.parser.ParseException: Method 'public ParseException(java.lang.Exception, java.lang.String, java.lang.String, int)' has been removed
[ERROR] org.xwiki.rendering.parser.ParseException: Method 'public java.lang.String getFileName()' has been removed
[ERROR] org.xwiki.rendering.parser.ParseException: Method 'public int getLineNumber()' has been removed
[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.SimpleXHTMLImageRenderer: Class org.xwiki.rendering.renderer.xhtml.SimpleXHTMLImageRenderer removed
[ERROR] org.xwiki.rendering.renderer.xhtml.SimpleXHTMLLinkRenderer: Class org.xwiki.rendering.renderer.xhtml.SimpleXHTMLLinkRenderer 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.XWikiXHTMLImageRenderer: Class org.xwiki.rendering.renderer.xhtml.XWikiXHTMLImageRenderer removed
[ERROR] org.xwiki.rendering.renderer.xhtml.XWikiXHTMLLinkRenderer: Class org.xwiki.rendering.renderer.xhtml.XWikiXHTMLLinkRenderer removed
[ERROR] org.xwiki.rendering.util.RenderersUtils: Class org.xwiki.rendering.util.RenderersUtils removed
Tags:
   

Get Connected