Version 27.2 by Vincent Massol on 2014/12/01

Show last authors
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.3) =
10
11 [[Full list of issues fixed and Dashboard for <version>>>http://jira.xwiki.org/secure/Dashboard.jspa?selectPageId=<fill id here>]].
12
13 == Miscellaneous ==
14
15 * 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:(((
16 {{code language="none"}}
17 #set ($wikiname = $request.serverName)
18 #set ($host = ${request.getRequestURL()})
19 #set ($host = ${host.substring(0, ${host.indexOf('/', ${mathtool.add(${host.indexOf('//')}, 2)})})})
20 Subject: Validate your account on ${wikiname}
21 Content-type: text/html; charset=iso-8859-1
22
23 <p>Hello <b>${xwiki.getUserName("XWiki.$xwikiname", false)}</b>,</p>
24 <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>
25 <p>In order to activate your account, please follow this link:
26 ${host}${xwiki.getURL('XWiki.AccountValidation', 'view', "validkey=${validkey}&xwikiname=${xwikiname}")}</p>
27 {{/code}}
28 )))
29
30 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.
31
32 = For Developers =
33
34 == Velocity changes ==
35
36 === Remove a Velocity Engine from the cache ===
37
38 ##org.xwiki.velocity.VelocityFactory## now provide an API to remove a cached Velocity Engine.
39
40 === Overriding Velocimacros in wiki-based skins ===
41
42 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).
43
44 === Cleanup unprotected namespaces ===
45
46 VelocityEngine automatically get rid of the passed namespace at the end of execution unless it's protected.
47
48 In practice in means that the following:
49
50 {{code language="java"}}
51 engine.evaluate(new VelocityContext(), new StringWriter(), "namespace", "#macro(mymacro)toto#end")
52
53 Writer out = new StringWriter();
54 engine.evaluate(new VelocityContext(), out, "namespace", "#mymacro()")
55
56 System.out.println(out.toString())
57 {{/code}}
58
59 will now print
60
61 {{code language="none"}}
62 #mymacro()
63 {{/code}}
64
65 To get
66
67 {{code language="none"}}
68 toto
69 {{/code}}
70
71 you need the following
72
73 {{code language="java"}}
74 engine.startedUsingMacroNamespace("namespace")
75
76 try {
77 engine.evaluate(new VelocityContext(), new StringWriter(), "namespace", "#macro(mymacro)toto#end")
78
79 Writer out = new StringWriter();
80 engine.evaluate(new VelocityContext(), out, "namespace", "#mymacro()")
81
82 System.out.println(out.toString())
83 } finally {
84 engine.stoppedUsingMacroNamespace("namespace")
85 }
86 {{/code}}
87
88 == Skins system improvements ==
89
90 Support for a new ##skin.properties## configuration file has been introduced in filesystem skins.
91
92 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.
93
94 == Component Metadata Access ==
95
96 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:
97
98 {{code language="java"}}
99 import org.xwiki.component.descriptor.ComponentDescriptor;
100 ...
101 @Component
102 @Singleton
103 public class MyComponentImpl implements MyComponent
104 {
105 @Inject
106 private ComponentDescriptor<MyComponent> descriptor;
107
108 public void doSomething()
109 {
110 String hint = this.descriptor.getRoleHint();
111 ...
112 }
113 }
114 {{/code}}
115
116 == Panels executed with the rights of their author ==
117
118 It's now possible to write script requiring programming right in panels as long as you have programming right, same as wiki macros.
119
120 == UI extensions executed with the rights of their author ==
121
122 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.
123
124 == Miscellaneous ==
125
126 * Added new APIs to get all the icon themes present on the wiki, and all icons that these icon themes contain.(((
127 {{code language="velocity"}}
128 $services.icon.getIconSetNames()
129 $services.icon.getIconNames()
130 $services.icon.getIconNames("Font Awesome")
131 {{/code}}
132 )))
133 * 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.
134 * XWikiAttachment now provide ##setAuthorReference## and ##getAuthorReference## APIs
135 * ##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.
136 * A SOLR-based implementation of the standard REST search resource has been added
137 * 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.
138
139 == Deprecated and Retired projects ==
140
141 <description of deprecated and retired projects>
142
143 == Upgrades ==
144
145 The following dependencies have been upgraded:
146
147 * [[httpclient 4.3.6>>http://jira.xwiki.org/browse/XCOMMONS-681]]
148 * [[commons-codec 1.10>>http://jira.xwiki.org/browse/XCOMMONS-684]]
149 * [[Lucene and SOLR 4.10.2>>http://jira.xwiki.org/browse/XWIKI-10562]]
150 * [[Groovy 2.3.8>>http://jira.xwiki.org/browse/XCOMMONS-704]]
151
152 = Translations =
153
154 The following translations have been updated:
155
156 {{language codes="none, none"/}}
157
158 = Tested Browsers & Databases =
159
160 {{include reference="TestReports.ManualTestReportTemplateSummary"/}}
161
162 = Performances tests compared to <last super stable version> =
163
164 <a summary of the comparison with latest super stable version>
165
166 More details on <link to the test report>.
167
168 = Known issues =
169
170 * [[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]]
171
172 = Backward Compatibility and Migration Notes =
173
174 == General Notes ==
175
176 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.
177
178 == Issues specific to XWiki 6.4-milestone-1 ==
179
180 * VelocityEngine automatically get rid of the passed namespace at the end of execution unless it's protected. See [[Velocity section>>||anchor="HVelocitychanges"]].
181 * 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]].
182
183 == API Breakages ==
184
185 The following APIs were modified since <project> <version - 1>:
186
187 {{code language="none"}}
188 <clirr output here>
189 {{/code}}

Get Connected