Release Notes for XWiki Enterprise 3.2 Milestone 3

Last modified by Sergiu Dumitriu on 2011/10/06

Failed to execute the [velocity] macro. Cause: [The execution of the [velocity] script macro is not allowed in [xwiki:ReleaseNotes.ReleaseNotesXWikiEnterprise32M3]. Check the rights of its last author or the parameters if it's rendered from another script.]. Click on this message for details.

Last milestone of the XWiki Enterprise 3.2 version (Roadmap).

New and Noteworthy (since XWiki Enterprise 3.2 Milestone 2)

Improved search results scoring

An old complaint has been the fact that the search results returned by the Lucene plugin were rarely useful, with the desired document far from the top of the returned list. This has now been improved, and results are scored differently depending on the field where the search query matches them. A hit on the document title will ensure that the document will be among the first results, while a hit on the owner document's name of an attached image will place the image towards the end.

search.png

New implementation of the sheet system

In preparation for the Application Within Minutes major feature, this release introduces a new way of associating objects with the sheets used for displaying them. Whereas until now the content of the document had to explicitly contain an {{include}} statement in order to display an attached object, an object can pull its sheet automatically. This frees up the document content for a more useful purpose.

You can read more about this feature on the Sheet Module documentation page.

Easier activation and configuration of Google Analytics

In older versions XWiki did provide a velocity template that could be edited to enable Google Analytics. Still, this required either access to the server or overriding a template in the skin document, which was not that easy to discover. Starting with this version, there's a custom section in the wiki Administration which makes it extremely easy to enable Google Analytics tracking.

analytics.png

For developers

Retired projects

Several very old and unmaintained projects have been retired:

Translations

The following translations have been updated: de fr lv nl sv

Upgrades

  • commons-configuration 1.7
  • commons-lang 3.0.1
  • Groovy 1.8.2
  • Logback 0.9.30
  • Lucene 3.4
  • Hibernate 3.6.7 Final
  • HTML Cleaner 2.2
  • Jetty 7.4.5
  • reflections 0.9.5
  • Selenium 2.7.0
  • slf4j 1.6.2

Backward Compatibility and Migration Notes

General Notes

If you're running in a multiwiki setup you'll also need to define the property xwiki.store.migration.databases=all to your xwiki.cfg file or explicitly name all databases to be migrated as in xwiki.store.migration.databases=db1,db2,....

You may also want to import the default wiki XAR in order to benefit from the improvements listed above.

Always make sure you compare your xwiki.cfg file with the newest version since some configuration parameters were added. Note you should add xwiki.store.migration=1 so that XWiki will attempt to automatically migrate your current database to the new schema. Make sure you backup your Database before doing anything.

Issues specific to XWiki Enterprise 3.2 Milestone 3

  • The behavior of the HTML Macro has changed slightly (caused internally by an upgrade to HTML Cleaner 2.2): CDATA elements not located inside SCRIPT or STYLE elements are now removed when cleaned (i.e. when the clean parameter is true). If you don't want any cleaning done, use clean="false".
  • Since the Lucene engine has been upgraded to a new major version, you should completely rebuild the index. This can be done from the main wiki administration, in the Search section.
  • See the retired section above for the list of removed modules. The most important one is the removal of the Albatross skin from the distribution. Be careful to review your xwiki.cfg file and update the xwiki.defaultskin and xwiki.defaultbaseskin properties and make sure their values is now colibri (unless you wish to continue using Albatross, in which case you'll need to install the Albatross skin in your installation).
  • The ehcache library is no longer packaged by default. If you've configured a second level hibernate cache using this library, make sure you manually download it in the libs or replace your configuration with another cache engine.
  • See the backward compatibility and migration notes for the new implementation of the sheet system.
  • The permanent data storage directory is now by default data, in the root of the standalone distribution. This is where you'll find, for example, the Lucene index, the custom extensions installed by the extension manager, or the attachments when the filesystem attachment storage is configured. If you're upgrading from an older version, make sure you first move the existing data from the jetty/work/ directory. You can configure the location of the permanent data storage in xwiki.properties via the container.persistentDirectory setting, and, for older code using the XWiki.getWorkDirectory method, in xwiki.cfg via the xwiki.work.dir setting.

API Breakages

The following APIs were modified since XWiki Enterprise 3.1:

org.xwiki.component.util.ReflectionUtils: Added final modifier to class
org.xwiki.component.util.ReflectionUtils: Accessibility of method 'public ReflectionUtils()' has been decreased from public to private
com.xpn.xwiki.plugin.activitystream.api.ActivityEvent: Method 'public java.util.Map getParameters()' has been added to an interface
com.xpn.xwiki.plugin.activitystream.api.ActivityEvent: Method 'public void setParameters(java.util.Map)' has been added to an interface
org.xwiki.bridge.AttachmentNameFactory: Class org.xwiki.bridge.AttachmentNameFactory removed
org.xwiki.bridge.AttachmentNameSerializer: Class org.xwiki.bridge.AttachmentNameSerializer removed
org.xwiki.bridge.DocumentAccessBridge: Method 'public int getObjectNumber(org.xwiki.model.reference.DocumentReference, org.xwiki.model.reference.DocumentReference, java.lang.String, java.lang.String)' has been added to an interface
org.xwiki.bridge.DocumentAccessBridge: Method 'public java.lang.Object getProperty(org.xwiki.model.reference.ObjectReference, java.lang.String)' has been added to an interface
org.xwiki.bridge.DocumentAccessBridge: Method 'public java.lang.Object getProperty(org.xwiki.model.reference.ObjectPropertyReference)' has been added to an interface
org.xwiki.bridge.DocumentAccessBridge: Method 'public java.lang.Object getProperty(org.xwiki.model.reference.DocumentReference, org.xwiki.model.reference.DocumentReference, int, java.lang.String)' has been added to an interface
org.xwiki.bridge.DocumentNameFactory: Class org.xwiki.bridge.DocumentNameFactory removed
org.xwiki.bridge.DocumentNameSerializer: Class org.xwiki.bridge.DocumentNameSerializer removed
org.xwiki.container.ApplicationContext: Method 'public java.io.File getPermanentDirectory()' has been added to an interface
org.xwiki.container.Request: Method 'public java.util.List getProperties(java.lang.String)' has been added to an interface
org.xwiki.container.portlet.PortletApplicationContext: In method 'public PortletApplicationContext(javax.portlet.PortletContext)' the number of arguments has changed
org.xwiki.container.servlet.ServletApplicationContext: In method 'public ServletApplicationContext(javax.servlet.ServletContext)' the number of arguments has changed
org.xwiki.eventstream.Event: Method 'public java.util.Map getParameters()' has been added to an interface
org.xwiki.eventstream.Event: Method 'public void setParameters(java.util.Map)' has been added to an interface
org.xwiki.gwt.dom.client.Style$IEFloatProperty: Class org.xwiki.gwt.dom.client.Style$IEFloatProperty removed
com.xpn.xwiki.api.Api: Method 'public boolean checkProgrammingRights()' has been removed
com.xpn.xwiki.api.Context: Method 'public boolean isVirtual()' has been removed
com.xpn.xwiki.api.Document: Method 'public com.xpn.xwiki.stats.impl.DocumentStats getCurrentMonthWebStats(java.lang.String)' has been removed
com.xpn.xwiki.api.StatsService: Method 'public com.xpn.xwiki.XWikiContext ajc$superDispatch$com_xpn_xwiki_api_StatsService$getXWikiContext()' has been removed
com.xpn.xwiki.api.StatsService: Method 'public com.xpn.xwiki.stats.impl.DocumentStats getCurrentMonthXWikiStats(java.lang.String)' has been removed
com.xpn.xwiki.api.StatsServiceCompatibilityAspect: Class com.xpn.xwiki.api.StatsServiceCompatibilityAspect removed
com.xpn.xwiki.api.XWiki: Removed field ajc$interField$com_xpn_xwiki_api_XWikiCompatibilityAspect$util
com.xpn.xwiki.api.XWiki: Method 'public int add(int, int)' has been removed
com.xpn.xwiki.api.XWiki: Method 'public long add(long, long)' has been removed
com.xpn.xwiki.api.XWiki: Method 'public java.lang.String add(java.lang.String, java.lang.String)' has been removed
com.xpn.xwiki.api.XWiki: Method 'public com.xpn.xwiki.XWiki ajc$privFieldGet$com_xpn_xwiki_api_XWikiCompatibilityAspect$com_xpn_xwiki_api_XWiki$xwiki(com.xpn.xwiki.api.XWiki)' has been removed
com.xpn.xwiki.api.XWiki: Method 'public void ajc$privFieldSet$com_xpn_xwiki_api_XWikiCompatibilityAspect$com_xpn_xwiki_api_XWiki$xwiki(com.xpn.xwiki.api.XWiki, com.xpn.xwiki.XWiki)' has been removed
com.xpn.xwiki.api.XWiki: Method 'public com.xpn.xwiki.XWikiContext ajc$superDispatch$com_xpn_xwiki_api_XWiki$getXWikiContext()' has been removed
com.xpn.xwiki.api.XWiki: Method 'public java.lang.String clearAccents(java.lang.String)' has been removed
com.xpn.xwiki.api.XWiki: Method 'public java.lang.String clearName(java.lang.String)' has been removed
com.xpn.xwiki.api.XWiki: Method 'public int copyWikiWeb(java.lang.String, java.lang.String, java.lang.String, java.lang.String, boolean)' has been removed
com.xpn.xwiki.api.XWiki: Method 'public java.lang.String escapeText(java.lang.String)' has been removed
com.xpn.xwiki.api.XWiki: Method 'public java.lang.String escapeURL(java.lang.String)' has been removed
com.xpn.xwiki.api.XWiki: Method 'public java.lang.String generateRandomString(int)' has been removed
com.xpn.xwiki.api.XWiki: Method 'public java.util.List getArrayList()' has been removed
com.xpn.xwiki.api.XWiki: Method 'public java.util.Date getCurrentDate()' has been removed
com.xpn.xwiki.api.XWiki: Method 'public java.util.Date getDate()' has been removed
com.xpn.xwiki.api.XWiki: Method 'public java.util.Date getDate(long)' has been removed
com.xpn.xwiki.api.XWiki: Method 'public java.lang.String getDocLanguagePreference()' has been removed
com.xpn.xwiki.api.XWiki: Method 'public java.lang.String getFormEncoded(java.lang.String)' has been removed
com.xpn.xwiki.api.XWiki: Method 'public java.lang.String getHTMLArea(java.lang.String)' has been removed
com.xpn.xwiki.api.XWiki: Method 'public java.util.Map getHashMap()' has been removed
com.xpn.xwiki.api.XWiki: Method 'public java.lang.String getMessage(java.lang.String)' has been removed
com.xpn.xwiki.api.XWiki: Method 'public java.lang.String getNl()' has been removed
com.xpn.xwiki.api.XWiki: Method 'public com.xpn.xwiki.api.Object getNull()' has been removed
com.xpn.xwiki.api.XWiki: Method 'public java.util.Collection getRecentActions(java.lang.String, int)' has been removed
com.xpn.xwiki.api.XWiki: Method 'public int getTimeDelta(long)' has been removed
com.xpn.xwiki.api.XWiki: Method 'public java.util.Map getTreeMap()' has been removed
com.xpn.xwiki.api.XWiki: Method 'public java.lang.String getURLEncoded(java.lang.String)' has been removed
com.xpn.xwiki.api.XWiki: Method 'public java.lang.String getWebCopyright()' has been removed
com.xpn.xwiki.api.XWiki: Method 'public java.lang.String getWebPreference(java.lang.String)' has been removed
com.xpn.xwiki.api.XWiki: Method 'public java.lang.String getWebPreference(java.lang.String, java.lang.String)' has been removed
com.xpn.xwiki.api.XWiki: Method 'public int getWebPreferenceAsInt(java.lang.String)' has been removed
com.xpn.xwiki.api.XWiki: Method 'public int getWebPreferenceAsInt(java.lang.String, int)' has been removed
com.xpn.xwiki.api.XWiki: Method 'public long getWebPreferenceAsLong(java.lang.String)' has been removed
com.xpn.xwiki.api.XWiki: Method 'public long getWebPreferenceAsLong(java.lang.String, long)' has been removed
com.xpn.xwiki.api.XWiki: Method 'public java.lang.String getWebPreferenceFor(java.lang.String, java.lang.String)' has been removed
com.xpn.xwiki.api.XWiki: Method 'public java.lang.String getWebPreferenceFor(java.lang.String, java.lang.String, java.lang.String)' has been removed
com.xpn.xwiki.api.XWiki: Method 'public java.lang.String getXMLEncoded(java.lang.String)' has been removed
com.xpn.xwiki.api.XWiki: Method 'public boolean isVirtual()' has been removed
com.xpn.xwiki.api.XWiki: Method 'public void outputImage(java.awt.image.BufferedImage)' has been removed
com.xpn.xwiki.api.XWiki: Method 'public double parseDouble(java.lang.String)' has been removed
com.xpn.xwiki.api.XWiki: Method 'public float parseFloat(java.lang.String)' has been removed
com.xpn.xwiki.api.XWiki: Method 'public int parseInt(java.lang.String)' has been removed
com.xpn.xwiki.api.XWiki: Method 'public java.lang.Integer parseInteger(java.lang.String)' has been removed
com.xpn.xwiki.api.XWiki: Method 'public long parseLong(java.lang.String)' has been removed
com.xpn.xwiki.api.XWiki: Method 'public java.lang.String parseMessage()' has been removed
com.xpn.xwiki.api.XWiki: Method 'public java.lang.String parseMessage(java.lang.String)' has been removed
com.xpn.xwiki.api.XWiki: Method 'public java.lang.String printStrackTrace(java.lang.Throwable)' has been removed
com.xpn.xwiki.api.XWiki: Method 'public void sendMessage(java.lang.String, java.lang.String, java.lang.String)' has been removed
com.xpn.xwiki.api.XWiki: Method 'public void sendMessage(java.lang.String, java.lang.String[], java.lang.String)' has been removed
com.xpn.xwiki.api.XWiki: Method 'public java.util.List sort(java.util.List)' has been removed
com.xpn.xwiki.api.XWiki: Method 'public java.lang.String[] split(java.lang.String, java.lang.String)' has been removed
com.xpn.xwiki.api.XWiki: Method 'public java.lang.String sqlfilter(java.lang.String)' has been removed
com.xpn.xwiki.api.XWiki: Method 'public java.lang.Number toNumber(com.xpn.xwiki.api.Object)' has been removed
com.xpn.xwiki.api.XWikiCompatibilityAspect: Class com.xpn.xwiki.api.XWikiCompatibilityAspect removed
com.xpn.xwiki.cache.api.XWikiCache: Class com.xpn.xwiki.cache.api.XWikiCache removed
com.xpn.xwiki.cache.api.XWikiCacheNeedsRefreshException: Class com.xpn.xwiki.cache.api.XWikiCacheNeedsRefreshException removed
com.xpn.xwiki.cache.api.XWikiCacheService: Class com.xpn.xwiki.cache.api.XWikiCacheService removed
com.xpn.xwiki.user.api.XWikiRightService: Method 'public boolean hasWikiAdminRights(com.xpn.xwiki.XWikiContext)' has been added to an interface
compatibility.com.xpn.xwiki.api.ApiCompatibilityAspect: Class compatibility.com.xpn.xwiki.api.ApiCompatibilityAspect removed
compatibility.com.xpn.xwiki.api.ContextCompatibilityAspect: Class compatibility.com.xpn.xwiki.api.ContextCompatibilityAspect removed
compatibility.com.xpn.xwiki.api.DocumentCompatibilityAspect: Class compatibility.com.xpn.xwiki.api.DocumentCompatibilityAspect removed
com.xpn.xwiki.plugin.lucene.IndexRebuilder: Method 'protected int addTranslationsOfDocument(com.xpn.xwiki.doc.XWikiDocument, com.xpn.xwiki.XWikiContext)' has been removed
com.xpn.xwiki.plugin.lucene.SearchResults: In method 'public SearchResults(org.apache.lucene.search.Hits, com.xpn.xwiki.api.XWiki, com.xpn.xwiki.XWikiContext)' the number of arguments has changed
com.xpn.xwiki.plugin.lucene.SearchResults: Accessibility of method 'public SearchResults(org.apache.lucene.search.Hits, com.xpn.xwiki.api.XWiki, com.xpn.xwiki.XWikiContext)' has been decreased from public to package
com.xpn.xwiki.plugin.wikimanager.WikiManager: Removed field LOG
com.xpn.xwiki.plugin.wikimanager.WikiManager: Method 'public void importPackage(java.lang.String, java.lang.String, com.xpn.xwiki.XWikiContext)' has been removed
org.xwiki.gwt.wysiwyg.client.plugin.submit.IESubmitPlugin: Class org.xwiki.gwt.wysiwyg.client.plugin.submit.IESubmitPlugin removed

Get Connected