Last modified by Thomas Mortagne on 2023/10/13

From version 8.1
edited by Manuel Smeria
on 2015/01/20
Change comment: There is no comment for this version
To version 10.2
edited by Vincent Massol
on 2015/01/21
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.ManuelSmeria
1 +XWiki.VincentMassol
Content
... ... @@ -10,8 +10,96 @@
10 10  
11 11  [[Full list of issues fixed and Dashboard for <version>>>http://jira.xwiki.org/secure/Dashboard.jspa?selectPageId=<fill id here>]].
12 12  
13 -== Mail Sender API Improvements ==
13 +== Menu Application ==
14 14  
15 +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]].
16 +Colibri based skins preserve the initial styling.
17 +
18 +{{gallery}}
19 +image:ReleaseNotesXWiki64M2@menu_flamingo_charcoal.png
20 +image:ReleaseNotesXWiki64M2@menu_flamingo_united.png
21 +image:ReleaseNotesXWiki64M2@menu_flamingo_darkly.png
22 +image:ReleaseNotesXWiki64M2@menu_flamingo_simplex.png
23 +image:ReleaseNotesXWiki64M2@menu_flamingo_charcoal_responsive.png
24 +{{/gallery}}
25 +
26 +== Flamingo Skin ==
27 +
28 +We partially restored the behaviour of the top level menu from version 6.2, with some improvements:
29 +
30 +* For tablet and desktop:
31 +** the menu label is a link used for navigation
32 +** the toggle (arrow / caret) is used for opening the drop down menu, but should be better separated from the label
33 +* On phones the behaviour remains the same: taping on the label opens the menu(((
34 +{{gallery}}
35 +image:[email protected]
36 +image:[email protected]
37 +image:[email protected]
38 +image:[email protected]
39 +{{/gallery}}
40 +)))
41 +* The history table, under each page, is now responsive to the screen size:(((
42 +{{image reference="[email protected]" /}}
43 +)))
44 +* Some improvements have been made on the responsive tables (including the livetables) and we have fixed the broken livetables for mobiles on some places:(((
45 +{{image reference="[email protected]" width="30%"/}} {{image reference="[email protected]" width="30%"/}} {{image reference="[email protected]" width="30%"/}}
46 +)))
47 +
48 +== Rating Features ==
49 +
50 +=== Ratings module ===
51 +
52 +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.
53 +
54 +See [[Ratings Application>>extensions:Extension.Ratings Application]].
55 +
56 +=== Ratings support for extensions ===
57 +
58 +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]].
59 +
60 +{{image reference="[email protected]"/}} {{image reference="[email protected]"/}}
61 +
62 +== Wiki Configuration ==
63 +
64 +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.
65 +
66 +{{image reference="ReleaseNotesXWiki64M3@wikiDescriptorEditingAdministration-cropped.png"/}}
67 +
68 +For more information, see the [[documentation>>extensions:Extension.Wiki Application||anchor="HConfigureWiki"]].
69 +
70 +== New Parameters for Document Tree Macro ==
71 +
72 +We added 3 new parameters to the [[Document Tree Macro>>extensions:Extension.Document Tree Macro]]:
73 +
74 +* **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.
75 +* **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.
76 +* **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).
77 +
78 +== Mail Feature ==
79 +
80 +* The mail feature has a new Category in the Admin UI (see the [[Mail Application>>extensions:Extension.Mail Application]] for details).(((
81 +{{image reference="[email protected]"/}}
82 +)))
83 +* 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]].(((
84 +{{image reference="[email protected]"/}}
85 +)))
86 +* 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(((
87 +{{code language="none"}}
88 +#-# [Since 6.4M2]
89 +#-# Defines which authorization checks are done when sending mails using the Mail Sender Script Service.
90 +#-# Example of valid values:
91 +#-# - "programmingrights": the current document must have Programming Rights
92 +#-# - "alwaysallow": no check is performed. This is useful when running XWiki in a secure environment where we
93 +#-# want to allow all users to be able to send emails through the Script Service.
94 +#-# The default is:
95 +# mail.sender.scriptServiceCheckerHint = programmingrights
96 +{{/code}}
97 +)))
98 +* 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).(((
99 +{{image reference="[email protected]"/}}
100 +
101 +{{image reference="[email protected]"/}}
102 +)))
15 15  * 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##:(((
16 16  {{code language="none"}}
17 17  mail.sender.sendWaitTime = 10000
... ... @@ -43,37 +43,231 @@
43 43  {{image reference="mailwiki.png"/}}
44 44  )))
45 45  
134 +== Wikis ==
135 +
136 +* A "Wikis" category has been created in the administration, where the configuration have been moved and split in different sections:(((
137 +|=Left menu|=Right menu
138 +|{{image reference="[email protected]"/}}|{{image reference="[email protected]"/}}
139 +)))
140 +
141 +== Extension Manager incompatible exceptions ==
142 +
143 +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.
144 +
145 +{{image reference="[email protected]"/}}
146 +
147 +== Solr server setup package ==
148 +
149 +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.
150 +
46 46  == Miscellaneous ==
47 47  
48 -<insert misc user stuff and important bug fix descriptions here in a list, when they are too small to warrant a section by themselves - Change the version in the URL below!>
153 +* 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:(((
154 +{{code language="none"}}
155 +#set ($wikiname = $request.serverName)
156 +#set ($host = ${request.getRequestURL()})
157 +#set ($host = ${host.substring(0, ${host.indexOf('/', ${mathtool.add(${host.indexOf('//')}, 2)})})})
158 +Subject: Validate your account on ${wikiname}
159 +Content-type: text/html; charset=iso-8859-1
49 49  
161 +<p>Hello <b>${xwiki.getUserName("XWiki.$xwikiname", false)}</b>,</p>
162 +<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>
163 +<p>In order to activate your account, please follow this link:
164 +${host}${xwiki.getURL('XWiki.AccountValidation', 'view', "validkey=${validkey}&xwikiname=${xwikiname}")}</p>
165 +{{/code}}
166 +)))
167 +* The selected tree node is now highlighted even when links are enabled:(((
168 +{{image reference="[email protected]" /}}
169 +)))
170 +* 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.
171 +* The list of columns in the UserDirectory customization screen is now sorted alphabetically
172 +* 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.
173 +* Displaying the 'Stable versions' label in an extension's description in Extension Manager before and after the list of versions is retrieved.
174 +* A click to the Document Index does not lead to an other space anymore.
175 +* [[extensions:Extension.Tag Cloud Macro]] has now a new parameter (spaces) to display a tag cloud from multiple spaces.
176 +
50 50  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+%22<version>%22&tempMax=1000]] fixed in this release.
51 51  
52 52  = For Developers =
53 53  
54 -== <developer feature N> ==
181 +== Icon Picker ==
55 55  
56 -<description of developer feature N>
183 +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.
57 57  
58 -== Deprecated and Retired projects ==
185 +{{image reference="ReleaseNotes[email protected]"/}}
59 59  
60 -<description of deprecated and retired projects>
187 +This picker is already used in [[Application Within Minutes>>extensions:Extension.App Within Minutes Application]] for the application's icon selection.
61 61  
189 +== Skin Extensions ==
190 +
191 +[[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:
192 +
193 +{{image reference="[email protected]"/}}.
194 +
195 +== Admin ConfigurableClass ==
196 +
197 +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##:
198 +
199 +{{image reference="[email protected]"/}}
200 +
201 +It was configured using:
202 +
203 +{{image reference="[email protected]"/}}
204 +
205 +== Velocity changes ==
206 +
207 +=== Remove a Velocity Engine from the cache ===
208 +
209 +##org.xwiki.velocity.VelocityFactory## now provide an API to remove a cached Velocity Engine.
210 +
211 +=== Overriding Velocimacros in wiki-based skins ===
212 +
213 +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).
214 +
215 +=== Cleanup unprotected namespaces ===
216 +
217 +VelocityEngine automatically get rid of the passed namespace at the end of execution unless it's protected.
218 +
219 +In practice in means that the following:
220 +
221 +{{code language="java"}}
222 +engine.evaluate(new VelocityContext(), new StringWriter(), "namespace", "#macro(mymacro)toto#end")
223 +
224 +Writer out = new StringWriter();
225 +engine.evaluate(new VelocityContext(), out, "namespace", "#mymacro()")
226 +
227 +System.out.println(out.toString())
228 +{{/code}}
229 +
230 +will now print
231 +
232 +{{code language="none"}}
233 +#mymacro()
234 +{{/code}}
235 +
236 +To get
237 +
238 +{{code language="none"}}
239 +toto
240 +{{/code}}
241 +
242 +you need the following
243 +
244 +{{code language="java"}}
245 +engine.startedUsingMacroNamespace("namespace")
246 +
247 +try {
248 + engine.evaluate(new VelocityContext(), new StringWriter(), "namespace", "#macro(mymacro)toto#end")
249 +
250 + Writer out = new StringWriter();
251 + engine.evaluate(new VelocityContext(), out, "namespace", "#mymacro()")
252 +
253 + System.out.println(out.toString())
254 +} finally {
255 + engine.stoppedUsingMacroNamespace("namespace")
256 +}
257 +{{/code}}
258 +
259 +== Skins system improvements ==
260 +
261 +Support for a new ##skin.properties## configuration file has been introduced in filesystem skins.
262 +
263 +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.
264 +
265 +== Component Metadata Access ==
266 +
267 +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:
268 +
269 +{{code language="java"}}
270 +import org.xwiki.component.descriptor.ComponentDescriptor;
271 +...
272 +@Component
273 +@Singleton
274 +public class MyComponentImpl implements MyComponent
275 +{
276 + @Inject
277 + private ComponentDescriptor<MyComponent> descriptor;
278 +
279 + public void doSomething()
280 + {
281 + String hint = this.descriptor.getRoleHint();
282 + ...
283 + }
284 +}
285 +{{/code}}
286 +
287 +== Panels executed with the rights of their author ==
288 +
289 +It's now possible to write script requiring programming right in panels as long as you have programming right, same as wiki macros.
290 +
291 +== UI extensions executed with the rights of their author ==
292 +
293 +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.
294 +
295 +== Rendering ==
296 +
297 +* XWiki Rendering now provide an HTML5 Renderer.
298 +
299 +== Miscellaneous ==
300 +
301 +* Added new APIs to get all the icon themes present on the wiki, and all icons that these icon themes contain.(((
302 +{{code language="velocity"}}
303 +$services.icon.getIconSetNames()
304 +$services.icon.getIconNames()
305 +$services.icon.getIconNames("Font Awesome")
306 +{{/code}}
307 +)))
308 +* 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.
309 +* XWikiAttachment now provide ##setAuthorReference## and ##getAuthorReference## APIs
310 +* ##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.
311 +* A SOLR-based implementation of the standard REST search resource has been added
312 +* 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).
313 +* 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.
314 +* 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:(((
315 +{{code language="java"}}
316 +@Component(staticRegistration = false)
317 +{{/code}}
318 +)))
319 +* You can now control in which order the sections added via the [[ConfigurableClass>>extensions:Extension.Administration Application||anchor="HFieldsyoucandefine"]] are displayed in the administration.
320 +* New APIs to generate unescaped display user name:
321 +** ##com.xpn.xwiki.XWiki#getPlainUserName(DocumentReference userReference, XWikiContext context)##
322 +** ##com.xpn.xwiki.XWiki#getUserName(DocumentReference userReference, String format, boolean link, boolean escapeXML, XWikiContext context)##
323 +** ##com.xpn.xwiki.api.XWiki#getPlainUserName(DocumentReference userReference)##
324 +* New script oriented APIs to get document author/contentAuthor/creator as ##DocumentReference##
325 +
62 62  == Upgrades ==
63 63  
64 64  The following dependencies have been upgraded:
65 65  
66 -* <list libraries that have been upgraded>
330 +* [[httpclient 4.3.6>>http://jira.xwiki.org/browse/XCOMMONS-681]]
331 +* [[commons-codec 1.10>>http://jira.xwiki.org/browse/XCOMMONS-684]]
332 +* [[Groovy 2.3.8>>http://jira.xwiki.org/browse/XCOMMONS-704]]
333 +* [[JGroups 3.6.1>>http://jira.xwiki.org/browse/XWIKI-11523]]
334 +* [[Pygments 2.0.1>>http://jira.xwiki.org/browse/XWIKI-11522]]
335 +* [[Joda-Time 2.6>>http://jira.xwiki.org/browse/XWIKI-11516]]
336 +* [[Bootstrap 3.3.1>>http://jira.xwiki.org/browse/XWIKI-11381]]
337 +* [[Bootswatch 3.3.1+2>>http://jira.xwiki.org/browse/XWIKI-11569]]
338 +* [[slf4j 1.7.9>>http://jira.xwiki.org/browse/XCOMMONS-712]]
339 +* [[Lucene and SOLR 4.10.3>>http://jira.xwiki.org/browse/XWIKI-11603]]
67 67  
68 68  == Miscellaneous ==
69 69  
70 -* it's now possible to provide metadatas to ##MacroContentParser#parse## API
343 +* It's now possible to provide metadatas to ##MacroContentParser#parse## API
344 +* 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"]].
345 +* Added getCurrentWikiDescriptor() method to the wiki API and script service to be consistent with the existing getCurrentWikiId() method
346 +* 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.
347 +* [[A new CSS class>>platform:DevGuide.SpecialCSSClasses||anchor="HClassesfortheresponsiveness"]] have been added in Flamingo, to handle responsive tables.
348 +* 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:(((
349 +{{code language="none"}}
350 +#sheetTitle('The sheet used to display objects of type Space.MyClass', 'Space.MyClass')
351 +{{/code}}
352 +)))
71 71  
72 72  = Translations =
73 73  
74 74  The following translations have been updated:
75 75  
76 -{{language codes="none, none"/}}
358 +{{language codes="da, de, es, fr, ko, lv, pl, pt_BR, ro, ru, sv, tr"/}}
77 77  
78 78  = Tested Browsers & Databases =
79 79  
... ... @@ -95,9 +95,10 @@
95 95  
96 96  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.
97 97  
98 -== Issues specific to XWiki <version> ==
380 +== Issues specific to XWiki 6.4 ==
99 99  
100 -<issues specific to the project>
382 +* VelocityEngine automatically get rid of the passed namespace at the end of execution unless it's protected. See [[Velocity section>>||anchor="HVelocitychanges"]].
383 +* 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]].
101 101  
102 102  == API Breakages ==
103 103  

Get Connected