Release Notes for XWiki 7.3

Version 4.14 by Ecaterina Moraru (Valica) on 2015/11/10

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

This is a stabilisation release focusing on the Nested Pages feature which was introduced in XWiki 7.2. Lots of polishing has been done for the Nested Pages feature integration and its consequences on the UI redesign (modified menus for example). The release includes a couple of bug fixes, a few dependency upgrades and new UI extension points available for extension developers.

New and Noteworthy (since XWiki 7.2)

Full list of issues fixed and Dashboard for 7.3.

Flamingo

Navigation bar

  • The user's avatar is now displayed between the search icon and the drawer icon:

    avatar.png

  • Also the search bar on the top of the screen have been improved a bit.

    When the user clicks on the search button, the search bar is opened and gets the focus. Then, when the users clicks in other place, the search bar is closed, slowly.

    • Closed:

        search-closed.png

    • Open:

        search.png

Menus

The "More Options" menu has been split and a new "Page Administration" menu has been introduced:

Drawer

  • In the Drawer (top right menu), the pages for which the user doesn't have permissions to access are not displayed anymore.

Flamingo Theme Editor

The Flamingo Theme Application now handles the @lessCode field. It means that you can add any code, written with LESS, to your theme and see the result live!

LESSCode.png

Office Importer

The Office Importer Application has been redesigned visually and now supports importing into Nested Spaces:

OfficeImporter

Breadcrumb

When the hierarchy of a Nested Pages is long, we do not display it entirely any more. Instead, we display a limited version, that the user can expand by clicking on the "ellipsis" character ('...'):

  • limited:

      breadcrumb-limited.png

  • full:

      breadcrumb-full.png

Note that this behavior have also been added to all hierarchy breadcrumbs, including location of search results, etc...

  breadcrumb-search-results.png

The breadcrumb has now support for tree navigation. Each breadcrumb element has a drop down tree that shows the siblings and the children, helping you navigate easily around the wiki.

breadcrumbsTreeNavigation.png

Page Index

Since we have introduced the concept of Nested Spaces we needed to replace the Space column in the LiveTable with a more generic solution. Thus, the Index Application has now merged the previous Page + Space columns into a single Location column and we've introduced new Title column but which now displays the title of pages, as can be seen on the following screenshot:

livetable-location.png

The same strategy is implemented for the children and the siblings viewers.

Note that you can filter at several path levels in the Location column. For example:

location-filter.png

Information

XWiki currently doesn't support filtering on Page titles which is why the new Title column doesn't allow filtering. However since the Location column includes the full path, users can still search on Page names.

At a technical level the displaying of page titles was needed because all non-terminal pages names are called WebHome and displaying that would not be user-friendly.

New Panels

  • A Children Panel has been added to display the list of Children pages of the current Page.

    children.png

  • A Siblings Panel has been added to display the list of Sibling pages of the current Page.

    siblings.png

  • The SpaceDocs Panel has been deprecated and the Children Panel or Siblings Panel should be used instead. A warning message has been added (visible only to Admins) to explain this:

    spacedocs-warning.png

App Within Minutes

Up until this version, the applications created with App Within Minutes were always located in a top level space. For instance, if you wanted to create a "Meeting" application, the application data space was "Meeting". Starting with this version you can also create an application in a nested space. In the first step of the wizard you can select the location where you want the application to be created. In the following image I have create an application with path "Marius / Apps / Meeting".

appLocationPicker.png

Template Providers Administration

The template provider UI has been adapted to Nested Pages and it now supports:

  • Creating template providers deeper than the first level (as it was restricted before), reusing the location picker widget
  • Setting allowed locations (i.e. spaces) using the tree widget

For more details, see the XWIKI-12275 issue and the documentation.

XClass Application

The XClass Application has been modified to support classes defined in nested documents. The default class sheet has been improved to use the new location picker when creating a new class entry, and the list of existing entries is now displayed using a live table. The 'Data types' page has been improved to use the new location picker when creating a new class, and the list of existing classes (data types) is now displayed using a live table.

Miscellaneous

  • The Extension Diff view has been improved to display the page (translation) language both in the summary and the detail sections. The page name (heading) from the detail section is now a link to the local version of the page.

    extensionDiff.png

  • Added the Actions column for the FAQ Application:

    faqActions.png

  • Pages with Slovak and Brazilian Portuguese language are now indexed by Solr and thus they are included in the search results. See the Migration Notes below in case you are performing an upgrade and you want support for these languages.
  • Clicking on the Logo (top-left of the screen) will now take you to the page that you have configured as wiki homepage by using the "Wiki Administration > Wikis > Descriptor" section. See the related documentation section.
  • The template providers edition has been rewritten to be more consistent with other edit forms:

      template-provider-edit.png

  • Removed the 'Edit' button when editing a template provider document. See XWIKI-12675
  • The Invitation Application now has an entry point in the App Bar (only visible to Admins).

See the full list of JIRA issues fixed in this release.

For Developers

Extension Manager improvements

Custom repositories

Extensions and dependencies can now provide custom repositories. For now only dependencies repositories are directly used when resolving it before trying registered repositories.

In practice it means that Maven custom repositories are now supported properly (at least to resolve artifacts dependencies). On Extension Manager side it means you get the same custom repositories duplicated in the Extension and in each ExtensionDependency.

Support also been added to Extension Repository API. It's also imported in XWiki based Extension Repository implementation but not yet exposed as REST resource.

Resolve dependencies in extension repository first

The extension repository is checked first when searching for extension dependencies.

REST API improvements

It's now possible to get a page with everything but attachment content: for this you can enable various part of the document using the following URL parameters:

  • objects: enable returning document objects
  • class: enable returning document class properties
  • attachments: enable returning document attachments

They are all disabled by default.

Page objects support has also been added to the Page PUT API.

REST supports hidden

You can now set and/or get information from the status hidden of a page with REST service.  For example, you may create a hidden page using the following file and the following request.

<page xmlns="http://www.xwiki.org">
 <title>Test of hidden</title>
 <hidden>true</hidden>
 <content/>
</page>
curl \
  --verbose \
  --user Admin:admin \
  --request PUT \
  --header "Content-type: application/xml" \
  --data-binary "@page.xml" \
  "http://localhost:8080/xwiki/rest/wikis/xwiki/spaces/SomeSpace/pages/SomePage"

And then check the status of this hidden status with a GET HTTP request

curl \
  --verbose \
  --user Admin:admin \
  --request GET \
  --header "Accept: application/xml" \
  "http://localhost:8080/xwiki/rest/wikis/xwiki/spaces/SomeSpace/pages/SomePage"

You may also use the application/x-www-form-urlencoded to set this hidden field.

curl \
  --verbose \
  --user Admin:admin \
  --request PUT \
  --header "Content-type: application/x-www-form-urlencoded" \
  --data "title=Test of hidden&hidden=true&content=" \
  "http://localhost:8080/xwiki/rest/wikis/xwiki/spaces/SomeSpace/pages/SomePage"

See The XWiki RESTful API for more details.

Flamingo Improvements

The Drawer menu is now implemented with UI extensions. The new Extension Points are:

 org.xwiki.plaftorm.drawerorg.xwiki.plaftorm.drawer.header

drawer-with-languages.png

drawer-header.png

Miscellaneous

  • New getReference() API public scripting Element (Object, Class, etc.) to get the EntityReference of the element
  • New functional tests for the Office Importer Application have been added to xwiki-platform. To enable them, you need to enable the new profile office-tests.
  • For testing purpose, an environment variable XWIKI_OFFICE_HOME can bet set to configure where the Office server is installed on the system.
  • New Time Zone XProperty type to represent Time Zones.
  • The XAR plugin now verifies that Technical Pages are set as hidden and the Format Mojo sets them as hidden.
  • A new XAR Integration testing framework has been introduced. It can be used to write integration tests for wiki pages.
  • Issue management information are now imported, displayed and exposed in the REST service in the Extensions Repository
  • XAR plugin's Verify Mojo can now verify that defined pages have matching titles.
  • log4j 1.2.17 and commons-logging 1.2 are now found as core extension (which prevent them being installed as dependencies)

Deprecated and Retired projects

  • The XML-RPC Integration has been retired. It had been deprecated several years ago in favor of the REST API and it wasn't actively supported.

Upgrades

The following dependencies have been upgraded:

Translations

The following translations have been updated: 

Known issues

Backward Compatibility and Migration Notes

General Notes

When upgrading make sure you compare your xwiki.cfg, xwiki.properties and web.xml files with the newest version since some configuration parameters may have been modified or added. Note that 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 7.3

  • If you had modified the custom displayer for Time Zones in either XWiki.XWikiUsers or XWiki.XWikiPreferences then when upgrading to 7.3M1 your change will be removed. This is because we've introduced a Time Zone XProperty type which is replacing the String type used before for storing the Time Zones. If you wish to put back your change you can define a custom displayer on the new Time Zone XProperty in XWiki.XWikiUsers or XWiki.XWikiPreferences.
  • In order to add support for Slovak and Brazilian Portuguese languages to the Solr search we had to modify the Solr schema and unfortunately we don't have support for automatic Solr search index migration at this point. If you want to support these languages you have to delete the 'solr' folder from the configured permanent directory of your XWiki instance. The Solr index will be recreated automatically and the entire wiki/farm (including the pages in the Slovak and Brazilian Portuguese language) will be re-indexed after a server restart.

API Breakages

The following APIs were modified since XWiki 7.2:

  • Add support for custom repositories in extensions:
    org.xwiki.extension.Extension: Method 'public java.util.Collection getRepositories()' has been added to an interface
    org.xwiki.extension.ExtensionDependency: Method 'public java.util.Collection getRepositories()' has been added to an interface
  • New URL parameters:
    org.xwiki.rest.resources.pages.PageResource: In method 'public org.xwiki.rest.model.jaxb.Page getPage(java.lang.String, java.lang.String, java.lang.String, java.lang.Boolean)' the number of arguments has changed

Get Connected