xWiki 2.2.6 Release

xWiki 2.2.6 Release

 

The xWiki Upgrade Process

Upgrade Documentation and Resources

Release Notes for XWiki Enterprise 2.2.x

This release contains many important UI improvements of existing features (xar import, user registration, comments, etc.), and introduces the new Model API starting with a new EntityReference and related tools to remove all String manipulations around documents and attachment names.

A. UI Improvements

1 New XAR Import UI

  • XAR import interface  completely revamped:
  • More explicit options regarding revision history handling
  • The new option to add a new version to existing documents instead of overriding them
  • A rich UI that allows to select/unselect whole spaces at once
  • Support for importing when no javascript is available. The UI degrades nicely to a less rich interface

2 UI for Deleted documents & attachments

While deleted documents and attachments have been stored in a trash instead of being completely deleted since XWiki 1.2, there was no general interface for viewing the contents of the trash. This has been remedied by the introduction of two new tabs in the wiki's Document Index, Deleted Documents and Deleted Attachments.
Both use the livetable, thus allowing filtering and ordering for easier browsing. A document from the trash can be viewed, permanently deleted, or restored if the location is still available.
The attachment trash contains only attachments deleted from a document, and not attachments that were deleted together with their owner document; in the latter case, the attachments are kept together with the document in the document trash. For attachments, there is no restore option yet, it will be implemented in a future release.

3 New Profile & WatchList UI

  • Complete overhaul of the Profile UI: better display of the user information, recent changes by the user are shown, different tabs for user details, user settings, and watchlist information:
  • Improved inline-based editing for modifying profile details:
  • Inclusion of the WatchList manager page into the Profile as a tab:
  • Added a tab in the Profile for managing user preferences, which is currently rather small, but will be improved later to include more settings:
  • User profiles have been converted to XWiki Syntax 2.0
  • New user profile pages are created in XWiki Syntax 2.0

4 Comments UI improvements

The users have the possibility to preview their comment before submitting it. A current known limitation is that the preview does not work for unauthenticated users.
The users have the possibility to edit their comments. This only works for authenticated users, since there is no way of knowing which unauthenticated user created a guest comment.

5 General UI improvements

  • New Registration page, new CAPTCHA implementation
  • New Menu in Edit mode with different edition modes  (similarly to the menu you get in view mode).
  • In the wiki source code viewer, allow to toggle line numbers faster from Javascript
  • Enable full screen view when displaying the wiki source code (viewer=code)
  • ActionMenu: Add Profile submenu item to the "current user" menu
  • Reorder the document actions in the "More actions" menu: copy, rename, delete
  • All panels have nice readable names
  • Allow to copy a document's default language + all translations in the copy menu action

B. Development improvements

6 Contextual wiki macros

Previously, wiki macros could only be defined by users with administrator rights, and only in the main wiki (when in a virtual wiki farm). It's now possible for any user to register wiki macros, and in any wiki. However, this follows some user rights restrictions, preventing a limited user to write dangerous scripts available to all other users. For example, if the user does not have the proper rights, only he will see and use the macro he registered. To make the macro available globally, an administrator must re-save it.

7 New Model module with Reference implementation

The goal is to provide API to remove all String manipulations around documents and attachment names. It also introduces the concept of Reference for any entity of the model and the parser/serializer associated. For now Wiki, Space, Document and attachment are supported; classes objects and properties should come in 2.3 branch.
From a user point of view this will result in supporting any character in document names for example. In addition, this is also a step in the direction of supporting nested spaces (the storage would also need to be changed to support that).
In practice the existing code has not yet been fully refactored to benefit from the new implementation. The work has been started in XWiki Enterprise 2.2 Milestone 1 and will continue in XWiki Enterprise 2.3 and beyond.
Since the work is partial, and URL parsing is not based on references yet in XWiki Enterprise 2.2, using special character (dot in particular) in space names and document names is not recommended. This could create documents that are unreachable or other weird behaviors.

8 Development improvements

  • Allow set to null in velocity
  • Add an API method for creating a LinkedHashMap
  • New APIs for accessing deleted attachments from the trash
  • The class wizard should propose to add a SheetClass object to the class sheet
  • Added support for Office2007 document formats
  • Add API to find the syntax of the executing document from scripts

9 Backward Compatibility and  Important non-compatible changes

  • The new parser/serializer for document names comes with new features and changes some behaviors:  If you had Wiki Macros defined in your wiki before, you might want to edit them to check their visibility field since the notion of visibility was introduced in XE 2.2 and the default value is user-visibility.
    • introducing escaping
    • dropping support for the syntax wikiname:Document 
  • CoreConguration#getSyntax now returns a Syntax object instead of a String
  • Always use UTF-8 for URL encoding
    The way URLs are generated and parsed has changed.
    While previously the wiki encoding was used to convert non-ASCII bytes to their %XY escapes, as allowed by the older HTTP/URL specifications,
    now all URLs escape the UTF-8 bytes of the path, to better adhere to the modern URI specification.
    This should only affect non-UTF-8 wikis, and only by breaking some bookmarks.

    http://www.xwiki.org/xwiki/bin/view/ReleaseNotes/ReleaseNotesXWikiEnterprise22#HImportantnon-compatiblechanges
    The velocity configuration has been changed so that setting null values to variables is now allowed.
    This could break some scripts and macros, please check before upgrading.

    http://www.xwiki.org/xwiki/bin/view/ReleaseNotes/ReleaseNotesXWikiEnterprise22#HMigrationNotes
  • Captcha related configuration changed in Struts configuration file.
  • Main.RecentMembers has been removed from default XWiki Enterprise xar

10 Dependencies

Configuration analysis

  1. xwiki.cfg
    1. com.xpn.xwiki.plugin.captcha.CaptchaPlugin,\
    2. xwiki.plugin.captcha=0
  2. hibernate.cfg.xml
    1. No changes
  3. xwiki.properties
    1. No changes

Skin analysis

  1. Many differences to previous skin (some file moved in templates directory)
  2. modified register.vm: redirection to login
  3. modified contentview: removed title handling
  4. Modified Skin (212 vs 205)
    1. contentview (Identical)
    2. footer.vm differ
    3. global.vm differ
    4. login.vm differ
    5. menuview.vm differ
    6. register.vm differ
    7. space.vm differ
    8. style.css differ
    9. stylesheets (Identical)
    10. view.vm (Identical) 
    11. viewheader.vm (Identical)