XWiki Enterprise 2.6
Last modified by Thomas Mortagne on 2023/10/13
Contents
XWiki Enterprise 2.6 is a release mostly focused on stabilization but in which we've implemented a redesigned Activity Stream, Share Page by mail feature and Icon/Emoticon support (See the initial Roadmap).
New and Noteworthy (since XWiki Enterprise 2.5)
1 Activity Stream
- Overhaul of the Recent Changes section of the Dashboard:
- New UI
- Support for more events compared to the previous Recent Changes: annotations, comments, document deletion
- It's now called Recent Activity (was called Recent Changes)
2 Share Page by Mail
3 Icon/Emoticon Support
- Added a syntax in the experimental XWiki Syntax 2.1 for inserting an icon from the XWiki Icon Set.
Usage:
image:icon:<icon name>
Example:
image:icon:accept - Added the ability to map characters to an icon in any XWiki Syntax (edit xwiki.properties to modify or add new mappings).
Default mappings:
Characters Result :) :( :P :D ;) (y) (n) (i) (/) (x) (!) (+) (-) (?) (on) (off) (*) - Box Macro's image parameter now support referencing an icon.
Example:
{{box image="icon:accept"}}
Some content
{{/box}}
4 Auto linking of WikiWords
- Added ability to automatically create wiki links on WikiWords.
5 New Activity Macro
- New Activity macro.
6 Others
- Scheduler jobs can be located in any page in the wiki and not only in the Scheduler space.
- Converted several Administration application pages to XWiki Syntax 2.0
- Improved livetable performance by throttling the requests sent (one every few milliseconds).
- All the translations have been updated
- Lots of bug fixes and small improvements (full list in JIRA)
7 For developers
- Added new event types: add/update/delete comment/annotation/attachment
- Added ability to define in xwiki.properties which Rendering Transformations to execute when rendering a document.
- Replace Velocity Date Tool by Velocity Date Comparison Tool which offers even more APIs.
Known issues
- There's a important bug in the Icon Transformation which makes content not rendered properly if there are partial matches followed by an icon match. See XWIKI-5729. You can disable the Icon Transformation by editing the xwiki.properties file if it's causing problems for you.
- The Send Page by mail feature currently doesn't work on IPv6 systems if your machine is on localhost. To work around this start your container with -Djava.net.preferIPv4Stack=true.
- Other bugs we know about
Backward Compatibility and Migration Notes
General Notes
You may also want to import the default wiki XAR in order to benefit from the improvements listed above.
Notes specific to XWiki Enterprise 2.6
- The XWiki.XWikiPreferences page must be converted to the xwiki/2.0 syntax:
- Go to http://yourdomain/xwiki/bin/edit/XWiki/XWikiPreferences?editor=wiki
- Put the following in the content field {{include document="XWiki.AdminSheet"/}}
- Change the syntax to xwiki/2.0 and press cancel (the automatic conversion would convert fields that must not be converted in the XWikiPreferences object)
- The Main.RecentChages page was removed and replaced by Main.Activity
- The configuration option controlling the experimental CSRF protection mechanism introduced in 2.5 was changed from core.csrf.enabled to csrf.enabled. If you are using CSRF protection, make sure to re-enable it by setting csrf.enabled = true in xwiki.properties.
- The configuration option to define macro categories was changed from rendering.macroCategories to rendering.transformation.macro.categories. If you're using this option make sure you modify its name in xwiki.properties.
API Breakages
The following APIs were modified since XWiki Enterprise 2.5:
ERROR: 7006: org.xwiki.annotation.maintainer.AbstractAnnotationMaintainer: Return type of method 'protected void recomputeProperties(org.xwiki.annotation.Annotation, java.util.Collection, java.lang.String, org.xwiki.annotation.content.AlteredContent, java.lang.String)' has been changed to boolean
ERROR: 7012: org.xwiki.bridge.SkinAccessBridge: Method 'public java.lang.String getIconURL(java.lang.String)' has been added to an interface
ERROR: 8001: org.xwiki.component.manager.AbstractComponentDescriptorEvent: Class org.xwiki.component.manager.AbstractComponentDescriptorEvent removed
ERROR: 8001: org.xwiki.component.manager.ComponentDescriptorAddedEvent: Class org.xwiki.component.manager.ComponentDescriptorAddedEvent removed
ERROR: 8001: org.xwiki.component.manager.ComponentDescriptorEvent: Class org.xwiki.component.manager.ComponentDescriptorEvent removed
ERROR: 8001: org.xwiki.component.manager.ComponentDescriptorRemovedEvent: Class org.xwiki.component.manager.ComponentDescriptorRemovedEvent removed
ERROR: 8001: org.xwiki.component.manager.ComponentEventManager: Class org.xwiki.component.manager.ComponentEventManager removed
ERROR: 8001: org.xwiki.observation.event.ScriptEvaluationFinishedEvent: Class org.xwiki.observation.event.ScriptEvaluationFinishedEvent removed
ERROR: 8001: org.xwiki.observation.event.ScriptEvaluationStartsEvent: Class org.xwiki.observation.event.ScriptEvaluationStartsEvent removed
ERROR: 7012: org.xwiki.rendering.block.Block: Method 'public org.xwiki.rendering.block.Block getNextSibling()' has been added to an interface
ERROR: 7012: org.xwiki.rendering.block.Block: Method 'public org.xwiki.rendering.block.Block getPreviousSibling()' has been added to an interface
ERROR: 7012: org.xwiki.rendering.block.Block: Method 'public void removeBlock(org.xwiki.rendering.block.Block)' has been added to an interface
ERROR: 7012: org.xwiki.rendering.block.Block: Method 'public void setNextSiblingBlock(org.xwiki.rendering.block.Block)' has been added to an interface
ERROR: 7012: org.xwiki.rendering.block.Block: Method 'public void setPreviousSiblingBlock(org.xwiki.rendering.block.Block)' has been added to an interface
ERROR: 6001: org.xwiki.rendering.block.NewLineBlock: Removed field NEW_LINE_BLOCK
ERROR: 6001: org.xwiki.rendering.block.SpaceBlock: Removed field SPACE_BLOCK
ERROR: 7002: org.xwiki.rendering.configuration.RenderingConfiguration: Method 'public java.util.Properties getMacroCategories()' has been removed
ERROR: 7012: org.xwiki.rendering.configuration.RenderingConfiguration: Method 'public java.util.List getTransformations()' has been added to an interface
ERROR: 6001: org.xwiki.rendering.listener.reference.ResourceType: Removed field IMAGE
ERROR: 7002: org.xwiki.rendering.wiki.WikiModel: Method 'public java.lang.String getAttachmentURL(org.xwiki.rendering.listener.reference.ResourceReference)' has been removed
ERROR: 7012: org.xwiki.rendering.wiki.WikiModel: Method 'public java.lang.String getLinkURL(org.xwiki.rendering.listener.reference.ResourceReference)' has been added to an interface
ERROR: 7002: org.xwiki.rendering.scaffolding.MockWikiModel: Method 'public java.lang.String getAttachmentURL(org.xwiki.rendering.listener.reference.ResourceReference)' has been removed
ERROR: 7012: org.xwiki.bridge.SkinAccessBridge: Method 'public java.lang.String getIconURL(java.lang.String)' has been added to an interface
ERROR: 8001: org.xwiki.component.manager.AbstractComponentDescriptorEvent: Class org.xwiki.component.manager.AbstractComponentDescriptorEvent removed
ERROR: 8001: org.xwiki.component.manager.ComponentDescriptorAddedEvent: Class org.xwiki.component.manager.ComponentDescriptorAddedEvent removed
ERROR: 8001: org.xwiki.component.manager.ComponentDescriptorEvent: Class org.xwiki.component.manager.ComponentDescriptorEvent removed
ERROR: 8001: org.xwiki.component.manager.ComponentDescriptorRemovedEvent: Class org.xwiki.component.manager.ComponentDescriptorRemovedEvent removed
ERROR: 8001: org.xwiki.component.manager.ComponentEventManager: Class org.xwiki.component.manager.ComponentEventManager removed
ERROR: 8001: org.xwiki.observation.event.ScriptEvaluationFinishedEvent: Class org.xwiki.observation.event.ScriptEvaluationFinishedEvent removed
ERROR: 8001: org.xwiki.observation.event.ScriptEvaluationStartsEvent: Class org.xwiki.observation.event.ScriptEvaluationStartsEvent removed
ERROR: 7012: org.xwiki.rendering.block.Block: Method 'public org.xwiki.rendering.block.Block getNextSibling()' has been added to an interface
ERROR: 7012: org.xwiki.rendering.block.Block: Method 'public org.xwiki.rendering.block.Block getPreviousSibling()' has been added to an interface
ERROR: 7012: org.xwiki.rendering.block.Block: Method 'public void removeBlock(org.xwiki.rendering.block.Block)' has been added to an interface
ERROR: 7012: org.xwiki.rendering.block.Block: Method 'public void setNextSiblingBlock(org.xwiki.rendering.block.Block)' has been added to an interface
ERROR: 7012: org.xwiki.rendering.block.Block: Method 'public void setPreviousSiblingBlock(org.xwiki.rendering.block.Block)' has been added to an interface
ERROR: 6001: org.xwiki.rendering.block.NewLineBlock: Removed field NEW_LINE_BLOCK
ERROR: 6001: org.xwiki.rendering.block.SpaceBlock: Removed field SPACE_BLOCK
ERROR: 7002: org.xwiki.rendering.configuration.RenderingConfiguration: Method 'public java.util.Properties getMacroCategories()' has been removed
ERROR: 7012: org.xwiki.rendering.configuration.RenderingConfiguration: Method 'public java.util.List getTransformations()' has been added to an interface
ERROR: 6001: org.xwiki.rendering.listener.reference.ResourceType: Removed field IMAGE
ERROR: 7002: org.xwiki.rendering.wiki.WikiModel: Method 'public java.lang.String getAttachmentURL(org.xwiki.rendering.listener.reference.ResourceReference)' has been removed
ERROR: 7012: org.xwiki.rendering.wiki.WikiModel: Method 'public java.lang.String getLinkURL(org.xwiki.rendering.listener.reference.ResourceReference)' has been added to an interface
ERROR: 7002: org.xwiki.rendering.scaffolding.MockWikiModel: Method 'public java.lang.String getAttachmentURL(org.xwiki.rendering.listener.reference.ResourceReference)' has been removed