Version 5.1 by Sorin Burjan on 2010/10/19

Show last authors
1 = XWiki Enterprise 2.5 Release Notes =
2
3 {{box cssClass="floatinginfobox" title="**Contents**"}}
4 {{toc/}}
5 {{/box}}
6
7 First milestone of the XWiki Enterprise 2.5 version ([[Roadmap>>enterprise:Main.Roadmap]]).
8
9 The highlights of this release are: improvements to action menus, a mechanism for inserting custom links in the header, the introduction of cancelable events and better external search engine indexing support.
10
11 = New and Noteworthy (since XWiki Enterprise 2.4) =
12
13 == Improvements to Action Menus ==
14
15 * New Add menu: Use the "Add" menu to create new spaces, pages, add attachments and comments.(((
16 [[image:AddMenu.png||style="border:1px solid black;"]]
17 )))
18 * Improved Wiki and Space menus: You may now access the document index straight from the wiki & space menus.(((
19 [[image:WikiMenu.png||style="border:1px solid black;"]] [[image:SpaceMenu.png||style="border:1px solid black;"]]
20 )))
21 * New Page menu: Integrates the Watch, Copy, Rename and Delete actions.(((
22 [[image:PageMenu.png||style="border:1px solid black;"]]
23 )))
24 * The Edit, Export, More actions and Profile menus also benefited from a refresh.
25
26 == Mechanism for inserting custom links in the header ==
27
28 As a new part of the [[UI extensions>>dev:Design.InterfaceExtensions]] mechanism, similar to [[skin extensions>>code:Plugins.SkinExtensionsPlugin]], applications can now insert custom ##<link>## elements in the HTML header of the page, which allows to insert, for example:
29 * custom navigational links (universal edit, paged navigation, index, author...)
30 * custom RSS feed links
31 * custom metadata links (DOAP, FOAF, generic RDF...)
32
33 Usage example:
34
35 {{code}}$xwiki.linkx.use($xwiki.getURL('Blog.BlogRss', 'view', "xpage=plain&blog=${blogDoc.fullName}"),
36 {'rel' : 'alternate', 'type' : 'application/rss+xml', 'title' : $title}){{/code}}
37
38 == Introduced cancelable events ==
39
40 This allows to cancel document saving, better security with script execution and canceling an event that has errors on initialization.
41
42 == Better external search engine indexing support ==
43
44 Google search results now always point to canonical view of pages.
45
46 == Visible content menu when scrolling down ==
47
48 [[image:ActionMenu.png||style="border:1px solid black;"]]
49
50 When scrolling down on a document, the content menu will follow, so the user will not have to scroll up on top of the page in order to access it.
51
52 == Introduced [[XWiki Cryptographic Module>>code:Modules.CryptographicModule]] ==
53 This module exposes high level api, allowing developers to bolster their security using cryptography for both integrity and confidentiality.
54 You can find more information about the cryptographic module including examples at the code zone page for the [[XWiki Cryptographic Module>>code:Modules.CryptographicModule]].
55
56 = Known issues =
57
58 = Backward Compatibility and Migration Notes =
59
60 == General Notes ==
61
62 {{warning}}
63 If you're running in a multiwiki setup you'll also need to define the property //xwiki.store.migration.databases=all// to your //xwiki.cfg// file or explicitly name all databases to be migrated as in //xwiki.store.migration.databases=db1,db2,...//.
64 {{/warning}}
65
66 You may also want to [[import the default wiki XAR>>Main.Download]] in order to benefit from the improvements listed above.
67
68 {{warning}}
69 Always make sure you compare your //xwiki.cfg// file with the newest version since some configuration parameters were added. Note 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.
70 {{/warning}}
71
72 == Migration Notes ==
73
74 The main entry point for the search UI is now the Main.Search page that will use the configured search engine (Lucene by default). If you want to refer to Lucene or Database search explicitly you can use the ##Main.LuceneSearch## and ##Main.DatabaseSearch## pages. Note that nothing is broken here (##Main.WebSearch## page is still there and internally it includes the ##Main.DatabaseSearch## page), it's just the new clean way of targeting the search page.
75
76 === Removed deprecated flickr plugin ===
77
78 The old flickr plugin was outdated and the API was broken, so, as a consequence, it has been removed. A new plugin will be available in the future. Meanwhile you can still find it in the contrib-retired at this [[link>>http://svn.xwiki.org/svnroot/xwiki/contrib/retired/plugin-flickr/]].
79
80 === Update your web.xml ===
81
82 Some servlet filters (SetCharacterEncodingFilter, used to handle character encoding and SavedRequestRestorerFilter, used to restore requests on login) were refactored and moved to another package. Make sure you update your //WEB-INF/web.xml// to the current version, otherwise XWiki server will fail to start.
83
84 == API Breakages ==
85
86 The following APIs were modified since XWiki Enterprise 2.4:
87
88 {{code language="none"}}
89 [ERROR] org.xwiki.rendering.transformation.MacroTransformationContext: Method 'public org.xwiki.rendering.internal.transformation.MacroTransformation getMacroTransformation()' has been removed
90 [ERROR] org.xwiki.rendering.transformation.MacroTransformationContext: Method 'public void setMacroTransformation(org.xwiki.rendering.internal.transformation.MacroTransformation)' has been removed
91 [ERROR] org.xwiki.rendering.transformation.Transformation: Method 'public void transform(org.xwiki.rendering.block.Block, org.xwiki.rendering.transformation.TransformationContext)' has been added to an interface
92 [ERROR] org.xwiki.rendering.transformation.TransformationManager: Method 'public void performTransformations(org.xwiki.rendering.block.Block, org.xwiki.rendering.transformation.TransformationContext)' has been added to an interface
93 {{/code}}
94
95
96
97
98 M2
99 {{box cssClass="floatinginfobox" title="**Contents**"}}
100 {{toc/}}
101 {{/box}}
102
103 Second milestone of the XWiki Enterprise 2.5 version ([[Roadmap>>enterprise:Main.Roadmap]]).
104
105 The highlights of this release are: support for [[viewing attached office documents>>code:Macros.OfficeMacro]] in the wiki, an experimental Extension Manager, experimental [[CSRF>>http://en.wikipedia.org/wiki/CSRF]] protection, a new User Directory, further improvements to the edit UI, more consistent [[use of user avatars>>http://incubator.myxwiki.org/xwiki/bin/view/Improvements/Avatars]], support for activating a special accessibility stylesheet, and an experimental ##xwiki/2.1## wiki syntax.
106
107 = New and Noteworthy (since XWiki Enterprise 2.4) =
108
109 == Support for viewing attached office documents in the wiki ==
110
111 XWiki now supports viewing attached office documents without saving them on the client side.
112
113 image:OfficePreview.png
114
115 We also included a new Macro for the WYSIWYG Editor. It allows to embed a office file into a page.
116
117 [[image:MacroOfficeViewer||style="border:1px solid black;"]]
118
119 == Experimental Extension Manager ==
120
121 The new Extension Manager will allow you to install new extensions to your XWiki XE. Please note that this is an experimental feature. Use it at your own risk.
122
123 [[image:ExtensionManager.png||style="border:1px solid black;"]]
124
125 == New User Directory ==
126
127 Added User Directory section on the Quick Links tab on the left of the page. This will show you the users that the XWiki instance has, along with their avatar image. This page also allows to filter users by username.
128 image:userdir.png
129
130 == Further improvements to the edit UI ==
131
132 After the improvements to the object and class editors introduced in 1.8 and 2.4, the wiki and WYSIWYG editors also see some enhancements in this release, bringing in some of the proposed changes from [[an older proposal>>http://incubator.myxwiki.org/xwiki/bin/Improvements/ImprovedEdit]], with some additional improvements. Specifically:
133
134 * A new label for the content area in the wiki editor:(((
135 image:edit-header.png
136 )))
137 * A more descriptive label for the version summary field
138 * Better positioning of the "minor edit" option
139 * Better positioning and display of the "autosave" option(((
140 image:edit-footer.png
141 )))
142
143 == More consistent use of user avatars ==
144
145 As proposed on [[the design page>>http://incubator.myxwiki.org/xwiki/bin/Improvements/Avatars]], avatars come in three default sizes:
146
147 * small avatars, 30px wide, used in secondary actions and where there's very little space available
148 * medium avatars, 50px wide, the preferred and most frequent display option for avatars
149 * large avatars,120px wide, to be used where a large version of the avatar must be displayed (for example in the user profile)
150
151 Accordingly, the wiki dashboard has been changed to use the medium avatars, and as a new feature user avatars are displayed in the comments area.
152
153 image:comment-avatars.png
154
155 Four new velocity macros have been added for making it easier to display avatars:
156
157 * ###smallUserAvatar('XWiki.username')##
158 * ###mediumUserAvatar('XWiki.username')##
159 * ###largeUserAvatar('XWiki.username')##
160 * ###resizedUserAvatar('XWiki.username', 100)## which allows resizing an avatar to a custom size
161
162 == More image manipulation settings ==
163
164 For a long time it was possible to scale attached images on the server, thus reducing the download time and ensuring consistent scaling of images across browsers. This is achieved by appending ##width## and/or ##height## query string parameters to the URL of the image. This feature has been further enhanced:
165
166 * It is now possible to force the same aspect ratio of the original picture even when both width/height parameters were used (the ##keepAspectRatio## parameter). In case the requested width and height don't match the original aspect ratio, the image is resized to fit inside the rectangle defined by the two parameters, i.e. the resized image will not exceed the requested dimensions.
167 * The size of the generated JPGs can be further tweaked by specifying an encoding ##quality## (the configurable default is at 30%, but will be changed to 50% before the final release). This does not affect lossless image formats such as PNG.
168 * The WYSIWYG editor also supports the width and height parameters, setting them as needed when manually resizing the image in the editor.
169
170 {{code language="none"}}
171 /xwiki/bin/download/Spage/Page/logo.jpg?width=1024&height=768&keepAspectRatio=true&quality=0.8
172 {{/code}}
173
174 Note that this does not affect images from the filesystem, which are served directly by the servlet conainer and do not pass through XWiki's image handling code. Also note that in case the image processing triggers any errors, the original image will be sent unchanged, so the requested image dimensions are not guaranteed.
175
176 Example:
177
178 {{code language="html"}}
179 {{velocity}}{{html wiki=false}}
180 <img src="$doc.getAttachmentURL('mw.jpg', 'download', 'width=150&quality=1')"/>
181 <img src="$doc.getAttachmentURL('mw.jpg', 'download', 'width=150')"/>
182 <img src="$doc.getAttachmentURL('mw.jpg', 'download', 'width=150&quality=0')"/>
183 <img src="$doc.getAttachmentURL('mw.jpg', 'download', 'width=150&height=100&quality=0.7')"/>
184 <img src="$doc.getAttachmentURL('mw.jpg', 'download', 'width=150&height=100&quality=0.7&keepAspectRatio=true')"/>
185 {{/html}}{{/velocity}}
186 {{/code}}
187
188 Gives:
189
190 image:img.png
191
192 == Better handling of attachment versions when rolling back documents ==
193
194 Rolling back a document will also roll back the correct attachment version, including restoring a deleted attachment from the trash (if not manually deleted from there). Even if an attachment was deleted and re-uploaded several times, the platform will try to find the right version for the attachment, if it still exists in the attachment trash. As an improvement, if the attachment did not change, then a new version is not created.
195
196 == Preliminary optional accessibility stylesheet ==
197
198 Moving further on the quest for better accessibility in the XWiki platform, we introduced a preliminary stylesheet which makes the skin slightly more accessible to people with visual disabilities: bigger fonts by default, and underlined links to make them more easily distinguished by colorblind people. This stylesheet can either be activated globally in a wiki, or individually from each user's preferences.
199
200 Enabling the special stylesheet:
201
202 image:a11y-enable.png
203
204 Bigger fonts and underlined links:
205
206 image:a11y.png
207
208 == Experimental xwiki/2.1 wiki syntax ==
209
210 The xwiki wiki syntax sees further improvements as xwiki/2.1, still in an experimental stage. A new feature is an enhanced syntax for links, which is more generic and allows easier extensions with new link types, demonstrated in this release with support for path and [[interwiki links>>http://en.wikipedia.org/wiki/Interwiki_links]].
211
212 Basic syntax:
213
214 {{code language="none"}}
215 [[label>>referenceType:referenceData]]
216 {{/code}}
217
218 Special ##queryString## and ##anchor## parameters which will be used as the query string, respectively anchor when forming URLs.
219
220 {{code language="none"}}
221 [[label>>doc:My.Page||queryString="a=b&c=d" anchor="HSection1"]]
222 {{/code}}
223
224 Document references are still the implicit default, with the explicit ##doc:## reference type. The other standard reference types are ##url##, ##path##, ##mailto##, ##attach##, ##image##, ##interwiki##.
225
226 Path links allow to link to a relative path on the server, which makes it easier to combine wiki syntax and velocity code, using ##$doc.getURL##, in order to link to non-view actions on documents.
227
228 {{code language="none"}}
229 {{velocity}}[[reset the history>>path:$doc.getURL('reset')||queryString="confirm=1"]]{{/velocity}}
230 {{/code}}
231
232 === [[Interwiki links>>http://en.wikipedia.org/wiki/Interwiki_links]] ===
233
234 Basic syntax:
235
236 {{code language="none"}}
237 [[label>>interwiki:wikiAlias:path/data]]
238 [[Interwiki links>>interwiki:wikipedia:Interwiki_links]]
239 {{/code}}
240
241 By default no sister wikis are defined. You can define some in ##xwiki.properties## by adding ##rendering.interWikiDefinitions## values:
242
243 {{code language="none"}}
244 rendering.interWikiDefinitions = wikipedia = http://en.wikipedia.org/wiki/
245 rendering.interWikiDefinitions = udic = http://www.urbandictionary.com/define.php?term=
246 {{/code}}
247
248 == Various Security improvements ==
249
250 Continuing a push for better security started this summer, 2.5M2 fixes some of the few remaining cross-site scripting and SQL injections holes, and tightens the scope of programming rights. Of particular concern:
251
252 * With a default skin, programming rights are no longer available after the main content of the page; this means that the panels and the bottom tabs can't use restricted APIs anymore.
253 * To explicitly drop programming rights, a new API method was introduced: ##$xcontext.dropPermissions()##
254 * An experimental Cross-Site Request Forgery prevention mechanism is included, though not enabled by default. To enable it and test/upgrade your custom applications for compatibility, edit ##xwiki.properties## and flip on the ##core.csrf.enabled## setting.
255
256 = Backward Compatibility and Migration Notes =
257
258 == General Notes ==
259
260 {{warning}}
261 If you're running in a multiwiki setup you'll also need to define the property //xwiki.store.migration.databases=all// to your //xwiki.cfg// file or explicitly name all databases to be migrated as in //xwiki.store.migration.databases=db1,db2,...//.
262 {{/warning}}
263
264 You may also want to [[import the default wiki XAR>>Main.Download]] in order to benefit from the improvements listed above.
265
266 {{warning}}
267 Always make sure you compare your //xwiki.cfg// file with the newest version since some configuration parameters were added. Note 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.
268 {{/warning}}
269
270 {{warning}}
271 Experimental support for CSRF protection is included in this release, although not enabled by default. This mechanism changes the way data is supposed to be saved, a change which will not completely break custom applications in most cases, but which might insert an extra validation step needed for actually saving the data.
272 {{/warning}}
273
274 It is **strongly recommended** to set up a testing/development environment, enable this feature and fully test all the code. In most cases things should work with no additional changes. If the default edit mode is not used, or if the default velocity templates are not used, it should be enough to add the following line:
275
276 {{code language="html"}}
277 <input type="hidden" name="form_token" value="$!{services.csrf.getToken()}" />
278 {{/code}}
279
280 == API Breakages ==
281
282 The following APIs were modified since XWiki Enterprise 2.4:
283
284 {{code language="none"}}
285 [ERROR] org.xwiki.rendering.transformation.MacroTransformationContext: Method 'public org.xwiki.rendering.internal.transformation.MacroTransformation getMacroTransformation()' has been removed
286 [ERROR] org.xwiki.rendering.transformation.MacroTransformationContext: Method 'public void setMacroTransformation(org.xwiki.rendering.internal.transformation.MacroTransformation)' has been removed
287 [ERROR] org.xwiki.rendering.transformation.Transformation: Method 'public void transform(org.xwiki.rendering.block.Block, org.xwiki.rendering.transformation.TransformationContext)' has been added to an interface
288 [ERROR] org.xwiki.rendering.transformation.TransformationManager: Method 'public void performTransformations(org.xwiki.rendering.block.Block, org.xwiki.rendering.transformation.TransformationContext)' has been added to an interface
289 {{/code}}
290
291
292
293
294
295
296
297
298
299
300
301
302
303 {{box cssClass="floatinginfobox" title="**Contents**"}}
304 {{toc/}}
305 {{/box}}
306
307 = New and Noteworthy =
308
309 = Known issues =
310
311 * [[Bugs we know about>>http://jira.xwiki.org/jira/secure/IssueNavigator.jspa?reset=true&jqlQuery=category+in+%28%22XWiki.org+Top+Level+Projects%22%2C+%22XWiki+Plugins%2C+Applications+%26+Skins%22%29+AND+issuetype+%3D+Bug+AND+resolution+%3D+Unresolved+ORDER+BY+updated+DESC]]
312
313 = Backward Compatibility and Migration Notes =
314
315 == Important non-compatible changes ==
316
317 == General Notes ==
318
319 {{warning}}
320 Always make sure you compare your ##xwiki.cfg## file with the newest version since some configuration parameters were added. Note 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.
321 {{/warning}}

Get Connected