Version 27.8 by Sergiu Dumitriu on 2010/10/25

Hide last authors
Sergiu Dumitriu 1.1 1 {{box cssClass="floatinginfobox" title="**Contents**"}}
2 {{toc/}}
3 {{/box}}
4
Sorin Burjan 14.1 5 The highlights of this release are:
Sorin Burjan 2.1 6
Sergiu Dumitriu 27.5 7 * support for [[viewing attached office documents>>code:Macros.OfficeMacro]] in the wiki
8 * a new User Directory
9 * an experimental Extension Manager
Sorin Burjan 14.1 10 * improvements to action menus
Sergiu Dumitriu 27.5 11 * further improvements to the edit UI
12 * support for activating a special accessibility stylesheet
13 * more consistent [[use of user avatars>>http://incubator.myxwiki.org/xwiki/bin/Improvements/Avatars]]
14 * an experimental ##xwiki/2.1## wiki syntax
Silvia Macovei 27.2 15 * a mechanism for inserting custom links in the header
Sorin Burjan 14.1 16 * the introduction of cancelable events
Sorin Burjan 19.1 17 * better external search engine indexing support
Sorin Burjan 14.1 18 * experimental [[CSRF>>http://en.wikipedia.org/wiki/CSRF]] protection
Sergiu Dumitriu 27.5 19 * experimental [[Cryptographic Module>>code:Modules.CryptographicModule]]
Sorin Burjan 13.1 20
Silvia Macovei 27.2 21 = New and Noteworthy (since XWiki Enterprise 2.4.4) =
22
Sergiu Dumitriu 27.5 23 == Support for viewing attached office documents in the wiki ==
24
25 XWiki now supports viewing attached office documents without saving them on the client side. Click on the eye icon near the edit and delete buttons corresponding to the attachment you want to preview.
26
27 image:OfficePreview.png
28
29 We also included a new Macro for the WYSIWYG Editor. It allows to embed a office file into a page.
30
31 [[image:MacroOfficeViewer||style="border: 1px solid black;"]]
32
33 == New User Directory ==
34
35 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.
36
37 image:group-avatar.png
38
39 == Experimental Extension Manager ==
40
41 The new [[Extension Manager>>code:Modules.ExtensionModule]] will allow you to install new extensions to XWiki Enterprise. Please note that this is an experimental feature, with limited features and a raw user interface. Use it at your own risk.
42
43 [[image:ExtensionManager.png]]
44
Sorin Burjan 2.1 45 == Improvements to Action Menus ==
46
47 * New Add menu: Use the "Add" menu to create new spaces, pages, add attachments and comments.(((
Sorin Burjan 10.1 48 [[image:AddMenu.png||style="border: 1px solid black;"]]
Sorin Burjan 2.1 49 )))
50 * Improved Wiki and Space menus: You may now access the document index straight from the wiki & space menus.(((
Sorin Burjan 10.1 51 [[image:WikiMenu.png||style="border: 1px solid black;"]] [[image:SpaceMenu.png||style="border: 1px solid black;"]]
Sorin Burjan 2.1 52 )))
53 * New Page menu: Integrates the Watch, Copy, Rename and Delete actions.(((
Sorin Burjan 10.1 54 [[image:PageMenu.png||style="border: 1px solid black;"]]
Sorin Burjan 2.1 55 )))
56 * The Edit, Export, More actions and Profile menus also benefited from a refresh.
57
Sergiu Dumitriu 27.5 58 === Visible content menu when scrolling down ===
Sorin Burjan 2.1 59
Sergiu Dumitriu 27.5 60 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.
Sorin Burjan 10.1 61
Sergiu Dumitriu 27.5 62 [[image:ActionMenu.png||style="border: 1px solid black;"]]
Sorin Burjan 2.1 63
Sorin Burjan 4.1 64 == Further improvements to the edit UI ==
65
66 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:
67
68 * A new label for the content area in the wiki editor:(((
69 image:edit-header.png
70 )))
71 * A more descriptive label for the version summary field
72 * Better positioning of the "minor edit" option
73 * Better positioning and display of the "autosave" option(((
74 image:edit-footer.png
75 )))
76
Sergiu Dumitriu 27.5 77 == Preliminary optional accessibility stylesheet ==
78
79 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.
80
81 Enabling the special stylesheet:
82
83 image:a11y-enable.png
84
85 Bigger fonts and underlined links:
86
87 image:a11y.png
88
Sorin Burjan 4.1 89 == More consistent use of user avatars ==
90
91 As proposed on [[the design page>>http://incubator.myxwiki.org/xwiki/bin/Improvements/Avatars]], avatars come in three default sizes:
92
93 * small avatars, 30px wide, used in secondary actions and where there's very little space available
94 * medium avatars, 50px wide, the preferred and most frequent display option for avatars
95 * large avatars,120px wide, to be used where a large version of the avatar must be displayed (for example in the user profile)
96
97 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.
98
99 image:comment-avatars.png
100
101 Four new velocity macros have been added for making it easier to display avatars:
102
103 * ###smallUserAvatar('XWiki.username')##
104 * ###mediumUserAvatar('XWiki.username')##
105 * ###largeUserAvatar('XWiki.username')##
106 * ###resizedUserAvatar('XWiki.username', 100)## which allows resizing an avatar to a custom size
107
Sergiu Dumitriu 27.5 108 User avatars are also displayed in annotations.
Sorin Burjan 23.1 109
110 image:annotation-avatars.png
111
Sorin Burjan 4.1 112 == More image manipulation settings ==
113
114 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:
115
116 * 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.
Sergiu Dumitriu 27.7 117 * The size of the generated JPGs can be further tweaked by specifying an encoding ##quality## (the configurable default is at 50%). This does not affect lossless image formats such as PNG.
Sorin Burjan 4.1 118 * The WYSIWYG editor also supports the width and height parameters, setting them as needed when manually resizing the image in the editor.
119
120 {{code language="none"}}
121 /xwiki/bin/download/Spage/Page/logo.jpg?width=1024&height=768&keepAspectRatio=true&quality=0.8
122 {{/code}}
123
Sergiu Dumitriu 27.8 124 Note that this does not affect images from the filesystem, which are served directly by the servlet container 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.
Sorin Burjan 4.1 125
126 Example:
127
128 {{code language="html"}}
129 {{velocity}}{{html wiki=false}}
130 <img src="$doc.getAttachmentURL('mw.jpg', 'download', 'width=150&quality=1')"/>
131 <img src="$doc.getAttachmentURL('mw.jpg', 'download', 'width=150')"/>
132 <img src="$doc.getAttachmentURL('mw.jpg', 'download', 'width=150&quality=0')"/>
133 <img src="$doc.getAttachmentURL('mw.jpg', 'download', 'width=150&height=100&quality=0.7')"/>
134 <img src="$doc.getAttachmentURL('mw.jpg', 'download', 'width=150&height=100&quality=0.7&keepAspectRatio=true')"/>
135 {{/html}}{{/velocity}}
136 {{/code}}
137
138 Gives:
139
140 image:img.png
141
Sergiu Dumitriu 27.5 142 == Mechanism for inserting custom links in the header ==
Sorin Burjan 4.1 143
Sergiu Dumitriu 27.5 144 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:
Sorin Burjan 4.1 145
Sergiu Dumitriu 27.5 146 * custom navigational links (universal edit, paged navigation, index, author...)
147 * custom RSS feed links
148 * custom metadata links (DOAP, FOAF, generic RDF...)
Sorin Burjan 4.1 149
Sergiu Dumitriu 27.5 150 Usage example:
Sorin Burjan 4.1 151
Sergiu Dumitriu 27.5 152 {{code}}
153 $xwiki.linkx.use($xwiki.getURL('Blog.BlogRss', 'view', "xpage=plain&blog=${blogDoc.fullName}"),
154 {'rel' : 'alternate', 'type' : 'application/rss+xml', 'title' : $title})
155 {{/code}}
Sorin Burjan 4.1 156
157 == Experimental xwiki/2.1 wiki syntax ==
158
Silvia Macovei 27.2 159 The xwiki wiki syntax sees further improvements as xwiki/2.1 is 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]].
Sorin Burjan 4.1 160
161 Basic syntax:
162
163 {{code language="none"}}
164 [[label>>referenceType:referenceData]]
165 {{/code}}
166
167 Special ##queryString## and ##anchor## parameters which will be used as the query string, respectively anchor when forming URLs.
168
169 {{code language="none"}}
170 [[label>>doc:My.Page||queryString="a=b&c=d" anchor="HSection1"]]
171 {{/code}}
172
173 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##.
174
175 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.
176
177 {{code language="none"}}
178 {{velocity}}[[reset the history>>path:$doc.getURL('reset')||queryString="confirm=1"]]{{/velocity}}
179 {{/code}}
180
181 === [[Interwiki links>>http://en.wikipedia.org/wiki/Interwiki_links]] ===
182
183 Basic syntax:
184
185 {{code language="none"}}
186 [[label>>interwiki:wikiAlias:path/data]]
187 [[Interwiki links>>interwiki:wikipedia:Interwiki_links]]
188 {{/code}}
189
190 By default no sister wikis are defined. You can define some in ##xwiki.properties## by adding ##rendering.interWikiDefinitions## values:
191
192 {{code language="none"}}
193 rendering.interWikiDefinitions = wikipedia = http://en.wikipedia.org/wiki/
194 rendering.interWikiDefinitions = udic = http://www.urbandictionary.com/define.php?term=
195 {{/code}}
196
Sergiu Dumitriu 27.5 197 == Introduced [[XWiki Cryptographic Module>>code:Modules.CryptographicModule]] ==
Sorin Burjan 4.1 198
Sergiu Dumitriu 27.5 199 This module exposes high level api, allowing developers to bolster their security using cryptography for both integrity and confidentiality.
200 You can find more information about the cryptographic module including examples at the code zone page for the [[XWiki Cryptographic Module>>code:Modules.CryptographicModule]].
Sorin Burjan 4.1 201
Sergiu Dumitriu 27.5 202 == Better handling of attachment versions when rolling back documents ==
Sorin Burjan 4.1 203
Sergiu Dumitriu 27.5 204 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.
205
206 == Introduced cancelable events ==
207
208 This allows to cancel document saving, better security with script execution and canceling an event that has errors on initialization.
209
210 == Better external search engine indexing support ==
211
212 Google search results now always point to canonical view of pages.
213
214 == New macros for the Space List and Tag Cloud ==
215
216 * [[Space List>>http://code.xwiki.org/xwiki/bin/inline/Macros/SpacesMacro]] Macro. This macro creates a box with links to all the spaces existing in the wiki.
217 * [[TagCloud>>http://code.xwiki.org/xwiki/bin/view/Macros/TagCloudMacro]] Macro. Generates a TagCloud from all the tags within the wiki.
218
Sorin Burjan 6.1 219 == WYSIWYG and Rendering improvements ==
220
221 Display macro parameter names instead of IDs, generalized the syntax for links, added support for query string for image links, fixed a random error when loading several WYSIWYG instances in parallel.
222
223 == Performance improvements ==
224
225 Fixed a performance issue with the Jump To Page feature.
226
227 == Security improvements ==
228
Sergiu Dumitriu 27.5 229 Continuing a push for better security started this summer, 2.5 fixes some of the few remaining cross-site scripting and SQL injections holes, and tightens the scope of programming rights. Of particular concern:
230
231 * With a default skin, the panels and the bottom tabs can no longer use restricted APIs.
232 * To explicitly drop programming rights, a new API method was introduced: ##$xcontext.dropPermissions()##
233 * 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.
Sergiu Dumitriu 27.6 234 * Fixed a broken check on rights from the Rest system
235 * Fixed a missing author update when editing classes.
Sergiu Dumitriu 27.5 236
Sorin Burjan 6.1 237 == Translations ==
238
239 * All the translations have been updated
240
241 = Known issues =
242
243 * [[Bugs we know about>>http://jira.xwiki.org/jira/secure/IssueNavigator.jspa?reset=true&&type=1&pid=10010&resolution=-1&sorter/field=updated&sorter/order=DESC]]
244
245 = Backward Compatibility and Migration Notes =
246
247 == General Notes ==
248
249 {{warning}}
250 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,...//.
251 {{/warning}}
252
Sorin Burjan 13.1 253 You may also want to [[import the default wiki XAR>>Main.Download]] in order to benefit from the improvements listed above.
Sorin Burjan 6.1 254
Sorin Burjan 11.1 255 (% class="macro-output" style="display: block;" %)
256 (((
257 (% class="box warningmessage" %)
258 (((
Sorin Burjan 12.1 259 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.
260 )))
261 )))
262
263 (% class="macro-output" style="display: block;" %)
264 (((
265 (% class="box warningmessage" %)
266 (((
Sorin Burjan 11.1 267 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.
268 )))
269 )))
Sorin Burjan 6.1 270
Sorin Burjan 27.1 271 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:
272
273 {{code language="html"}}
274 <input type="hidden" name="form_token" value="$!{services.csrf.getToken()}" />
275 {{/code}}
276
Sorin Burjan 9.1 277 == Migration Notes ==
Sergiu Dumitriu 1.1 278
Sorin Burjan 9.1 279 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.
Sergiu Dumitriu 1.1 280
Sorin Burjan 9.1 281 === Removed deprecated flickr plugin ===
Sergiu Dumitriu 1.1 282
Sorin Burjan 9.1 283 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/]].
Sergiu Dumitriu 1.1 284
Sorin Burjan 9.1 285 === Update your web.xml ===
Sergiu Dumitriu 1.1 286
Sorin Burjan 9.1 287 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.
288
289 == API Breakages ==
290
Sergiu Dumitriu 27.5 291 The following APIs were modified since XWiki Enterprise 2.4.4:
Sorin Burjan 9.1 292
293 {{code language="none"}}
294 [ERROR] org.xwiki.rendering.transformation.MacroTransformationContext: Method 'public org.xwiki.rendering.internal.transformation.MacroTransformation getMacroTransformation()' has been removed
295 [ERROR] org.xwiki.rendering.transformation.MacroTransformationContext: Method 'public void setMacroTransformation(org.xwiki.rendering.internal.transformation.MacroTransformation)' has been removed
296 [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
297 [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
298 {{/code}}

Get Connected