Release Notes for XWiki Enterprise 3.3 Milestone 1
First milestone of the XWiki Enterprise 3.3 version (). Since we're getting closer to the end of the 3.x cycle, there are fewer new features in this release, most of the changes being internal.
New and Noteworthy (since XWiki Enterprise 3.2 version)
Preview of the upcoming application designer
A key element of the Application Within Minutes feature, the application designer makes its debut in this release with a preview of the new class editor. While not ready for production yet, you're invited to test it and provide feedback on the interaction and user experience, byor .
You can give it a try by simply adding an object of type XWiki.DocumentSheetBinding to an existing class or a new document, setting the sheet property to AppWithinMinutes.ClassEditSheet and then editing that document in "Inline form" edit mode.
Starting with 3.3 Milestone 1 Debian packages and repositories are released.
You can add one of the following list files to /etc/debian/apt/source.list.d/:
- : all stable releases starting with 3.3 (so nothing right now)
- : all releases starting with 3.3 Milestone 1
- : all snapshots release starting with 3.3 branch
LDAP user membership improvements
Organization unit and search filter support have been added in the group membership mapping settings. To use them, replace the group DN with an organization unit DN or with any search filter.
Since the filesystem attachment storage allows uploading very large files, a necessary improvement is to be able to pause and resume downloads. Starting with this version, it is possible to do so, since the /download/ action now respects the Range HTTP header.
Several bugs with downloading attachments when the filesystem storage is enabled have also been fixed, making this feature ready for production use.
It's now possible to tell XWiki to check for validity of external links found in the Wiki (to verify broken links for example). This is implemented through a.
It's not enabled by default. To enable it, edit the xwiki.properties file and add linkchecker to the list of transformations to execute. For example:
Note that there's no UI for it yet (planned for 3.3 Milestone 2) but the Link States can be access through a Script Service. For example from Velocity:
#set ($states = $services.linkchecker.getLinkStates())
Script services for Application Manager and Wiki Manager
There are script services now available for the old application and wiki manager plugins. You can access them via $services.applicationmanager and $services.wikimanager, and call all the methods previously exposed by their respective plugin APIs. For the moment the plugins are still there, with the script services just bridging them to the new prefered way of accessing APIs from Velocity scripts.
Several bugfixes and improvements have been committed, affecting the rendering cache, the cache macro, and the cache infrastructure in general. An important change is the introduction of an infinispan-based cache implementation, replacing JBossCache as the default one.
New xdom+xml syntax
The rendering now come with two reference XML based syntaxes which are the exact representation of rendering events.
Two variants are provided:
- 1.0: a stable syntax which represent the rendering events in the state they had when this version has been released. If anything change a new version of the syntax will be created (1.1, etc.)
- current: always in sync with rendering events whatever the version but also mean that it can change anytime without warning, only use that for internal use when you are sure you will render and parse with the same version of XWiki Rendering
XE and XEM XAR changes
The XAR plugin by default doesn't bundle dependencies anymore, so the XE and XEM XARs now come in two variants:
- the old xwiki-enterprise-wiki module has been renamed into , and produces a XAR only with the documents specific to XWiki Enterprise, without dependencies;
- the full XAR with all the dependencies bundled in it is now produced by the module.
The following dependencies have been upgraded:
- CSS4J 0.13
- Groovy 1.8.3
- JGroups 2.12.2
- reflections 0.9.6
- Selenium 2.11
- SLF4J 1.6.3
- Make it simple to add Icon Transformation mappings when using the Rendering in standalone mode
- Add support for being able to override components more than once TODO: Document it and linke to the documentation
- Bundle the Icon and WikiWord Transformations in the Rendering Standalone JAR
- Comments Macro is not bundled in the Rendering Standalone JAR
- Allow setting time to live and max entries when using the Cache macro
- IRC Bot application improvements
- Move to JBoss Infinispan as default cache implementation
- Application Manager and Wiki Manager plugins now expose a ScriptService and don't need to be added as plugin in xwiki.cfg file anymore. You can access they using $services.applicationmanager and $services.wikimanager.
The following translations have been updated:
Here's the list of supported browsers for this version (i.e. browsers that we've tested as working):
- Internet Explorer
- Internet Explorer
You can check theto learn about what was tested and the results on various browsers.
Backward Compatibility and Migration Notes
You may also want toin order to benefit from all the improvements listed above.
Issues specific to XWiki Enterprise 3.3 Milestone 1
Default Cache implementation changed
As mentioned above, a new cache implementation based on the successor of JBossCache, Infinispan, has been implemented and selected as the default cache provider. Any custom code that deals with caches should be checked for eventual incompatibilities.
Maven XAR plugin behavior changed
The Maven plugin used for packaging XAR modules has been changed so that by default it doesn't bundle the XAR dependencies. This is reflected in the default XE wiki, which now comes in two variants, described. If you're counting on the old behavior for your custom projects, you can configure the plugin to bundle dependencies by setting the includeDependencies property to true.
Internals of the filesystem attachment store were moved around, there are not API and were never intended that way and not useful as API but clirr sees them as API so it is technically a break. See:.
The following APIs were modified since <project> <version - 1>:
com.xpn.xwiki.plugin.applicationmanager.ApplicationManagerPlugin: Removed org.xwiki.observation.EventListener from the set of implemented interfaces
com.xpn.xwiki.plugin.applicationmanager.ApplicationManagerPlugin: Method 'public java.util.List getEvents()' has been removed
com.xpn.xwiki.plugin.applicationmanager.ApplicationManagerPlugin: Method 'public void onEvent(org.xwiki.observation.event.Event, java.lang.Object, java.lang.Object)' has been removed
org.xwiki.cache.eviction.EntryEvictionConfiguration: Method 'public void setAlgotithm(org.xwiki.cache.eviction.EntryEvictionConfiguration$Algorithm)' has been removed
org.xwiki.model.reference.ObjectPropertyReferenceResolver: Method 'public org.xwiki.model.reference.ObjectPropertyReference resolve(java.lang.Object, java.lang.Object)' has been added to an interface
org.xwiki.model.reference.ObjectReferenceResolver: Method 'public org.xwiki.model.reference.ObjectReference resolve(java.lang.Object, java.lang.Object)' has been added to an interface
com.xpn.xwiki.api.XWiki: Method 'public com.xpn.xwiki.plugin.query.XWikiQuery createQueryFromRequest(java.lang.String)' has been removed
com.xpn.xwiki.api.XWiki: Method 'public java.lang.String displaySearch(java.lang.String, java.lang.String)' has been removed
com.xpn.xwiki.api.XWiki: Method 'public java.lang.String displaySearch(java.lang.String, java.lang.String, com.xpn.xwiki.plugin.query.XWikiCriteria)' has been removed
com.xpn.xwiki.api.XWiki: Method 'public java.lang.String displaySearch(java.lang.String, java.lang.String, java.lang.String, com.xpn.xwiki.plugin.query.XWikiCriteria)' has been removed
com.xpn.xwiki.api.XWiki: Method 'public java.lang.String displaySearchColumns(java.lang.String, com.xpn.xwiki.plugin.query.XWikiQuery)' has been removed
com.xpn.xwiki.api.XWiki: Method 'public java.lang.String displaySearchColumns(java.lang.String, java.lang.String, com.xpn.xwiki.plugin.query.XWikiQuery)' has been removed
com.xpn.xwiki.api.XWiki: Method 'public java.lang.String displaySearchOrder(java.lang.String, com.xpn.xwiki.plugin.query.XWikiQuery)' has been removed
com.xpn.xwiki.api.XWiki: Method 'public java.lang.String displaySearchOrder(java.lang.String, java.lang.String, com.xpn.xwiki.plugin.query.XWikiQuery)' has been removed
com.xpn.xwiki.api.XWiki: Method 'public java.util.List search(com.xpn.xwiki.plugin.query.XWikiQuery)' has been removed
com.xpn.xwiki.api.XWiki: Method 'public java.lang.String searchAsTable(com.xpn.xwiki.plugin.query.XWikiQuery)' has been removed
com.xpn.xwiki.doc.DeletedFilesystemAttachment: Class com.xpn.xwiki.doc.DeletedFilesystemAttachment removed
com.xpn.xwiki.doc.FilesystemAttachmentContent: Class com.xpn.xwiki.doc.FilesystemAttachmentContent removed
com.xpn.xwiki.doc.ListAttachmentArchive: Class com.xpn.xwiki.doc.ListAttachmentArchive removed
com.xpn.xwiki.doc.MutableDeletedFilesystemAttachment: Class com.xpn.xwiki.doc.MutableDeletedFilesystemAttachment removed
com.xpn.xwiki.store.AttachmentArchiveDeleteRunnable: Class com.xpn.xwiki.store.AttachmentArchiveDeleteRunnable removed
com.xpn.xwiki.store.AttachmentArchiveSaveRunnable: Class com.xpn.xwiki.store.AttachmentArchiveSaveRunnable removed
com.xpn.xwiki.store.AttachmentContentStreamProvider: Class com.xpn.xwiki.store.AttachmentContentStreamProvider removed
com.xpn.xwiki.store.FilesystemAttachmentRecycleBinStore: Class com.xpn.xwiki.store.FilesystemAttachmentRecycleBinStore removed
com.xpn.xwiki.store.FilesystemAttachmentStore: Class com.xpn.xwiki.store.FilesystemAttachmentStore removed
com.xpn.xwiki.store.FilesystemAttachmentVersioningStore: Class com.xpn.xwiki.store.FilesystemAttachmentVersioningStore removed
com.xpn.xwiki.store.HibernateTransaction: Class com.xpn.xwiki.store.HibernateTransaction removed
com.xpn.xwiki.store.XWikiHibernateTransaction: Class com.xpn.xwiki.store.XWikiHibernateTransaction removed
org.xwiki.workspace.WorkspaceManagerException: Class org.xwiki.workspace.WorkspaceManagerException removed