Version 14.1 by Thomas Mortagne on 2011/11/09

Hide last authors
Sergiu Dumitriu 1.1 1 {{velocity}}
2 $xwiki.ssx.use("ReleaseNotesXWikiEnterprise30M3")
3 {{/velocity}}
4
Sorin Burjan 8.2 5 {{box cssClass="floatinginfobox" title="**Contents**"}}
6 {{toc/}}
7 {{/box}}
Sergiu Dumitriu 1.1 8
Marta Girdea 2.1 9 Following the [[goals established for the 3.x cycle>>enterprise:Main.Roadmap#HXWikiEnterprise3.xCycle]], XWiki Enterprise 3.2 pushes forward in the directions of the Application Within Minutes and Extension Manager features. The highlights of this release are:
Sergiu Dumitriu 1.1 10
11 * many **extension manager improvements**
Marta Girdea 2.1 12 * new implementation of the **sheet system** making it easier to bind sheets to objects without an explicit inclusion of the sheet in the document content
Sergiu Dumitriu 1.1 13 * **user dashboards** giving each user the possibility to configure their own home page
Sergiu Dumitriu 2.4 14 * introduction of **wiki workspaces**, as a more collaborative way of managing an XWiki virtual farm
Marta Girdea 2.1 15 * improvements of **search results** scoring
Sergiu Dumitriu 1.1 16 * **storage improvements**, bringing in numerous performance and compatibility improvements
Sergiu Dumitriu 2.4 17 * conversion of the **panels application** to the XWiki 2.0+ syntax
Sergiu Dumitriu 1.1 18 * easier activation and configuration of **Google Analytics**
19
20 And on the developers' front:
21
Sergiu Dumitriu 2.4 22 * **CSRF prevention** enabled by default
23 * support for **DocBook syntax**
Vincent Massol 2.8 24 * ##xwiki-commons## and ##xwiki-rendering## are now [[**published on the central Maven2 repository**>>http://search.maven.org/#search%7Cga%7C1%7Corg.xwiki]]
Sergiu Dumitriu 1.1 25 * some major **code cleanup** due to the retirement of some very old plugins and the move of legacy/deprecated code into separate modules
26
Sergiu Dumitriu 6.9 27 We've setup a [[Jira dashboard>>http://jira.xwiki.org/secure/Dashboard.jspa?selectPageId=10581]] to present the work done for the whole 3.2 release. In summary, 338 issues have been closed by 12 committers (and other contributors providing patches), out of which 149 are fixed bugs.
Sergiu Dumitriu 1.1 28
29 = New and Noteworthy (since XWiki Enterprise 3.1) =
30
31 == Extension Manager improvements ==
32
Sergiu Dumitriu 2.4 33 Progressing towards the completion of the extension manager, 3.2 adds support for:
Sorin Burjan 8.2 34
Thomas Mortagne 2.10 35 * [[virtual extensions>>extensions:Extension.Extension Module Virtual Extensions]], or aliases for extensions that have changed their identifier
Thomas Mortagne 3.1 36 * automated 3-way merging of wiki documents, which brings update capabilities for XAR extensions
Sergiu Dumitriu 2.4 37 * better error reporting during installation, upgrade or removal of extensions
Thomas Mortagne 2.9 38 * [[XWiki repository>>extensions:Extension.Extension Module Repository]] REST protocol has been rewritten
Thomas Mortagne 5.1 39 * local extensions repository moved from ##~~/.xwiki## to container persisted directory
Thomas Mortagne 3.1 40 * display all the extensions metadatas when resolving it
Sergiu Dumitriu 2.3 41
Sergiu Dumitriu 1.1 42 == New implementation of the sheet system ==
43
Sorin Burjan 8.2 44 In preparation for the //Application Within Minutes// major feature, this release introduces a new way of associating objects with the sheets used for displaying them. Whereas until now the content of the document had to explicitly contain an ##~{~{include}}## statement in order to display an attached object, an object can pull its sheet automatically. This frees up the document content for a more useful purpose.
Sergiu Dumitriu 1.1 45
Sorin Burjan 8.2 46 The new sheet detection mechanism allows for more flexibility. Whereas with the old ##~{~{include}}## mechanism sheets could only be bound to a specific document, the new implementation brings a plethora of additional options: sheets can be associated globally to a class, they can be differentiated on a specific action (allowing to use different sheets for //view//, //edit// or //export//), they can be specified for different users or groups, or even forced explicitly via request parameters.
Sergiu Dumitriu 1.1 47
Marta Girdea 2.1 48 With the new sheet mechanism, form editing can now be performed using the ##/edit/## action, either automatically for documents containing sheet-bound objects, or explicitly forced using the ##editor=inline## request parameter. In consequence, **the ##/inline/## action has been deprecated**.
Sergiu Dumitriu 1.1 49
Marta Girdea 2.1 50 Most of the classes/sheets bundled with XWiki Enterprise have been updated already to use the new mechanism. Upgraded wiki instances containing documents which still rely on the old sheet inclusion mechanism will continue to work, but it's recommended to update them.
Sergiu Dumitriu 1.1 51
52 You can read more about this feature on the [[Sheet Module>>extensions:Extension.Sheet Module]] documentation page.
53
54 == User Dashboards ==
55
Marta Girdea 2.2 56 After wiki- and space-wide dashboards, this release brings support for personal dashboards. Each user can define their own dashboard in their profile document, and they can use it either in their profile document, or display it instead of the homepage default dashboard.
Sergiu Dumitriu 1.1 57
58 [[image:ReleaseNotes.ReleaseNotesXWikiEnterprise32M2@userdashboard.png||class="screenshot"]]
59
Vincent Massol 13.1 60 == Wiki Workspaces (**Experimental**) ==
Sergiu Dumitriu 1.1 61
Sergiu Dumitriu 2.4 62 We have adopted the [[extensions:Extension.Workspace Application]] as an XWiki platform project. In a few words, the //Workspace Application// allows regular users to create workspaces where they can collaborate on a specific topic. A workspaces is, in essence, a regular subwiki that is to be used by a group of global users. It allows global users to join or be invited and to easily navigate through the available workspaces and back to the main wiki.
Sergiu Dumitriu 1.1 63
Sergiu Dumitriu 2.4 64 The //Workspace Application// is best suited for intranets or any other use case that involves having only global users and going back and forward through projects or departments that are separated in subwikis. It is not intended for environments such as wiki farms, where each subwiki is a bubble, having its own users, oblivious about other subwikis or the main wiki. This later use case is better served by [[XWiki Enterprise Manager>>manager:Main.WebHome]].
65
66 [[image:ReleaseNotes.ReleaseNotesXWikiEnterprise32RC1@create-workspace-entry.png||alt="Create workspace button" class="screenshot"]]
67 [[image:ReleaseNotes.ReleaseNotesXWikiEnterprise32RC1@main-wiki-section-in-a-workspace.png||alt="Main wiki section displayed in top menu while in a workspace" class="screenshot"]]
68 [[image:ReleaseNotes.ReleaseNotesXWikiEnterprise32RC1@workspace-administration-workspaceusers-section.png||alt="Workspace Users section in the workspace's administration section replacing 'Registration' and 'Users'" class="screenshot"]]
69 [[image:ReleaseNotes.ReleaseNotesXWikiEnterprise32RC1@workspaceDirectory.png||alt="Workspace Directory listing available workspaces and available actions" class="screenshot"]]
70
71 The //Workspace Application// is not bundled by default with any XWiki product, but it can be installed as an extension.
72
Thomas Mortagne 14.1 73 {{warning}}
74 Be careful that installing XWiki Workspaces is still difficult at the moment. The idea is to make it simpler in XWiki Enterprise 3.3. However please do try to use it and report any issues you see so that we can take that into account while developing 3.3.
75 {{/warning}}
Vincent Massol 13.1 76
Sergiu Dumitriu 1.1 77 == Improved search results scoring ==
78
Marta Girdea 2.2 79 The search results retrieved by the Lucene plugin have been for a long time the target of many complaints, since documents that were actually relevant for a query usually appeared too low in the results list. This issue has now been improved, by scoring results differently depending on the field where the search query matches. A hit on the document title will ensure that the document will be among the first results, while a hit on the owner document's name of an attached image will place the image towards the end.
Sergiu Dumitriu 1.1 80
81 [[image:ReleaseNotes.ReleaseNotesXWikiEnterprise32M3@search.png||class="screenshot"]]
82
83 == Storage improvements ==
84
Marta Girdea 2.2 85 The version of [[Hibernate>>http://hibernate.org]] used by XWiki has been upgraded to 3.6.7, bringing in numerous performance and compatibility improvements. Additionally, the mapping and configuration files have been reviewed, upgraded and simplified. InnoDB, which used to be only recommended, is now enforced by default when creating a new database or table in MySQL. Further performance enhancements for default installations come from the fact that the proper indexes needed for efficient database access are now auto-created at startup, eliminating the need for manual configuration.
Sergiu Dumitriu 1.1 86
Thomas Mortagne 14.1 87 {{warning}}
88 Note that this could take a very long time to migrate the wiki the first time if there is a lot of datas.
89 {{/warning}}
90
Sergiu Dumitriu 2.4 91 == Converted the Panels application to the new XWiki syntax ==
92
93 Although only a rewrite, with no new features, this makes it easier to edit panels. Several panels have also been cleaned up and optimized, minimizing the use of inline HTML, which was replaced with wiki markup.
94
Sergiu Dumitriu 1.1 95 == Easier activation and configuration of Google Analytics ==
96
Marta Girdea 2.1 97 In older versions, XWiki provided a velocity template that could be edited to enable Google Analytics. Still, this required either access to the server or overriding a template in the skin document, which was not that easy to discover. Starting with this version, there is a custom section in the wiki Administration which makes it extremely easy to enable Google Analytics tracking.
Sergiu Dumitriu 1.1 98
Sorin Burjan 8.2 99 [[image:ReleaseNotes.ReleaseNotesXWikiEnterprise32M3@analytics.png||style="border: 1px solid black;"]]
Sergiu Dumitriu 1.1 100
Marta Girdea 2.1 101 The new implementation also allows to define different tracking accounts for each wiki, and to use more than one tracking account per wiki.
Sergiu Dumitriu 1.1 102
103 = For Developers =
104
105 == CSRF prevention is enabled by default ==
106
abusenius 11.2 107 [[Cross-site request forgery>>https://secure.wikimedia.org/wikipedia/en/wiki/CSRF]] is an exploit which allows a malicious site to perform arbitrary actions on the victim site on behalf of a currently logged in user. Starting with version [[2.5>>ReleaseNotes.ReleaseNotesXWikiEnterprise25#HTestingCSRFprotection]] XWiki comes with a built-in prevention mechanism against CSRF. Although this protection was introduced about a year ago, it wasn't enabled by default since several actions were broken by this change. While we now expect almost everything to work fine, please [[report>>http://jira.xwiki.org/secure/Dashboard.jspa]] any problem you might find.
Sergiu Dumitriu 1.1 108
Sorin Burjan 8.2 109 {{warning}}
abusenius 11.1 110 This feature can break custom applications that don't use the standard form edition mode and instead implement their own forms or form handling mechanism. See the [[Migration notes>>#HFixingapplicationsbrokenbytheCSRFpreventionmechanism]] below for more details about how to fix broken applications. Please note that only the applications that modify or delete data and perform administrative tasks (like changing permissions) are affected.
Sorin Burjan 8.2 111 {{/warning}}
Sergiu Dumitriu 1.1 112
Sorin Burjan 8.2 113 == New rendering features: DocBook syntax and ~{~{comment}} macro ==
Sergiu Dumitriu 2.4 114
115 The XWiki rendering engine includes support for parsing from and rendering into the [[DocBook>>http://en.wikipedia.org/wiki/DocBook]] syntax, thanks to the corresponding Doxia modules. Among other usecases, this means that:
Sorin Burjan 8.2 116
Sergiu Dumitriu 2.4 117 * XWiki pages can be transformed into DocBook documents to be further transformed into other formats, like ##man## pages or epub documents, making XWiki a better tool for documentation writing
118 * existing DocBook documents can be imported directly into an XWiki instance, thereby benefiting from the lifecycle of any wiki document, such as easy on-line editing and instant HTML preview
119 * the xwiki-rendering project can be integrated in a tool to convert wiki markup into DocBook content
120
Sorin Burjan 8.2 121 A new ##~{~{comment}}## macro is provided for including textual comments inside documents, other than HTML ##<!~-~-comments ~-~->## inside a ##~{~{html}}## macro or Velocity ###* comments *### inside a ##~{~{velocity}}## macro.
Sergiu Dumitriu 2.4 122
123 {{code language="none"}}
124 Visible text. {{comment}}This text won't be visible in the resulting HTML page{{/comment}} And this is visible again.
125 {{/code}}
126
Sergiu Dumitriu 1.1 127 == Improvements to the Suggestion and Spotlight Search widgets ==
128
Sergiu Dumitriu 2.4 129 Extensive polishing and bugfixing work has been done for the Spotlight-like search, making it more stable and easier to use and customize. Some improvements include the option to display only one "//loading//" status for all the suggestion sources, the option to display hints next to each search result, better highlighting of matches between the input text and the displayed items, plus various bugfixes.
Sergiu Dumitriu 1.1 130
Sergiu Dumitriu 2.3 131 [[image:ReleaseNotes.ReleaseNotesXWikiEnterprise32M2@suggest.png||class="screenshot"]]
132
Sergiu Dumitriu 1.1 133 == New JavaScript testing framework ==
134
135 Unit tests for JavaScript code can now be written using the [[Jasmine framework>>http://pivotal.github.com/jasmine/]] for behavioral-driven development.
136
137 Example [[tests>>https://github.com/xwiki/xwiki-platform/blob/xwiki-platform-3.2-rc-1/xwiki-platform-core/xwiki-platform-web/src/test/javascript/spec/suggest.js]] for the [[input suggestions widget>>https://github.com/xwiki/xwiki-platform/blob/xwiki-platform-3.2-rc-1/xwiki-platform-core/xwiki-platform-web/src/main/webapp/resources/uicomponents/suggest/suggest.js]]:
138
139 {{code language="javascript"}}
140 describe("Suggest", function() {
141 describe("Emphasis Matcher", function() {
142 it("emphasizes a single match", function() {
143 var result = XWiki.widgets.Suggest.prototype.emphasizeMatches("Typed", "Value with Typed word");
144 expect("Value with <em>Typed</em> word").toEqual(result);
145 });
146
147 it("emphasizes several matches", function() {
148 var result = XWiki.widgets.Suggest.prototype.emphasizeMatches("Words Typed", "A Selection Of Words Been Typed");
149 expect("A Selection Of <em>Words</em> Been <em>Typed</em>").toEqual(result);
150 });
151
152 it("emphasizes repeated matches", function() {
153 var result = XWiki.widgets.Suggest.prototype.emphasizeMatches("To Be", "To Be, Or Not To Be");
154 expect("<em>To</em> <em>Be</em>, Or Not <em>To</em> <em>Be</em>").toEqual(result);
155 });
156
157 it("preserves original case", function() {
158 var result = XWiki.widgets.Suggest.prototype.emphasizeMatches("wOrDs TypEd By An eMo kID", "Words Typed By John Doe");
159 expect("<em>Words</em> <em>Typed</em> <em>By</em> John Doe").toEqual(result);
160 });
161
162 it("is neutral when there are no match", function() {
163 var result = XWiki.widgets.Suggest.prototype.emphasizeMatches("Rock'n'roll", "Bring me A bowl of coffee before I turn into a goat");
164 expect("Bring me A bowl of coffee before I turn into a goat").toEqual(result);
165 });
166 });
167 });
168 {{/code}}
169
170 == Named parameters for the event stream ==
171
Marta Girdea 2.1 172 The new [[event stream module>>extensions:Extension.Event Stream Module]] offers support for arbitrarily named parameters to be associated with stored events. This is a better way of dealing with extra parameters than the old up to 5 numbered parameters supported by the ActivityStream plugin. The limitation is that both the name and the value must be strings of at most 255 characters. Read more about the event stream module and how to use these named parameters in [[the module's documentation>>extensions:Extension.Event Stream Module]].
Sergiu Dumitriu 1.1 173
174 == GPG signed artifacts ==
175
Marta Girdea 2.1 176 Starting with this release, all build artifacts will be signed by one of the XWiki developers using a PGP signature. Such signatures are available in [[our maven repository>>http://maven.xwiki.org/releases/org/]] as ##.asc## files next to each artifact. We advise you to check the signatures of the files you download to make sure there are no problems with them.
Sergiu Dumitriu 1.1 177
178 To check the signatures, you should:
179
180 # Install GPG, if it's not already installed on your system
181 # Download both the artifact and its ##.asc## counterpart
Sorin Burjan 8.2 182 # Run ##gpg ~-~-verify ~-~-keyserver-options auto-key-retrieve=true //artifact-file.jar.asc//##
Sergiu Dumitriu 1.1 183
Sergiu Dumitriu 2.3 184 == Official HTTPS support ==
185
186 While our sysadmins have been able for a very long time to use the right configuration for Tomcat, Apache HTTPD and the AJP connector between them, starting with 3.2 the XWiki community pledges to officially maintain proper HTTPS support for XWiki.
187
Sergiu Dumitriu 1.1 188 == ##xwiki-commons## and ##xwiki-rendering## published on the central maven repository ==
189
190 Starting with this version, [[##xwiki-commons##>>http://repo1.maven.org/maven2/org/xwiki/commons/]] and [[##xwiki-rendering##>>http://repo1.maven.org/maven2/org/xwiki/rendering/]] are deployed on the central maven repository, which makes it easier to reuse modules from these projects inside a third party application, unrelated to XWiki.
191
192 == New location for storing persistent data ==
193
Marta Girdea 2.1 194 Because of a [[bug>>http://jira.xwiki.org/browse/XWIKI-6959]] in the old core, it was very hard to configure a directory where data could be safely stored. This bug has been fixed for the 3.2 release. Additionally, a new [[API>>http://jira.xwiki.org/browse/XWIKI-6957]] for accessing this directory has been introduced, a few components have been updated to use this location, and in the default standalone distribution a new ##data/## directory is configured to store permanent data.
Sergiu Dumitriu 1.1 195
Sorin Burjan 8.2 196 {{warning}}
197 Read the [[migration notes below>>#HIssuesspecifictoXWikiEnterprise3.2]] for important details about migrating existing data into the new location.
198 {{/warning}}
Sergiu Dumitriu 6.4 199
Sergiu Dumitriu 1.1 200 == Deprecated and Retired projects ==
201
Sergiu Dumitriu 6.5 202 By default, the platform is now free of legacy code. Deprecated features have been officially removed, but are still included via aspects for backwards compatibility in the final distribution packages. For each module that had legacy code, there is a corresponding module in ##xwiki-commons-legacy## or ##xwiki-platform-legacy## that generates an extended ##jar## containing the deprecated classes or methods on top of the clean code. Apart from moving already deprecated code, such as [[old observation events>>https://github.com/xwiki/xwiki-platform/tree/xwiki-platform-3.2-rc-1/xwiki-platform-core/xwiki-platform-legacy/xwiki-platform-legacy-observation]] or [[the backwards-compatibility aspects for the old core>>https://github.com/xwiki/xwiki-platform/tree/xwiki-platform-3.2-rc-1/xwiki-platform-core/xwiki-platform-legacy/xwiki-platform-legacy-oldcore/src/main/aspect/compatibility]], new deprecations appeared in this release:
Sergiu Dumitriu 1.1 203
204 * the old [[XWikiCache API>>https://github.com/xwiki/xwiki-platform/tree/xwiki-platform-3.2-rc-1/xwiki-platform-core/xwiki-platform-legacy/xwiki-platform-legacy-oldcore/src/main/java/com/xpn/xwiki/cache]], replaced by the [[cache module>>extensions:Extension.Cache Module]]
205 * the old [[notification system>>https://github.com/xwiki/xwiki-platform/tree/xwiki-platform-3.2-rc-1/xwiki-platform-core/xwiki-platform-legacy/xwiki-platform-legacy-oldcore/src/main/java/com/xpn/xwiki/notify]], replaced by the [[observation module>>extensions:Extension.Observation Module]]
Sergiu Dumitriu 2.3 206 * the support for the old [[@Requirement>>https://github.com/xwiki/xwiki-commons/tree/xwiki-commons-3.2-rc-1/xwiki-commons-core/xwiki-commons-legacy/xwiki-commons-legacy-component]] way of declaring injected dependencies; ##@Inject## combined with ##@Named## should be used instead
Sergiu Dumitriu 1.1 207
Sergiu Dumitriu 6.5 208 Several very old and unmaintained projects have been retired as repositories in the [[xwiki-contrib organization on GitHub>>https://github.com/xwiki-contrib/]]:
Sergiu Dumitriu 1.1 209
210 * [[adwords plugin>>https://github.com/xwiki-contrib/plugin-adwords]]
211 * [[Albatross skin>>https://github.com/xwiki-contrib/skin-albatross]]
212 * [[alexa plugin>>https://github.com/xwiki-contrib/plugin-alexa]]
213 * [[calendar plugin and application>>https://github.com/xwiki-contrib/plugin-calendar]]
214 * [[exoplatform plugin>>https://github.com/xwiki-contrib/plugin-exoplatform]]
215 * [[photo album application>>https://github.com/xwiki-contrib/application-photoalbum]]
216 * [[S5 presentation application>>https://github.com/xwiki-contrib/application-s5]]
217 * [[workstream application>>https://github.com/xwiki-contrib/application-workstream]]
218
Sergiu Dumitriu 6.3 219 The swizzle-based plugin for interacting with Jira has been replaced by a new [[jira module>>extensions:Extension.JIRA Module]] which uses the new REST APIs offered by Jira instead of the deprecated XML-RPC services. The old swizzle plugin code is no longer maintained, but it can be retrieved from [[older tags>>https://github.com/xwiki/xwiki-platform/tree/xwiki-platform-3.2-milestone-1/xwiki-platform-core/xwiki-platform-swizzle]].
220
Sergiu Dumitriu 2.3 221 == Various ==
222
223 * [[XCOMMONS-14>>http://jira.xwiki.org/jira/browse/XCOMMONS-14]]: Added new XML manipulation methods to the ##XMLUtils## helper class.
224 * [[XCOMMONS-17>>http://jira.xwiki.org/jira/browse/XCOMMONS-17]]: Added a bridge that converts LogBack log events into observable events.
225 * [[XCOMMONS-19>>http://jira.xwiki.org/jira/browse/XCOMMONS-19]]: Added new methods to ##$escapetool## for encoding test into the [[Quoted-Printable>>http://tools.ietf.org/html/rfc2045#section-6.7]] and the [[B and Q>>http://tools.ietf.org/html/rfc2047]] MIME encodings. These methods are usually needed when generating emails.
226 * [[XWIKI-6832>>http://jira.xwiki.org/browse/XWIKI-6832]]: Added support for OpenOffice 3.3.
227
Sergiu Dumitriu 1.1 228 == Upgrades ==
229
230 The following dependencies have been upgraded:
231
232 * Aether 1.13
233 * batik-rasterizer 1.7
234 * commons-configuration 1.7
235 * commons-lang 3.0.1
236 * Doxia 1.2
237 * Groovy 1.8.2
238 * Hibernate 3.6.7 Final (and related dependencies)
Sergiu Dumitriu 2.3 239 * hibernate-validator 4.2.0.Final
Sergiu Dumitriu 1.1 240 * HTML Cleaner 2.2
241 * Jetty 7.4.5
Sergiu Dumitriu 6.6 242 * JodConverter 3.0-beta-4-xwiki-20110822
Sergiu Dumitriu 1.1 243 * jruby 1.6.3
244 * Logback 0.9.30
245 * Lucene 3.4
246 * Reflections 0.9.5
247 * Selenium 2.7.0
248 * slf4j 1.6.2
249
250 == Miscellaneous ==
251
Sergiu Dumitriu 2.3 252 Besides the major features described above, this release brings lots of bug fixes as well as improvements in various domains of XWiki, including color theme usage and refreshing, observation events, annotations, multilingual mode, PDF export, special characters handling, section editing, deleted document and attachments trash, flickering integration tests, and many build reusability and enforcements. See the [[full list of closed issues>>http://jira.xwiki.org/secure/IssueNavigator.jspa?reset=true&jqlQuery=category+in+%28%22Top+Level+Projects%22%29+and+fixVersion+in+%28%223.2+M1%22%2C+%223.2+M2%22%2C+%223.2+M3%22%2C+%223.2+RC1%22%2C+%223.2%22%29+and+resolution+in+%28%22Fixed%22%29]] and the release notes for 3.2 [[Milestone 1>>ReleaseNotesXWikiEnterprise32M1]], [[Milestone 2>>ReleaseNotesXWikiEnterprise32M2]], [[Milestone 3>>ReleaseNotesXWikiEnterprise32M3]] and [[Release Candidate 1>>ReleaseNotesXWikiEnterprise32RC1]] for details.
Sergiu Dumitriu 1.1 253
254 == Translations ==
255
Ecaterina Moraru (Valica) 12.1 256 The following translations have been updated:
Sergiu Dumitriu 1.1 257
Ecaterina Moraru (Valica) 12.1 258 {{language codes="de, fr, it, lv, nl, ru, sv, zh"/}}
259
Vincent Massol 8.1 260 = Supported Browsers =
261
262 Here's the list of supported browsers for this version (i.e. browsers that we've tested as working):
263
Ecaterina Moraru (Valica) 9.1 264 {{browser name="iexplorer" version="8"/}}
Sorin Burjan 8.2 265
Ecaterina Moraru (Valica) 9.1 266 {{browser name="iexplorer" version="9"/}}
267
268 {{browser name="firefox" version="3.6.23"/}}
269
270 {{browser name="firefox" version="7.0"/}}
271
272 {{browser name="firefox" version="7.0.1"/}}
273
274 {{browser name="chrome" version="14"/}}
275
Ecaterina Moraru (Valica) 10.1 276 (% class="clearfloats" %)
277 (((
278
279 )))
280
281
282
Sergiu Dumitriu 1.1 283 = Known issues =
284
285 * [[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]]
286
287 = Test Report =
288
289 You can check the [[manual test report>>TestReports.WebHome#HVersions3.2.x]] to learn about what was tested and the results on various browsers.
290
291 = Backward Compatibility and Migration Notes =
292
293 == General Notes ==
294
295 {{warning}}
296 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,...//.
297 {{/warning}}
298
Marta Girdea 2.1 299 You may also want to [[import the default wiki XAR>>Main.Download]] in order to benefit from all the improvements listed above.
Sergiu Dumitriu 1.1 300
301 {{warning}}
Sergiu Dumitriu 6.8 302 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.
Sergiu Dumitriu 1.1 303 {{/warning}}
304
Sergiu Dumitriu 2.3 305 == Issues specific to XWiki Enterprise 3.2 ==
Sergiu Dumitriu 1.1 306
Sergiu Dumitriu 2.4 307 * The behavior of the HTML Macro has changed slightly (as a consequence of the upgrade to HTML Cleaner 2.2): CDATA elements not located inside SCRIPT or STYLE elements are now removed when cleaned (i.e. when the ##clean## parameter is ##true##). If you don't want any cleaning done, use ##clean="false"##.
Sergiu Dumitriu 2.3 308 * Since the Lucene engine has been upgraded to a new major version, you should completely rebuild the index. This can be done from the main wiki administration, in the //Search// section.
Sergiu Dumitriu 6.3 309 * See the [[retired section>>#HDeprecatedandRetiredprojects]] above for the list of removed modules. The most important one is the **removal of the Albatross skin** from the distribution. Be careful to review your ##xwiki.cfg## file and update the ##xwiki.defaultskin## and ##xwiki.defaultbaseskin## properties and make sure their values is now ##colibri## (unless you wish to continue using Albatross, in which case you'll need to install an older release of the Albatross skin in your installation).
Sergiu Dumitriu 2.3 310 * The **ehcache** library is no longer packaged by default. If you've configured a second level hibernate cache using this library, make sure you manually download it in the libs or replace your configuration with another cache engine.
Vincent Massol 2.7 311 * The **oscache** based implementation of the xwiki cache module is no longer packaged by default. If you'd like to use this specific implementation, make sure you explicitly include it in your distributions.
Sergiu Dumitriu 2.3 312 * See the backward compatibility and migration notes for the new implementation of the [[sheet system>>extensions:Extension.Sheet Module]].
313 * The permanent data storage directory is now by default ##data##, in the root of the standalone distribution. This is where you'll find, for example, the Lucene index, the custom extensions installed by the extension manager, or the attachments when the filesystem attachment storage is configured. If you're upgrading from an older version, make sure you first move the existing data from the ##jetty/work/## directory. You can configure the location of the permanent data storage in ##xwiki.properties## via the ##container.persistentDirectory## setting, and, for older code using the ##XWiki.getWorkDirectory## method, in ##xwiki.cfg## via the ##xwiki.work.dir## setting.
Sergiu Dumitriu 1.1 314
Sergiu Dumitriu 6.1 315 === Fixing applications broken by the CSRF prevention mechanism ===
316
317 If your application has been broken by this change, usually all it takes to make it compatible with the CSRF prevention mechanism is to add a hidden field inside the submitted forms, or to add a request parameter to the data-altering URLs:
318
319 {{code language="none"}}
320 Inside forms:
321 <input type="hidden" name="form_token" value="$!{services.csrf.getToken()}" />
322
323 Inside URLs:
324 $doc.getURL('action', "parameters=values&form_token=$!{services.csrf.getToken()}")
325 $xwiki.getURL('Some.Document', 'action', "parameters=values&form_token=$!{services.csrf.getToken()}")
326 {{/code}}
327
328 If you want to completely disable this feature, edit ##WEB-INF/xwiki.properties## and add ##csrf.enabled = false## at the end.
329
Sergiu Dumitriu 1.1 330 == API Breakages ==
331
332 The following xwiki-core APIs were modified since XWiki Enterprise 3.1:
333
334 {{code language="none"}}
Sergiu Dumitriu 7.1 335 org.xwiki.component.annotation.Requirement: Class org.xwiki.component.annotation.Requirement removed
336 org.xwiki.component.logging.AbstractLogEnabled: Class org.xwiki.component.logging.AbstractLogEnabled removed
337 org.xwiki.component.logging.Logger: Class org.xwiki.component.logging.Logger removed
338 org.xwiki.component.logging.VoidLogger: Class org.xwiki.component.logging.VoidLogger removed
339 org.xwiki.component.phase.LogEnabled: Class org.xwiki.component.phase.LogEnabled removed
340 org.xwiki.component.util.ReflectionUtils: Added final modifier to class
341 org.xwiki.component.util.ReflectionUtils: Accessibility of method 'public ReflectionUtils()' has been decreased from public to private
342 org.xwiki.component.logging.AbstractLogger: Class org.xwiki.component.logging.AbstractLogger removed
343 org.xwiki.component.logging.DefaultLogger: Class org.xwiki.component.logging.DefaultLogger removed
344 com.xpn.xwiki.plugin.activitystream.api.ActivityEvent: Method 'public java.util.Map getParameters()' has been added to an interface
345 com.xpn.xwiki.plugin.activitystream.api.ActivityEvent: Method 'public void setParameters(java.util.Map)' has been added to an interface
346 org.xwiki.bridge.AttachmentNameFactory: Class org.xwiki.bridge.AttachmentNameFactory removed
347 org.xwiki.bridge.AttachmentNameSerializer: Class org.xwiki.bridge.AttachmentNameSerializer removed
348 org.xwiki.bridge.DocumentAccessBridge: Method 'public int getObjectNumber(org.xwiki.model.reference.DocumentReference, org.xwiki.model.reference.DocumentReference, java.lang.String, java.lang.String)' has been added to an interface
349 org.xwiki.bridge.DocumentAccessBridge: Method 'public java.lang.Object getProperty(org.xwiki.model.reference.ObjectReference, java.lang.String)' has been added to an interface
350 org.xwiki.bridge.DocumentAccessBridge: Method 'public java.lang.Object getProperty(org.xwiki.model.reference.ObjectPropertyReference)' has been added to an interface
351 org.xwiki.bridge.DocumentAccessBridge: Method 'public java.lang.Object getProperty(org.xwiki.model.reference.DocumentReference, org.xwiki.model.reference.DocumentReference, int, java.lang.String)' has been added to an interface
352 org.xwiki.bridge.DocumentNameFactory: Class org.xwiki.bridge.DocumentNameFactory removed
353 org.xwiki.bridge.DocumentNameSerializer: Class org.xwiki.bridge.DocumentNameSerializer removed
354 org.xwiki.container.ApplicationContext: Method 'public java.io.File getPermanentDirectory()' has been added to an interface
355 org.xwiki.container.Request: Method 'public java.util.List getProperties(java.lang.String)' has been added to an interface
356 org.xwiki.container.portlet.PortletApplicationContext: In method 'public PortletApplicationContext(javax.portlet.PortletContext)' the number of arguments has changed
357 org.xwiki.container.servlet.ServletApplicationContext: In method 'public ServletApplicationContext(javax.servlet.ServletContext)' the number of arguments has changed
358 org.xwiki.eventstream.Event: Method 'public java.util.Map getParameters()' has been added to an interface
359 org.xwiki.eventstream.Event: Method 'public void setParameters(java.util.Map)' has been added to an interface
360 org.xwiki.gwt.dom.client.Style$IEFloatProperty: Class org.xwiki.gwt.dom.client.Style$IEFloatProperty removed
361 com.xpn.xwiki.api.Api: Method 'public boolean checkProgrammingRights()' has been removed
362 com.xpn.xwiki.api.Context: Method 'public boolean isVirtual()' has been removed
363 com.xpn.xwiki.api.Document: Method 'public com.xpn.xwiki.stats.impl.DocumentStats getCurrentMonthWebStats(java.lang.String)' has been removed
364 com.xpn.xwiki.api.StatsService: Method 'public com.xpn.xwiki.XWikiContext ajc$superDispatch$com_xpn_xwiki_api_StatsService$getXWikiContext()' has been removed
365 com.xpn.xwiki.api.StatsService: Method 'public com.xpn.xwiki.stats.impl.DocumentStats getCurrentMonthXWikiStats(java.lang.String)' has been removed
366 com.xpn.xwiki.api.StatsServiceCompatibilityAspect: Class com.xpn.xwiki.api.StatsServiceCompatibilityAspect removed
367 com.xpn.xwiki.api.XWiki: Removed field ajc$interField$com_xpn_xwiki_api_XWikiCompatibilityAspect$util
368 com.xpn.xwiki.api.XWiki: Method 'public int add(int, int)' has been removed
369 com.xpn.xwiki.api.XWiki: Method 'public long add(long, long)' has been removed
370 com.xpn.xwiki.api.XWiki: Method 'public java.lang.String add(java.lang.String, java.lang.String)' has been removed
371 com.xpn.xwiki.api.XWiki: Method 'public com.xpn.xwiki.XWiki ajc$privFieldGet$com_xpn_xwiki_api_XWikiCompatibilityAspect$com_xpn_xwiki_api_XWiki$xwiki(com.xpn.xwiki.api.XWiki)' has been removed
372 com.xpn.xwiki.api.XWiki: Method 'public void ajc$privFieldSet$com_xpn_xwiki_api_XWikiCompatibilityAspect$com_xpn_xwiki_api_XWiki$xwiki(com.xpn.xwiki.api.XWiki, com.xpn.xwiki.XWiki)' has been removed
373 com.xpn.xwiki.api.XWiki: Method 'public com.xpn.xwiki.XWikiContext ajc$superDispatch$com_xpn_xwiki_api_XWiki$getXWikiContext()' has been removed
374 com.xpn.xwiki.api.XWiki: Method 'public java.lang.String clearAccents(java.lang.String)' has been removed
375 com.xpn.xwiki.api.XWiki: Method 'public java.lang.String clearName(java.lang.String)' has been removed
376 com.xpn.xwiki.api.XWiki: Method 'public int copyWikiWeb(java.lang.String, java.lang.String, java.lang.String, java.lang.String, boolean)' has been removed
377 com.xpn.xwiki.api.XWiki: Method 'public java.lang.String escapeText(java.lang.String)' has been removed
378 com.xpn.xwiki.api.XWiki: Method 'public java.lang.String escapeURL(java.lang.String)' has been removed
379 com.xpn.xwiki.api.XWiki: Method 'public java.lang.String generateRandomString(int)' has been removed
380 com.xpn.xwiki.api.XWiki: Method 'public java.util.List getArrayList()' has been removed
381 com.xpn.xwiki.api.XWiki: Method 'public java.util.Date getCurrentDate()' has been removed
382 com.xpn.xwiki.api.XWiki: Method 'public java.util.Date getDate()' has been removed
383 com.xpn.xwiki.api.XWiki: Method 'public java.util.Date getDate(long)' has been removed
384 com.xpn.xwiki.api.XWiki: Method 'public java.lang.String getDocLanguagePreference()' has been removed
385 com.xpn.xwiki.api.XWiki: Method 'public java.lang.String getFormEncoded(java.lang.String)' has been removed
386 com.xpn.xwiki.api.XWiki: Method 'public java.lang.String getHTMLArea(java.lang.String)' has been removed
387 com.xpn.xwiki.api.XWiki: Method 'public java.util.Map getHashMap()' has been removed
388 com.xpn.xwiki.api.XWiki: Method 'public java.lang.String getMessage(java.lang.String)' has been removed
389 com.xpn.xwiki.api.XWiki: Method 'public java.lang.String getNl()' has been removed
390 com.xpn.xwiki.api.XWiki: Method 'public com.xpn.xwiki.api.Object getNull()' has been removed
391 com.xpn.xwiki.api.XWiki: Method 'public java.util.Collection getRecentActions(java.lang.String, int)' has been removed
392 com.xpn.xwiki.api.XWiki: Method 'public int getTimeDelta(long)' has been removed
393 com.xpn.xwiki.api.XWiki: Method 'public java.util.Map getTreeMap()' has been removed
394 com.xpn.xwiki.api.XWiki: Method 'public java.lang.String getURLEncoded(java.lang.String)' has been removed
395 com.xpn.xwiki.api.XWiki: Method 'public java.lang.String getWebCopyright()' has been removed
396 com.xpn.xwiki.api.XWiki: Method 'public java.lang.String getWebPreference(java.lang.String)' has been removed
397 com.xpn.xwiki.api.XWiki: Method 'public java.lang.String getWebPreference(java.lang.String, java.lang.String)' has been removed
398 com.xpn.xwiki.api.XWiki: Method 'public int getWebPreferenceAsInt(java.lang.String)' has been removed
399 com.xpn.xwiki.api.XWiki: Method 'public int getWebPreferenceAsInt(java.lang.String, int)' has been removed
400 com.xpn.xwiki.api.XWiki: Method 'public long getWebPreferenceAsLong(java.lang.String)' has been removed
401 com.xpn.xwiki.api.XWiki: Method 'public long getWebPreferenceAsLong(java.lang.String, long)' has been removed
402 com.xpn.xwiki.api.XWiki: Method 'public java.lang.String getWebPreferenceFor(java.lang.String, java.lang.String)' has been removed
403 com.xpn.xwiki.api.XWiki: Method 'public java.lang.String getWebPreferenceFor(java.lang.String, java.lang.String, java.lang.String)' has been removed
404 com.xpn.xwiki.api.XWiki: Method 'public java.lang.String getXMLEncoded(java.lang.String)' has been removed
405 com.xpn.xwiki.api.XWiki: Method 'public boolean isVirtual()' has been removed
406 com.xpn.xwiki.api.XWiki: Method 'public void outputImage(java.awt.image.BufferedImage)' has been removed
407 com.xpn.xwiki.api.XWiki: Method 'public double parseDouble(java.lang.String)' has been removed
408 com.xpn.xwiki.api.XWiki: Method 'public float parseFloat(java.lang.String)' has been removed
409 com.xpn.xwiki.api.XWiki: Method 'public int parseInt(java.lang.String)' has been removed
410 com.xpn.xwiki.api.XWiki: Method 'public java.lang.Integer parseInteger(java.lang.String)' has been removed
411 com.xpn.xwiki.api.XWiki: Method 'public long parseLong(java.lang.String)' has been removed
412 com.xpn.xwiki.api.XWiki: Method 'public java.lang.String parseMessage()' has been removed
413 com.xpn.xwiki.api.XWiki: Method 'public java.lang.String parseMessage(java.lang.String)' has been removed
414 com.xpn.xwiki.api.XWiki: Method 'public java.lang.String printStrackTrace(java.lang.Throwable)' has been removed
415 com.xpn.xwiki.api.XWiki: Method 'public void sendMessage(java.lang.String, java.lang.String, java.lang.String)' has been removed
416 com.xpn.xwiki.api.XWiki: Method 'public void sendMessage(java.lang.String, java.lang.String[], java.lang.String)' has been removed
417 com.xpn.xwiki.api.XWiki: Method 'public java.util.List sort(java.util.List)' has been removed
418 com.xpn.xwiki.api.XWiki: Method 'public java.lang.String[] split(java.lang.String, java.lang.String)' has been removed
419 com.xpn.xwiki.api.XWiki: Method 'public java.lang.String sqlfilter(java.lang.String)' has been removed
420 com.xpn.xwiki.api.XWiki: Method 'public java.lang.Number toNumber(com.xpn.xwiki.api.Object)' has been removed
421 com.xpn.xwiki.api.XWikiCompatibilityAspect: Class com.xpn.xwiki.api.XWikiCompatibilityAspect removed
422 com.xpn.xwiki.cache.api.XWikiCache: Class com.xpn.xwiki.cache.api.XWikiCache removed
423 com.xpn.xwiki.cache.api.XWikiCacheNeedsRefreshException: Class com.xpn.xwiki.cache.api.XWikiCacheNeedsRefreshException removed
424 com.xpn.xwiki.cache.api.XWikiCacheService: Class com.xpn.xwiki.cache.api.XWikiCacheService removed
425 com.xpn.xwiki.user.api.XWikiRightService: Method 'public boolean hasWikiAdminRights(com.xpn.xwiki.XWikiContext)' has been added to an interface
426 compatibility.com.xpn.xwiki.api.ApiCompatibilityAspect: Class compatibility.com.xpn.xwiki.api.ApiCompatibilityAspect removed
427 compatibility.com.xpn.xwiki.api.ContextCompatibilityAspect: Class compatibility.com.xpn.xwiki.api.ContextCompatibilityAspect removed
428 compatibility.com.xpn.xwiki.api.DocumentCompatibilityAspect: Class compatibility.com.xpn.xwiki.api.DocumentCompatibilityAspect removed
429 com.xpn.xwiki.plugin.lucene.IndexRebuilder: Method 'protected int addTranslationsOfDocument(com.xpn.xwiki.doc.XWikiDocument, com.xpn.xwiki.XWikiContext)' has been removed
430 com.xpn.xwiki.plugin.lucene.SearchResults: In method 'public SearchResults(org.apache.lucene.search.Hits, com.xpn.xwiki.api.XWiki, com.xpn.xwiki.XWikiContext)' the number of arguments has changed
431 com.xpn.xwiki.plugin.lucene.SearchResults: Accessibility of method 'public SearchResults(org.apache.lucene.search.Hits, com.xpn.xwiki.api.XWiki, com.xpn.xwiki.XWikiContext)' has been decreased from public to package
432 com.xpn.xwiki.plugin.tag.TagPlugin: Removed field LOG
433 com.xpn.xwiki.plugin.globalsearch.GlobalSearchPlugin: Removed field LOG
434 com.xpn.xwiki.plugin.globalsearch.GlobalSearchPluginApi: Removed field LOG
435 com.xpn.xwiki.plugin.wikimanager.WikiManager: Removed field LOG
436 com.xpn.xwiki.plugin.wikimanager.WikiManager: Method 'public void importPackage(java.lang.String, java.lang.String, com.xpn.xwiki.XWikiContext)' has been removed
437 com.xpn.xwiki.plugin.wikimanager.WikiManagerPlugin: Removed field LOG
438 com.xpn.xwiki.plugin.wikimanager.WikiManagerPluginApi: Removed field LOG
439 com.xpn.xwiki.plugin.wikimanager.doc.Wiki: Removed field LOG
440 org.xwiki.gwt.wysiwyg.client.plugin.submit.IESubmitPlugin: Class org.xwiki.gwt.wysiwyg.client.plugin.submit.IESubmitPlugin removed
Sergiu Dumitriu 1.1 441 {{/code}}

Get Connected