Release Notes for XWiki 5.0
- New and Noteworthy (since XWiki 4.5.3)
- For Developers
- Translations
- Tested Browsers & Databases
- Known issues
- Backward Compatibility and Migration Notes
- General Notes
- Issues specific to XWiki 5.0
- Page/Attachment deletion on Oracle and PosgreSQL
- XWikiDocument authors and public access
- Programming right imply Admin right and not the opposite
- Sub-wikis now inherit rights from their main wiki
- Public access on an empty wiki does not receive admin right anymore
- Edit right now imply view right
- Edition of XWikiPreferences and WebPreferences
- The undelete action is now checked against the edit right
- The xwiki/1.0 syntax is now hidden by default
- Virtual mode is always on
- Miscellaneous
- API Breakages
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 is the first release of the 5.x cycle (Roadmap). This release comes with virtual mode enabled and uses the new security authorization module for rights checking. It also brings improvements to the Extension Manager, Distribution Wizard and the WYSIWYG editor.
New and Noteworthy (since XWiki 4.5.3)
Full list of issues fixed and Dashboard for 5.0.
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.
Extension Updater
We added a new section to the Extension Manager administration UI that lists the available extension updates.
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.
New wiki mode step
By default you can now get the same distribution wizard you used to have for main wiki only on subwikis too. When enabled it means that each wiki administrator is able to take care of his own wiki upgrade and farm administrator will only deal with main wiki.
There are two modes:
- ALL IN ONE: the former Distribution Wizard behavior where everything is done at main wiki level
- WIKI: on main wiki only the main wiki is upgraded and each wiki gets its own Distribution Wizard and its own status
A new step to setup the upgrade mode has been added.
WYSIWYG Editor improvements
Automatic Paste Cleaning
Starting with this version, whenever you paste some content into the rich text area of the WYSIWYG Editor that content is (by default) automatically cleaned before being inserted into the rest of the content.
You can disable the automatic cleaning from the WYSIWYG Editor administration section if you wish:
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.
Release Application
A new Release application is available to help you in releasing software projects.
New security authorization module replaces the old RightService
With this new module, we bring the following improvements:
- More efficient and performant authorization management thanks to a smart access rules and decision cache.
- More generic and consistant right policy based on declarative definition of rights.
- Extensible solution, allowing registration of new rights.
- Customizable thanks to pluggable authentication settlers using configuration.
Read the full documentation of this module for complete details.
Virtual mode is always enabled
Virtual mode and multiwiki is now part of XWiki's model and can no longer be disabled. What this means is that the difference between the 2 main products (XE and XEM) is getting smaller and smaller.
In the past, XEM differed from XE by the fact that it allowed the creation of multiple wikis (called subwikis) because it had the property xwiki.virtual=1 by default in xwiki.cfg, where as XE had xwiki.virtual=0 by default. Coupled with the Wiki Manager Application and the Workspace Application which were bundled by default, this allowed XEM to create and manage subwikis, while XE could not. This was causing confusion to users that had installed one product and later on, found out that they needed the other.
To avoid confusion and to simplify our development as well, we have defaulted to a virtual mode enabled by default, allowing you to create and manage subwikis/workspaces no matter what product you have downloaded. For instance, if you have downloaded XE, you now only have to install one or two extensions (Wiki Manager Application and/or Workspace Application) using the extension manager and you are all set. Most likely we will also switch to a single product scheme in the future.
Replace "xwiki.virtual.redirect" with an error template (or page)
This xwiki.cfg setting allowed the admin to redirect to a specified URL an user that tried to access an nonexistent wiki. However, it was enabled by default and the default value was http://127.0.0.1:9080/xwiki/bin/Main/ThisWikiDoesNotExist which was definitely wrong and was causing more problems than it solved. See for an example.
We have decided to drop this feature and replace it with an error template wikidoesnotexist.vm that can be overridden by a document in the main wiki named XWiki.WikiDoesNotExist, to be consistent with what we are doing for other XWiki entities (documents, attachments, etc).
However, to avoid hitting problems with accessing your main wiki, this feature is disabled by default and can be enabled by uncommenting xwiki.virtual.failOnWikiDoesNotExist in xwiki.cfg and setting its value to 1. Otherwise, by default, the user will always get server the content of the main wiki if the wiki he requested is not found.
For those that want to achieve the same behavior as before (by redirecting to a fixed URL every time), they have to enable xwiki.virtual.failOnWikiDoesNotExist in xwiki.cfg and then redirect to the desired URL either in wikidoesnotexist.vm or in the main wiki's XWiki.WikiDoesNotExist.
Miscellaneous
- Add support for Numbered Lists and Verbatim for the LaTex Renderer
- Ability to more easily create multiple FAQ spaces.
- The FAQ Application can now be translated into multiple languages + added translation for French.
- Automatically register translations for the Annotations application
- autowww is not enabled by default and mandatory (can not be disabled), since with virtual mode enabled by default if could prove problematic to access your main wiki without a proper wiki descriptor set up. The main reason why you could have needed to disable it was if you actually had subwiki named www and you wanted to access it instead of the main wiki. Now the autowww feature checks for this case and serves the right content.
- Increased Permgen requirements from recommended 128MB to 196MB
- The Jetty distribution now uses Jetty 8.1.9.v20130131
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'))
JQuery in XWiki using AMD/Require.js
Now with require.js you can pull in jQuery and use it when you need it without incurring the performance penalty when you don't need it.
To use jquery, use the script below:
<script>
require(['jquery'], function($) {
$('#document-title>h1').text('JQuery in action');
});
</script>
{{/html}}
You can learn more about the power of AMD javascript modules by reading require.js documentation.
Joda Time plugin adds Duration API
The Joda Time plugin API was extended with 2 new methods for creating durations. Here's an example:
#set ($endDate = $xwiki.jodatime.getDateTime($endDateTimeStamp))
#set ($currentDate = $xwiki.jodatime.getDateTime())
#set ($duration = $xwiki.jodatime.getDuration($endDate, $currentDate))
The number of days passed since the end date is: $duration.standardDays
{{/velocity}}
Check the Duration javadoc for more information.
Document rollback events
We introduced two new document events: DocumentRollingBackEvent and DocumentRolledBackEvent. The first one is triggered before the document is saved (before the DocumentUpdatingEvent) and the second is triggered after the document is saved (after the DocumentUpdatedEvent). Checkout the Observation Module documentation to see how you can listen to these events.
Translate log
It's possible to provide a translation key with any log to let log displayer use some localization framework to find proper translation for it.
See Logging Module for more details.
XWikiDocument authors and public access
The document reference used to indicate that a document has been created/modified by a public access user (or guest user) is now null. It's following what is already the XWikiContext behavior which means that you can now safely compare context user reference and document authors reference since both of these APIs have the same behavior regarding unauthenticated users.
Back to JUnit
XWiki Commons used to force using the junit-dep Maven dependency instead of the junit one at build time because of embedded libraries in the JUnit jar. Since it's not the case anymore (it was fixed in JUnit 4.11) the enforcer rule and everything about junit-dep has been removed from our pom.xml files.
The main change for external projects if that if you depended on junit-dep and didn't specify the version your project won't build anymore and you should change the dependency for junit.
Deprecated and Retired projects
No deprecated nor retired projects in this release.
Upgrades
The following dependencies have been upgraded:
- Apache Ivy 2.3.0
- Groovy 2.1.3
- GWT 2.5.1 and SmartGWT 3.1
- Hamcrest 1.3
- httpclient 4.2.3
- JGroups 3.2.7.Final
- Joda Time 2.2
- JUnit 4.11
- Jython 2.5.4-rc1
- Liquibase 2.0.5
- LogBack 1.0.11
- Pygments 1.6
- SLF4J 1.7.5
- Tika 1.3
- XStream 1.4.4
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&[email protected]&target=XWiki.mflorea - Added methods to query existing wikis: api.XWiki.getWikiNames() and api.XWiki.hasSubWikis()
- XWiki is now always in virtual mode so development needs to consider the fact that the main wiki may not be the only wiki available.
- With the transition to virtual mode by default, the XWiki.XWikiServerClass is now a mandatory class to be used when creating a wiki descriptor. Its existence will be, like all mandatory classes, checked when XWiki starts, but only for the main wiki. It was formerly initialized by and part of the wiki-manager module but it's now part of the core. Also, the XWiki.XWikiServerClassSheet has been moved to the wiki-manager-ui module.
- A new Unstable annotation has been added to indicate new API that is not stable yet.
Translations
The following translations have been updated:
- Catalan
- Czech
- Danish
- German
- Spanish
- French
- Galician
- Italian
- Korean
- Latvian
- Dutch
- Portuguese
- Portuguese (Brazil)
- Romanian
- Russian
- Slovak
- Swedish
- Ukrainian
- Simplified Chinese
- Traditional Chinese
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 26 | Not Tested | ||
Mozilla Firefox 20 | Not Tested | ||
Internet Explorer 8 | Not Tested | ||
Internet Explorer 9 | Not Tested |
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 | Not Tested | ||
MySQL 5.6.10 | Not Tested | ||
Oracle 11.2 | Not Tested | ||
PostgreSQL 9.1.3 | Not Tested |
Known issues
- Bugs we know about
- If you're migrating an XWiki instance using PostgreSQL or Oracle you may get this error (fixed in XWiki 5.2). The workaround is to remove the hibernate_sequence sequence prior to starting XWiki (for the main wiki and all subwikis).
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
Page/Attachment deletion on Oracle and PosgreSQL
In multiwiki mode, page deletion wasn't working prior to XWiki 4.5.4 and 5.0M2. If you have created subwikis and you get an error you'll need to issue the following SQL command for all your subwikis:
Of course all new subwikis you create starting with XWiki 4.5.4 and 5.0M2 will work seamlessly.
XWikiDocument authors and public access
The document reference used to indicate that a document has been created/modified by a public access user (or guest user) is now null. In practice in means that even if the database indicate that the document has been saved by "XWiki.XWikiGuest" document.getAuthorReference() will return null. See https://jira.xwiki.org/browse/XWIKI-8953.
Programming right imply Admin right and not the opposite
With the previous Right Service implementation some side effect used to give you Programming Right when you had main wiki admin right, it's not the case anymore. Programming right is stronger than admin right in new security module default implementation which means you can have admin right without programming right, even on main wiki.
Sub-wikis now inherit rights from their main wiki
With the previous Right Service implementation, only the admin and programming rights get inherited somehow on sub-wikis. The new implementation provide a more consistant behavior, all rights are inherited from the main wiki into sub-wikis in the same maner they are between wiki, space and document.
Public access on an empty wiki does not receive admin right anymore
With the previous Right Service implementation, until some right are sets, the public (previously XWikiGuest user, now null user) used to receive admin access and is able to import the default XAR. Since we now have a Distribution Wizard that kicks in to allow installing at least a minimal flavor to get you started, this is no more needed. This will improve security since the detection of an initial import situation was not so trivial.
If you do not have installed a minimal package using the new Distribution Wizard or you want to continue to import XAR manually, you may use the superadmin access to do so.
Note that public receive view, edit, comment, login, and register access to an empty wiki.
Edit right now imply view right
With the previous Right Service implementation, you were able to receive edit access to a document while you were not able to see or read that same document. This potential issue stay hidden since nobody notice until a edit URL is manually entered. Since we do not see any practical use case where a user would need to edit a document he cannot access, the edit right now imply the view right. Therefore, giving edit alone is now sufficient.
Edition of XWikiPreferences and WebPreferences
For increased security, edition of the XWikiPreferences and WebPreferences documents are now always restricted to admin users, whatever the right settings of these documents and their parents.
The undelete action is now checked against the edit right
The undelete right (not exposed in the UI) was associated with the undelete action in the old implementation. The new module currently check the edit right for the undelete action. We are currently evaluating the opportunity to reintroduce the undelete right, and the right way to do so.
The xwiki/1.0 syntax is now hidden by default
The old xwiki/1.0 syntax is no longer available for selection when editing a document. The rendering engine will continue to be available, so existing documents using it will continue to work, and creating application documents based on a template in the xwiki/1.0 syntax will still work. Anyway, users are strongly encouraged to migrate away from this syntax.
Virtual mode is always on
Since the multiwiki mode (aka virtual mode) is always on now you might have some error like the following one after migrating:
at com.xpn.xwiki.XWiki.getXWiki(XWiki.java:505)
...
The problem will happen if you had the virtual mode off before and if you were using some URL with a domain like http://wiki.some.domain/xwiki/bin/view.... Since all URLs are now multiwiki URLs XWiki needs to figure out which wiki is being called. What happens is the following:
- Since the default configuration is a path-based configuration XWiki first tries to find the wiki name in the URL path and it won't find it
- Then it falls back to domain-based configuration and gets the host name, i.e. wiki.some.domain. It tries to find a page in the wiki containing an Object of type XWiki.XWikiServerClass and with a server property of wiki.some.domain.
- Since it doesn't find one, it defaults to using the wiki wiki (ie the part of the host name before the first dot), which leads to the error since that wiki doesn't exist.
To fix this, you need to create a wiki descriptor for your main wiki. This is done by creating a page named XWiki.XWikiServerXwiki (be careful with the case) and add a XWiki.XWikiServerClass object in it with a server field value of wiki.some.domain.
Once you've done this XWiki will find that page and will compute the wiki name based on the suffix of the page name found (it'll also lowercase it), i.e. it'll find XWiki.XWikiServerXwiki and extract Xwiki which, when lowercased, will be xwiki which is the name of the main wiki...
For more details on this, check the Admin Guide for Multi-wiki.
Miscellaneous
- 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.
- The translations page for each workspace (xwiki:WorkspaceManager.TemplateTranslations) has been moved to the template (and implicitly locally, on each workspace) in XWiki.WorkspaceTranslations. The extension org.xwiki.platform:xwiki-platform-workspace-template-features will need to be installed on existing workspaces. New workspaces will use their local XWiki.WorkspaceTranslations document.
- As stated above, a new table has been added to the schema, xwikistringlists. Make sure the DB user has the required privileges to create it automatically, or create it manually before starting the new version.
- Links to attachment by default point to a specific version instead of a versionless "display the latest" link.
- Several velocity templates have been removed, since they haven't been used in a very long time; this might break custom skins built on top of old skins like Dodo or Albatross. See the related issue for more details.
- One important template that was removed is analytics.vm, the preferred way of enabling Google Analytics is through the dedicated administration section
API Breakages
The following APIs were modified since XWiki 4.5.3:
- 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
- org.xwiki.localization.internal.message.TranslationMessageElement interface has been made public:
- Added a new configuration property for the WYSIWYG Editor:
- APIs added in 4.5.2 only to fix a bug but are not supposed to be used:
com.xpn.xwiki.web.XWikiMessageTool: In method 'public XWikiMessageTool(org.xwiki.localization.LocalizationManager, org.xwiki.component.manager.ComponentManager, javax.inject.Provider)' the number of arguments has changed
com.xpn.xwiki.web.XWikiMessageTool: Method 'public XWikiMessageTool(org.xwiki.localization.LocalizationManager, org.xwiki.component.manager.ComponentManager, com.xpn.xwiki.XWikiContext)' has been removed
org.xwiki.workspace.WorkspaceManagerMessageTool: Method 'public WorkspaceManagerMessageTool(javax.inject.Provider)' has been removed
org.xwiki.workspace.WorkspaceWikiManagerMessageTool: Class org.xwiki.workspace.WorkspaceWikiManagerMessageTool removed
- Was not supposed to be exposed publicly (dangerous):
org.xwiki.security.authorization.cache.SecurityCache: Method 'public void add(org.xwiki.security.authorization.SecurityAccessEntry)' has been removed
org.xwiki.security.authorization.cache.SecurityCache: Method 'public void add(org.xwiki.security.authorization.SecurityRuleEntry, java.util.Collection)' has been removed
- 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