Release Notes for XWiki 12.3

Last modified by Marius Dumitru Florea on 2020/11/17

This is the release notes for XWiki Commons, XWiki Rendering and XWiki Platform. They share the same release notes as they are released together and have the same version.

This release brings fast in-place editing for plain wiki pages and AppWithiMinutes entries. The page Information tab has been extended with more information, some of which can also be edited in-place. For extension developers there's a new locale picker and a new UIXP to publish RequireJS modules. Application sheets can now be easily modified to add support for field-by-field in-place editing. Finally, many improvements have been added to the dedicated Solr multi-core system.

Some important bugs or regressions have been discovered since XWiki 12.3 has been released:

If one or several of these bugs impact you, then you should wait for the next version to been released.

New and Noteworthy (since XWiki 12.2)

Full list of issues fixed and Dashboard for 12.3.

For Users

Extended Page Information

 
The information tab displayed at the bottom of each page has been extended with more information such as the original page locale, the current page locale, the available page translations, the page syntax and whether the page is hidden or not. Moreover, some of the page information is now editable in-place, from view mode.

In-place edit for application entries

 
The entries of a newly-created AppWithinMinutes application are now editable in-place. For existing applications you will need to edit the application and go through the application wizard so that the application sheet is re-generated, but be aware that you might loose you customizations in the process.

In-place edit for plain wiki pages

 
You can now edit plain wiki pages in-place, if the WYSIWYG editor is the preferred content editor.

In-place section editing

 
You can now edit in-place the sections of a plain wiki page, if the WYSIWYG editor is the preferred content editor. Unlike the old section editing, this allows you to edit the entire page, so that you don't loose the context, but it places the focus in the right section so that you don't have to scroll the page.

Live macro rendering when editing in-place

 
The new in-place edit mode runs the JavaScript code required by rendering macros, producing a true WYSIWYG editing experience.

Translate page while editing in-place

 
If multilingual is on and the current page is not translated in the current user interface language then editing in-place will load the original page. If you wish to translate the page then you just need to click on the Translate button. Whatever changes you do next will be saved to the translated page.

For Admins

  • On MySQL, the character set utf8mb4 is now set on the main database for new instances installed via our debian packages.

For Developers

UIXP to publish RequireJS modules

 
We added a new UIXP to support extending the global RequireJS configuration. This allows you to publish a RequireJS module that others can use without knowing its path.

Locale (Language) Picker

 
The locale (language) picker that is used in the Localization administration section has been converted to a generic picker that you can reuse.

Solr multi-core improvements

 
Solr core are now created at runtime (for embedded Solr setup) so it's not needed to restart after installing an extension which require a custom Solr core.

This version introduces org.xwiki.search.solrAbstractSolrCoreInitializer which provide a lot of helpers for creating/migrating Solr cores. See more details on Solr Search Application.

In-place edit for object properties

 
You can enable in-place editing for an existing XWiki application, if you're using the Vertical Form layout, by editing the application sheet (the page used to display the application entries) and operating 2 changes:

  1. Load the JavaScript code required for in-place editing and define some variables:
    #set ($discard = $xwiki.jsfx.use('uicomponents/edit/editableProperty.js', {
      'forceSkinAction': true,
      'language': $xcontext.locale
    }))
    #set ($object = $doc.getObject('Path.To.YourClass'))
    #set ($editing = $xcontext.action == 'edit')
  2. Add some meta data to the definition term (dt) elements that wrap the field names:
    <dt #if (!$editing && $hasEdit)
        class="editableProperty"
        data-property="$escapetool.xml($services.model.serialize($object.getProperty('yourProperty').reference))"
        data-property-type="object"#end>

The result should look like this:

editObjectPropertyInPlace.png

Miscellaneous

  • VFS content type: It's now possible to explicitly indicate the Content-Type to return with the HTTP response containing the file. See VFS API for more details.

  • Support targeting groups in Notifications: Using a TargetableEvent in the Notification API now allows to target also Groups and not only Users anymore.

Upgrades

The following runtime dependencies have been upgraded (they have a different release cycle than XWiki Commons, XWiki Rendering and XWiki Platform):

Translations

The following translations have been updated:

Tested Browsers & Databases

Here is the list of browsers we support and how they have been tested for this release:

 BrowserTested on:
Chrome30.pngGoogle Chrome 81Tests run and results
Firefox30.pngMozilla Firefox 75Not Tested
Edge30.pngMicrosoft Edge 81Not Tested
IE30.pngInternet Explorer 11Jira Tickets Marked as Fixed in the Release Notes
Safari30.pngSafari 13Not Tested

Here is the list of databases we support and how they have been tested for this release:

 DatabaseTested on:
hypersql.pngHyperSQL 2.5.0Not Tested
mysql.pngMySQL 5.7
oracle.pngOracle 19c
postgresql.pngPostgreSQL 12

Here is the list of Servlet Containers we support and how they have been tested for this release:

 Servlet ContainerTested on:
tomcat-icon.pngTomcatTests run and results

Jira Tickets Marked as Fixed in the Release Notes
jetty-icon.pngJetty (XWiki Standalone packaging)
jetty-icon.pngJettyNot Tested

Known issues

Backward Compatibility and Migration Notes

General Notes

  • When upgrading make sure you compare and merge the following XWiki configuration files since some parameters may have been modified, removed or added:
    • xwiki.cfg
    • xwiki.properties
    • web.xml
    • hibernate.cfg.xml
  • Add xwiki.store.migration=1 in xwiki.cfg so that XWiki will attempt to automatically migrate your current database to any new schema. Make sure you backup your Database before doing anything.

API Breakages

The following APIs were modified since XWiki 12.2.1:

  • Not a Breakage. Moved to Legacy.
    • Violation type:
      java.class.removed
    • Code:
      ## Old:
      class org.xwiki.velocity.tools.CollectionsTool
  • Not a breakage. Work around a bad code design and tell our Component checker that this is not a component
    • Violation type:
      java.annotation.added
    • Code:
      ## Old:
      class org.xwiki.rendering.wikimodel.xhtml.impl.LocalEntityResolver

      ## New:
      class org.xwiki.rendering.wikimodel.xhtml.impl.LocalEntityResolver
  • Wrongly placed extension. Breakage is limited
    • Violation type:
      java.annotation.removed
    • Code:
      ## Old:
      interface org.xwiki.xar.XarEntryTypeResolver

      ## New:
      interface org.xwiki.xar.XarEntryTypeResolver

Credits

The following people have contributed code and translations to this release (sorted alphabetically):

  • Cami Andrei
  • Clemens Robbenhaar
  • Damoebai·Cloud
  • Guillaume Delhumeau
  • Jarle Sandmo
  • Joan
  • Manuel Leduc
  • Marius Dumitru Florea
  • Simon Urli
  • Thomas Mortagne
  • Varad Thokal
  • Vincent Massol
  • xrichard
Tags:
   

Get Connected