Wiki source code of Release Notes for XWiki 5.1

Version 16.1 by Marius Dumitru Florea on 2013/07/03

Hide last authors
Marius Dumitru Florea 1.1 1 {{box cssClass="floatinginfobox" title="**Contents**"}}
2 {{toc/}}
3 {{/box}}
4
5 This is the release notes for XWiki Platform, XWiki Enterprise and XWiki Enterprise Manager. 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 5.0.3) =
10
11 [[Full list of issues fixed and Dashboard for 5.1>>http://jira.xwiki.org/secure/Dashboard.jspa?selectPageId=11595]].
12
Marius Dumitru Florea 2.1 13 == Solr is the default search engine ==
Marius Dumitru Florea 1.1 14
Marius Dumitru Florea 2.1 15 We have redesigned the Solr search page to include faceted search and we improved the display of the advanced search options and the search results.
Marius Dumitru Florea 1.1 16
Marius Dumitru Florea 4.1 17 {{image reference="solr-search.png" width="400px"/}}
Marius Dumitru Florea 2.1 18
19 The Solr search module now automatically indexes all modifications made to the wiki. A synchronization background job is started at each XWiki startup to make sure the solr index and the database are in sync (only updates what needs to be updated). The manual indexing in the administration UI should also be a lot more stable since all the actual reading of wiki documents and their indexing is now done in a safe background thread.
20
Marius Dumitru Florea 7.1 21 {{image reference="solr-admin.png" width="400px"/}}
Marius Dumitru Florea 2.1 22
Thomas Mortagne 3.1 23 Entities are now indexed with the list of supported locales (among the available locales). This means that if your current locale is "fr_FR" you will find all entities that you would have seen when the current locale is "fr_FR". For example if a document does not have any "fr_FR" explicit version you will still find the version you would have seen when going to that document (generally the default version of the document or the "fr" version of the document if any since the parent locale of "fr_FR" is "fr"). We call it locale inheritance.
Marius Dumitru Florea 2.1 24
25 See the documentation for the [[Solr Search Application>>doc:extensions:Extension.Solr Search Application]] for more details.
26
Marius Dumitru Florea 8.1 27 == Menu Application ==
28
29 We have rewritten the [[Navigation Menu Wiki Macro>>doc:extensions:Extension.Navigation Menu Wiki Macro]] and the [[Navigation Menu Config Application>>doc:extensions:Extension.NavigationMenuConfig]] into a single application that can help you create navigation menus to be displayed either horizontally as a top bar after the page header or vertically in a side panel. See the documentation page of the new [[Menu Application>>doc:extensions:Extension.Menu Application]] for details.
30
Marius Dumitru Florea 10.1 31 {{image reference="ReleaseNotesXWiki51RC1@menuViewPage.png" width="400px"/}}
Marius Dumitru Florea 8.1 32
Marius Dumitru Florea 1.1 33 == Miscellaneous ==
34
Marius Dumitru Florea 9.1 35 * When an user wants to change his password, he now has to enter his current password for more security. Live validation of his new password validity (length) has also been added.
Marius Dumitru Florea 11.1 36 {{image reference="ReleaseNotesXWiki51M1@ChangeOwnPassword .png" width="400px"/}}
Marius Dumitru Florea 9.1 37 * The attachment upload input now remains visible after uplading one or more files:(((
Marius Dumitru Florea 11.1 38 {{image reference="ReleaseNotesXWiki51M1@attachmentUpload.png" width="400px"/}}
Marius Dumitru Florea 9.1 39 )))
40 * The "Send to" input from the [[Share page>>doc:platform:Features.DocumentLifecycle||anchor="HSharePagebyEmail"]] dialog displays a scope toggle when you are in a subwiki (or an workspace) that allows you to control whether the suggested users are local or global.(((
Marius Dumitru Florea 11.1 41 {{image reference="ReleaseNotesXWiki51M1@sharePage-scopeToggle.png" width="400px"/}}
Marius Dumitru Florea 9.1 42 )))
43 * We changed the dashboard to display the gadget actions when hovering the gadget.(((
Marius Dumitru Florea 11.1 44 {{image reference="ReleaseNotesXWiki51RC1@gadgetActions.png" width="400px"/}}
Marius Dumitru Florea 9.1 45 )))
46 * Moved the User Directory feature [[to an application on its own>>extensions:Extension.User Directory Application]].
47 * Moved the XWiki Syntax Help feature [[to an application on its own>>extensions:Extension.Help Application]].
48 * More documents marked as hidden by default: ##Blog.News, Blog.Other, Blog.Personal, Main.Activity, Main.MessageSenderMacro, Main.Tags, Sandbox.WebPreferences, XWiki.WebHome, XWiki.XWikiAdminGroup, XWiki.XWikiAllGroup, XWiki.SearchConfig##
49 * Added support for new Google Analytics "Universal" tracking method.
Marius Dumitru Florea 1.1 50
51 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%2C+XEM%29+and+status+%3D+Closed+and+resolution+%3D+Fixed+and+fixVersion+in+%28%225.1-milestone-1%22%2C+%225.1-milestone-2%22%2C+%225.1-rc-1%22%2C+%225.1%22%29&tempMax=1000]] fixed in this release.
52
53 = For Developers =
54
Marius Dumitru Florea 14.1 55 == Merging WARs with Packager plugin ==
Marius Dumitru Florea 1.1 56
Marius Dumitru Florea 14.1 57 We added a ##contextPathMapping## configuration parameter to the Packager Maven plugin to allow us to bind WAR artifact IDs to the context path where they should be extracted. Here's an example:
Marius Dumitru Florea 1.1 58
Marius Dumitru Florea 14.1 59 {{code language="xml"}}
60 <plugin>
61 <groupId>org.xwiki.platform</groupId>
62 <artifactId>xwiki-platform-tool-packager-plugin</artifactId>
63 ...
64 <configuration>
65 <contextPathMapping>
66 <!-- Merge the WYSIWYG editor WAR with the platform web WAR. -->
67 <xwiki-platform-wysiwyg-war>xwiki</xwiki-platform-wysiwyg-war>
68 </contextPathMapping>
69 </configuration>
70 </plugin>
71 {{/code}}
Marius Dumitru Florea 1.1 72
Marius Dumitru Florea 14.1 73 The Packager plugin looks for WAR artifacts in the list of dependencies. If no WAR-type dependencies are found then the following WARs are used, with the corresponding default context path binding:
Marius Dumitru Florea 1.1 74
Marius Dumitru Florea 14.1 75 {{code language="none"}}
76 xwiki-platform-web: xwiki
77 xwiki-platform-tool-rootwebapp: root
78 {{/code}}
79
80 If more WARs share the same context path then they are merged. Of course, in this case the order in the list of dependencies is important because the last WAR can overwrite files from the previous ones. When no mapping is defined for a WAR, its artifact id is used instead as context path.
81
Marius Dumitru Florea 1.1 82 == Upgrades ==
83
84 The following dependencies have been upgraded:
85
Marius Dumitru Florea 13.1 86 * commons-compress 1.5
87 * commons-codec 1.8
88 * diffutils 1.3
89 * Doxia 1.4
90 * Groovy 2.1.5
91 * HTMLCleaner 2.5
92 * httpclient 4.2.5
93 * JGroups 3.3
94 * jQuery 1.10.1
95 * logback 1.0.13
96 * Lucene and Solr 4.3
97 * Require.js 2.1.6
Marius Dumitru Florea 1.1 98
99 == Miscellaneous ==
100
Marius Dumitru Florea 14.1 101 Client side:
Marius Dumitru Florea 1.1 102
Marius Dumitru Florea 14.1 103 * We added a new [[special CSS class name>>doc:platform:DevGuide.SpecialCSSClasses]], ##useTitleAsTip##, that, combined with ##withTip##, will allow you to have a tip (place-holder) different than the initial value of the text input.
104 * A new URL parameter has been added to reference non aggregated JavaScript files: ##?minify=false##. See the [[Debugging Guide>>dev:Community.Debugging||anchor="HDebuggingJavaScript"]].
105 * A new 'jQueryNoConflict' module is available. All it does is calling ##jQuery.noConflict(false)## to prevent conflicts with Prototype.js (with respect to ##$## global variable):(((
106 {{code language="javascript"}}
107 require(['jQueryNoConflict'], function($) {
108 // Your code here.
109 })
110 {{/code}}
111 )))
112
113 Scripting:
114
115 * Added API to easily create a DocumentReference from a LocalDocumentReference
116 {{code language="java"}}DocumentReference documentReference = new DocumentReference(localReference, wikiReference);{{/code}}
117 * A new Velocity macro is available to display the title of a [[sheet>>doc:extensions:Extension.Sheet Module]]. Most of the times when you have a sheet you want to display some text when the user visits the sheet page and something different when the user visits a page where the sheet is applied. Up until now the solution was to write an if in the sheet title to check if the current document is the sheet. E.g.:(((
118 {{code language="velocity"}}#if ($doc.fullName == 'AppWithinMinutes.LiveTableViewSheet')LiveTable View Sheet#{else}#evaluate($doc.title)#end{{/code}}
119 This can now be written as:
120 {{code language="velocity"}}#sheetTitle('LiveTable View Sheet' $doc.fullName.equals('AppWithinMinutes.LiveTableViewSheet')){{/code}}
121 or, if the sheet has an object of type ##XWiki.SheetDescriptorClass##:
122 {{code language="velocity"}}#sheetTitle('LiveTable View Sheet'){{/code}}
123 )))
124 * Add render method in Localization module taking syntax without parameters:(((
125 {{code language="velocity"}}
126 $services.localization.render('some.key', 'xhtml/1.0')
127 {{/code}}
128 )))
129 * Added [[new ##language## and ##currentlanguage## Query Filters>>extensions:Extension.Query Module||anchor="HFromVelocity"]]
130
131 REST:
132
133 * All REST responses now specify the version of XWiki running on the server in the ##XWiki-Version## HTTP header, and the current user in the ##XWiki-User## header.
134 * You can now provide a version summary (comment) when updating a page using REST. You can retrieve the version summary either by getting the page or by getting the page history, in which case you get the summary for each page revision.
135
136 Backend:
137
138 * A new method to add a custom Job to the JobManager:(((
139 {{code language="java"}}
140 Job myjob = new MyJob();
141 this.jobManager.addJob(myjob);
142 {{/code}}
143 )))
144 * Jobs don't share the same ##ExecutionContext## anymore.
145 * A new Runnable wrapper to initialize and dispose ##ExecutionContext##:(((
146 {{code language="java"}}
147 Thread thread = new Thread(new ExecutionContextRunnable(runnable, componentManger));
148 thread.start();
149 {{/code}}
150 )))
151 * It's now possible to write Rendering Integration tests using Mockito. For example:(((
152 {{code language="java"}}
153 @RunWith(RenderingTestSuite.class)
154 @RenderingTestSuite.Scope("wiki")
155 @AllComponents
156 public class WikiIntegrationTests
157 {
158 @RenderingTestSuite.Initialized
159 public void initialize(MockitoComponentManager componentManager) throws Exception
160 {
161 componentManager.registerComponent(MockWikiModel.getComponentDescriptor());
162
163 // Add InterWiki Definition for links28 test
164 DefaultRenderingConfiguration renderingConfiguration =
165 (DefaultRenderingConfiguration) componentManager.getInstance(RenderingConfiguration.class);
166 renderingConfiguration.addInterWikiDefinition("knownalias", "http://server/common/url/");
167 }
168 }
169 {{/code}}
170 )))
171
172 Other:
173
174 * The WYSIWYG editor administration section has been moved from the [[Administration Application>>doc:extensions:Extension.Administration Application]] to its own module under ##xwiki-platform-wysiwyg##.
175
Marius Dumitru Florea 1.1 176 = Translations =
177
178 The following translations have been updated:
179
Marius Dumitru Florea 15.1 180 {{language codes="da, de, fr, lv, pt_BR, ru, sv"/}}
Marius Dumitru Florea 1.1 181
182 = Tested Browsers & Databases =
183
Manuel Smeria 2.2 184 {{include reference="TestReports.ManualTestReportXWiki51Summary"/}}
Marius Dumitru Florea 1.1 185
186 = Known issues =
187
188 * [[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]]
189
190 = Backward Compatibility and Migration Notes =
191
192 == General Notes ==
193
194 You may also want to [[import the default wiki XAR>>Main.Download]] in order to benefit from all the improvements listed above.
195
196 {{warning}}
197 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.
198 {{/warning}}
199
Marius Dumitru Florea 16.1 200 == GIF Silk icon set no longer available ==
Marius Dumitru Florea 1.1 201
Marius Dumitru Florea 16.1 202 The [[Silk icon set>>http://www.famfamfam.com/lab/icons/silk/]] has always been officially provided in PNG format. However, since they use Alpha transparency, a feature not supported by Internet Explorer 6, we provided our own GIF version of the icon set, with simple transparency. Once we dropped support for IE6, we also included the official PNG version, with the goal of transitioning from the jagged GIF version to the nicer looking PNGs. The time has come to deprecate the GIF icons, so they are no longer available in the non-legacy builds of XWiki Enterprise. However, the official releases will still have the icons included for a while, so it's unlikely that this deprecation will break custom applications.
Marius Dumitru Florea 1.1 203
Marius Dumitru Florea 16.1 204 However, an update of the documents that still use the GIF icons is recommended. Since the base icon name is the same, all that's required is to change the extension from ##.gif## to ##.jpg## to use the right icons.
205
206 == User email ==
207
208 The data type of the 'email' property from the user profile has changed from ##String## to ##Email##, a specialized type [[introduced in 4.2>>ReleaseNotes.ReleaseNotesXWiki42||anchor="HNewfieldtypesforemailandlistofpages"]]. Unfortunately this change doesn't apply automatically when you upgrade from an older version so you have to do it your self:
209
210 (((
211 1. edit ##XWiki.XWikiUsers## with the class editor
212 1. delete the 'email' property
213 1. add a new property of type ##Email## named 'email' with 'e-Mail' as pretty name
214 1. save
215 )))
216
217 The values of both ##String## and ##Email## data types are stored in the same database table so there souldn't be any migration issues for existing users.
218
Marius Dumitru Florea 1.1 219 == API Breakages ==
220
221 The following APIs were modified since XWiki 5.0.3:
222
223 * Young API: New method to separate job setup from job start to put real jobs in queue.(((
224 {{code language="none"}}
225 org.xwiki.job.Job: Method 'public void initialize(org.xwiki.job.Request)' has been added to an interface
226 {{/code}}
227 )))
228 * Young API: New method to add a custom Job to the queue.(((
229 {{code language="none"}}
230 org.xwiki.job.JobManager: Method 'public void addJob(org.xwiki.job.Job)' has been added to an interface
231 {{/code}}
232 )))
233 * Needed to fix [[XWIKI-9251>>http://jira.xwiki.org/browse/XWIKI-9251]] and the IRC Bot API is still relatively new and not a mainstream API used by lots of people.(((
234 {{code language="none"}}
235 org.xwiki.ircbot.IRCBot: Method 'public java.lang.String getWikiId()' has been added to an interface
236 {{/code}}
237 )))
238 * Young API: The URL module has never been finished and we started working on it again.(((
239 {{code language="none"}}
240 org.xwiki.url.InvalidURLException: Class org.xwiki.url.InvalidURLException removed
241 {{/code}}
242 )))

Get Connected