Release Notes for XWiki 5.0 Milestone 1
This is the release notes for XWiki Platform, XWiki Enterprise and XWiki Enterprise Manager. They share the same release notes as they are released together and have the same version.
This release is the first release for the 5.x cycle with a new Release application and contains various Extension Manager and Distribution Wizard improvements.
New and Noteworthy (since XWiki 4.5.1)
Full list of issues fixed and Dashboard for 5.0.
Release Application
A new Release application is available to help you in releasing software projects.
Office Import using the Office Macro
We added an option to the WYSIWYG Editor's Import Office Document dialog to allow you to import an office file using the Office Macro. This is useful if you don't plan to edit the content of the office file after the import or if you don't want to mix the content of the office file with the content of the wiki page.
The generated wiki syntax looks like this:
Of course, you need to have the Office server connected in order to use this feature.
Extension Manager improvements
We added more information to the Description section and we added the ability to retrieve the list of stable versions that are available in the configured extension repositories.
We also grouped the action buttons (e.g. Install and Install of farm) as you can see in the image above. This allowed us to move the Apply button that you had to click to confirm an extension action like install from the bottom of the Progress section to the extension actions section. The Install and Install of farm buttons are still available in the drop down menu to allow you recompute the install plan if you want to.
See the Extension Manager Application documentation for more information.
Distribution Wizard improvements
We fixed an important bug in Distribution Wizard () that was preventing you from properly upgrading the installed extensions in the last step. We now list extensions by the namespace (wiki) where they have been installed. For now you have to review and upgrade each extension individually. We hope to improve this soon by allowing you upgrade more extensions at once.
Miscellaneous
- Ability to more easily create multiple FAQ spaces.
- Add support for Numbered Lists and Verbatim for the LaTex Renderer
- Increased Permgen requirements from recommended 128MB to 196MB
- The Jetty distribution now uses Jetty 8.1.9.v20130131
- The FAQ Application can now be translated into multiple languages + added translation for French.
See the full list of JIRA issues fixed in this release.
For Developers
Button Group Widget
We added a small widget to group form buttons.
It can be used either with a static list of buttons, when you know beforehand that you have more than 1 button and you know the main one, or with a dynamic list of buttons, if you want the buttons to be grouped on the client side if there are more than one.
The static button group works even with JavaScript disabled (in a modern browser):
<span class="buttonwrapper button-group">
<button>Action</button><a href="#foo" class="dropdown-toggle" tabindex="0"><span/></a>
<span id="foo" class="dropdown-menu">
<button>First item</button>
<input type="submit" value="Second item" class="button" />
<a href="#third">Third item</a>
</span>
</span>
</p>
The dynamic group obviously requires JavaScript. The first button found in the group is considered the main one. The buttons are grouped only if there are more than one. If the main button is secondary then the button group is styled as a secondary button.
<span class="buttonwrapper">
<button>One</button>
</span>
<span class="buttonwrapper">
<input type="submit" class="button secondary" value="Two" />
</span>
<span class="buttonwrapper">
<a href="#three" class="secondary">Three</a>
</span>
</span>
In both cases you need to include the widget resources:
#set ($discard = $xwiki.jsfx.use('uicomponents/widgets/buttonGroup.js'))
Deprecated and Retired projects
No project were deprecated nor retired.
Upgrades
The following dependencies have been upgraded:
- XStream 1.4.4
- Tika 1.3
- Groovy 2.1.1
- httpclient 4.2.3
- Apache Ivy 2.3.0
- JGroups 3.2.7.Final
- Liquibase 2.0.5
- Pygments 1.6
- Jython 2.5.4-rc1
- GWT 2.5.0 and SmartGWT 3.1
Miscellaneous
- More API added to the Model Script Service
- You can now specify a target user or an email address in the share page URL like this:
/xwiki/bin/view/Space/Page?viewer=share&target=foo@bar.org&target=XWiki.mflorea - A new Unstable annotation has been added to indicate new API that is not stable yet.
Translations
The following translations have been updated:
Tested Browsers & Databases
Here's the list of browsers we support and how they've been tested specifically for this release:
Browser | Tested | Details | |
---|---|---|---|
Google Chrome 25 | Not Tested | ||
Mozilla Firefox 19 | Partially | Manual Test Report for XWiki 5.0 M1 | |
Internet Explorer 8 | Partially | Tested the SOLR search engine | |
Internet Explorer 9 | Partially | Tested the SOLR search engine |
Here's the list of databases we support and how they've been tested specifically for this release:
Database | Tested | Details | |
---|---|---|---|
HyperSQL 2.2.9 | Partially | ||
MySQL 5.5.29 | Not Tested | ||
Oracle 11.2 | Not Tested | ||
PostgreSQL 9.1.3 | Not Tested |
Known issues
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.
Issues specific to XWiki 5.0 Milestone 1
- the default resolver used by the model script service moved from currentmixed to current. In practice it means $services.model.resolveDocument('') will now return a document reference with currentwiki:currentspace.currentdocument instead of currentwiki:currentspace.WebHome. See XWIKI-8834 for more details.
API Breakages
The following APIs were modified since XWiki 4.5.1:
- Made public by mistake:
- Added support for any kind of source:
- Added new translation keys:
org.xwiki.gwt.wysiwyg.client.Strings: Method 'public java.lang.String importOfficeFileUseOfficeViewerCheckBoxHint()' has been added to an interface
org.xwiki.gwt.wysiwyg.client.Strings: Method 'public java.lang.String importOfficeFileUseOfficeViewerCheckBoxLabel()' has been added to an interface
- Remove dependency on Portlet API from old core:
com.xpn.xwiki.web.XWikiForm: Method 'public void setRequest(javax.portlet.PortletRequest)' has been removed
com.xpn.xwiki.web.XWikiPortlet: Class com.xpn.xwiki.web.XWikiPortlet removed
com.xpn.xwiki.web.XWikiPortletContext: Class com.xpn.xwiki.web.XWikiPortletContext removed
com.xpn.xwiki.web.XWikiPortletRequest: Class com.xpn.xwiki.web.XWikiPortletRequest removed
com.xpn.xwiki.web.XWikiPortletResponse: Class com.xpn.xwiki.web.XWikiPortletResponse removed
com.xpn.xwiki.web.XWikiPortletURLFactory: Class com.xpn.xwiki.web.XWikiPortletURLFactory removed
com.xpn.xwiki.web.XWikiRequest: Removed javax.portlet.ActionRequest from the set of implemented interfaces
com.xpn.xwiki.web.XWikiRequest: Removed javax.portlet.PortletRequest from the set of implemented interfaces
com.xpn.xwiki.web.XWikiRequest: Removed javax.portlet.RenderRequest from the set of implemented interfaces
com.xpn.xwiki.web.XWikiResponse: Removed javax.portlet.ActionResponse from the set of implemented interfaces
com.xpn.xwiki.web.XWikiResponse: Removed javax.portlet.PortletResponse from the set of implemented interfaces
com.xpn.xwiki.web.XWikiResponse: Removed javax.portlet.RenderResponse from the set of implemented interfaces
com.xpn.xwiki.web.XWikiServletRequest: Removed javax.portlet.ActionRequest from the set of implemented interfaces
com.xpn.xwiki.web.XWikiServletRequest: Removed javax.portlet.PortletRequest from the set of implemented interfaces
com.xpn.xwiki.web.XWikiServletRequest: Removed javax.portlet.RenderRequest from the set of implemented interfaces
com.xpn.xwiki.web.XWikiServletRequest: Method 'public javax.portlet.PortalContext getPortalContext()' has been removed
com.xpn.xwiki.web.XWikiServletRequest: Method 'public java.io.InputStream getPortletInputStream()' has been removed
com.xpn.xwiki.web.XWikiServletRequest: Method 'public javax.portlet.PortletMode getPortletMode()' has been removed
com.xpn.xwiki.web.XWikiServletRequest: Method 'public javax.portlet.PortletSession getPortletSession()' has been removed
com.xpn.xwiki.web.XWikiServletRequest: Method 'public javax.portlet.PortletSession getPortletSession(boolean)' has been removed
com.xpn.xwiki.web.XWikiServletRequest: Method 'public javax.portlet.PortletPreferences getPreferences()' has been removed
com.xpn.xwiki.web.XWikiServletRequest: Method 'public java.util.Enumeration getProperties(java.lang.String)' has been removed
com.xpn.xwiki.web.XWikiServletRequest: Method 'public java.lang.String getProperty(java.lang.String)' has been removed
com.xpn.xwiki.web.XWikiServletRequest: Method 'public java.util.Enumeration getPropertyNames()' has been removed
com.xpn.xwiki.web.XWikiServletRequest: Method 'public java.lang.String getResponseContentType()' has been removed
com.xpn.xwiki.web.XWikiServletRequest: Method 'public java.util.Enumeration getResponseContentTypes()' has been removed
com.xpn.xwiki.web.XWikiServletRequest: Method 'public javax.portlet.WindowState getWindowState()' has been removed
com.xpn.xwiki.web.XWikiServletRequest: Method 'public boolean isPortletModeAllowed(javax.portlet.PortletMode)' has been removed
com.xpn.xwiki.web.XWikiServletRequest: Method 'public boolean isWindowStateAllowed(javax.portlet.WindowState)' has been removed
com.xpn.xwiki.web.XWikiServletRequestStub: Removed javax.portlet.ActionRequest from the set of implemented interfaces
com.xpn.xwiki.web.XWikiServletRequestStub: Removed javax.portlet.PortletRequest from the set of implemented interfaces
com.xpn.xwiki.web.XWikiServletRequestStub: Removed javax.portlet.RenderRequest from the set of implemented interfaces
com.xpn.xwiki.web.XWikiServletRequestStub: Method 'public javax.portlet.PortalContext getPortalContext()' has been removed
com.xpn.xwiki.web.XWikiServletRequestStub: Method 'public java.io.InputStream getPortletInputStream()' has been removed
com.xpn.xwiki.web.XWikiServletRequestStub: Method 'public javax.portlet.PortletMode getPortletMode()' has been removed
com.xpn.xwiki.web.XWikiServletRequestStub: Method 'public javax.portlet.PortletSession getPortletSession()' has been removed
com.xpn.xwiki.web.XWikiServletRequestStub: Method 'public javax.portlet.PortletSession getPortletSession(boolean)' has been removed
com.xpn.xwiki.web.XWikiServletRequestStub: Method 'public javax.portlet.PortletPreferences getPreferences()' has been removed
com.xpn.xwiki.web.XWikiServletRequestStub: Method 'public java.util.Enumeration getProperties(java.lang.String)' has been removed
com.xpn.xwiki.web.XWikiServletRequestStub: Method 'public java.lang.String getProperty(java.lang.String)' has been removed
com.xpn.xwiki.web.XWikiServletRequestStub: Method 'public java.util.Enumeration getPropertyNames()' has been removed
com.xpn.xwiki.web.XWikiServletRequestStub: Method 'public java.lang.String getResponseContentType()' has been removed
com.xpn.xwiki.web.XWikiServletRequestStub: Method 'public java.util.Enumeration getResponseContentTypes()' has been removed
com.xpn.xwiki.web.XWikiServletRequestStub: Method 'public javax.portlet.WindowState getWindowState()' has been removed
com.xpn.xwiki.web.XWikiServletRequestStub: Method 'public boolean isPortletModeAllowed(javax.portlet.PortletMode)' has been removed
com.xpn.xwiki.web.XWikiServletRequestStub: Method 'public boolean isWindowStateAllowed(javax.portlet.WindowState)' has been removed
com.xpn.xwiki.web.XWikiServletResponse: Removed javax.portlet.ActionResponse from the set of implemented interfaces
com.xpn.xwiki.web.XWikiServletResponse: Removed javax.portlet.PortletResponse from the set of implemented interfaces
com.xpn.xwiki.web.XWikiServletResponse: Removed javax.portlet.RenderResponse from the set of implemented interfaces
com.xpn.xwiki.web.XWikiServletResponse: Method 'public void addProperty(java.lang.String, java.lang.String)' has been removed
com.xpn.xwiki.web.XWikiServletResponse: Method 'public javax.portlet.PortletURL createActionURL()' has been removed
com.xpn.xwiki.web.XWikiServletResponse: Method 'public javax.portlet.PortletURL createRenderURL()' has been removed
com.xpn.xwiki.web.XWikiServletResponse: Method 'public java.lang.String getNamespace()' has been removed
com.xpn.xwiki.web.XWikiServletResponse: Method 'public java.io.OutputStream getPortletOutputStream()' has been removed
com.xpn.xwiki.web.XWikiServletResponse: Method 'public void setPortletMode(javax.portlet.PortletMode)' has been removed
com.xpn.xwiki.web.XWikiServletResponse: Method 'public void setProperty(java.lang.String, java.lang.String)' has been removed
com.xpn.xwiki.web.XWikiServletResponse: Method 'public void setRenderParameter(java.lang.String, java.lang.String)' has been removed
com.xpn.xwiki.web.XWikiServletResponse: Method 'public void setRenderParameter(java.lang.String, java.lang.String[])' has been removed
com.xpn.xwiki.web.XWikiServletResponse: Method 'public void setRenderParameters(java.util.Map)' has been removed
com.xpn.xwiki.web.XWikiServletResponse: Method 'public void setTitle(java.lang.String)' has been removed
com.xpn.xwiki.web.XWikiServletResponse: Method 'public void setWindowState(javax.portlet.WindowState)' has been removed
com.xpn.xwiki.web.XWikiServletResponseStub: Removed javax.portlet.ActionResponse from the set of implemented interfaces
com.xpn.xwiki.web.XWikiServletResponseStub: Removed javax.portlet.PortletResponse from the set of implemented interfaces
com.xpn.xwiki.web.XWikiServletResponseStub: Removed javax.portlet.RenderResponse from the set of implemented interfaces
com.xpn.xwiki.web.XWikiServletResponseStub: Method 'public void addProperty(java.lang.String, java.lang.String)' has been removed
com.xpn.xwiki.web.XWikiServletResponseStub: Method 'public javax.portlet.PortletURL createActionURL()' has been removed
com.xpn.xwiki.web.XWikiServletResponseStub: Method 'public javax.portlet.PortletURL createRenderURL()' has been removed
com.xpn.xwiki.web.XWikiServletResponseStub: Method 'public java.lang.String getNamespace()' has been removed
com.xpn.xwiki.web.XWikiServletResponseStub: Method 'public java.io.OutputStream getPortletOutputStream()' has been removed
com.xpn.xwiki.web.XWikiServletResponseStub: Method 'public void setPortletMode(javax.portlet.PortletMode)' has been removed
com.xpn.xwiki.web.XWikiServletResponseStub: Method 'public void setProperty(java.lang.String, java.lang.String)' has been removed
com.xpn.xwiki.web.XWikiServletResponseStub: Method 'public void setRenderParameter(java.lang.String, java.lang.String)' has been removed
com.xpn.xwiki.web.XWikiServletResponseStub: Method 'public void setRenderParameter(java.lang.String, java.lang.String[])' has been removed
com.xpn.xwiki.web.XWikiServletResponseStub: Method 'public void setRenderParameters(java.util.Map)' has been removed
com.xpn.xwiki.web.XWikiServletResponseStub: Method 'public void setTitle(java.lang.String)' has been removed
com.xpn.xwiki.web.XWikiServletResponseStub: Method 'public void setWindowState(javax.portlet.WindowState)' has been removed
com.xpn.xwiki.plugin.scheduler.XWikiServletRequestStub: Removed javax.portlet.ActionRequest from the set of implemented interfaces
com.xpn.xwiki.plugin.scheduler.XWikiServletRequestStub: Removed javax.portlet.PortletRequest from the set of implemented interfaces
com.xpn.xwiki.plugin.scheduler.XWikiServletRequestStub: Removed javax.portlet.RenderRequest from the set of implemented interfaces
com.xpn.xwiki.plugin.scheduler.XWikiServletRequestStub: Method 'public javax.portlet.PortalContext getPortalContext()' has been removed
com.xpn.xwiki.plugin.scheduler.XWikiServletRequestStub: Method 'public java.io.InputStream getPortletInputStream()' has been removed
com.xpn.xwiki.plugin.scheduler.XWikiServletRequestStub: Method 'public javax.portlet.PortletMode getPortletMode()' has been removed
com.xpn.xwiki.plugin.scheduler.XWikiServletRequestStub: Method 'public javax.portlet.PortletSession getPortletSession()' has been removed
com.xpn.xwiki.plugin.scheduler.XWikiServletRequestStub: Method 'public javax.portlet.PortletSession getPortletSession(boolean)' has been removed
com.xpn.xwiki.plugin.scheduler.XWikiServletRequestStub: Method 'public javax.portlet.PortletPreferences getPreferences()' has been removed
com.xpn.xwiki.plugin.scheduler.XWikiServletRequestStub: Method 'public java.util.Enumeration getProperties(java.lang.String)' has been removed
com.xpn.xwiki.plugin.scheduler.XWikiServletRequestStub: Method 'public java.lang.String getProperty(java.lang.String)' has been removed
com.xpn.xwiki.plugin.scheduler.XWikiServletRequestStub: Method 'public java.util.Enumeration getPropertyNames()' has been removed
com.xpn.xwiki.plugin.scheduler.XWikiServletRequestStub: Method 'public java.lang.String getResponseContentType()' has been removed
com.xpn.xwiki.plugin.scheduler.XWikiServletRequestStub: Method 'public java.util.Enumeration getResponseContentTypes()' has been removed
com.xpn.xwiki.plugin.scheduler.XWikiServletRequestStub: Method 'public javax.portlet.WindowState getWindowState()' has been removed
com.xpn.xwiki.plugin.scheduler.XWikiServletRequestStub: Method 'public boolean isPortletModeAllowed(javax.portlet.PortletMode)' has been removed
com.xpn.xwiki.plugin.scheduler.XWikiServletRequestStub: Method 'public boolean isWindowStateAllowed(javax.portlet.WindowState)' has been removed
com.xpn.xwiki.plugin.scheduler.XWikiServletResponseStub: Removed javax.portlet.ActionResponse from the set of implemented interfaces
com.xpn.xwiki.plugin.scheduler.XWikiServletResponseStub: Removed javax.portlet.PortletResponse from the set of implemented interfaces
com.xpn.xwiki.plugin.scheduler.XWikiServletResponseStub: Removed javax.portlet.RenderResponse from the set of implemented interfaces
com.xpn.xwiki.plugin.scheduler.XWikiServletResponseStub: Method 'public void addProperty(java.lang.String, java.lang.String)' has been removed
com.xpn.xwiki.plugin.scheduler.XWikiServletResponseStub: Method 'public javax.portlet.PortletURL createActionURL()' has been removed
com.xpn.xwiki.plugin.scheduler.XWikiServletResponseStub: Method 'public javax.portlet.PortletURL createRenderURL()' has been removed
com.xpn.xwiki.plugin.scheduler.XWikiServletResponseStub: Method 'public java.lang.String getNamespace()' has been removed
com.xpn.xwiki.plugin.scheduler.XWikiServletResponseStub: Method 'public java.io.OutputStream getPortletOutputStream()' has been removed
com.xpn.xwiki.plugin.scheduler.XWikiServletResponseStub: Method 'public void setPortletMode(javax.portlet.PortletMode)' has been removed
com.xpn.xwiki.plugin.scheduler.XWikiServletResponseStub: Method 'public void setProperty(java.lang.String, java.lang.String)' has been removed
com.xpn.xwiki.plugin.scheduler.XWikiServletResponseStub: Method 'public void setRenderParameter(java.lang.String, java.lang.String)' has been removed
com.xpn.xwiki.plugin.scheduler.XWikiServletResponseStub: Method 'public void setRenderParameter(java.lang.String, java.lang.String[])' has been removed
com.xpn.xwiki.plugin.scheduler.XWikiServletResponseStub: Method 'public void setRenderParameters(java.util.Map)' has been removed
com.xpn.xwiki.plugin.scheduler.XWikiServletResponseStub: Method 'public void setTitle(java.lang.String)' has been removed
com.xpn.xwiki.plugin.scheduler.XWikiServletResponseStub: Method 'public void setWindowState(javax.portlet.WindowState)' has been removed
com.xpn.xwiki.gwt.api.server.XWikiRequestWrapper: Removed javax.portlet.ActionRequest from the set of implemented interfaces
com.xpn.xwiki.gwt.api.server.XWikiRequestWrapper: Removed javax.portlet.PortletRequest from the set of implemented interfaces
com.xpn.xwiki.gwt.api.server.XWikiRequestWrapper: Removed javax.portlet.RenderRequest from the set of implemented interfaces
com.xpn.xwiki.gwt.api.server.XWikiRequestWrapper: Method 'public javax.portlet.PortalContext getPortalContext()' has been removed
com.xpn.xwiki.gwt.api.server.XWikiRequestWrapper: Method 'public java.io.InputStream getPortletInputStream()' has been removed
com.xpn.xwiki.gwt.api.server.XWikiRequestWrapper: Method 'public javax.portlet.PortletMode getPortletMode()' has been removed
com.xpn.xwiki.gwt.api.server.XWikiRequestWrapper: Method 'public javax.portlet.PortletSession getPortletSession()' has been removed
com.xpn.xwiki.gwt.api.server.XWikiRequestWrapper: Method 'public javax.portlet.PortletSession getPortletSession(boolean)' has been removed
com.xpn.xwiki.gwt.api.server.XWikiRequestWrapper: Method 'public javax.portlet.PortletPreferences getPreferences()' has been removed
com.xpn.xwiki.gwt.api.server.XWikiRequestWrapper: Method 'public java.util.Enumeration getProperties(java.lang.String)' has been removed
com.xpn.xwiki.gwt.api.server.XWikiRequestWrapper: Method 'public java.lang.String getProperty(java.lang.String)' has been removed
com.xpn.xwiki.gwt.api.server.XWikiRequestWrapper: Method 'public java.util.Enumeration getPropertyNames()' has been removed
com.xpn.xwiki.gwt.api.server.XWikiRequestWrapper: Method 'public java.lang.String getResponseContentType()' has been removed
com.xpn.xwiki.gwt.api.server.XWikiRequestWrapper: Method 'public java.util.Enumeration getResponseContentTypes()' has been removed
com.xpn.xwiki.gwt.api.server.XWikiRequestWrapper: Method 'public javax.portlet.WindowState getWindowState()' has been removed
com.xpn.xwiki.gwt.api.server.XWikiRequestWrapper: Method 'public boolean isPortletModeAllowed(javax.portlet.PortletMode)' has been removed
com.xpn.xwiki.gwt.api.server.XWikiRequestWrapper: Method 'public boolean isWindowStateAllowed(javax.portlet.WindowState)' has been removed