Wiki source code of Release Notes for XWiki 7.3

Last modified by Thomas Mortagne on 2023/10/13

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 This is a stabilisation release focusing on the Nested Pages feature which was introduced in XWiki 7.2.
8 Lots of polishing has been done for the Nested Pages feature integration, targeting the consequences on the UI redesign and the changes at applications level. The release includes a couple of bug fixes, a few dependency upgrades and new UI extension points available for extension developers.
9
10 {{error}}
11 The following blocking issues were found after this version was released. You should verify if you're using the affected features and if so, you can click on them to see in which version they are fixed:
12
13 {{jira url="https://jira.xwiki.org" style="list" source="jql"}}
14 category = "Top Level Projects" and affectedVersion in ("7.3-milestone-1", "7.3-milestone-2", "7.3-rc-1", "7.3") and fixVersion > "7.3" and priority = Blocker and resolution = Fixed
15 {{/jira}}
16
17 In addition, after XWiki 7.3 was released, we've noticed that when using the EXE distribution on Windows, XWiki fails to start when it's installed in the Program Files directory (or any read-only directory). This is now [[fixed>>https://jira.xwiki.org/browse/XWIKI-12814]] in future XWiki versions but if you don't want to upgrade you can follow [[this workaround>>https://jira.xwiki.org/browse/XWIKI-12806?focusedCommentId=88765&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-88765]]. Also note that some invalid characters appear at the beginning of start_xwiki.bat but they don't prevent the script from executing properly.
18 {{/error}}
19
20 = New and Noteworthy (since XWiki 7.2) =
21
22 [[Full list of issues fixed and Dashboard for 7.3>>https://jira.xwiki.org/secure/Dashboard.jspa?selectPageId=13500]].
23
24 == Flamingo ==
25
26 === Navigation bar ===
27
28 The user's avatar is now displayed between the search icon and the drawer icon:
29
30 (((
31 {{image reference="[email protected]"/}}
32 )))
33
34 Also, the search bar at the top of the screen has been improved a bit. When the user clicks on the search button, the search bar is opened and gets the focus. Then, when the users clicks in some other place, the search bar is closed, slowly.
35
36 * Closed:(((
37 {{image reference="[email protected]"/}}
38 )))
39 * Open:(((
40 {{image reference="[email protected]"/}}
41 )))
42
43 === Menus ===
44
45 The "More Options" menu has been split and a new "Page Administration" menu has been introduced:
46
47 {{gallery}}
48 image:ReleaseNotesXWiki73M2@content_menus.png
49 image:[email protected]
50 image:[email protected]
51 {{/gallery}}
52
53 === Delete ===
54
55 * The delele UI now uses the 'title' and 'location' columns to list the children that may be affected by the delete action:(((
56 {{image reference="[email protected]" width="33%"/}}
57 )))
58
59 === Drawer ===
60
61 * In the Drawer (top right menu), the pages for which the user doesn't have permissions to access are not displayed anymore.
62
63 == Breadcrumb ==
64
65 When the hierarchy of a Nested Pages is long, we do not display it entirely any more. Instead, we display a limited version, that the user can expand by clicking on the "ellipsis" character ('...'):
66
67 * limited:(((
68 {{image reference="[email protected]"/}}
69 )))
70 * full:(((
71 {{image reference="[email protected]"/}}
72 )))
73
74 Note that this behavior have also been added to all hierarchy breadcrumbs, including location of search results, etc...
75
76 (((
77 {{image reference="[email protected]"/}}
78 )))
79
80 The breadcrumb has now support for tree navigation. Each breadcrumb element has a drop down tree that shows the siblings and the children, helping you navigate easily around the wiki.
81
82 {{image reference="[email protected]"/}}
83
84 The breadcrumb tree navigation doesn't show the document translations any more when multilingual is disabled, because navigating to a document translation when multilingual is off doesn't have any effect: the default translation is displayed instead. You can still see the translations in the [[Page Index Tree>>extensions:Extension.Index Application||anchor="HAllDocumentsinatreeview"]] though.
85
86 == Flamingo Theme Editor ==
87
88 The [[extensions:Extension.Flamingo Theme Application]] now handles the ##@lessCode## field. It means that you can add any code, written with LESS, to your theme and see the result live!
89
90 {{image reference="[email protected]" width="40%"/}}
91
92 {{warning}}
93 **Breaking Change**
94
95 Since this version, if you set a variable both in the ##@lessCode## field and in the standard fields, the final value will be taken from the standard field, and not from the ##@lessCode## anymore.
96 {{/warning}}
97
98 == Page Index ==
99
100 Since we have introduced the concept of Nested Spaces we needed to replace the Space column in the LiveTable with a more generic solution. Thus, the [[extensions:Extension.Index Application]] has now merged the previous Page + Space columns into a single ##Location## column and we've introduced a new ##Title## column but which now displays the title of pages, as can be seen on the following screenshot:
101
102 {{image reference="[email protected]" width="50%"/}}
103
104 The same strategy is implemented for the ##children## and the ##siblings## viewers.
105
106 Note that you can filter at several path levels in the Location column. For example:
107
108 {{image reference="[email protected]" width="50%"/}}
109
110 {{info}}
111 XWiki currently doesn't support filtering on Page titles which is why the new ##Title## column doesn't allow filtering. However since the ##Location## column includes the full path, users can still search on Page names.
112
113 At a technical level the displaying of page titles was needed because all non-terminal pages names are called ##WebHome## and displaying that would not be user-friendly.
114 {{/info}}
115
116 == New Panels ==
117
118 * A [[Children Panel>>extensions:Extension.Panels Application||anchor="HChildrenPanel"]] has been added to display the list of Children pages of the current Page.(((
119 {{image reference="[email protected]"/}}
120 )))
121 * A [[Siblings Panel>>extensions:Extension.Panels Application||anchor="HSiblingsPanel"]] has been added to display the list of Sibling pages of the current Page.(((
122 {{image reference="[email protected]"/}}
123 )))
124 * The [[SpaceDocs Panel>>extensions:Extension.Panels Application||anchor="HSpaceDocsPanel"]] has been deprecated and the [[Children Panel>>extensions:Extension.Panels Application||anchor="HChildrenPanel"]] or [[Siblings Panel>>extensions:Extension.Panels Application||anchor="HSiblingsPanel"]] should be used instead. A warning message has been added (visible only to Admins) to explain this:(((
125 {{image reference="[email protected]"/}}
126 )))
127
128 == App Within Minutes ==
129
130 Up until this version, the applications created with App Within Minutes were always located in a top level space. For instance, if you wanted to create a "Meeting" application, the application data space was "Meeting". Starting with this version you can also create an application in a nested space. In the first step of the wizard you can select the location where you want the application to be created. In the following image I have create an application with path "Marius / Apps / Meeting".
131
132 {{image reference="[email protected]" width="600"/}}
133
134 The [[App Within Minutes>>extensions:Extension.App Within Minutes Application]] wizard is now generating all the application pages in a single location, as nested pages. The code pages are grouped under the ##Code## page and are marked as hidden (so your users don't see them by default). The application entries are created under the ##Data## page. Backward compatibility is preserved so you should still be able to edit existing applications that don't have the new page organization.
135
136 {{image reference="[email protected]"/}}
137
138 The application wizard has also been modified to support any characters in the application name. The only remaining requirement for the application name is to not be empty.
139
140 == Office Importer ==
141
142 The [[extensions:Extension.Office Importer Application]] has been redesigned visually and now supports importing into Nested Spaces:
143
144 {{image reference="ReleaseNotesXWiki73M1@OfficeImporter" width="50%"/}}
145
146 == Template Providers Administration ==
147
148 The template provider UI has been adapted to Nested Pages and it now supports:
149
150 * Creating template providers deeper than the first level (as it was restricted before), reusing the location picker widget
151 * Setting allowed locations (i.e. spaces) using the tree widget
152
153 {{gallery}}
154 image:[email protected]
155
156 image:[email protected]
157
158 image:[email protected]
159 {{/gallery}}
160
161 For more details, see the [[XWIKI-12275>>https://jira.xwiki.org/browse/XWIKI-12275]] issue and the [[documentation>>extensions:Extension.Administration Application||anchor="HTemplates"]].
162
163 * Template providers can now specify if they create terminal or non-terminal documents. See the [[documentation>>extensions:Extension.Administration Application||anchor="HAdvanced:Creatingterminaldocumentswithtemplateproviders"]] for more information.
164 * The //Template Type// option ("type" class property) of a template provider was removed since it was not used from the start and any existing values have been migrated to use the new "terminal" property. See the [[documentation for more information on the "terminal" property>>extensions:Extension.Administration Application||anchor="HAdvanced:Creatingterminaldocumentswithtemplateproviders"]].
165
166 == XClass Application ==
167
168 The [[XClass Application>>extensions:Extension.XClass Application]] has been modified to support classes defined in nested documents. The default class sheet has been improved to use the new location picker when creating a new class entry, and the list of existing entries is now displayed using a live table. The 'Data types' page has been improved to use the new location picker when creating a new class, and the list of existing classes (data types) is now displayed using a live table.
169
170 {{gallery}}
171 image:[email protected]
172 image:[email protected]
173 {{/gallery}}
174
175 == Miscellaneous ==
176
177 * The Extension Diff view has been improved to display the page (translation) language both in the summary and the detail sections. The page name (heading) from the detail section is now a link to the local version of the page.(((
178 {{image reference="[email protected]" width="200"/}}
179 )))
180 * Added the Actions column for the [[FAQ Application>>extensions:Extension.FAQ Application]]:(((
181 {{image reference="[email protected]"/}}
182 )))
183 * Pages with Slovak and Brazilian Portuguese language are now indexed by Solr and thus they are included in the search results. See the [[Migration Notes>>||anchor="HIssuesspecifictoXWiki7.3-milestone-1"]] below in case you are performing an upgrade and you want support for these languages.
184 * Clicking on the Logo (top-left of the screen) will now take you to the page that you have configured as wiki homepage by using the "Wiki Administration > Wikis > Descriptor" section. See the related [[documentation section>>extensions:Extension.Wiki Application||anchor="HConfigureWiki"]].
185 * The template providers edition has been rewritten to be more consistent with other edit forms:(((
186 {{image reference="[email protected]" width="50%"/}}
187 )))
188 * Removed the 'Edit' button when editing a template provider document. See [[XWIKI-12675>>https://jira.xwiki.org/browse/XWIKI-12675]]
189 * The [[Invitation Application>>extensions:Extension.Invitation Application]] now has an entry point in the App Bar (only visible to Admins).
190 * The [[Active Installs Client module>>extensions:Extension.Active Installs Client API||anchor="HFormatEvolution"]] had a bug leading to the ##sinceDays## field not being set correctly (was almost always set to 0).
191 * [[New ##xpage## parameter>>Documentation.DevGuide.Standard URL Format||anchor="HParameter:xpage"]]: ##outputTitle##. If ##true## then also display the title in addition to the content. Defaults to ##false## if not specified.
192 * The XWiki Syntax help now no longer shows help for syntaxes that are not available in the wiki.
193 * Added support for list properties in LDAP user synchronization
194
195 See the [[full list of JIRA issues>>https://jira.xwiki.org/issues/?filter=14214]] fixed in this release.
196
197 = For Developers =
198
199 == Extension Manager ==
200
201 === Custom repositories ===
202
203 Extensions and dependencies can now provide custom repositories. For now only dependencies repositories are directly used when resolving it before trying registered repositories.
204
205 In practice it means that Maven custom repositories are now supported properly (at least to resolve artifacts dependencies). On Extension Manager side it means you get the same custom repositories duplicated in the Extension and in each ExtensionDependency.
206
207 Support also been added to Extension Repository API. It's also imported in XWiki based Extension Repository implementation but not yet exposed as REST resource.
208
209 === Resolve dependencies in extension repository first ===
210
211 The extension repository is checked first when searching for extension dependencies.
212
213 == Extensions Repository ==
214
215 * New Extensions are now created in their own space by default (as the space home page). It will make it easier to organize documentation for large Extensions.
216 * Custom Extension repositories are now sent by the Extension Repository REST service
217 * Issue management information are now imported, displayed and exposed by the Extension Repository REST service
218
219 == REST API ==
220
221 It's now possible to get a page with everything but attachment content. For this you can enable various part of the document using the following URL parameters:
222
223 * ##objects##: enable returning document objects
224 * ##class##: enable returning document class properties
225 * ##attachments##: enable returning document attachments
226
227 They are all disabled by default.
228
229 Page objects support has also been added to the Page PUT API.
230
231 === REST supports ##hidden## ===
232
233 You can now set and/or get information from the status ##hidden## of a page with REST service. For example, you may create a hidden page using the following file and the following request.
234
235 {{code language="xml"}}
236 <page xmlns="http://www.xwiki.org">
237 <title>Test of hidden</title>
238 <hidden>true</hidden>
239 <content/>
240 </page>
241 {{/code}}
242
243 {{code language="none"}}
244 curl \
245 --verbose \
246 --user Admin:admin \
247 --request PUT \
248 --header "Content-type: application/xml" \
249 --data-binary "@page.xml" \
250 "http://localhost:8080/xwiki/rest/wikis/xwiki/spaces/SomeSpace/pages/SomePage"
251 {{/code}}
252
253 And then check the status of this ##hidden## status with a ##GET## HTTP request
254
255 {{code language="none"}}
256 curl \
257 --verbose \
258 --user Admin:admin \
259 --request GET \
260 --header "Accept: application/xml" \
261 "http://localhost:8080/xwiki/rest/wikis/xwiki/spaces/SomeSpace/pages/SomePage"
262 {{/code}}
263
264 You may also use the ##application/x-www-form-urlencoded## to set this ##hidden## field.
265
266 {{code language="none"}}
267 curl \
268 --verbose \
269 --user Admin:admin \
270 --request PUT \
271 --header "Content-type: application/x-www-form-urlencoded" \
272 --data "title=Test of hidden&hidden=true&content=" \
273 "http://localhost:8080/xwiki/rest/wikis/xwiki/spaces/SomeSpace/pages/SomePage"
274 {{/code}}
275
276 See [[The XWiki RESTful API>>Documentation.UserGuide.Features.XWikiRESTfulAPI]] for more details.
277
278 == Flamingo ==
279
280 The Drawer menu, the content menus and the top menus are now implemented with [[UI extensions>>extensions:Extension.UIExtension Module]]. The new Extension Points are:
281
282 |= [[##org.xwiki.plaftorm.drawer##>>Documentation.DevGuide.ExtensionPoint.DrawerItem]]|=[[##org.xwiki.plaftorm.drawer.header##>>Documentation.DevGuide.ExtensionPoint.DrawerHeaderItem]]|= [[##org.xwiki.plaftorm.editactions##>>Documentation.DevGuide.ExtensionPoint.Edit Actions]]|=[[##org.xwiki.plaftorm.adminactions##>>Documentation.DevGuide.ExtensionPoint.Admin Actions]]|=[[##org.xwiki.plaftorm.moreoptions##>>Documentation.DevGuide.ExtensionPoint.More Options]]
283 |(((
284 {{image reference="[email protected]" width="50%"/}}
285 )))|(((
286 {{image reference="[email protected]" width="50%"/}}
287 )))|(((
288 {{image reference="[email protected]" width="50%"/}}
289 )))|(((
290 {{image reference="[email protected]" width="50%"/}}
291 )))|(((
292 {{image reference="[email protected]" width="50%"/}}
293 )))
294
295 |= [[##org.xwiki.platform.topmenu.left##>>Documentation.DevGuide.ExtensionPoint.TopMenuLeft]]|=[[##org.xwiki.platform.topmenu.right##>>Documentation.DevGuide.ExtensionPoint.TopMenuRight]]
296 |(((
297 {{image reference="[email protected]" width="50%"/}}
298 )))|(((
299 {{image reference="[email protected]" width="50%"/}}
300 )))
301
302 The extension point [[Documentation.DevGuide.ExtensionPoint.DrawerItem]] has now a parameter ##separator## to add a line separator before the drawer item.
303
304 == Miscellaneous ==
305
306 * New ##getReference()## API public scripting Element (Object, Class, etc.) to get the EntityReference of the element
307 * New functional tests for the [[extensions:Extension.Office Importer Application]] have been added to ##xwiki-platform##. To enable them, you need to enable the new profile ##office-tests##.
308 * For testing purpose, an environment variable ##XWIKI_OFFICE_HOME## can bet set to configure where the Office server is installed on the system.
309 * New [[Time Zone XProperty type>>Documentation.DevGuide.DataModel]] to represent Time Zones.
310 * The [[XAR plugin>>dev:Community.XARPlugin]] now verifies that Technical Pages are set as hidden and the Format Mojo sets them as hidden.
311 * A new [[XAR Integration testing framework>>dev:Community.Testing||anchor="HXARTesting"]] has been introduced. It can be used to write integration tests for wiki pages.
312 * A ##displayTitle## option has been added to the hierarchy macros. By default, it is set to true. When disabled, the names of the references are displayed in the breadcrumb, instead of the document titles.
313 * The ##documentTree## macro has been moved to its own module, under the Index application, so that it can be used as a dependency in other modules without pulling the entire Index application.
314 * XAR plugin's [[Verify Mojo>>dev:Community.XARPlugin||anchor="HVerifyMojo"]] can now verify that defined pages have matching titles and now verifies titles of WebPreferences pages.
315 * log4j 1.2.17 and commons-logging 1.2 are now identified as core extension by the Extension Manager (which prevents them being installed as dependencies)
316
317 == Deprecated and Retired projects ==
318
319 * The [[XML-RPC Integration>>extensions:Extension.XML-RPC Integration]] has been retired. It had been deprecated several years ago in favor of the [[REST API>>Documentation.UserGuide.Features.XWikiRESTfulAPI]] and it wasn't actively supported.
320 * Old query plugin finally been moved to https://github.com/xwiki-contrib/xwiki-platform-queryplugin
321
322 == Upgrades ==
323
324 The following dependencies have been upgraded:
325
326 * [[JSqlParser 0.9.4>>https://jira.xwiki.org/browse/XWIKI-12603]]
327 * [[Jackson 2.6.2>>https://jira.xwiki.org/browse/XCOMMONS-848]]
328 * [[Jackson 2.6.3>>https://jira.xwiki.org/browse/XCOMMONS-861]]
329 * [[httpclient 4.5.1>>https://jira.xwiki.org/browse/XCOMMONS-850]]
330 * [[Groovy 2.4.5>>https://jira.xwiki.org/browse/XCOMMONS-852]]
331 * [[Restlet 2.3.5 and JAX-RS 2>>https://jira.xwiki.org/browse/XCOMMONS-341]]
332 * [[Lucene and Solr 5.3.1>>https://jira.xwiki.org/browse/XWIKI-12131]]
333 * [[LessJs 2.5.3>>https://jira.xwiki.org/browse/XWIKI-12655]]
334 * [[Jetty 9.2.13.v20150730>>https://jira.xwiki.org/browse/XWIKI-12677]]. Note that this dependency is used only in the Jetty distribution.
335 * [[LiveValidation 1.4>>https://jira.xwiki.org/browse/XWIKI-12712]]
336 * [[bootswatch 3.3.5+4>>https://jira.xwiki.org/browse/XWIKI-12747]]
337 * [[less4j 1.15.2>>https://jira.xwiki.org/browse/XWIKI-12745]]
338 * [[Joda-Time 2.9>>https://jira.xwiki.org/browse/XWIKI-12749]]
339 * [[Tika 1.11>>https://jira.xwiki.org/browse/XWIKI-12735]]
340 * [[cssparser 0.9.18>>https://jira.xwiki.org/browse/XCOMMONS-870]]
341 * [[ASM 5.0.4>>https://jira.xwiki.org/browse/XCOMMONS-872]]
342 * [[Bouncy Castle 1.53>>https://jira.xwiki.org/browse/XCOMMONS-871]]
343 * [[httpcore 4.4.4>>https://jira.xwiki.org/browse/XCOMMONS-873]]
344 * [[jQuery 1.11.3>>https://jira.xwiki.org/browse/XWIKI-12748]]
345 * [[jQuery UI 1.11.4>>https://jira.xwiki.org/browse/XWIKI-12754]]
346
347 = Translations =
348
349 The following translations have been updated:
350
351 {{language codes="da, sk, fr, hu, pt_BR, de, lt, nl"/}}
352
353 = Tested Browsers & Databases =
354
355 {{include reference="TestReports.ManualTestReportSummaryXWiki73"/}}
356
357 = Performances tests compared to 6.4.6 =
358
359 Like in 7.2 there hasn't really been much performance work on this version which was dedicated to improvement on nested spaces support that was added in 7.2 so we get mostly the same results than in 7.2.
360
361 {{display reference="test:Performances.Jetty HSQLDB single wiki 646 to 73" section="HSummary"/}}
362
363 More details on [[performance comparison on single wiki between 7.3 and 6.4.6>>test:Performances.Jetty HSQLDB single wiki 646 to 73]].
364
365 = Known issues =
366
367 * [[Bugs we know about>>https://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]]
368
369 = Backward Compatibility and Migration Notes =
370
371 == General Notes ==
372
373 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.
374
375 == Issues specific to XWiki 7.3 ==
376
377 * If you had modified the custom displayer for Time Zones in either ##XWiki.XWikiUsers## or ##XWiki.XWikiPreferences## then when upgrading to 7.3M1 your change will be removed. This is because we've introduced a Time Zone XProperty type which is replacing the String type used before for storing the Time Zones. If you wish to put back your change you can define a custom displayer on the new Time Zone XProperty in ##XWiki.XWikiUsers## or ##XWiki.XWikiPreferences##.
378 * In order to add support for Slovak and Brazilian Portuguese languages to the Solr search we had to modify the Solr schema and unfortunately we don't have support for automatic Solr search index migration at this point. If you want to support these languages you have to delete the 'solr' folder from the configured permanent directory of your XWiki instance. The Solr index will be recreated automatically and the entire wiki/farm (including the pages in the Slovak and Brazilian Portuguese language) will be re-indexed after a server restart.
379 * Old query plugin is not provided by default anymore. See https://github.com/xwiki-contrib/xwiki-platform-queryplugin.
380 * The values of the removed template "type" property of TemplateProviderClass have been migrated to the new "terminal" property.
381
382 == API Breakages ==
383
384 The following APIs were modified since XWiki 7.2:
385
386 * Add support for custom repositories in extensions:(((
387 {{code language="none"}}
388 org.xwiki.extension.Extension: Method 'public java.util.Collection getRepositories()' has been added to an interface
389 org.xwiki.extension.ExtensionDependency: Method 'public java.util.Collection getRepositories()' has been added to an interface
390 {{/code}}
391 )))
392 * New URL parameters:(((
393 {{code language="none"}}
394 org.xwiki.rest.resources.pages.PageResource: In method 'public org.xwiki.rest.model.jaxb.Page getPage(java.lang.String, java.lang.String, java.lang.String, java.lang.Boolean)' the number of arguments has changed
395 {{/code}}
396 )))

Get Connected