XWiki Enterprise 2.4 Milestone 1

Last modified by Thomas Mortagne on 2023/10/13

First milestone of the XWiki Enterprise 2.4 version (Roadmap).

The highlights of this release are: Lucene by default and Lucene admin, rendering cache as well as performances and security improvements.

New and Noteworthy (since XWiki Enterprise 2.3.1)

Search

Changed default search engine

Lucene Search is promoted as default search.

searchlucene.png

The Lucene search has several benefits over the Database search:

  • It indexes attachments (such as PDFs or MS Word documents) searchable. It does not replace the search page itself but rather makes more content available for searching.
  • It provides a scoring for the search results.
  • It offers pagination when there are lots of results.
  • It scales well when there are lots of documents in the wiki.
  • It supports multi wikis.
  • It supports a strong query syntax.

New search configuration UI

searchadministration.png

The Search Application now has a dedicated section in the wiki administration section from which you can:

  • Choose the default engine (Lucene or Database).
  • See the status for the Lucene Search: the number of indexed elements and the number of elements waiting in the queue.
  • Control the Lucene index by indexing the whole farm, indexing the wiki or customizing the index to your specific preferences.

For more information check out the documentation page.

Rendering cache

You can now provide a list of pages for which to cache the result. See core.renderingcache.* properties to control it.

It's also possible to force a page to refresh by using refresh=1 parameter in the URL.

WYSIWYG improvements

Insert external image

You can now insert an external image in the edited page while in WYSIWYG mode. The external image is specified by its location on the web, i.e. its URL. To do this go to Image > Insert Image... menu and select the "External" tab:

XWIKI-5202.png

New Code macro configuration

It's now possible to indicate which Pygments style to use with the default highlighter based on Pygments.

See http://code.xwiki.org/xwiki/bin/view/Macros/CodeMacro20 for more details.

Security improvements

  • Added support for HttpOnly flag for session cookies (XSS protection measure)
  • Fixed some XSS issues
  • Improved file access sandboxing

Performance improvements

Defered scripts.

Chart macro improvements

Chart macro now support more than 26 columns.

Translations

  • WYSIWYG newly supported language: Russian
  • All the translations have been updated

Known issues

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.

Migration Notes

  • The main entry point for the search UI is now the Main.Search page that will use the configured search engine (Lucene by default). If you want to refer to Lucene or Database search explicitly you can use the Main.LuceneSearch and Main.DatabaseSearch pages. Note that nothing is broken here (Main.WebSearch page is still there and internally it includes the Main.DatabaseSearch page), it's just the new clean way of targeting the search page.

API Breakages

The following APIs were modified since XWiki Enterprise 2.3:

[ERROR] org.xwiki.rendering.transformation.MacroTransformationContext: Method 'public org.xwiki.rendering.internal.transformation.MacroTransformation getMacroTransformation()' has been removed
[ERROR] org.xwiki.rendering.transformation.MacroTransformationContext: Method 'public void setMacroTransformation(org.xwiki.rendering.internal.transformation.MacroTransformation)' has been removed
[ERROR] org.xwiki.rendering.transformation.Transformation: Method 'public void transform(org.xwiki.rendering.block.Block, org.xwiki.rendering.transformation.TransformationContext)' has been added to an interface
[ERROR] org.xwiki.rendering.transformation.TransformationManager: Method 'public void performTransformations(org.xwiki.rendering.block.Block, org.xwiki.rendering.transformation.TransformationContext)' has been added to an interface

Get Connected