Release Notes for XWiki Enterprise 4.1
This is the second release of the 4.x cycle (Roadmap). This release brings
New and Noteworthy (since XWiki Enterprise 4.0 version)
Here are notable new features and improvements. For the full list of issues (including statistics) see the JIRA Dashboard.
Improvements to the Extension Manager
The speed and reliability of the Extension Repository has been improved considerably. For example the XWiki.org Extension Repository is now much faster when you access it from XWiki Enterprise and you should now be able to browse and install extensions in no time.
Upgrading applications with related configuration documents is now handled using the merge conflict resolution UI. Changes are displayed as if you were comparing versions from a document's history.
If extension installation fails, the error message is extracted from the logs and displayed. You can view the full stack trace by clicking on the error message.
(in the image below the job of computing the install plan fails)
The install and uninstall plans display extensions like in the dependency section. This way you can follow the link of an extension to find out more about what is going to be installed.
The install and uninstall process is now completely asynchronous. You can see below how the progress is indicated.
See the Extension Manager Application documentation for more details.
Hide technical documents from non-technical users
- Users who do not opt to see hidden documents do not see them on panels or in search results.
- For advanced users, it is now possible to specify that a document should be hidden when editing the document (only wiki or wysiwyg edit modes):
And now there's a new setting in the user profiles, letting users choose whether they want hidden documents to appear in search results or not:
Set 'Display hidden documents' to Yes in order to see technical documents.- If the user doesn't set explicitly the Hidden setting value in his profile, he won't see hidden documents by default. Thus seeing hidden documents is an explicit choice.
New types of charts
We've added 2 new types of charts, bar3D and line3D, which draw 3D charts.
For example the following code:
|=Date|=Value
|2012-02-21|1.97
|2012-02-26|2.96
|2012-03-04|3.93
|2012-03-11|4.84
|2012-03-18|5.83
|2012-03-25|4.5
|2012-04-01|3.85
|2012-04-08|4.87
{{/chart}}
Will be rendered as this:
It's now possible to select custom colors in Chart graphs. For example:
| |X |Y |Z
|Q1|1.2|3.4|1.3
|Q2|4.5|3.4|2.3
|Q3|1.2|4.5|9.0
|Q4|3.4|1.2|1.2
{{/chart}}
Will generate:
New macro for sending messages
Whereas the Activity Stream allows users to send a message as well as observing messages and activities of other users, this macro allows the explicit message sending functionality to be duplicated in other places without including the activity stream as well.
The code:
Produces the following:
Miscellaneous
- There's now a link to the Getting Started Guide on the XWiki Enterprise home page.
For developers
Diff module
A new diff/merge module has been added to make easier to deal with diff and merge both from component and scripts. See Diff module for details.
Miscellaneous
Bug Fixes
- XWIKI-7913 Could not register a Javascript or CSS skin extension for the whole wiki.
Upgrades
The following dependencies have been upgraded:
Tested Browsers
Here's the list of browsers tested with this version (i.e. browsers that we've tested as working - Check the list of supported browsers):
Tested Databases
Known issues
Test Report
You can check the manual test report to learn about what was tested and the results on various browsers.
Backward Compatibility and Migration Notes
General Notes
You may also want to import the default wiki XAR in order to benefit from all the improvements listed above.
API Breakages
The following APIs were modified since version 4.0:
org.xwiki.extension.job.plan.ExtensionPlan: Return type of method 'public java.util.Collection getTree()' has been changed to org.xwiki.extension.job.plan.ExtensionPlanTree
org.xwiki.extension.version.VersionConstraint: Method 'public boolean isCompatible(org.xwiki.extension.version.Version)' has been added to an interface
org.xwiki.job.AbstractJob: Changed type of field status from org.xwiki.job.internal.DefaultJobStatus to org.xwiki.job.internal.AbstractJobStatus
org.xwiki.job.AbstractJob: Return type of method 'protected org.xwiki.job.internal.DefaultJobStatus createNewStatus(org.xwiki.job.Request)' has been changed to org.xwiki.job.internal.AbstractJobStatus
org.xwiki.job.AbstractJob: Method 'protected java.lang.String getId()' has been removed
org.xwiki.job.AbstractRequest: Return type of method 'public java.lang.String getId()' has been changed to java.util.List
org.xwiki.job.Job: Method 'public void join()' has been added to an interface
org.xwiki.job.Job: Method 'public boolean join(long, java.util.concurrent.TimeUnit)' has been added to an interface
org.xwiki.job.JobManager: Method 'public org.xwiki.job.event.status.JobStatus getJobStatus(java.util.List)' has been added to an interface
org.xwiki.job.Request: Return type of method 'public java.lang.String getId()' has been changed to java.util.List
org.xwiki.job.event.JobEvent: Return type of method 'public java.lang.String getJobId()' has been changed to java.util.List
org.xwiki.job.event.JobFinishedEvent: Return type of method 'public java.lang.String getJobId()' has been changed to java.util.List
org.xwiki.job.event.JobStartedEvent: Return type of method 'public java.lang.String getJobId()' has been changed to java.util.List
org.xwiki.job.event.status.JobStatus: Method 'public java.util.Date getEndDate()' has been added to an interface
org.xwiki.job.event.status.JobStatus: Method 'public java.util.Date getStartDate()' has been added to an interface
com.xpn.xwiki.doc.merge.MergeUtils: Class com.xpn.xwiki.doc.merge.MergeUtils removed
com.xpn.xwiki.objects.ObjectInterface: Method 'public com.xpn.xwiki.objects.classes.BaseClass getXClass(com.xpn.xwiki.XWikiContext)' has been added to an interface
com.xpn.xwiki.plugin.autotag.AutoTagPlugin: Class com.xpn.xwiki.plugin.autotag.AutoTagPlugin removed
com.xpn.xwiki.plugin.autotag.AutoTagPluginAPI: Class com.xpn.xwiki.plugin.autotag.AutoTagPluginAPI removed
com.xpn.xwiki.plugin.autotag.FrenchStemmer: Class com.xpn.xwiki.plugin.autotag.FrenchStemmer removed
com.xpn.xwiki.plugin.autotag.Tag: Class com.xpn.xwiki.plugin.autotag.Tag removed
com.xpn.xwiki.plugin.autotag.TagCloud: Class com.xpn.xwiki.plugin.autotag.TagCloud removed
org.xwiki.query.QueryFilter: Method 'public java.util.List filterResults(java.util.List)' has been added to an interface
org.xwiki.gwt.wysiwyg.client.Images: Method 'public com.google.gwt.resources.client.ImageResource sync()' has been removed
org.xwiki.gwt.wysiwyg.client.Strings: Method 'public java.lang.String sync()' has been removed
org.xwiki.gwt.wysiwyg.client.diff.AddDelta: Class org.xwiki.gwt.wysiwyg.client.diff.AddDelta removed
org.xwiki.gwt.wysiwyg.client.diff.ChangeDelta: Class org.xwiki.gwt.wysiwyg.client.diff.ChangeDelta removed
org.xwiki.gwt.wysiwyg.client.diff.Chunk: Class org.xwiki.gwt.wysiwyg.client.diff.Chunk removed
org.xwiki.gwt.wysiwyg.client.diff.DeleteDelta: Class org.xwiki.gwt.wysiwyg.client.diff.DeleteDelta removed
org.xwiki.gwt.wysiwyg.client.diff.Delta: Class org.xwiki.gwt.wysiwyg.client.diff.Delta removed
org.xwiki.gwt.wysiwyg.client.diff.Diff: Class org.xwiki.gwt.wysiwyg.client.diff.Diff removed
org.xwiki.gwt.wysiwyg.client.diff.DiffAlgorithm: Class org.xwiki.gwt.wysiwyg.client.diff.DiffAlgorithm removed
org.xwiki.gwt.wysiwyg.client.diff.DiffException: Class org.xwiki.gwt.wysiwyg.client.diff.DiffException removed
org.xwiki.gwt.wysiwyg.client.diff.DifferentiationFailedException: Class org.xwiki.gwt.wysiwyg.client.diff.DifferentiationFailedException removed
org.xwiki.gwt.wysiwyg.client.diff.PatchFailedException: Class org.xwiki.gwt.wysiwyg.client.diff.PatchFailedException removed
org.xwiki.gwt.wysiwyg.client.diff.Revision: Class org.xwiki.gwt.wysiwyg.client.diff.Revision removed
org.xwiki.gwt.wysiwyg.client.diff.RevisionVisitor: Class org.xwiki.gwt.wysiwyg.client.diff.RevisionVisitor removed
org.xwiki.gwt.wysiwyg.client.diff.SimpleDiff: Class org.xwiki.gwt.wysiwyg.client.diff.SimpleDiff removed
org.xwiki.gwt.wysiwyg.client.diff.ToString: Class org.xwiki.gwt.wysiwyg.client.diff.ToString removed
org.xwiki.gwt.wysiwyg.client.diff.myers.DiffNode: Class org.xwiki.gwt.wysiwyg.client.diff.myers.DiffNode removed
org.xwiki.gwt.wysiwyg.client.diff.myers.MyersDiff: Class org.xwiki.gwt.wysiwyg.client.diff.myers.MyersDiff removed
org.xwiki.gwt.wysiwyg.client.diff.myers.PathNode: Class org.xwiki.gwt.wysiwyg.client.diff.myers.PathNode removed
org.xwiki.gwt.wysiwyg.client.diff.myers.Snake: Class org.xwiki.gwt.wysiwyg.client.diff.myers.Snake removed
org.xwiki.gwt.wysiwyg.client.plugin.sync.SyncPlugin: Class org.xwiki.gwt.wysiwyg.client.plugin.sync.SyncPlugin removed
org.xwiki.gwt.wysiwyg.client.plugin.sync.SyncPluginFactory: Class org.xwiki.gwt.wysiwyg.client.plugin.sync.SyncPluginFactory removed
org.xwiki.gwt.wysiwyg.client.plugin.sync.SyncResult: Class org.xwiki.gwt.wysiwyg.client.plugin.sync.SyncResult removed
org.xwiki.gwt.wysiwyg.client.plugin.sync.SyncService: Class org.xwiki.gwt.wysiwyg.client.plugin.sync.SyncService removed
org.xwiki.gwt.wysiwyg.client.plugin.sync.SyncServiceAsync: Class org.xwiki.gwt.wysiwyg.client.plugin.sync.SyncServiceAsync removed
org.xwiki.gwt.wysiwyg.client.plugin.sync.SyncStatus: Class org.xwiki.gwt.wysiwyg.client.plugin.sync.SyncStatus removed
org.xwiki.gwt.wysiwyg.client.plugin.sync.SyncTools: Class org.xwiki.gwt.wysiwyg.client.plugin.sync.SyncTools removed
org.xwiki.wysiwyg.server.plugin.sync.SyncEngine: Class org.xwiki.wysiwyg.server.plugin.sync.SyncEngine removed
org.xwiki.wysiwyg.server.plugin.sync.SyncException: Class org.xwiki.wysiwyg.server.plugin.sync.SyncException removed