Version 29.1 by Thomas Mortagne on 2014/09/27

Hide last authors
Thomas Mortagne 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
7 <insert description of release here>
8
9 = New and Noteworthy (since XWiki 6.2) =
10
11 [[Full list of issues fixed and Dashboard for <version>>>http://jira.xwiki.org/secure/Dashboard.jspa?selectPageId=<fill id here>]].
12
Thomas Mortagne 3.1 13 == Extension Manager and Repository improvements ==
Thomas Mortagne 1.1 14
15 * ##<scm>## element from Maven ##pom.xml## is now supported and has been added to the standard in the API
16 * ##<issueManagement>## element from Maven ##pom.xml## is now supported and has been added to the standard in the API
17
Guillaume Delhumeau 6.1 18 == Flamingo ==
19
20 * The "Add" button has now a default action to create a new page. You can still create other kind of contents (Wiki, Space) by using the arrow, just like we do with the different "edit" actions.(((
21 {{image reference="flamingo-add.png"/}}
22 )))
23
Thomas Mortagne 1.1 24 == Miscellaneous ==
25
Vincent Massol 10.1 26 * Improved L&F when a template fails to render:(((
Guillaume Delhumeau 14.1 27 {{image reference="templateerror.png" width="650px"/}}
Vincent Massol 10.1 28 )))
Guillaume Delhumeau 14.1 29 * We have created dedicated groups for Colibri and Flamingo Themes inside the Administration. Every themes can be used with both skins but they looks better when they are used with the corresponding theme.(((
30 {{image reference="ColorThemeDisplayer.png"/}}
31 )))
Thomas Mortagne 24.1 32 * The start/stop shell scripts provided with the Standalone Distribution have been improved to display usage information when an invalid parameter is passed or when the ##-h## or ##~-~-help## parameters are passed. Also note that the start script doesn't stop anymore a running XWiki instance if the ##-k## or ##~-~-kill## parameter is passed (this parameter has been removed).
Vincent Massol 26.1 33 * [[It's possible to get DEBUG information only for shutdown operations>>dev:Community.Debugging||anchor="HLoggingshutdownoperations"]] by editing ##logback.xml## and setting:(((
Vincent Massol 25.1 34 {{code language="xml"}}
35 <logger name="org.xwiki.shutdown" level="debug"/>
36 {{/code}}
37 )))
Thomas Mortagne 29.1 38 * It's now possible to configure the maximum number of search results to be returned from a search operation using ##xwiki.authentication.ldap.maxresults## property in ##xwiki.cfg## file. See [[LDAP documentation>> platform:AdminGuide.Authentication||anchor="HGenericLDAPconfiguration"]].
Thomas Mortagne 1.1 39
40 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.
41
42 = For Developers =
43
Marius Dumitru Florea 7.2 44 == Velocity macros to display users and groups ==
Thomas Mortagne 1.1 45
Marius Dumitru Florea 7.1 46 We extracted the code that displays in view mode a property of type 'List of Users' and 'List of Groups' from the corresponding custom displayers (found in ##displayer_users.vm## and ##displayer_groups.vm##) into two Velocity macros that can be used to display arbitrary users and groups, even when you don't have an object. Here's how you can use them:
Thomas Mortagne 1.1 47
Marius Dumitru Florea 7.1 48 {{code language="none"}}
49 {{velocity}}
50 {{html wiki="true"}}
51 = Users =
52 == Just one ==
53 #displayUser('XWiki.Admin')
54
55 == List of users ==
56 #displayUser(['Admin', 'XWiki.mflorea'])
57
58 == A reference of a user ==
59 #displayUser($xcontext.userReference)
60
61 == A list of references of users ==
62 #displayUser([$xcontext.userReference, $otherUserReference])
63
64 = Groups =
65 == Just one ==
66 #displayGroup('XWiki.XWikiAdminGroup')
67
68 == List of groups ==
69 #displayGroup(['XWikiAdminGroup','XWiki.HRGroup'])
70
71 == A reference of a group ==
72 #set($adminGroupRef = $services.model.resolveDocument('XWiki.XWikiAdminGroup'))
73 #set($allGroupRef = $services.model.resolveDocument('XWiki.XWikiAllGroup'))
74 #displayGroup($adminGroupRef)
75
76 == A list of references of groups ==
77 #displayGroup([$adminGroupRef, $allGroupRef])
78
79 {{/html}}
80 {{/velocity}}
81 {{/code}}
82
Thomas Mortagne 20.1 83 == New Velocity Tools ==
Clemens Robbenhaar 12.1 84
Vincent Massol 15.1 85 * New URL Tool ##$urltool##: A [[new tool>>extensions:Extension.Velocity Module||anchor="HVelocityTools"]] has been added with one method to parse query string from the URL ##$urltool.parseQuery(String)##. The value returned by this is method is a ##Map<String, List<String>>## which maps parameter names to (possibly multiple) values, and can be passed e.g. directly into ##$escapetool.url(Map<String, ?>)## to convert it back to a string. This is useful e.g. in cases where one want to pass a complete query string around between requests, as it happend for the PDF export; the ##$urltool## allows for a sane deserialization of the value passed around.
86 * New Exception Tool ##$exceptiontool##: A [[new tool>>extensions:Extension.Velocity Module||anchor="HVelocityTools"]] to manipulate Java Exceptions (get root cause, convert into String, etc).
Clemens Robbenhaar 12.1 87
Vincent Massol 16.1 88 == Ability to catch Exceptions from Velocity ==
89
Vincent Massol 27.1 90 A new Velocity Directive has been added to catch Exceptions from Velocity. In addition a new ###displayUnexpectedException()## velocity macro has also been added to nicely display an exception to the user.
Vincent Massol 16.1 91
92 For example:
93
94 {{code language="velocity"}}
95 #try()
96 #set($outputSyntax = $xwiki.getAvailableRendererSyntax($request.outputSyntax, $request.outputSyntaxVersion))
97 #if ($outputSyntax)
98 ## If the passed syntax is not an HTML-compatible syntax we need to HTML-escape it so that it can be
99 ## displayed fine in HTML (since at the point this vm file is called we're already inside an HTML page with
100 ## panels on the side, header, etc).
101 #set($syntaxType = $outputSyntax.type.toIdString())
102 #if (($syntaxType == "xhtml") || ($syntaxType == "html"))
103 #set ($renderedContent = $tdoc.getRenderedContent($outputSyntax))
104 #else
105 ## Make sure to print correctly the result when it's not HTML
106 #set ($renderedContent = "<pre>$escapetool.html($tdoc.getRenderedContent($outputSyntax))</pre>")
107 #end
108 #else
109 #set ($renderedContent = $tdoc.getRenderedContent())
110 #end
111 #end
112 ...
113 <div id="xwikicontent">
114 #if ("$!exception" != '')
Vincent Massol 27.1 115 #displayUnexpectedException($exception)
Vincent Massol 16.1 116 #else
117 $renderedContent
118 #end
119 </div>
120 ...
121 {{/code}}
122
123 This generates the following in case of error rendering the page:
124
125 {{image reference="renderingerror.png"/}}
126
Vincent Massol 27.1 127 == New #displayException macro ==
128
129 Displays an error message with a title that can be clicked and expands to display an exception.
130
131 Example from a wiki page:
132
133 {{code language="none"}}
134 {{velocity}}
135 #set ($message = $services.mailsender.createMessage())
136 $message.send()
137
138 {{html}}
139 #displayException("hello world", $services.mailsender.lastError)
140 {{/html}}
141 {{/velocity}}
142 {{/code}}
143
Vincent Massol 23.1 144 == Component Disposal ==
145
146 The order used by the ComponentManager to dispose its components is computed based on declared dependencies. However there might be cases when you wish a Component's ##dispose()## method to be called before or after all other components. In this case you can use the ##DisposePriority## annotation. The default priority is 1000. A higher value will mean disposing before all other components not having this annotation. For example:
147
148 {{code language="java"}}
149 @Component
150 @Singleton
151 @DisposePriority(10000)
152 public class DefaultHibernateSessionFactory implements HibernateSessionFactory, Disposable
153 {
154 ...
155 @Override
156 public void dispose() throws ComponentLifecycleException
157 {
158 ... called after other components in order to shut down the database late...
159 }
160 ...
161 }
162 {{/code}}
163
164 See the [[Component Reference documentation>>extensions:Extension.Component Module]] for other details.
165
Thomas Mortagne 1.1 166 == Deprecated and Retired projects ==
167
168 <description of deprecated and retired projects>
169
170 == Upgrades ==
171
172 The following dependencies have been upgraded:
173
Thomas Mortagne 2.1 174 * [[JGroups 3.5.0>>http://jira.xwiki.org/browse/XWIKI-10987]]
Thomas Mortagne 20.1 175 * [[Tika 1.6>>http://jira.xwiki.org/browse/XWIKI-10956]]
Thomas Mortagne 24.1 176 * [[reflections 0.9.9>>http://jira.xwiki.org/browse/XCOMMONS-654]]
Thomas Mortagne 28.1 177 * [[Groovy 2.3.7>>http://jira.xwiki.org/browse/XCOMMONS-655]]
Thomas Mortagne 1.1 178
179 == Miscellaneous ==
180
Guillaume Delhumeau 4.1 181 * The wiki provisioning job has now the current user setted in the context.
Thomas Mortagne 1.1 182
183 = Translations =
184
185 The following translations have been updated:
186
187 {{language codes="none, none"/}}
188
189 = Tested Browsers & Databases =
190
191 {{include reference="TestReports.ManualTestReportTemplateSummary"/}}
192
193 = Known issues =
194
195 * [[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]]
196
197 = Backward Compatibility and Migration Notes =
198
199 == General Notes ==
200
201 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.
202
203 == Issues specific to XWiki <version> ==
204
205 <issues specific to the project>
206
207 == API Breakages ==
208
209 The following APIs were modified since <project> <version - 1>:
210
211 {{code language="none"}}
212 <clirr output here>
213 {{/code}}

Get Connected