Release Notes for XWiki 4.5 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 last stabilization release for the 4.x cycle with improvements on Distribution Wizard, SOLR Search and App Within Minutes.
New and Noteworthy (since XWiki 4.4.1)
Distribution Wizard improvements
When upgrading from an old version that didn't have the distribution wizard, the wizard doesn't know what user interface (XAR) was previously installed (imported). This information can help the Extension Manager merge automatically the wiki pages from your database with those from the new version of the user interface.
The distribution wizard will first ask you if you are performing an upgrade.
Then you need to select the user interface version that was previously installed.
The distribution wizard determines the id of the previously imported XAR based on the selected version.
You can edit the suggested id if you know you had a different user interface previously installed.
Finally you need to repair the specified user interface extension. This will mark the extension as installed (update the extension index without actually importing the wiki pages from the XAR).
Next you can install the new version of the user interface.
Translatable AppWithinMinutes apps
The AppWithinMinutes wizard is now generating a document translation bundle for the application which allows you to translate class field pretty names, list values (for static list fields) and live table columns names. If you have an existing application that was created with AppWithinMinutes you just have to edit and save it to get the new translation bundle.
If your wiki is setup for multilingual support then on the application home page, in the application menu, you now have an entry to translate the application. The link takes you to the document translation bundle.
When editing an application you now have the option to update the translation bundle. Note that for the moment the translation bundle (its default language) is regenerated so you may lose translation keys you added yourself. In the future we want to update the translation bundle preserving the custom keys.
See thefor more information.
Experimental Solr search improvements
Remote Solr instance support
You can now configure the Solr search to use a remote Solr instance instead of the embedded server that runs in the same JVM with XWiki. To do that, you have to:
- set the solr.type property inside the WEB-INF/xwiki.properties file from the default value of "embedded" to "remote"
- set the solr.remote.url property to the URL where your remote server can be accessed.
Note: don't forget to uncomment (remove the leading # character) the properties when setting their values. If you do forget, the default values will be used instead of yours.
There can be various reasons (security, performance, economy, etc.) why you would want to use a remote server instead of the embedded one, but you will have to make sure that you are using (or building on top of) the Solr configuration that XWiki knows how to work with.
Once XWiki is started with solr.type set to remote, you can go to the XWiki.SolrSearchAdmin page inside your wiki (main wiki, if using a multiwiki setup) and download the attached conf.zip file. If contains the structure of your the Solr home directory that you can use for your remote instance. Just unzip it in a directory and set that directory to be your Solr home for your remote server.
Improved multilingual support
In order to properly index content of various languages and, as a consequence, obtain better search results, we have chosen the single-index-multiple-fields approach.
This means that, a couple of interesting multilingual index fields (title, doccontent, comment, objcontent, propertyvalue and attcontent) are now configured as field aliases that get automatically expanded at query time to all their configured multilingual variations. Each language "variation" is of the form fieldName_language (title_en, title_fr, title_ro, etc...) and contains the content indexed in a language-specific way. There also exists a fieldName_ml field "variation" that is used as a form of backup, for languages outside the list of already configured ones, but is also useful in everyday queries since it does lighter analysis on the content.
Example: a query on (title:test) gets converted to (title_ml:test | title_en:test | title_ro:test | title_fr:test | ...)
Additionally, attachments, objects and object properties are now indexed for each of the languages of the translations of the original document to which they belong. This now allows them to be found when searching for content in a translation of a document and not just content in the language of the original document, as it was before.
- The message sender is now using the new user/group picker.
- The create and manage workspace forms are now using the new user picker.
- You can now add or invite multiple users at once to an workspace, and the user name field uses the new user picker.
- We improved the way changes are displayed by emphasizing the in-line changes.
- Support for searching content in Java Class file attachments .
- Markdown syntax support has been completely rewritten, fixing several existing bugs.
- The home page (Main.WebHome) can now safely be edited by any user who has edit permission (In earlier releases, the AJAX suggest feature for tags would unexpectedly break if users not having Programming Rights edited the page).
- PostGreSQL support for multiwiki mode (see Backward Compatibility notes below and the ).
See thefixed in this release.
Embed translations in JAR extension
It's now possible for any JAR to come with it's own translation bundle. For that you need to provide at the root of the JAR a set of ApplicationResources.properties based translations. See for more.
Deprecated and Retired projects
No project was retired.
No library was upgraded.
- It is now possible to delegate programming rights directly to a filesystem template to allow it to access the privileged API by adding the template name to the set defined in DefaultPrivilegedTemplateRenderer. Such a template cannot currently access the context document, but this restriction will most likely be removed in 5.0.
The following translations have been updated:
Tested Browsers & Databases
Here's the list of browsers tested with this version (i.e. browsers that we've tested as working - Check the list of):
- Internet Explorer
- Internet Explorer
Here's the list of databases tested with this version (i.e. databases that we've tested as working - Check the list of):
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 4.5M1
- Changes in the experimental Solr implementation
- The xwiki.properties file now contains solr specific configuration, please make sure to merge it with your own. If you were previously using the search.solr.home property to specify your own index directory, you need to use the new solr.embedded.home property, as specified in the xwiki.properties file.
- The Solr index and configuration files have suffered major changes. When upgrading, you need to delete the <permanentDirectory>/solr directory so that Solr can reinitialize it with the new configuration and index structure. Also, a reindexation is obviously required.
- The new default mode for PostGreSQL is the schema mode, i.e. new wikis are created as schema. Previously the default was database but . The configuration is done in hibernate.cfg.xml by setting <property name="xwiki.virtual_mode">schema|database</property>.
The following APIs were modified since XWiki 4.4.1:
- New method to access bundle:org.xwiki.localization.LocalizationManager: Method 'public org.xwiki.localization.TranslationBundle getTranslationBundle(java.lang.String, java.lang.String)' has been added to an interface