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 The focus of this release was on fixing issues introduced in 7.2 Milestone 1 with the new Nested Document/Nested Spaces features and to continue adding support for this feature in various existing features (using a tree for the Import UI instead of a list, new DB table to have performant Space queries, start of Nested Spaces support in the XWiki JS APIs, etc). Another major feature added was the new Script permission to allow forbidding Script execution to specific Users or Groups.
8
9 = New and Noteworthy (since XWiki 7.2 Milestone 1) =
10
11 [[Full list of issues fixed and Dashboard for 7.2>>https://jira.xwiki.org/secure/Dashboard.jspa?selectPageId=13390]].
12
13 == Script Right ==
14
15 The Script Right is now set to DENY by default, meaning that if you do not have it explicitly, you will not be able to execute the scripts that you write with your user account.
16
17 However, for backward-compatibility reasons, the standard XWiki Enterprise distribution comes with the Script Right being allowed for all users at the main wiki level, so that, unless you (as an Admin) explicitly revoke the right for some users or explicitly deny it, they will be able to execute the scripts they wrote, just like before.
18
19 {{image reference="scriptRightsExplicitlyAllowedInXWikiPreferences.png"/}}
20
21 == Hiding of the Parent-Child Relationship ==
22
23 Following [[our decision to drop the Parent-Child relationship>>ReleaseNotesXWiki72M1||anchor="HNestedDocuments"]], it's now been turned off by default in favor of Nested Documents.
24
25 Note that it's possible to go back to the previous behavior, in which the Breadcrumb was following the Parent/Child relationship, by setting the ##core.hierarchyMode## property to ##parentchild## in the ##xwiki.properties## configuration file.
26
27 === New Breadcrumb ===
28
29 The Breadcrumb has been reworked to reflect the location of a Document in the reference hierarchy. For example for a Document "CEO" inside a Document "Boarding" inside a Document "Management" inside a Document "Staff" you would have the following Breadcrumb:
30
31 {{image reference="breadcrumb.png"/}}
32
33 === New Index Tree ===
34
35 The Index Tree is now using the [[reworked Document Tree Macro>>extensions:Extension.Document Tree Macro]] and is thus now honoring the Nested Document hierarchy. For example:
36
37 {{image reference="indextree.png"/}}
38
39 === Updated Edit Mode ===
40
41 In Edit mode, the ability to change the Parent has been removed by default since we're now honoring the Nested Document hierarchy. For example:
42
43 {{image reference="editmode.png"/}}
44
45 == Miscellaneous ==
46
47 * Import UI move to new standard tree(((
48 {{image reference="import.png"/}}
49 )))
50 * The size of the Job status cache is now configurable. See ##job.statusCacheSize## property in ##xwiki.properties## files.
51 * The Spaces macro (which lists all Spaces) is now working fine when there are Nested Spaces (some links were failing).
52 * The LiveTable macro is now working fine when there are Nested Spaces (some links were failing).
53 * The Solr Search is now able to correctly find nested documents. The Search UI still needs to be fixed though (some links may be broken and the document location/paths are not correctly displayed) but otherwise the results should be accurate.
54
55 See the [[full list of JIRA issues>>https://jira.xwiki.org/sr/jira.issueviews:searchrequest-printable/temp/SearchRequest.html?jqlQuery=project+in+%28XCOMMONS%2C+XRENDERING%2C+XWIKI%2C+XE%29+and+status+%3D+Closed+and+resolution+%3D+Fixed+and+fixVersion+%3D+%227.2-milestone-2%22&tempMax=1000]] fixed in this release.
56
57 = For Developers =
58
59 == New Space/XWikiSpace table ==
60
61 A [[new table dedicated to Spaces has been introduced>>Documentation.DevGuide.DatabaseSchema]], in order to have performant and scalable Space-related queries (like supporting getting paginated Space which is useful for the Document Tree macro for example).
62
63 == Queries improvement ==
64
65 === Allow executing complete SELECT queries ===
66
67 In HQL and XWQL it's now possible to execute full ##SELECT## queries without Programming Right as long as you follow some rules currently defined in ##com.xpn.xwiki.internal.store.hibernate.query.HqlQueryUtils##, which contains a list of the database field allowed in the SELECT clause. Namely:
68
69 * For the ##Document##/##XWikiDocument## table: ##fullName##, ##name##, ##space##, ##language##, ##defaultLanguage##, ##translation##, ##hidden##
70 * For the ##Space##/##XWikiSpace## table: ##reference##, ##name##, ##parent##, ##hidden##
71
72 This is also true for the Named Queries located in the ##queries.hbm.xml## file.
73
74 === New Secure Query ===
75
76 The right to execute or not some Query is now controlled by each ##org.xwiki.query.QueryExecutor##.
77
78 Anyone can ask the executor to check or ignore Right through the new ##org.xwiki.query.SecureQuery## extending ##org.xwiki.query.Query##:
79
80 * ##checkCurrentAuthor()##: indicate if the current author right should be checked
81 * ##checkCurrentUser()##: indicate if the result should be filtered based on current user Right (only implemented by SOLR right now)
82
83 == JS API Improvements ==
84
85 * It's now possible to create a Nested Spaces Reference using XWiki's Javascript API. For example:(((
86 {{code language="javascript"}}
87 // Construct a Nested Space reference
88 var reference = new XWiki.SpaceReference('wiki', ['space1', 'space2']);
89 expect(XWiki.Model.serialize(reference)).toEqual('wiki:space1.space2');
90 reference = new XWiki.DocumentReference('wiki', ['space1', 'space2'], 'page');
91 expect(XWiki.Model.serialize(reference)).toEqual('wiki:space1.space2.page');
92 // Construct a non-Nested Space reference
93 reference = new XWiki.SpaceReference('wiki', 'space');
94 expect(XWiki.Model.serialize(reference)).toEqual('wiki:space');
95 // Try passing non-valid space parameters
96 expect(function() {new XWiki.SpaceReference('wiki', [])}).toThrow('Missing mandatory space name or invalid type for: []');
97 expect(function() {new XWiki.SpaceReference('wiki', 12)}).toThrow('Missing mandatory space name or invalid type for: [12]');
98 {{/code}}
99 )))
100 * A new ##XWiki.EntityReference.equals()## method has been added. For example:(((
101 {{code language="javascript"}}
102 var reference1 = new XWiki.DocumentReference('wiki', ['space1', 'space2'], 'page');
103 var reference2 = new XWiki.DocumentReference('wiki', ['space1', 'space2'], 'page');
104 var reference3 = new XWiki.DocumentReference('wiki2', ['space1', 'space2'], 'page');
105 expect(reference1.equals(reference2)).toBe(true);
106 expect(reference1.equals(reference3)).toBe(false);
107 {{/code}}
108 )))
109 * A new ##XWiki.EntityReference.fromJSONObject(obejct)## has been added to create a Javascript ##XWiki.EntityReference## from a Java ##EntityReference## directly serialized as JSON:(((
110 {{code language="javascript"}}
111 var reference = XWiki.EntityReference.fromJSONObject(jsonText.evalJSON());
112 {{/code}}
113 )))
114 * A new ##XWiki.EntityReferenceTree## JS class has been added, which partially mimics the Java ##EntityReferenceTree## Class. It's still missing features though as it was introduced mostly to make it easier to manipulate a serialized Java ##EntityReferenceTree##.
115
116 == Updated Document Tree Macro ==
117
118 The [[Document Tree Macro>>extensions:Extension.Document Tree Macro]] now supports Nested Documents and Nested Spaces modes. Specifically, the following changes have been made:
119
120 * removed the ##showSpaceAsDocument## parameter (was introduced recently in 7.2M1)
121 * deprecated the ##showChildDocuments## parameter
122 * added the ##hierarchyMode## parameter with two supported values: ##reference## (default) and ##parentchild##
123
124 As a result, you can use the document tree macro like this:
125
126 * Nested Document Tree(((
127 {{code language="none"}}
128 {{documentTree/}}
129 {{/code}}
130 )))
131 * Nested Space + Page Tree(((
132 {{code language="none"}}
133 {{documentTree showSpaces="true" /}}
134 {{/code}}
135 )))
136 * Parent-Child Document Tree(((
137 {{code language="none"}}
138 {{documentTree hierarchyMode="parentchild" /}}
139 {{/code}}
140 )))
141 * Old Document Index Tree (i.e. Parent-Child mixed with space grouping)(((
142 {{code language="none"}}
143 {{documentTree hierarchyMode="parentchild" showSpaces="true" /}}
144 {{/code}}
145 )))
146
147 == Reference Scripting API for Nested Spaces ==
148
149 The Script API for Entity References has been updated with new APIs to support creating Nested Spaces references. For example:
150
151 {{code language="none"}}
152 {{velocity}}
153 $services.model.createDocumentReference("wiki", ["space1", "space2"], "page")
154 $services.model.createDocumentReference("wiki", ["space1", "space2"], "page", "default")
155 $services.model.createSpaceReference(["space1", "space2"], $services.model.createWikiReference("wiki"))
156 {{/velocity}}
157 {{/code}}
158
159 == Miscellaneous ==
160
161 * Custom displayers are now executed with the Rights of the user who wrote them (i.e. author of the class document or content author of the displayer document), and not the Rights of the user who wrote the script that uses them (i.e. current context document's content author). See [[XWIKI-12306>>https://jira.xwiki.org/browse/XWIKI-12306]] for more details.
162 * In the [[Active Install Extension>>extensions:Extension.Active Installs Server Application]], a new Velocity Macro has been introduced to compute the number of Active Installs having a specific Extension. Example usage:(((
163 {{code language="none"}}
164 {{include reference="ActiveInstalls.ExtensionCount"/}}
165
166 {{velocity}}
167 #set ($extensionIds = [
168 'org.xwiki.contrib:xwiki-totem-application',
169 'jsimard:event-reporter-application',
170 'mouhb:likeapplication'
171 ])
172 |=Extension Id|=Count
173 #foreach($extensionId in $extensionIds)
174 #countActiveInstallsUsingExtension($extensionId $count)
175 |$extensionId|$count
176 #end
177 {{/velocity}}
178 {{/code}}
179 )))
180 * Better support of non-DOCUMENT ##EntityReferences## in ##DocumentReferenceConverter##. It now behaves like ##XWiki#getDocument(EntityReference)##
181 * The Copy/Rename/Delete UI actions are now using the [[Refactoring Module's Script Services>>extensions:Extension.Refactoring Module]].
182
183 == Deprecated and Retired projects ==
184
185 * The [[OSCache-based Cache Extension>>extensions:Extension.Cache OSCache]] has been [[moved to ##xwiki-contrib##>>https://github.com/xwiki-contrib/xwiki-platform-cache-oscache]] since we've been using the Infinispan implementation for a while now and the XWiki Core developers don't intend to continue supporting the OSCache-based one (it can be maintained by the Community, by whoever's interested in supporting it).
186
187 == Upgrades ==
188
189 The following dependencies have been upgraded:
190
191 * [[Groovy 2.4.4>>https://jira.xwiki.org/browse/XCOMMONS-831]]
192 * [[Tika 1.9>>https://jira.xwiki.org/browse/XWIKI-12274]]
193 * [[JRuby 1.7.21>>https://jira.xwiki.org/browse/XWIKI-12344]]
194 * [[Jackson 2.6.0>>https://jira.xwiki.org/browse/XCOMMONS-833]]
195 * [[Hibernate Validator 4.3.2>>https://jira.xwiki.org/browse/XWIKI-12365]]
196
197 = Translations =
198
199 The following translations have been updated:
200
201 {{language codes="none, none"/}}
202
203 = Tested Browsers & Databases =
204
205 {{include reference="TestReports.ManualTestReportSummaryXWiki72M2"/}}
206
207 {{comment}}
208 = Performances tests compared to <last super stable version> =
209
210 <a summary of the comparison with latest super stable version>
211
212 More details on <link to the test report>.
213 {{/comment}}
214
215 = Performances tests compared to <last super stable version> =
216
217 <a summary of the comparison with latest super stable version>
218
219 More details on <link to the test report>.
220
221 = Known issues =
222
223 * [[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]]
224
225 = Backward Compatibility and Migration Notes =
226
227 == General Notes ==
228
229 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.
230
231 == Issues specific to XWiki 7.2 Milestone 2 ==
232
233 <issues specific to the project>
234
235 == API Breakages ==
236
237 The following APIs were modified since XWiki 7.1.1:
238
239 * New configuration option to change the size of the Job statuses cache:(((
240 {{code language="none"}}
241 org.xwiki.job.JobManagerConfiguration: Method 'public int getJobStatusCacheSize()' has been added to an interface
242 {{/code}}
243 )))
244 * Added missing methods to the ##DocumentModelBridge## class, which are already implemented by XWikiDocument;(((
245 {{code language="none"}}
246 org.xwiki.bridge.DocumentModelBridge: Method 'public org.xwiki.model.reference.DocumentReference getContentAuthorReference()' has been added to an interface
247 {{/code}}
248 )))
249 * ##ExportURLFactoryContext##, ##getExportURLFactoryContext()## and #ExportURLFactoryActionHandler# were Young APIs. ##ExportURLFactoryContext## been renamed to ##FilesystemExportContext## and moved to the Filesystem URL Scheme module:(((
250 {{code language="none"}}
251 com.xpn.xwiki.web.ExportURLFactory: Method 'public com.xpn.xwiki.web.ExportURLFactoryContext getExportURLFactoryContext()' has been removed
252 com.xpn.xwiki.web.ExportURLFactoryActionHandler: Parameter 7 of 'public java.net.URL createURL(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, com.xpn.xwiki.XWikiContext, com.xpn.xwiki.web.ExportURLFactoryContext)' has changed its type to org.xwiki.url.filesystem.FilesystemExportContext
253 com.xpn.xwiki.web.ExportURLFactoryContext: Class com.xpn.xwiki.web.ExportURLFactoryContext removed
254 {{/code}}
255 )))

Get Connected