Version 21.1 by Vincent Massol on 2012/01/13

Show last authors
1 {{box cssClass="floatinginfobox" title="**Contents**"}}
2 {{toc/}}
3 {{/box}}
4
5 This is the first and only milestone of the XWiki Enterprise 3.4 version ([[Roadmap>>Main.Roadmap]]). We're getting closer to the end of the 3.x cycle and the goal of this release (and the following one, which will be the last of the cycle) is to improve the current features.
6
7 = New and Noteworthy (since XWiki Enterprise 3.3 version) =
8
9 == New default color theme ==
10
11 Starting with XE 3.4 we added new CSS3 rules into Colibri skin and a new default ColorTheme that is aligned with these changes. These CSS3 changes plus the usage of .png files instead of .gif for our icons ([[XWIKI-7355>>http://jira.xwiki.org/browse/XWIKI-7355]]) further even more the gap and compatibility with the IE6 and IE7 browsers.
12
13 To accomodate the need for additional color variables in order to be able to have gradients, we've mixed some ColorTheme variables together. As a consequence the bundled ColorThemes are considered now deprecated (because of incompatible variable mix) and will be replaced by other new ColorThemes in further versions (XE 3.4RC1).
14
15 {{warning}}This means that custom build ColorThemes or skins build on top of Colibri may not be compatible with the recent changes when doing an upgrade. {{/warning}}
16
17 In order to solve this problem you have two solutions: adjust your custom ColorThemes with the new changes or don't upgrade the following files: ColorThemes.DefaultColorTheme, XWiki.AdminSheet, colibri/colibri.css. colibri/ie-all.css.
18
19 [[[[image:NewDefaultColorTheme.png||style="border:1px solid gray; padding: 0.2em; width:600px;"]]>>attach:NewDefaultColorTheme.png]]
20
21 == XWiki Syntax 2.1 is the default page syntax ==
22
23 Even though the XWiki Syntax 2.1 has been available for a long time already, it was marked experimental. We've now made it final which means no more changes will be brought to the XWiki Syntax 2.1 (any new change will be made in a new XWiki Syntax 2.2).
24
25 As a reminder here are below the differences between XWiki Syntax 2.0 and XWiki Syntax 2.1.
26
27 === Changes to the link syntax from XWiki Syntax 2.0 ===
28
29 The query string and the anchor (URL fragment) are no longer specified in the reference section of the link syntax:
30
31 (% class="box code" %)
32 ~[~[Link Specification>>platform:Main.XWikiSyntax||**queryString**="foo=bar" **anchor**="HXWikiSyntax2.1LinkSpecification"]]
33
34 links to:
35
36 (% class="box code" %)
37 http:~/~/platform.xwiki.org/xwiki/bin/view/Main/XWikiSyntax**?**foo=bar**#**HXWikiSyntax2.1LinkSpecification
38
39 The canonical representation of a link reference is prefixed with the reference type:
40
41 (% class="box code" %)
42 ~[~[Source repository>>**url:**https:~/~/github.com/organizations/xwiki]]
43 ~[~[Syntax Help>>**doc:**platform:Main.XWikiSyntax]]
44
45 InterWiki links have a dedicated reference type:
46
47 (% class="box code" %)
48 ~[~[XWiki on Wikipedia>>**interwiki:**wikipedia:XWiki]]
49
50 Two new reference types: relative path and [[UNC (Universal Naming Convention)>>http://en.wikipedia.org/wiki/Path_%28computing%29#Uniform_Naming_Convention]].
51
52 (% class="box code" %)
53 ~[~[Edit this page>>**path:**$doc.getURL('edit')]]
54 ~[~[File system access>>**unc:**~\~\myserver\path\to\file.txt]]
55
56 See the [[full link specification>>platform:Main.XWikiSyntax#HXWikiSyntax2.1LinkSpecification]] for more details.
57
58 === Changes to the image syntax from XWiki Syntax 2.0 ===
59
60 You can pass the query string of the image URL as a special image parameter:
61
62 (% class="box code" %)
63 ~[~[image~:MyPage@myPicture.png||**queryString**="parameter=value"]]
64
65 You can use a relative path as the image reference. This is useful to display images from the skin:
66
67 (% class="box code" %)
68 image~:**path:**$xwiki.getSkinFile('logo.png')
69
70 It is now possible to reference an icon from the [[XWiki Icon Set>>http://www.famfamfam.com/lab/icons/silk/previews/index_abc.png]]:
71
72 (% class="box code" %)
73 image~:**icon:**chart_pie
74
75 See the [[full image specification>>platform:Main.XWikiSyntax#HXWikiSyntax2.1ImageSpecification]] for more details.
76
77 == Delete space menu ==
78
79 You can now delete an entire space using the Space menu. This will move all the pages from that space to the recycle bin. Note that in case you want to restore the space you have to restore each page individually from the recycle bin. We're hoping to offer a way to easily restore the space in the next versions.
80
81 [[image:DeleteSpaceMenu.png||style="border:1px solid gray; padding: 0.2em;"]]
82
83 == Simple space templates ==
84
85 You can now create simple space templates. If you go to Templates section of the wiki administration and create a new template provider you'll notice that you can choose the template type. "Space homepage" templates are used to create new spaces.
86
87 [[image:SpaceTemplateProvider.png||style="border:1px solid gray; padding: 0.2em;"]]
88
89 All the available space templates are listed on the Create Space dialog that you can access from the Add > Space menu.
90
91 [[image:CreateSpace.png||style="border:1px solid gray; padding: 0.2em;"]]
92
93 XWiki Enterprise comes by default with a space dashboard template which can be used to create a new space whose home page is a dashboard.
94
95 == Special characters in attachment name ==
96
97 Starting with this version, non-ASCII characters are not filtered anymore from the file name when uploading an attachment.
98
99 == Minimized action menu ==
100
101 The action menu is now minimized when the page is scrolled. You can access it by hovering the top of the browser window.
102
103 [[image:MinimizedActionMenu.png||style="border:1px solid gray; padding: 0.2em;"]]
104
105 == Display macro ==
106
107 New display macro to replace include macro with context=new. See [[extensions:Extension.Display Macro]] for more details.
108
109 = Bug fixes and improvements =
110
111 * Tree view from document index should work fine in Internet Explorer 9.
112 * Adding users to a group through the administration should work fine in Internet Explorer 9.
113 * Extension manager UI has been polished. {{todo}}Sergiu/Thomas: Anything to add here?{{/todo}}
114 * Created workspaces should now be stabilized and no longer report errors after an XWiki restart or in the Administration section.
115
116 = For Developers =
117
118 * Component manager bug fixes and improvements (including an important optimization which should bring a significant speed improvement)
119 * [[StringUtils>>http://commons.apache.org/lang/api/org/apache/commons/lang3/StringUtils.html]] can be accessed in Velocity using ##$stringtool##
120 * ###stop## Velocity directive is working again
121 * You can now stop the execution of a Velocity macro or template using ###break($macro)## and ###break($template)## respectively. ##$template## can also be used to find the name of the current Velocity name space (usually the name of the current Velocity template).
122 * [[Markdown>>http://en.wikipedia.org/wiki/Markdown]] syntax support added.
123 * The database migration code has been fully rewritten:
124 ** [[XWIKI-7006>>http://jira.xwiki.org/browse/XWIKI-7006]] Accessing a store that is not migrated to the lastest data version should not be allowed
125 ** [[XWIKI-1859>>http://jira.xwiki.org/browse/XWIKI-1859]] Do not start migrations on a clean installation of XWiki
126 * [[XWIKI-7323>>http://jira.xwiki.org/browse/XWIKI-7323]] Add a Maven "functional-test" custom lifecycle for functional tests {{todo}}Vincent: Is this worth mentioning? Anything to add?{{/todo}}
127 * Oracle support improved
128 ** [[XWIKI-6368>>http://jira.xwiki.org/browse/XWIKI-6368]] - Exception "inconsistent datatypes" on VisitStats in Oracle 10g
129 ** [[XWIKI-7278>>http://jira.xwiki.org/browse/XWIKI-7278]] - Virtual mode fails on Oracle with "ORA-01435: user does not exist"
130 * Interface changes
131 ** [[XWIKI-7326>>http://jira.xwiki.org/browse/XWIKI-7326]] - now available the .png version for the icons in the Silk icons set (the .gif versions will gradually be replaced)
132 ** [[XWIKI-7307>>http://jira.xwiki.org/browse/XWIKI-7307]] - in order to write more easily all the proprietary declarations for CSS3 background gradients and box-sizing properties you can use the following macros: #css3_backgroundLinearGradient, #css3_backgroundIconAndLinearGradient and #css3_boxSizing
133
134 == Upgrades ==
135
136 The following dependencies have been upgraded:
137
138 * AETHER 1.13.1
139 * Groovy 1.8.5
140 * Hibernate 3.6.8 Final
141 * jdeb 0.9
142 * Restlet 2.0.x
143 * SmartGWT 3.0
144
145 == Translations ==
146
147 The following translations have been updated:
148
149 {{language codes="de, es, fr, hi, hr, lv, ru, sv, uk, zh_TW"/}}
150
151 = Tested Browsers =
152
153 Here's the list of browsers tested with this version (i.e. browsers that we've tested as working - Check the list of [[supported browsers>>dev:Community.BrowserSupportStrategy]]):
154
155 {{browser name="firefox" version="9.0.1"/}}
156
157 {{browser name="chrome" version="16"/}}
158
159 = Known issues =
160
161 * [[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]]
162
163 = Test Report =
164
165 You can check the [[manual test report>>TestReports.ManualTestReportXE34M1]] to learn about what was tested and the results on various browsers.
166
167 = Backward Compatibility and Migration Notes =
168
169 == General Notes ==
170
171 {{warning}}
172 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,...//.
173 {{/warning}}
174
175 You may also want to [[import the default wiki XAR>>Main.Download]] in order to benefit from all the improvements listed above.
176
177 {{warning}}
178 Always make sure you compare your ##xwiki.cfg## and ##xwiki.properties## files with the newest version since some configuration parameters were 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.
179 {{/warning}}
180
181 == Issues specific to XWiki Enterprise 3.4 Milestone 1 ==
182
183 === Default wiki access method changed to path-based ===
184
185 In virtual mode, XWiki can work in two ways: based on domain names, where each virtual wiki is accessed from a different DNS domain, like ##__wikiname__.myfarm.net##, and path-based, where each virtual wiki is accessed on a different path of the same domain, like ##www.myfarm.net/wikis/__wikiname__/##. Since the former mode is harder to set up, since it requires a custom DNS server, we have enabled the second mode by default in this release.
186
187 {{warning}}
188 When merging the xwiki.cfg for the migration process, keep in mind that the value of 'xwiki.virtual.usepath' has been changed to a default of 1 instead of 0. If your wiki is set to virtual mode and is using subdomains to access subwikis, make sure to set 'xwiki.virtual.usepath' to 0.
189 {{/warning}}
190
191 == API Breakages ==
192
193 The following APIs were modified since version 3.3:
194
195 {{code language="none"}}
196 ERROR: 7012: org.xwiki.component.manager.ComponentEventManager: Method 'public void notifyComponentRegistered(org.xwiki.component.descriptor.ComponentDescriptor, org.xwiki.component.manager.ComponentManager)' has been added to an interface
197 ERROR: 7012: org.xwiki.component.manager.ComponentEventManager: Method 'public void notifyComponentUnregistered(org.xwiki.component.descriptor.ComponentDescriptor, org.xwiki.component.manager.ComponentManager)' has been added to an interface
198 ERROR: 7004: org.xwiki.component.annotation.ComponentAnnotationLoader: In method 'public void initialize(org.xwiki.component.manager.ComponentManager, java.lang.ClassLoader, java.util.List, java.util.List)' the number of arguments has changed
199 ERROR: 3005: org.xwiki.annotation.event.AbstractAnnotationEvent: Added abstract modifier to class
200 ERROR: 7009: org.xwiki.annotation.reference.IndexedObjectReference: Accessibility of method 'public void setName(java.lang.String)' has been decreased from public to protected
201 ERROR: 4001: com.xpn.xwiki.plugin.applicationmanager.ApplicationManagerPlugin: Removed org.xwiki.observation.EventListener from the set of implemented interfaces
202 ERROR: 7002: com.xpn.xwiki.plugin.applicationmanager.ApplicationManagerPlugin: Method 'public java.util.List getEvents()' has been removed
203 ERROR: 7002: com.xpn.xwiki.plugin.applicationmanager.ApplicationManagerPlugin: Method 'public void onEvent(org.xwiki.observation.event.Event, java.lang.Object, java.lang.Object)' has been removed
204 ERROR: 7002: org.xwiki.cache.eviction.EntryEvictionConfiguration: Method 'public void setAlgotithm(org.xwiki.cache.eviction.EntryEvictionConfiguration$Algorithm)' has been removed
205 ERROR: 7009: org.xwiki.model.reference.AttachmentReference: Accessibility of method 'public void setParent(org.xwiki.model.reference.EntityReference)' has been decreased from public to protected
206 ERROR: 7009: org.xwiki.model.reference.AttachmentReference: Accessibility of method 'public void setType(org.xwiki.model.EntityType)' has been decreased from public to protected
207 ERROR: 7009: org.xwiki.model.reference.ClassPropertyReference: Accessibility of method 'public void setParent(org.xwiki.model.reference.EntityReference)' has been decreased from public to protected
208 ERROR: 7009: org.xwiki.model.reference.ClassPropertyReference: Accessibility of method 'public void setType(org.xwiki.model.EntityType)' has been decreased from public to protected
209 ERROR: 7009: org.xwiki.model.reference.DocumentReference: Accessibility of method 'public void setParent(org.xwiki.model.reference.EntityReference)' has been decreased from public to protected
210 ERROR: 7009: org.xwiki.model.reference.DocumentReference: Accessibility of method 'public void setType(org.xwiki.model.EntityType)' has been decreased from public to protected
211 ERROR: 7002: org.xwiki.model.reference.DocumentReference: Method 'public void setWikiReference(org.xwiki.model.reference.WikiReference)' has been removed
212 ERROR: 7002: org.xwiki.model.reference.EntityReference: Method 'public org.xwiki.model.reference.EntityReference clone()' has been removed
213 ERROR: 7002: org.xwiki.model.reference.EntityReference: Method 'public java.lang.Object clone()' has been removed
214 ERROR: 7002: org.xwiki.model.reference.EntityReference: Method 'public org.xwiki.model.reference.EntityReference getChild()' has been removed
215 ERROR: 7014: org.xwiki.model.reference.EntityReference: Method 'public java.lang.String getName()' is now final
216 ERROR: 7014: org.xwiki.model.reference.EntityReference: Method 'public org.xwiki.model.reference.EntityReference getParent()' is now final
217 ERROR: 7014: org.xwiki.model.reference.EntityReference: Method 'public org.xwiki.model.EntityType getType()' is now final
218 ERROR: 7002: org.xwiki.model.reference.EntityReference: Method 'public void setChild(org.xwiki.model.reference.EntityReference)' has been removed
219 ERROR: 7009: org.xwiki.model.reference.EntityReference: Accessibility of method 'public void setName(java.lang.String)' has been decreased from public to protected
220 ERROR: 7009: org.xwiki.model.reference.EntityReference: Accessibility of method 'public void setParent(org.xwiki.model.reference.EntityReference)' has been decreased from public to protected
221 ERROR: 7009: org.xwiki.model.reference.EntityReference: Accessibility of method 'public void setType(org.xwiki.model.EntityType)' has been decreased from public to protected
222 ERROR: 7009: org.xwiki.model.reference.ObjectPropertyReference: Accessibility of method 'public void setParent(org.xwiki.model.reference.EntityReference)' has been decreased from public to protected
223 ERROR: 7009: org.xwiki.model.reference.ObjectPropertyReference: Accessibility of method 'public void setType(org.xwiki.model.EntityType)' has been decreased from public to protected
224 ERROR: 7012: org.xwiki.model.reference.ObjectPropertyReferenceResolver: Method 'public org.xwiki.model.reference.ObjectPropertyReference resolve(java.lang.Object, java.lang.Object[])' has been added to an interface
225 ERROR: 7009: org.xwiki.model.reference.ObjectReference: Accessibility of method 'public void setParent(org.xwiki.model.reference.EntityReference)' has been decreased from public to protected
226 ERROR: 7009: org.xwiki.model.reference.ObjectReference: Accessibility of method 'public void setType(org.xwiki.model.EntityType)' has been decreased from public to protected
227 ERROR: 7012: org.xwiki.model.reference.ObjectReferenceResolver: Method 'public org.xwiki.model.reference.ObjectReference resolve(java.lang.Object, java.lang.Object[])' has been added to an interface
228 ERROR: 7009: org.xwiki.model.reference.SpaceReference: Accessibility of method 'public void setParent(org.xwiki.model.reference.EntityReference)' has been decreased from public to protected
229 ERROR: 7009: org.xwiki.model.reference.SpaceReference: Accessibility of method 'public void setType(org.xwiki.model.EntityType)' has been decreased from public to protected
230 ERROR: 7009: org.xwiki.model.reference.WikiReference: Accessibility of method 'public void setType(org.xwiki.model.EntityType)' has been decreased from public to protected
231 ERROR: 7002: com.xpn.xwiki.api.XWiki: Method 'public com.xpn.xwiki.plugin.query.XWikiQuery createQueryFromRequest(java.lang.String)' has been removed
232 ERROR: 7002: com.xpn.xwiki.api.XWiki: Method 'public java.lang.String displaySearch(java.lang.String, java.lang.String)' has been removed
233 ERROR: 7002: com.xpn.xwiki.api.XWiki: Method 'public java.lang.String displaySearch(java.lang.String, java.lang.String, com.xpn.xwiki.plugin.query.XWikiCriteria)' has been removed
234 ERROR: 7002: com.xpn.xwiki.api.XWiki: Method 'public java.lang.String displaySearch(java.lang.String, java.lang.String, java.lang.String, com.xpn.xwiki.plugin.query.XWikiCriteria)' has been removed
235 ERROR: 7002: com.xpn.xwiki.api.XWiki: Method 'public java.lang.String displaySearchColumns(java.lang.String, com.xpn.xwiki.plugin.query.XWikiQuery)' has been removed
236 ERROR: 7002: com.xpn.xwiki.api.XWiki: Method 'public java.lang.String displaySearchColumns(java.lang.String, java.lang.String, com.xpn.xwiki.plugin.query.XWikiQuery)' has been removed
237 ERROR: 7002: com.xpn.xwiki.api.XWiki: Method 'public java.lang.String displaySearchOrder(java.lang.String, com.xpn.xwiki.plugin.query.XWikiQuery)' has been removed
238 ERROR: 7002: com.xpn.xwiki.api.XWiki: Method 'public java.lang.String displaySearchOrder(java.lang.String, java.lang.String, com.xpn.xwiki.plugin.query.XWikiQuery)' has been removed
239 ERROR: 7002: com.xpn.xwiki.api.XWiki: Method 'public java.util.List search(com.xpn.xwiki.plugin.query.XWikiQuery)' has been removed
240 ERROR: 7002: com.xpn.xwiki.api.XWiki: Method 'public java.lang.String searchAsTable(com.xpn.xwiki.plugin.query.XWikiQuery)' has been removed
241 ERROR: 8001: org.xwiki.query.QueryExecutorProvider: Class org.xwiki.query.QueryExecutorProvider removed
242 ERROR: 5001: org.xwiki.rest.XWikiAuthentication: Removed org.restlet.Filter from the list of superclasses
243 ERROR: 5001: org.xwiki.rest.XWikiAuthentication: Removed org.restlet.Guard from the list of superclasses
244 ERROR: 5001: org.xwiki.rest.XWikiAuthentication: Removed org.restlet.Uniform from the list of superclasses
245 ERROR: 7004: org.xwiki.rest.XWikiAuthentication: In method 'public int authenticate(org.restlet.data.Request)' the number of arguments has changed
246 ERROR: 7006: org.xwiki.rest.XWikiAuthentication: Return type of method 'public int authenticate(org.restlet.data.Request)' has been changed to boolean
247 ERROR: 7002: org.xwiki.rest.XWikiAuthentication: Method 'public boolean checkSecret(org.restlet.data.Request, java.lang.String, char[])' has been removed
248 ERROR: 5001: org.xwiki.rest.XWikiRestletJaxRsApplication: Removed org.restlet.Uniform from the list of superclasses
249 ERROR: 5001: org.xwiki.rest.XWikiRestletServlet: Removed com.noelios.restlet.ext.servlet.ServerServlet from the list of superclasses
250 ERROR: 5001: org.xwiki.rest.XWikiSetupCleanupFilter: Removed org.restlet.Filter from the list of superclasses
251 ERROR: 5001: org.xwiki.rest.XWikiSetupCleanupFilter: Removed org.restlet.Uniform from the list of superclasses
252 ERROR: 7005: org.xwiki.rest.XWikiSetupCleanupFilter: Parameter 1 of 'protected void afterHandle(org.restlet.data.Request, org.restlet.data.Response)' has changed its type to org.restlet.Request
253 ERROR: 7005: org.xwiki.rest.XWikiSetupCleanupFilter: Parameter 2 of 'protected void afterHandle(org.restlet.data.Request, org.restlet.data.Response)' has changed its type to org.restlet.Response
254 ERROR: 7005: org.xwiki.rest.XWikiSetupCleanupFilter: Parameter 1 of 'protected int beforeHandle(org.restlet.data.Request, org.restlet.data.Response)' has changed its type to org.restlet.Request
255 ERROR: 7005: org.xwiki.rest.XWikiSetupCleanupFilter: Parameter 2 of 'protected int beforeHandle(org.restlet.data.Request, org.restlet.data.Response)' has changed its type to org.restlet.Response
256 ERROR: 7005: org.xwiki.rest.XWikiSetupCleanupFilter: Parameter 1 of 'protected javax.servlet.http.HttpServletRequest getHttpRequest(org.restlet.data.Request)' has changed its type to org.restlet.Request
257 ERROR: 5001: org.xwiki.rest.resources.BrowserAuthenticationResource: Removed org.restlet.Handler from the list of superclasses
258 ERROR: 5001: org.xwiki.rest.resources.BrowserAuthenticationResource: Removed org.restlet.resource.Resource from the list of superclasses
259 ERROR: 7005: org.xwiki.rest.resources.BrowserAuthenticationResource: Parameter 2 of 'public BrowserAuthenticationResource(org.restlet.Context, org.restlet.data.Request, org.restlet.data.Response)' has changed its type to org.restlet.Request
260 ERROR: 7005: org.xwiki.rest.resources.BrowserAuthenticationResource: Parameter 3 of 'public BrowserAuthenticationResource(org.restlet.Context, org.restlet.data.Request, org.restlet.data.Response)' has changed its type to org.restlet.Response
261 {{/code}}

Get Connected