Changes Report
Filesystem store location
It's now possible to set the location of the filesystem store without modifying the general permanent directory using property store.file.directory of the file xwiki.properties.
Display nice error message in case of path too long
In a few cases, an error might happen when creating a page, if its full path is too long. The full path is defined by the title of the page and the title of all parent pages. We now provide an UI for this error to explain what happens: the fix is generally to reduce the size of the title of the page, or to put it under another hierarchy.
Line numbers in code macro
A new parameter has been introduced to enable line number display in the code macro. See Code Macro for more details.
Allow to create Static List class with value suggestion
It is now possible to create a Static List class that will display a suggest picker for the values that are entered.
Note that the displayer is only available when using the input display type.
Display content in restricted mode
A new URL parameter is available for viewing pages in restricted mode.
You can now use restricted parameter, with the following values:
- false (default): the macro transformations are normally executed
- true: macro transformations are executed in degraded mode or not executed at all, depending on the macro implementation.
In particular, various scripting macro such as Velocity Macro or Groovy Macro are not executed in restricted mode.
This parameter might be then use to check if a page is well displayed for user who cannot execute those scripts for example.
Deleter can now restore
The deleter of a document is now allowed to restore it even without admin right (provided the user have enough right to create a document at this location).
Allow to store a StaticList value in a large string
When creating a Static List class, it is now possible to choose to Allow large string. This can be useful if this list aims at storing large values.
Check user inactive status by default
If you configured the registration page to enable the Use Email Verification, then new registered users are by default inactive until they fill a form. Starting with this release the active status is checked by default at login. The previous option to enable this in the Administration > Registration page, Authentication Active Check, has been removed.
Allow to disable the edit conflict mechanism
We introduced in XWiki 11.2 a mechanism that allows user to detect edition conflicts on a page and we are continuing to improving it. However this feature is still experimental and might have unwanted consequences on older extensions. So we added the possibility to completely disable the feature if needed, with a new property in xwiki.properties:
edit.conflictChecking.enabled = true
You can set this property to false and restart the wiki in case of trouble. In that case, please let us know so we can improve our feature.
Tomcat 9 based Debian Package
Tomcat 9 is now the current stable branch of Tomcat so we provide a Debian Package of XWiki based on it.
Display conflict information inside unified diff
The display diff API allows to display information about conflicts.
The APIs to build unified diff takes as input a list of conflict elements that have been computed during a merge: some conflict information are then available in the resulting unified diff blocks, and can be used to present conflicts and possible decisions inside an UI presenting unified diff.
Allow to perform custom decisions in case of merge conflict
The Diff module now offers new APIs to enhance the 3-way merge operation. The MergeResult is now capable of returning a list of Conflict objects which gives some information about the conflicts that occurred during the merge. Those conflicts can be solved on a case-by-case basis by specifying some ConflictDecision in the MergeConfiguration that is passed to the merge operation.
The main goal here is to allow more fine-grained conflict resolution when performing a merge operation.
Create Template Provider from the Class UI
Until now, the place to create a template provider was Administration->Content->Page Templates and most of the time the need was to work together with a template created for a class. It is possible now to create the template provider from the class UI, just as the sheet and template are created. The only condition is to first create the template, in order to use it (otherwise it doesn't make sense to have a template provider for the class).
RightUpdatedEvent
A org.xwiki.security.authorization.event.RightUpdatedEvent event is now sent when a modification may have an impact on the result of a right check (modified XWikiRights object, modified group, etc.).
Mail Configuration inherited from main wiki
The Mail Configuration for a subwiki is now inheriting from the configuration from the main wiki. More precisely if the local Mail.MailConfig is empty for the looked up configuration property, it's looked for in the same page in the main wiki, and if not found then it defaults to the value from xwiki.properties.
Hints for Meta Properties
The class editor is now displaying hints for meta properties when they are available. You can check for instance the Size, Editor and Content Type meta properties of a Text Area object property.
Maven "legacy" profile
The Extension Manager now automatically activates the legacy profile when reading a pom.
Display Type property annotation
The PropertyDisplayType annotation has been introduced to allow specifying a display type (that can be different from the actual property type) which can be used when rendering properties (i.e. inputs of the WYSIWYG macros).
Possibility to disable the fullscreen behaviour on textarea
Until now a "maximize" link was automatically added to any textarea added to a page when viewing it in an editor. This can be now disabled by using the CSS class not-maximizable on the textarea.
New tip to autocomplete links
New tip about typing the [ character when editing in WYSIWYG to get autocompletion for links.
Remove XWikiUser disabled property and introduce email_checked property
We introduced in disabled to allow to disable or enable users. This property was however redundant with the previously existing active property, which was until then only used to check if users validated their email account, when the linked registration option was activated.
a new property on XWikiUsers objects calledIn this release, we remove the disabled property and rely entirely on the active property to know if a user account is enabled or not. We introduced a new email_checked property to verify if a user validated his/her email address if the option was activated.
Deprecated macro parameters are hidden
When inserting a macro from the WYSIWYG editor the deprecated macro parameters are hidden in order to discourage their usage and to simplify the UI. A deprecated macro parameter is shown only if it has a value set (when editing a macro).
Computed field values are now available in REST representations
In the REST API, the REST representation of objects containing computed fields now includes the computed values of these fields while previously, they contained an empty value.
Advanced macro parameters shown last
When inserting a macro from the WYSIWYG editor the advanced macro parameters are shown at the end, most of the time hidden under the "More" link in order to simplify the UI. An advanced macro parameter might be shown at the top if it has a value set (when editing a macro).
Bypass log grabbing
It's now possible to force a log to end up in the main log even when during a job that is supposed to grab it.
Job Waiting Information
You might now see a new information box instead of the progress bar if another job is currently performed against the pages you selected. In that case, you have to wait that the other job is finished or cancelled before yours start. The UI would refresh automatically.
Execution context push/pop
Helpers has been adding in ExecutionContextManager to have a better control on the way to push/pop ExecutionContext instances. See Context Module for more details.
Document default locale
Added a script API to set the document default locale
Copy / Rename Events
The refactoring module introduces dedicated events for document copy and rename operations. Checkout the documentation for more information.
Main wiki descriptor used in path based mode
The main wiki descriptor is now also used to find out the the protocol, the domain and the port to use when generating an URL in path based mode in a background thread (typically the mails).
XClass Rename
The xobjects of an xclass are now updated automatically when the xclass is renamed if:
- the xclass is not moved to a different wiki
- the "Update Links" option is checked (which is the case by default)
Renaming xclasses is still considered a dangerous operation though, because xclasses are often used in scripts, which are not updated when an xclass is renamed.
Macro Category Count
When inserting a macro through the WYSIWYG Editor the macro selector now shows the number of macros available in each category.
Ability to inject content in the HTML header
It is now possible to inject content dynamically in the "head" tag of the HTML pages via a dedicated extension point named org.xwiki.platform.head. It is useful typically for adding metadata to the pages. Checkout the extension point documentation for more information and an example.
Display page reference in the information viewer
You can now retrieve quickly the page reference of any page by going to the Information tab. The reference is by default displayed to the local wiki, but you can switch it to get a global reference for all wiki in a farm. The right button allow you to quickly copy it to the clipboard.
New API to get orphaned dependencies
An API has been added to get orphaned dependencies
New API to get backward dependencies
An API has been added to get backward dependencies including optional dependencies
Improved Database List Field
The Database List field that you can use when creating an application with AppWithinMinutes has been improved. It is now displayed by default using an input suggest picker that adapts to single and multiple selection. You can still change the display type if you want. If you choose the "Select" display type then you can also control its size.
The user notification filter preferences are now automatically updated when a watched page is moved/renamed.
"My Groups" user profile section has been renamed to "Groups"
Check the User Profile documentation for more information.
Additional information when a delete operation fails
When an error happens while deleting a page, detailed information are displayed to help understand the problem.