Summary of the XWiki 7.x Cycle

Last modified by Thomas Mortagne on 2023/10/13

This is a summary of the release notes for XWiki Commons, XWiki Rendering, XWiki Platform and XWiki Enterprise, for the whole 7.x cycle (i.e. the whole year 2015). They share the same release notes as they are released together and have the same version.

The biggest highlight of this cycle is definitely the introduction of Nested Pages and all the consequences that ensued (see below). More work on Nested Pages has also been done in the 8.x cycle.

Work Done

The work is organised using JIRA and here are some JIRA stats of what happened during the 7.x cycle:

  • 1557 issues were closed (See the full JIRA issue list)
  • 696 bugs closed, 541 improvements, 83 new features and more:

    jira-issue-types-7x.png

  • And the top JIRA participants (those contributing to more than 1% of the total jira issue number):

    jira-assignees-7x.png

Congrats to all who participated!

Top 10 Features

For our users, here are some top 10 features that we wish to highlight (arbitrarily hand-picked; it's hard to pick 10 out of 624 improvements and new features!).

Document Diffs

The document history view that shows the differences between two versions of a document has been improved:

  • The new summary gives you an overview of the changes and provides fast navigation.
  • The changes made to the short text properties (e.g. title, which has only one line of text) are more readable now.
  • You can see the changes that have been made to a text attachment. For non-text attachments you can see the difference in the file size.
  • You can see detailed changes to a class definition (e.g. which meta properties, like 'Custom Display', have been modified).

history-compareDocumentVersions.png

See the Version Control feature documentation for more details.

Wiki Creation

  • During the wiki creation, Distribution Wizard is not triggered anymore. Instead, the whole wiki creation process has been moved into a job, and everything happens inside the Wiki Creation Wizard (with a progress bar and a logging area):

    WikiCreationStep.png WikiCreationStepEnd.png

  • The Wiki Provisioning Step has been integrated into the job too.
  • When a wiki is created from a template, we now have a message in the logs that displays which document is copied.

Document Index Tree Finder

You can now easily find documents and attachments from the tree view of the Document Index.

index-alldocs-tree-finder.png

Checkout the Index Application for more details.

Solr Search

  • We worked on making the search UI responsive on small screens. On mobile phones the list of search facets is now collapsed above the search results and the user can toggle it with a tap. We improved the way the search results of type Object and Object Property are displayed (check the result title and location / breadcrumb). We switched to using the icon themes for the search result icons and we also fixed some small spacing and alignment issues introduced by the migration from the old Colibri skin to the new Flamingo skin. Last but not least, we worked on refreshing the search UI without reloading the entire page when the user sorts the search results, uses the pagination or drills down the results using the search facets.

    searchPageMobile.png

  • It's now possible to disable highlighting and faceting which are very slow tasks. Can be controlled directly from the search UI or from the Main.SolrSearchConfig document.

    solr_options.png

See the Solr Search Application documentation for more details.

Nested Pages

It's now possible to create wiki pages inside other wiki pages. More specifically we've decided to drop the concept of Space in the UI (it's still there at the API/platform level) and instead, to replace it with the concept of Nested Pages.

We've also decided to drop the concept of Parent/Child relationship since it was too complex for end users to have 2 hierarchies: the Space/Page hierarchy and the Parent/Child hierarchy. The Parent/Child hierarchy also had limitations: you couldn't inherit page permissions for example. Thus the idea is to have a single hierarchy based on Nested Pages.

Advantages of Nested Pages:

  • The URL reflects the page hierarchy
  • Finer-grained control: Ability to set permissions at each level
  • Generally speaking, a nicer and simpler way to organize your content hierarchically
  • Moving and Deleting pages updates the hierarchy

Terminology:

  • Nested Page (a.k.a Non-Terminal Page): This is a wiki page that can have children pages. Technically a Nested Page is implemented as a Nested Space (i.e. a WebHome page).
  • Non-Nested Page (a.k.a Terminal Page): This a wiki page that cannot have children pages. Applications and script can create Terminal Pages. Advanced Users will also be able to create Terminal Pages from the UI. Standard Users will only be able to create Nested Pages.
  • Nested Space: A Space which has another Space as parent. As mentioned above, a Nested Page is technically implemented as a Nested Space. You will used the term Nested Space when speaking technically about XWiki APIs for example but when talking about UI you should favor using the term Nested Page instead.

For more information, see Content Organization.

We have worked a lot to minimize the retro-compatibility issues. However, some Extensions are not adapted for Nested Pages yet, and their execution is still sub-optimal. For the next releases, we plan to work on the adaptation of these Extensions.

Script right

A new Script Right has been added to allow controlling who has the right to write Scripts. Specifically anyone with Edit rights can edit a page and write a Script in it. However, when the page is rendered the script will only execute if the last author of the page has the Script right.

Example when the author of a script doesn't have the Script right:

scriptRightsErrorNotAllowed.png

The Script Right is set to DENY by default, meaning that if you do not have it explicitly, you will not be able to execute the scripts that you write with your user account.

However, for backward-compatibility reasons, the standard XWiki Enterprise distribution comes with the Script Right being allowed for all users at the main wiki level, so that, unless you (as an Admin) explicitly revoke the right for some users or explicitly deny it, they will be able to execute the scripts they wrote, just like before.

scriptRightsExplicitlyAllowedInXWikiPreferences.png

Flamingo

Following the introduction of the Nested Pages feature, we have changed a lot our default skin, Flamingo:

  • The top menu has been removed and replaced by a drawer menu that you can expand by clicking on the top right icon
  • The add menu has been relocated near the edit one
  • The L&F of the Add, Edit, and "More Actions" menus has been changed
  • A lot of actions have been moved to the "More Actions" menu
  • The page breadcrumb has suffered some changes:
    • it is now also displayed on the wiki home page
    • the wiki home page is now included when it is part of the current document's hierarchy, i.e. for children and descendants of the wiki home page. See XWIKI-12423 for more details.
    • the sub-wiki pretty name is included between the home icon and the local page path
  • The actions menus (edit, create, more actions) are now available from the rename, copy and delete actions.
  • The create, copy and rename page actions have been modified to support nested pages:
    • The source and target pages are displayed using the breadcrumb
    • The target page can be selected using a document tree picker
    • For advanced users there is also the option to specify the target page using some text input fields (location advanced edit mode). This is useful especially if you want to create/move the page under a parent that doesn't exist yet (you cannot use the tree picker in this case because the parent would not be available in the tree).
  • The delete action proposes to delete the children of the page.
  • The welcome message from the main wiki home page has been updated.
  • The "Spaces" widget from the wiki dashboard has been replaced with "Pages" which shows the hierarchy of nested pages from that wiki.
  • For non terminal pages, we have introduced a "Page Administration", where you will find settings that concern the page and its children (it's actually the old space administration behind the scene). But we have also introduced 2 sections for setting rights on these pages:
    • a section to set rights for the page only.
    • a section to set rights for the page and its children.
  • For terminal pages, nothing changes, you can change the access rights of the page in the "edit" menu. The only addition is a "Administer Parent" link in the "More actions" menu to administer the parent page (which again is the space administration behind the scene).
  • The create action has been re-looked (with the introduction of the "page type" field) and proposes to import an office document.
  • A new "children" viewer is now accessible in the "more actions" menu, along with the other viewers.
  • For Terminal Pages, a new "siblings" viewer is present, which replaces the old "space index" feature.

More Flamingo

Navigation bar

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

avatar.png

Also, the search bar at the top of the screen has 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 some 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:

Delete

  • The delele UI now uses the 'title' and 'location' columns to list the children that may be affected by the delete action:

      deleteUI.png

Drawer

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

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

The breadcrumb tree navigation doesn't show the document translations any more when multilingual is disabled, because navigating to a document translation when multilingual is off doesn't have any effect: the default translation is displayed instead. You can still see the translations in the Page Index Tree though.

Notifications & Watchlist

  • A new menu has been added to the top bar, on the right: the "notifications" menu (represented by a bell). In the future, it will be the place where you can find notifications about some events happening on the wiki (personal message, a page has been modified, etc...).

    Notifications.png

  • In this menu, we have moved the Watchlist icons (watch this page, watch this wiki, etc...). These actions can be triggered with the new switch buttons.

    WatchList-Notifications.png

  • The livetable of the WatchList macro have been updated to support Nested Pages.

      WatchListTable.png

Detailed Release Notes

If you wish to see the full details of all features and improvements you can check each release note.

Version 7.4.x

Version 7.3.x

Version 7.2.x

Version 7.1.x

Version 7.0.x

Tags:
   

Get Connected