Release Notes for XWiki Enterprise 2.4
XWiki Enterprise 2.4 Release Notes
- XWiki Enterprise 2.4 Release Notes
- New and Noteworthy
- Search
- New Template-based page creation
- New Invitation Manager application
- WYSIWYG improvements
- Objects and classes editor improvements
- JMX Administration Console
- Watchlist improvements
- Rendering cache
- New Code macro configuration
- Security improvements
- Performance improvements
- Chart macro improvements
- Script improvements
- Javascript improvements
- REST improvements
- Dependencies upgrade
- Translations
- Known issues
- Backward Compatibility and Migration Notes
New and Noteworthy
Search
Changed default search engine
Lucene Search is promoted as default search. While there might still be problems, which are normally resolved by rebuilding the index, Lucene allows more powerful searches, and better ordering of the results.
To read about the benefits of using Lucene search over Database search go to the search application page.
Starting with the 2.4 release you can select the wikis where to search in using the LuceneSearch page.
New search configuration UI
The Search Application now has a dedicated section in the wiki administration section from which you can:
- Choose the default engine (Lucene or Database).
- See the status for the Lucene Search: the number of indexed elements and the number of elements waiting in the queue.
- Control the Lucene index by indexing the whole farm, indexing the wiki or customizing the index to your specific preferences.
For more information check out the documentation page.
New Template-based page creation
Starting with XWiki Enterprise 2.4 users and applications can provide documents that can be used as template when creating new pages. The new document (content, objects and other metadata) will be replicated from the template.
- After you have created the template and the template provider you can then start creating pages from this template:
- "Wanted Links" also offers the choice to create the new document from the available templates ( "My Template" template in the image below):
Find more details about the template creation and administration on the documentation page.
New Invitation Manager application
The Invitation Manager application allows users to send emails, inviting friends and colleagues to join a wiki. You will be able to configure your wiki to send emails through an open mail relay on the server or through an email account of your choosing.
Read more about this application and learn how to configure it by visiting the application page.
WYSIWYG improvements
Insert external image
You can now insert an external image in the edited page while in WYSIWYG mode. The external image is specified by its location on the web, i.e. its URL. To do this go to Image > Insert Image... menu and select the External tab:
Insert macros
You may insert macros with a single click from the tool bar:
Paste with filtered styles
A paste with filtered styles button has also been added to the tool bar:
The Wysiwyg editor import from office feature now filters style by default.
Objects and classes editor improvements
The object and class editor are now fully panel-less, which among other things means that you have the full object/class editors UI even in an empty wiki without having to import the needed XE xar.
Adding objects or class properties is done with AJAX calls, which means faster response times, no interruptions, no data loss.
The class editor also adds better refactoring capabilities:
- Reorder class properties
- Delete a class property
- Selectively disable and re-enable class properties, which allows making pseudo-read-only properties
There are also many other small ergonomics improvements to discover.
JMX Administration Console
- XWiki is now using JMX to provide runtime Monitoring information.
- The first usage implemented is about monitoring the JBoss cache and the Velocity Macro caches, as shown below:
Watchlist improvements
- Allow to remove elements in the watchlist from the user profile
- In virtual mode, added a wikis section in elements in your watchlist
Rendering cache
You can now provide a list of pages for which to cache the result. See the core.renderingcache.* properties in xwiki.properties to control it.
It's also possible to force a page to refresh by using refresh=1 parameter in the URL.
New Code macro configuration
It's now possible to indicate which Pygments style to use with the default highlighter based on Pygments.
See the code macro documentation for more details.
Security improvements
- Added support for HttpOnly flag for session cookies (XSS protection measure)
- Fixed some XSS issues
- Improved file access sandboxing
Performance improvements
- Scripts are defered by default, which means that <script> tags will no longer block the page loading until the scripts are downloaded and executed, but will be downloaded in parallel and executed after the full DOM was loaded, right before the document becomes ready.
Chart macro improvements
- Chart macro now supports more than 26 columns.
Script improvements
- Make the Query Manager use the Script Service to expose services to scripts. See Query Guide for more details.
- Make possible to directly return the Block based result of a script macro. It's supported for all JSR 223 macro which means all script macro script Velocity macro for now. See Script Macro for more details.
- Prevent nested script macros by default: It's now impossible for the output of a script macro to become another script macro for security reasons. See Script Macro for more details.
- Provide a way to escape regexp literal string from velocity
$regextool.quote("some[literal]text")
Javascript improvements
- Start writing a Javascript mirror of the XWiki data model: Document.getURL
- New suggestDocuments behavior for input fields
REST improvements
- Isolate REST API JAXB model classes in a separate module
Dependencies upgrade
- Doxia 1.1.3
- JODConverter 3.0 beta3
- JBossCache 3.2.5.GA
- Groovy 1.7.3
- Script.aculo.us 1.8.3
- Jython 2.5.2b1
- Hibernate Validator 4.0.2
- JGroups 2.8
- JFreeChart 1.0.13
Translations
- WYSIWYG newly supported language: Russian
- All the translations have been updated
Known issues
Backward Compatibility and Migration Notes
Important non-compatible changes
Pulled scripts are defered by default
This might break custom scripts, please check the correct behavior before upgrading a production server. Use Firebug in Firefox to catch errors, watch the error console, configure IE to notify all script errors.
Nested script macros are forbidden
Now it's impossible to nest scripting macros, which is a good protection against many potential attacks. While the obvious case of direct nesting is easy to notice, there are other cases which are not as obvious:
{{include document="Some Document With Scripts" /}}
{{/velocity}}
If the included document contains script macros, they will no longer be executed.
$doc.display('someProperty')
{{/velocity}}
If the property contains script macros, for example in the content of a blog post, they will no longer be executed.