Wiki source code of Release Notes for XWiki 6.4

Version 22.1 by Vincent Massol on 2015/01/30

Hide last authors
Marius Dumitru Florea 1.1 1 {{box cssClass="floatinginfobox" title="**Contents**"}}
2 {{toc/}}
3 {{/box}}
4
5 This is the release notes for [[XWiki Commons>>http://commons.xwiki.org]], [[XWiki Rendering>>http://rendering.xwiki.org]], [[XWiki Platform>>http://platform.xwiki.org]] and [[XWiki Enterprise>>http://enterprise.xwiki.org]]. They share the same release notes as they are released together and have the same version.
6
Vincent Massol 11.1 7 The 6.4 release is the last major release of the 6.x development Cycle and as such was mainly dedicated to improvements and bugfixes on things introduced during 6.X.
Marius Dumitru Florea 1.1 8
Vincent Massol 11.1 9 This version introduces some developer oriented improvements: allow wiki based skins to overwrite macro.vm template, allow filesystem skins indicating explicitly the skin they are inheriting from, allow any component to be injected with its ComponentDescriptor, Panels and UI extensions are now executed with the right of their author so among other things they can use APIs requiring Programming rights.
Marius Dumitru Florea 1.1 10
Vincent Massol 11.1 11 It also brings UI improvements in the Menu application, a new Mail application (and Mail-related improvements, such as the ability to send massive number of emails) and lots of Flamingo skin improvements (Mobile-friendliness to mention one), while offering developers the ability to write LESS in Skin Extensions, and a cool icon picker.
Marius Dumitru Florea 1.1 12
Vincent Massol 11.1 13 Last but not least, this version provides the ability to rate Extensions inside the Extension Repository and visualise them inside the Extension Manager.
14
Vincent Massol 17.1 15 {{error}}
Vincent Massol 22.1 16 Important problems noticed after the 6.4 release:
17
18 * In this release, we're now providing an easy way to install SOLR as an external server. When doing this change, we moved a plugin inside the SOLR index directory. Thus, if you're using XWiki with SOLR in embedded mode (the default), when you upgrade, this plugin will not be present in your SOLR directory and XWiki will fail to start. To work around this problem, you'll need to remove the ##<permanent directory>/solr/## directory (which will trigger a new reindexing when you next start XWiki). This will be [[fixed in XWiki 6.4.1>>http://jira.xwiki.org/browse/XE-1463]].
19 * [[HTML exports are taking very long>>http://jira.xwiki.org/browse/XWIKI-11731]] (over 1 minute to export a single page). Thus if you're using this feature, we recommend waiting for 6.4.1 and not upgrading to 6.4.
Vincent Massol 17.1 20 {{/error}}
21
Vincent Massol 11.1 22 = New and Noteworthy (since XWiki 6.3) =
23
24 [[Full list of issues fixed and Dashboard for 6.4>>http://jira.xwiki.org/secure/Dashboard.jspa?selectPageId=12998]].
25
Vincent Massol 9.1 26 == Menu Application ==
Marius Dumitru Florea 1.1 27
Vincent Massol 9.1 28 Taking advantage of the ability to have LESS inside our [[StyleSheetExtensions>>extensions:Extension.Skin Extension Plugin||anchor="HUseLESS"]], we improved the [[Menu Application>>extensions:Extension.Menu Application]], on Flamingo based skins, making it responsive and also adapting its styling according to the active [[Flamingo Theme>>extensions:Extension.Flamingo Theme Application]].
29 Colibri based skins preserve the initial styling.
30
31 {{gallery}}
Vincent Massol 10.1 32 image:ReleaseNotesXWiki64M2@menu_flamingo_charcoal.png
33 image:ReleaseNotesXWiki64M2@menu_flamingo_united.png
34 image:ReleaseNotesXWiki64M2@menu_flamingo_darkly.png
35 image:ReleaseNotesXWiki64M2@menu_flamingo_simplex.png
36 image:ReleaseNotesXWiki64M2@menu_flamingo_charcoal_responsive.png
Vincent Massol 9.1 37 {{/gallery}}
38
39 == Flamingo Skin ==
40
41 We partially restored the behaviour of the top level menu from version 6.2, with some improvements:
Thomas Mortagne 16.1 42
Vincent Massol 10.2 43 * For tablet and desktop:
Vincent Massol 9.1 44 ** the menu label is a link used for navigation
45 ** the toggle (arrow / caret) is used for opening the drop down menu, but should be better separated from the label
Vincent Massol 10.9 46 * On phones the behaviour remains the same: taping on the label opens the menu
Vincent Massol 10.3 47
Vincent Massol 10.9 48 Default: {{image reference="[email protected]"/}}
49 Hover Link: {{image reference="[email protected]"/}}
50 Hover Toggle: {{image reference="[email protected]"/}}
51 Open: {{image reference="[email protected]"/}}
52
Thomas Mortagne 16.1 53 The history table, under each page, is now responsive to the screen size:
54
55 (((
56 {{image reference="[email protected]"/}}
Vincent Massol 10.2 57 )))
Vincent Massol 10.3 58
Thomas Mortagne 16.1 59 Some improvements have been made on the responsive tables (including the livetables) and we have fixed the broken livetables for mobiles on some places:
60
61 (((
Vincent Massol 10.1 62 {{image reference="[email protected]" width="30%"/}} {{image reference="[email protected]" width="30%"/}} {{image reference="[email protected]" width="30%"/}}
Vincent Massol 10.2 63 )))
Vincent Massol 10.1 64
Vincent Massol 9.1 65 == Rating Features ==
66
Vincent Massol 10.4 67 The Contrib ratings project has been moved to platform. Java APIs have been broken by the package renaming but script APIs have been kept retro-compatible and the UI is mostly the same. See [[Ratings Application>>extensions:Extension.Ratings Application]].
Vincent Massol 9.1 68
69 It's now possible to rate extensions in [[Extension Repository>>extensions:Extension.Repository Application]] and any repository handler can expose extension rating that are displayed (read only for now) in [[Extension Manager>>extensions:Extension.Extension Manager Application]].
70
Vincent Massol 10.1 71 {{image reference="[email protected]"/}} {{image reference="[email protected]"/}}
Vincent Massol 9.1 72
73 == Wiki Configuration ==
74
75 A new "Configuration > Wiki" section is added in Administration where you can configure the current wiki, whether it is the main wiki or a subwiki.
76
Vincent Massol 10.1 77 {{image reference="ReleaseNotesXWiki64M3@wikiDescriptorEditingAdministration-cropped.png"/}}
Vincent Massol 9.1 78
79 For more information, see the [[documentation>>extensions:Extension.Wiki Application||anchor="HConfigureWiki"]].
80
81 == New Parameters for Document Tree Macro ==
82
83 We added 3 new parameters to the [[Document Tree Macro>>extensions:Extension.Document Tree Macro]]:
84
85 * **filterByClass**: show only the documents that have an object of the specified type. The value of this parameter is the full name of an XWiki document that holds a class definition. For example, 'Blog.CategoryClass' can be used to show only the documents that represent blog categories.
86 * **openTo**: the id of the node to open the tree to. All the ancestors of the specified node, up to the root of the tree, will be opened also.
87 * **showOnlyViewable**: show only the wiki, space and document nodes for which the current user has view right. If this is set to false then the wiki, space and document nodes that are not viewable by the current user are listed in the tree using their names. The user won't be able to see their content by following their links though (the user will just be aware of their existence).
88
89 == Mail Feature ==
90
91 * The mail feature has a new Category in the Admin UI (see the [[Mail Application>>extensions:Extension.Mail Application]] for details).(((
Vincent Massol 10.1 92 {{image reference="[email protected]"/}}
Vincent Massol 9.1 93 )))
94 * There's now the possibility to configure default BCC addresses which will be added by default to all emails sent using the [[Mail Sender API>>extensions:Extension.Mail Sender API]].(((
Vincent Massol 10.1 95 {{image reference="[email protected]"/}}
Vincent Massol 9.1 96 )))
97 * The [[Mail Sender API>>extensions:Extension.Mail Sender API]] now checks for permission before sending emails, when using it from scripts (i.e. when using the Mail Sender Script Service). There are currently 2 possible strategies that you configure in your ##xwiki.properties## file(((
98 {{code language="none"}}
99 #-# [Since 6.4M2]
100 #-# Defines which authorization checks are done when sending mails using the Mail Sender Script Service.
101 #-# Example of valid values:
102 #-# - "programmingrights": the current document must have Programming Rights
103 #-# - "alwaysallow": no check is performed. This is useful when running XWiki in a secure environment where we
104 #-# want to allow all users to be able to send emails through the Script Service.
105 #-# The default is:
106 # mail.sender.scriptServiceCheckerHint = programmingrights
107 {{/code}}
108 )))
109 * The [[Mail Sender API>>extensions:Extension.Mail Sender API]] has been modified to support sending a large number of mails at once. In addition the [[Mail Admin UI>>extensions:Extension.Mail Application]] has been improved to display the statuses of mails (when they're sent by XWiki features specifying that the mail statuses should be persisted).(((
110 {{image reference="[email protected]"/}}
111
112 {{image reference="[email protected]"/}}
113 )))
Vincent Massol 4.1 114 * You can now specify the delay to wait between each mail being sent, in milliseconds. This is done to support mail throttling and not be considered a spammer by mail servers. For example if you wish to wait 10 seconds (if not specified the default is 8 seconds, which is 450 mails per hour), set the following in your ##xwiki.properties##:(((
115 {{code language="none"}}
116 mail.sender.sendWaitTime = 10000
117 {{/code}}
Marius Dumitru Florea 1.1 118
Vincent Massol 4.1 119 The configuration parameter can also be changed from the [[Mail Admin UI>>extensions:Extension.Mail Application]]:
120
Vincent Massol 4.2 121 {{image reference="[email protected]"/}}
Vincent Massol 4.1 122 )))
123 * We now save both an error summary and a full error description when a mail fails to be sent when using the Database Mail Listener. This allows to see the full stack trace of the problem to more easily debug it.(((
Vincent Massol 4.2 124 {{image reference="[email protected]"/}}
Vincent Massol 4.1 125 )))
126 * The Mail Type is now displayed in the [[Mail Sender Status Admin UI>>extensions:Extension.Mail Application]]:(((
Vincent Massol 4.2 127 {{image reference="[email protected]"/}}
Vincent Massol 4.1 128 )))
129 * The ##MailResult.isSent()## API has been renamed to ##MailResult.isProcessed()## to avoid thinking that it'll return true if all mails have been sent successfully. What it does is simply return true when all mails have been processed, whether they've been sent successfully or not.
130 * A new scripting API has been added to set the mail type:(((
131 {{code language="none"}}
132 $message.setType("Some type")
133 {{/code}}
134 )))
135 * In the [[Mail Sender Status Admin UI>>extensions:Extension.Mail Application]] we now only display mails sent by the current wiki unless we're on the main wiki.
136 * The [[Mail Application>>extensions:Extension.Mail Application]] doesn't require Programming Rights for installation anymore.
137 * Account Validation email results are now saved and visible in the [[Mail Application>>extensions:Extension.Mail Application]].
138 * Some new [[Mail Sender Storage script services>>extensions:Extension.Mail Sender Storage]] have been added: ability to delete mail statuses for a single mail and for a whole batch, and ability to load mail statuses with criteria.
139 * When messages are sent with the API they are now persisted locally before they are effectively sent, one by one. This means that even if XWiki crashes when mails are being sent, their statuses will be correctly displayed in the [[Mail Sender Status Admin UI>>extensions:Extension.Mail Application]] and can be resent.
Vincent Massol 5.1 140 * The Java API has been modified to use Strings in all places where it was previously using a UUID, in order to allow for change in unique id generation in the future.
Vincent Massol 7.1 141 * The wiki is not displayed in the [[Mail Sender Status Admin UI>>extensions:Extension.Mail Application]](((
142 {{image reference="mailwiki.png"/}}
Thomas Mortagne 16.1 143 )))
Manuel Smeria 8.1 144
Vincent Massol 9.1 145 == Wikis ==
146
Thomas Mortagne 16.1 147 A "Wikis" category has been created in the administration, where the configuration have been moved and split in different sections:
148
149 (((
Vincent Massol 9.1 150 |=Left menu|=Right menu
Vincent Massol 10.1 151 |{{image reference="[email protected]"/}}|{{image reference="[email protected]"/}}
Vincent Massol 9.1 152 )))
153
154 == Extension Manager incompatible exceptions ==
155
156 When trying to install an incompatible extension (i.e. you are running XWiki 6.2.4 and want to install FAQ Application 6.3), you are now displayed a proper error instead of having to read through the install log to understand what went wrong, and you are instructed to use the ##Description > Stable Versions## section to manually (for now) find a compatible version of the extension that you want to install.
157
158 {{image reference="[email protected]"/}}
159
160 == Solr server setup package ==
161
162 Everything needed to setup an XWiki index in a remote Solr server is now packaged in a standalone project (##xwiki-platform-search-solr-server-data##). A Debian package (##xwiki-solr-data##) has also been provided to make easier to keep it up to date.
163
Marius Dumitru Florea 1.1 164 == Miscellaneous ==
165
Vincent Massol 9.1 166 * It's [[now possible to send Registration emails in HTML>>extensions:Extension.Administration Application||anchor="HRegistration"]] (by default they're sent in plain text). This is achieved by fully supporting any MIME content in the "Validation Email Content" and "Confirmation Email Content" sections of the Registration Administration UI. For example for the "Validation Email Content" field, you could use the following template to send HTML emails:(((
167 {{code language="none"}}
168 #set ($wikiname = $request.serverName)
169 #set ($host = ${request.getRequestURL()})
170 #set ($host = ${host.substring(0, ${host.indexOf('/', ${mathtool.add(${host.indexOf('//')}, 2)})})})
171 Subject: Validate your account on ${wikiname}
172 Content-type: text/html; charset=iso-8859-1
Marius Dumitru Florea 1.1 173
Vincent Massol 9.1 174 <p>Hello <b>${xwiki.getUserName("XWiki.$xwikiname", false)}</b>,</p>
175 <p>This email address was used to register a new account on ${wikiname}. If you did not make the request, please ignore this message.</p>
176 <p>In order to activate your account, please follow this link:
177 ${host}${xwiki.getURL('XWiki.AccountValidation', 'view', "validkey=${validkey}&xwikiname=${xwikiname}")}</p>
178 {{/code}}
179 )))
180 * The selected tree node is now highlighted even when links are enabled:(((
Thomas Mortagne 16.1 181 {{image reference="[email protected]"/}}
Vincent Massol 9.1 182 )))
183 * A list of icons supported by XWiki have been created, with mapping for Silk and Font Awesome. Which means that we now propose a list of icons that are both present in Silk and Font Awesome.
184 * The list of columns in the UserDirectory customization screen is now sorted alphabetically
185 * The accuracy of the attachment content type detection has been improved. If the file name extension is unknown then we attempt to detect the content type from the first bytes of the file content. You can check this by attaching a text file without the 'txt' file name extension.
186 * Displaying the 'Stable versions' label in an extension's description in Extension Manager before and after the list of versions is retrieved.
187 * A click to the Document Index does not lead to an other space anymore.
188 * [[extensions:Extension.Tag Cloud Macro]] has now a new parameter (spaces) to display a tag cloud from multiple spaces.
189
Manuel Smeria 21.2 190 See the [[full list of JIRA issues>>http://jira.xwiki.org/sr/jira.issueviews:searchrequest-printable/temp/SearchRequest.html?jqlQuery=project+in+%28XCOMMONS%2C+XRENDERING%2C+XWIKI%2C+XE%29+and+status+%3D+Closed+and+resolution+%3D+Fixed+and+fixVersion+%3D+%226.4%22&tempMax=1000]] fixed in this release.
Marius Dumitru Florea 1.1 191
192 = For Developers =
193
Vincent Massol 9.1 194 == Icon Picker ==
Marius Dumitru Florea 1.1 195
Vincent Massol 9.1 196 An [[icon picker>>extensions:Extension.Icon Theme Application||anchor="#HIconPicker"]] has been created to help users selecting an image in the list of supported icons.
Marius Dumitru Florea 1.1 197
Vincent Massol 10.1 198 {{image reference="[email protected]"/}}
Marius Dumitru Florea 1.1 199
Vincent Massol 9.1 200 This picker is already used in [[Application Within Minutes>>extensions:Extension.App Within Minutes Application]] for the application's icon selection.
Marius Dumitru Florea 1.1 201
Vincent Massol 9.1 202 == Skin Extensions ==
203
204 [[Now you can use LESS in your Skin Extensions!>>extensions:Extension.Skin Extension Plugin||anchor="HUseLESS"]]. You just need to set the new property "Content Type" to LESS inside your Skin Extension object:
205
Vincent Massol 10.1 206 {{image reference="[email protected]"/}}.
Vincent Massol 9.1 207
208 == Admin ConfigurableClass ==
209
210 The [[##ConfigurableClass## mechanism>>extensions:Extension.Administration Application||anchor="HMakingyourapplicationconfigurablewithConfigurableClass"]] has been improved to be able to contribute new categories in the Admin UI. For example the "Email" Category in the following screenshot is contributed through a ##ConfigurableClass##:
211
Vincent Massol 10.1 212 {{image reference="[email protected]"/}}
Vincent Massol 9.1 213
214 It was configured using:
215
Vincent Massol 10.1 216 {{image reference="[email protected]"/}}
Vincent Massol 9.1 217
218 == Velocity changes ==
219
220 === Remove a Velocity Engine from the cache ===
221
222 ##org.xwiki.velocity.VelocityFactory## now provide an API to remove a cached Velocity Engine.
223
224 === Overriding Velocimacros in wiki-based skins ===
225
226 It's now possible to override the ##macros.vm## template in a wiki based skin (object property and attachment). Any modification to this template is also taken into account (the Velocity engine is recreated when the template is modified).
227
228 === Cleanup unprotected namespaces ===
229
230 VelocityEngine automatically get rid of the passed namespace at the end of execution unless it's protected.
231
232 In practice in means that the following:
233
234 {{code language="java"}}
235 engine.evaluate(new VelocityContext(), new StringWriter(), "namespace", "#macro(mymacro)toto#end")
236
237 Writer out = new StringWriter();
238 engine.evaluate(new VelocityContext(), out, "namespace", "#mymacro()")
239
240 System.out.println(out.toString())
241 {{/code}}
242
243 will now print
244
245 {{code language="none"}}
246 #mymacro()
247 {{/code}}
248
249 To get
250
251 {{code language="none"}}
252 toto
253 {{/code}}
254
255 you need the following
256
257 {{code language="java"}}
258 engine.startedUsingMacroNamespace("namespace")
259
260 try {
261 engine.evaluate(new VelocityContext(), new StringWriter(), "namespace", "#macro(mymacro)toto#end")
262
263 Writer out = new StringWriter();
264 engine.evaluate(new VelocityContext(), out, "namespace", "#mymacro()")
265
266 System.out.println(out.toString())
267 } finally {
268 engine.stoppedUsingMacroNamespace("namespace")
269 }
270 {{/code}}
271
272 == Skins system improvements ==
273
274 Support for a new ##skin.properties## configuration file has been introduced in filesystem skins.
275
276 Right now it supports a ##parent## property to indicate another skin to inherit from. If set to an empty value ({{code language="properties"}}parent={{/code}}) the skin will directly inherit from the WAR; if not set at all it will behave as before which means inherit from whatever is configured in ##xwiki.cfg##'s ##xwiki.defaultbaseskin## property.
277
278 == Component Metadata Access ==
279
280 If your Component implementation needs to get access to its component metadata (i.e. its ##ComponentDescriptor##) then it can [[get it injected automatically>>extensions:Extension.Component Module||anchor="HComponentMetadata"]]. For example:
281
282 {{code language="java"}}
283 import org.xwiki.component.descriptor.ComponentDescriptor;
284 ...
285 @Component
286 @Singleton
287 public class MyComponentImpl implements MyComponent
288 {
289 @Inject
290 private ComponentDescriptor<MyComponent> descriptor;
291
292 public void doSomething()
293 {
294 String hint = this.descriptor.getRoleHint();
295 ...
296 }
297 }
298 {{/code}}
299
300 == Panels executed with the rights of their author ==
301
302 It's now possible to write script requiring programming right in panels as long as you have programming right, same as wiki macros.
303
304 == UI extensions executed with the rights of their author ==
305
306 What you can execute in UI extension used to depend on current document author right, it's now based on the own ui extension author.
307
308 == Rendering ==
309
Vincent Massol 10.6 310 XWiki Rendering now provide an HTML5 Renderer.
Vincent Massol 9.1 311
Victor Rachieru 21.1 312 == REST ==
313
314 The REST API for the repository module has been updated to include information about the extension's rating.
315 The information regarding ratings has been included in the AbstractExtension element of the XML Schema, thus it is available in the extension's detailed information and in the search results.
316
317 **More information:**
Manuel Smeria 21.2 318
Victor Rachieru 21.1 319 * [[Repository module documentation>>http://extensions.xwiki.org/xwiki/bin/view/Extension/Repository+Module#HREST]]
320
321 **Example:**
322
323 {{code language="xml"}}
324 <extension>
325 <id>org.xwiki.contrib:application-filemanager-ui</id>
326 <name>File Manager Application</name>
327 <type>xar</type>
328 <!-- start rating info -->
329 <rating>
330 <totalVotes>821</totalVotes>
331 <averageVote>5.0</averageVote>
332 </rating>
333 <!-- end rating info -->
334 <summary>Application to manage a hierarchy of folders and files. It embeds viewers for many known file types, such as office and PDF.</summary>
335 <description>This application lets your organize your files inside XWiki using a tree hierarchy of folders. It supports all standard operations like move, rename, copy, delete on both files and folders. You can use drag & drop to upload new files and to modify the folder hierarchy. A wide range of files types can be viewed or played (in case of audio and video files) directly from the wiki. This includes PDF and office documents [...]</description>
336 <licenses>
337 <name>GNU Lesser General Public License 2.1</name>
338 </licenses>
339 <website>http://extensions.xwiki.org/xwiki/bin/view/Extension/File+Manager+Application</website>
340 <authors>
341 <name>Thomas Delafosse</name>
342 <url>http://www.xwiki.org/xwiki/bin/view/XWiki/tdelafosse</url>
343 </authors>
344 <authors>
345 <name>Ludovic Dubost</name>
346 <url>http://www.xwiki.org/xwiki/bin/view/XWiki/LudovicDubost</url>
347 </authors>
348 <authors>
349 <name>Marius Dumitru Florea</name>
350 <url>http://www.xwiki.org/xwiki/bin/view/XWiki/mflorea</url>
351 </authors>
352 <features>tdelafosse:file-manager-application</features>
353 <features>org.xwiki.contrib:application-filemanager</features>
354 </extension>
355 {{/code}}
356
Vincent Massol 9.1 357 == Miscellaneous ==
358
359 * Added new APIs to get all the icon themes present on the wiki, and all icons that these icon themes contain.(((
360 {{code language="velocity"}}
361 $services.icon.getIconSetNames()
362 $services.icon.getIconNames()
363 $services.icon.getIconNames("Font Awesome")
364 {{/code}}
365 )))
366 * A new parameter has been added to the ##get## action and the ##plain## xpage: ##htmlHeaderAndFooter##, which add the HTML headers (##<html>##,##<head>##,##<body>##, etc...) and footers (##</body>##, ##</html>##, etc...). It could be useful to create light popups that display only the document content without any UI.
367 * XWikiAttachment now provide ##setAuthorReference## and ##getAuthorReference## APIs
368 * ##org.xwiki.logging.event.LogEvent## now have a getTimestamp() method returning the number of milliseconds elapsed from 1/1/1970 until logging event was created.
369 * A SOLR-based implementation of the standard REST search resource has been added
370 * The [[Solr Query>>extensions:Extension.Solr Search Query API]] parameter ##xwiki.supportedLocales## has a new default value: the list of supported locales configured for the current wiki (where you execute the search).
371 * The ##{{{@Component}}}## annotation is no longer inheritable. Thus each component implementation class must now define it and not rely on it being present in some Abstract class.
372 * The XWiki build now verifies that all components are correctly listed in ##META-INF/components.txt## files and that the threading model is explicitly defined (i.e. that either ##{{{@Singleton}}}## or ##{{{@InstantiationStrategy(ComponentInstantiationStrategy.PER_LOOKUP)}}}## is used). If not, the build fails. A new ##{{{@Component}}}## annotation parameter has been added for explicitly mentioning that a Component should not be statically registered (these components are usually used in tests). It's used as follows:(((
373 {{code language="java"}}
374 @Component(staticRegistration = false)
375 {{/code}}
376 )))
377 * You can now control in which order the sections added via the [[ConfigurableClass>>extensions:Extension.Administration Application||anchor="HFieldsyoucandefine"]] are displayed in the administration.
378 * New APIs to generate unescaped display user name:
379 ** ##com.xpn.xwiki.XWiki#getPlainUserName(DocumentReference userReference, XWikiContext context)##
380 ** ##com.xpn.xwiki.XWiki#getUserName(DocumentReference userReference, String format, boolean link, boolean escapeXML, XWikiContext context)##
381 ** ##com.xpn.xwiki.api.XWiki#getPlainUserName(DocumentReference userReference)##
382 * New script oriented APIs to get document author/contentAuthor/creator as ##DocumentReference##
Vincent Massol 10.7 383 * It's now possible to provide metadatas to ##MacroContentParser#parse## API
384 * It's now possible to know what namespace a ComponentManager instance is associated with by casting it to ##org.xwiki.component.manager.NamespacedComponentManager##. See [[Component Module documentation>>http://extensions.xwiki.org/xwiki/bin/view/Extension/Component+Module||anchor="HNamespacedComponentManager"]].
385 * Added getCurrentWikiDescriptor() method to the wiki API and script service to be consistent with the existing getCurrentWikiId() method
386 * The ClassLoader automatically set as Thread ClassLoader is now dynamic meaning that any modification of the context wiki will automatically change the actual Thread ClassLoader. It used to be set to whatever was the wiki in the URL at ExecutionContext init.
387 * [[A new CSS class>>platform:DevGuide.SpecialCSSClasses||anchor="HClassesfortheresponsiveness"]] have been added in Flamingo, to handle responsive tables.
388 * The #sheetTitle Velocity macro supports a new use case: displaying the sheet title if the current document doesn't have an object of some type:(((
389 {{code language="none"}}
390 #sheetTitle('The sheet used to display objects of type Space.MyClass', 'Space.MyClass')
391 {{/code}}
392 )))
Vincent Massol 9.1 393
Marius Dumitru Florea 1.1 394 == Upgrades ==
395
396 The following dependencies have been upgraded:
397
Vincent Massol 9.1 398 * [[httpclient 4.3.6>>http://jira.xwiki.org/browse/XCOMMONS-681]]
399 * [[commons-codec 1.10>>http://jira.xwiki.org/browse/XCOMMONS-684]]
400 * [[Groovy 2.3.8>>http://jira.xwiki.org/browse/XCOMMONS-704]]
401 * [[JGroups 3.6.1>>http://jira.xwiki.org/browse/XWIKI-11523]]
402 * [[Pygments 2.0.1>>http://jira.xwiki.org/browse/XWIKI-11522]]
403 * [[Joda-Time 2.6>>http://jira.xwiki.org/browse/XWIKI-11516]]
404 * [[Bootstrap 3.3.1>>http://jira.xwiki.org/browse/XWIKI-11381]]
405 * [[Bootswatch 3.3.1+2>>http://jira.xwiki.org/browse/XWIKI-11569]]
406 * [[slf4j 1.7.9>>http://jira.xwiki.org/browse/XCOMMONS-712]]
407 * [[Lucene and SOLR 4.10.3>>http://jira.xwiki.org/browse/XWIKI-11603]]
Marius Dumitru Florea 1.1 408
409 = Translations =
410
411 The following translations have been updated:
412
Vincent Massol 9.1 413 {{language codes="da, de, es, fr, ko, lv, pl, pt_BR, ro, ru, sv, tr"/}}
Marius Dumitru Florea 1.1 414
415 = Tested Browsers & Databases =
416
Manuel Smeria 8.1 417 {{include reference="TestReports.ManualTestReportSummaryXWiki64"/}}
Marius Dumitru Florea 1.1 418
Thomas Mortagne 13.3 419 = Performances tests compared to 5.4.6 =
Marius Dumitru Florea 1.1 420
Thomas Mortagne 14.1 421 Performances improved a bit since 6.3 and we are now generally slightly better than 5.4.6 performances except for the first-loaded page with UI (which incurs the cost of one-time LESS compilation). Lets continue the work in 7.x and improve even more !
Marius Dumitru Florea 1.1 422
Thomas Mortagne 13.3 423 {{display reference="test:Performances.Jetty HSQLDB single wiki 546 to 64" section="HSummary"/}}
Marius Dumitru Florea 1.1 424
Thomas Mortagne 13.3 425 More details on [[performance comparison on single wiki between 6.4 and 5.4.6>>test:Performances.Jetty HSQLDB single wiki 546 to 64]].
426
Marius Dumitru Florea 1.1 427 = Known issues =
428
429 * [[Bugs we know about>>http://jira.xwiki.org/secure/IssueNavigator.jspa?reset=true&jqlQuery=category+%3D+%22Top+Level+Projects%22+AND+issuetype+%3D+Bug+AND+resolution+%3D+Unresolved+ORDER+BY+updated+DESC]]
Vincent Massol 15.1 430 * A problem was discovered after the release when trying to start XWiki on Oracle. When you uncomment the Oracle section in the ##hibernate.cfg.xml## file, you'll get a mapping file declared twice, as in:(((
431 {{code language="none"}}
432 <mapping resource="mailsender.hbm.xml"/>
433 <mapping resource="mailsender.oracle.hbm.xml"/>
434 {{/code}}
Marius Dumitru Florea 1.1 435
Vincent Massol 15.1 436 You'll need to remove first to keep only the following:
437
438 {{code language="none"}}
439 <mapping resource="mailsender.oracle.hbm.xml"/>
440 {{/code}}
Thomas Mortagne 16.1 441 )))
Vincent Massol 15.1 442
Marius Dumitru Florea 1.1 443 = Backward Compatibility and Migration Notes =
444
445 == General Notes ==
446
447 When upgrading make sure you compare your ##xwiki.cfg##, ##xwiki.properties## and ##web.xml## files with the newest version since some configuration parameters may have been modified or added. Note that 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.
448
Vincent Massol 9.1 449 == Issues specific to XWiki 6.4 ==
Marius Dumitru Florea 1.1 450
Vincent Massol 9.1 451 * VelocityEngine automatically get rid of the passed namespace at the end of execution unless it's protected. See [[Velocity section>>||anchor="HVelocitychanges"]].
452 * If upgrading the content in the DistributionWizard, and the upgrade is from XWiki 6.2.x or 6.3, you might get a conflict for the document Blog.BlogSheet. Unless you have done modifications to that document, please keep the new version; otherwise please keep the merged, or if not available, keep your version. For details see issue [[XWIKI-11450>>http://jira.xwiki.org/browse/XWIKI-11450]].
Thomas Mortagne 16.1 453 * The way to deal with XWiki SOLR plugin changed and you might have issue starting with an existing embedded SOLR index. The simplest is to delete <permdir>/solr folder and let XWiki reindex the instance.
Marius Dumitru Florea 1.1 454
455 == API Breakages ==
456
Vincent Massol 12.1 457 The following APIs were modified since XWiki 6.3:
Marius Dumitru Florea 1.1 458
Vincent Massol 13.1 459 * Needed to make sure transformations are executed with the right metadata(((
460 {{code language="none"}}
461 org.xwiki.rendering.macro.MacroContentParser: Method 'public org.xwiki.rendering.block.XDOM parse(java.lang.String, org.xwiki.rendering.transformation.MacroTransformationContext, boolean, org.xwiki.rendering.listener.MetaData, boolean)' has been added to an interface
462 {{/code}}
463 )))
464
Vincent Massol 12.1 465 * It's very unlikely that this class is implemented by anything else and it does not make much sense to not have this method, since this is not really a cache behind it but a Map that keep engines forever it may create a memory leak on a big farm running for a long time(((
Marius Dumitru Florea 1.1 466 {{code language="none"}}
Vincent Massol 12.1 467 org.xwiki.velocity.VelocityFactory: Method 'public org.xwiki.velocity.VelocityEngine removeVelocityEngine(java.lang.String)' has been added to an interface
Marius Dumitru Florea 1.1 468 {{/code}}
Vincent Massol 12.1 469 )))
470
471 * This shouldn't be a backward incompatible change since it's a method addition on an Annotation.(((
472 {{code language="none"}}
473 org.xwiki.component.annotation.Component: Method 'public boolean staticRegistration()' has been added to an interface
474 {{/code}}
475 )))
476
477 * Does not make much sense allowing to register a JMX bean and not to unregister it.(((
478 {{code language="none"}}
479 org.xwiki.management.JMXBeanRegistration: Method 'public void unregisterMBean(java.lang.String)' has been added to an interface
480 {{/code}}
481 )))
482
483 * Young API, this method needs to be available for consistency with the getMainWikiDescriptor/Id pair of methods(((
484 {{code language="none"}}
485 org.xwiki.wiki.descriptor.WikiDescriptorManager: Method 'public org.xwiki.wiki.descriptor.WikiDescriptor getCurrentWikiDescriptor()' has been added to an interface
486 {{/code}}
487 )))
488
489 * WYSIWYG's MacroService API was not previously considering a multiwiki environment.(((
490 {{code language="none"}}
491 org.xwiki.gwt.wysiwyg.client.plugin.macro.MacroService: Method 'public org.xwiki.gwt.wysiwyg.client.plugin.macro.MacroDescriptor getMacroDescriptor(java.lang.String, java.lang.String, java.lang.String)' has been added to an interface
492 org.xwiki.gwt.wysiwyg.client.plugin.macro.MacroService: Method 'public java.util.List getMacroDescriptors(java.lang.String, java.lang.String)' has been added to an interface
493 org.xwiki.gwt.wysiwyg.client.plugin.macro.MacroServiceAsync: Method 'public void getMacroDescriptor(java.lang.String, java.lang.String, java.lang.String, com.google.gwt.user.client.rpc.AsyncCallback)' has been added to an interface
494 org.xwiki.gwt.wysiwyg.client.plugin.macro.MacroServiceAsync: Method 'public void getMacroDescriptors(java.lang.String, java.lang.String, com.google.gwt.user.client.rpc.AsyncCallback)' has been added to an interface
495 {{/code}}
496 )))
497
Vincent Massol 13.2 498 * Young API. Add new methods to the Icon Set Module(((
Vincent Massol 12.1 499 {{code language="none"}}
500 org.xwiki.icon.IconManager: Method 'public java.util.List getIconNames()' has been added to an interface
501 org.xwiki.icon.IconManager: Method 'public java.util.List getIconNames(java.lang.String)' has been added to an interface
502 org.xwiki.icon.IconSetManager: Method 'public java.util.List getIconSetNames()' has been added to an interface
503 {{/code}}
504 )))
505
Vincent Massol 13.2 506 * Young API. LESS refactoring.(((
Vincent Massol 12.1 507 {{code language="none"}}
508 org.xwiki.lesscss.LessCompilerScriptService: Method 'public boolean clearCacheFromFileSystemSkin(java.lang.String)' has been removed
509 org.xwiki.lesscss.LessCompilerScriptService: Return type of method 'public org.xwiki.lesscss.ColorTheme getColorThemeFromSkinFile(java.lang.String)' has been changed to org.xwiki.lesscss.colortheme.ColorTheme
510 org.xwiki.lesscss.LessCompilerScriptService: Return type of method 'public org.xwiki.lesscss.ColorTheme getColorThemeFromSkinFile(java.lang.String, java.lang.String)' has been changed to org.xwiki.lesscss.colortheme.ColorTheme
511 org.xwiki.lesscss.ColorTheme: Class org.xwiki.lesscss.ColorTheme removed
512 org.xwiki.lesscss.ColorThemeCache: Class org.xwiki.lesscss.ColorThemeCache removed
513 org.xwiki.lesscss.LESSCache: Class org.xwiki.lesscss.LESSCache removed
514 org.xwiki.lesscss.LESSColorThemeConverter: Class org.xwiki.lesscss.LESSColorThemeConverter removed
515 org.xwiki.lesscss.LESSCompiler: Class org.xwiki.lesscss.LESSCompiler removed
516 org.xwiki.lesscss.LESSCompilerException: Class org.xwiki.lesscss.LESSCompilerException removed
517 org.xwiki.lesscss.LESSSkinFileCache: Class org.xwiki.lesscss.LESSSkinFileCache removed
518 org.xwiki.lesscss.LESSSkinFileCompiler: Class org.xwiki.lesscss.LESSSkinFileCompiler removed
519 {{/code}}
520 )))
521
Vincent Massol 13.2 522 * Young API. Lots of refactoring on the new Mail module(((
Vincent Massol 12.1 523 {{code language="none"}}
524 org.xwiki.mail.MailResultListener: Class org.xwiki.mail.MailResultListener removed
525 org.xwiki.mail.MailSender: Method 'public void send(javax.mail.internet.MimeMessage, javax.mail.Session)' has been removed
526 org.xwiki.mail.MailSender: Parameter 1 of 'public void sendAsynchronously(javax.mail.internet.MimeMessage, javax.mail.Session, org.xwiki.mail.MailResultListener)' has changed its type to java.lang.Iterable
527 org.xwiki.mail.MailSender: Parameter 3 of 'public void sendAsynchronously(javax.mail.internet.MimeMessage, javax.mail.Session, org.xwiki.mail.MailResultListener)' has changed its type to org.xwiki.mail.MailListener
528 org.xwiki.mail.MailSender: Return type of method 'public void sendAsynchronously(javax.mail.internet.MimeMessage, javax.mail.Session, org.xwiki.mail.MailResultListener)' has been changed to org.xwiki.mail.MailResult
529 org.xwiki.mail.MailSender: Method 'public void waitTillSent(long)' has been removed
530 org.xwiki.mail.MailSenderConfiguration: Method 'public java.util.List getBCCAddresses()' has been added to an interface
531 org.xwiki.mail.MailSenderConfiguration: Method 'public java.lang.String getScriptServicePermissionCheckerHint()' has been added to an interface
532 org.xwiki.mail.MailSenderConfiguration: Method 'public long getSendWaitTime()' has been added to an interface
533 org.xwiki.mail.script.MimeMessageWrapper: In method 'public MimeMessageWrapper(org.xwiki.mail.internal.ExtendedMimeMessage, javax.mail.Session, org.xwiki.mail.MailSender, org.xwiki.context.Execution, org.xwiki.component.manager.ComponentManager)' the number of arguments has changed
534 org.xwiki.mail.script.MimeMessageWrapper: Accessibility of method 'public MimeMessageWrapper(org.xwiki.mail.internal.ExtendedMimeMessage, javax.mail.Session, org.xwiki.mail.MailSender, org.xwiki.context.Execution, org.xwiki.component.manager.ComponentManager)' has been decreased from public to package
535 org.xwiki.mail.script.MimeMessageWrapper: Method 'public java.util.concurrent.BlockingQueue getErrors()' has been removed
536 org.xwiki.mail.script.MimeMessageWrapper: Method 'public void send()' has been removed
537 org.xwiki.mail.script.MimeMessageWrapper: Method 'public void sendAsynchronously()' has been removed
538 org.xwiki.mail.script.MimeMessageWrapper: Method 'public void waitTillSent(long)' has been removed
539 {{/code}}
540 )))
541
542 * Switched to the generics-aware commons-collections4.(((
543 {{code language="none"}}
544 com.xpn.xwiki.monitor.api.MonitorPlugin: Return type of method 'public org.apache.commons.collections.buffer.CircularFifoBuffer getLastTimerData()' has been changed to org.apache.commons.collections4.queue.CircularFifoQueue
545 com.xpn.xwiki.monitor.api.MonitorPlugin: Return type of method 'public org.apache.commons.collections.buffer.CircularFifoBuffer getLastUnfinishedTimerData()' has been changed to org.apache.commons.collections4.queue.CircularFifoQueue
546 {{/code}}
547 )))

Get Connected