Wiki source code of Release Notes for XWiki 7.2 Milestone 1
Version 24.1 by Thomas Mortagne on 2015/06/22
Hide last authors
author | version | line-number | content |
---|---|---|---|
![]() |
1.1 | 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 | <insert description of release here> | ||
8 | |||
9 | = New and Noteworthy (since XWiki 7.1) = | ||
10 | |||
11 | [[Full list of issues fixed and Dashboard for <version>>>http://jira.xwiki.org/secure/Dashboard.jspa?selectPageId=<fill id here>]]. | ||
12 | |||
![]() |
15.1 | 13 | == Nested spaces == |
![]() |
1.1 | 14 | |
![]() |
15.1 | 15 | {{todo/}} |
![]() |
1.1 | 16 | |
17 | == Miscellaneous == | ||
18 | |||
19 | <insert misc user stuff and important bug fix descriptions here in a list, when they are too small to warrant a section by themselves - Change the version in the URL below!> | ||
20 | |||
21 | 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%29+and+status+%3D+Closed+and+resolution+%3D+Fixed+and+fixVersion+%3D+%22<version>%22&tempMax=1000]] fixed in this release. | ||
22 | |||
23 | = For Developers = | ||
24 | |||
![]() |
15.1 | 25 | == Nested spaces == |
26 | |||
![]() |
17.1 | 27 | Since nested spaces were already planned and supported in APIs like DocumentReference there is not too much changes for those who were using recent API but there is still some and here are the main ones. |
![]() |
15.1 | 28 | |
29 | === Space reference instead of space name === | ||
30 | |||
31 | The heart of the implementation is that the field that used to contain the unique document space now contain the possibly nested space reference. In practice it means that: | ||
32 | |||
![]() |
19.1 | 33 | * "##.##" (dot), "##:##" (colon) and "##\##" (baskslash) which are part of a space name will now be escaped (using "##\##" character) in the database document ##space## (##XWD_WEB##) field. For example a space named "##Space:with.special\char##" will be stored as "##Space\:with\.special##". |
![]() |
20.1 | 34 | * same as for the database ##XWikiDocument/Document#getSpace()## now return a serialized reference of the space instead of what used to be the unique space name (basically it return what's in the database). Same logic for ##XWikiDocument#setSpace()##. Those field are deprecated since a long time but still used a lot... |
![]() |
15.1 | 35 | |
![]() |
16.1 | 36 | === Space separator properly taken into account === |
![]() |
15.1 | 37 | |
![]() |
21.1 | 38 | The reference syntax specification was already indication that "##.##" was supposed to be escaped in the space part of the reference but it was not really taken into account so not escaping it was not making any difference. This is now fixed in the various standard String reference resolvers so a reference that don't follow the specification and did not escaped the "##.##" in the space part will be cut is several nested spaces. Anything that was serialized with one of the standard serializers was properly escaped so not worry here, the issue will be more for hand written or hardcoded String references. |
![]() |
15.1 | 39 | |
![]() |
4.1 | 40 | == New reference related APIs == |
![]() |
1.1 | 41 | |
![]() |
9.1 | 42 | Various new API around references has been introduced while adding support for nested spaces. |
![]() |
1.1 | 43 | |
![]() |
9.1 | 44 | === Complete references Providers === |
45 | |||
46 | Complete references Providers (for DocumentReference, SpaceReference and WikiReference) with default or ##current## hints. They allow getting complete reference created from each default or current part of those references (for example in SpaceReference you end up with the space of the XWikiContext document and the XWikiContext wiki) | ||
47 | |||
![]() |
6.1 | 48 | {{code language="java"}} |
49 | @Inject | ||
50 | Provider<DocumentReference> defaultDocumentReference; | ||
![]() |
4.1 | 51 | |
![]() |
6.1 | 52 | @Inject |
53 | @Named("current") | ||
54 | Provider<DocumentReference> currentDocumentReference; | ||
55 | {{/code}} | ||
![]() |
9.1 | 56 | |
57 | === org.xwiki.model.reference.EntityReferenceProvider === | ||
58 | |||
59 | ##org.xwiki.model.reference.EntityReferenceProvider## replaces ##org.xwiki.model.reference.EntityReferenceValueProvider##. It's essentially the same thing but with ##EntityReference## instead of string which allow getting multiple spaces when you ask for the current ##EntityType.SPACE## for example. | ||
60 | |||
![]() |
6.1 | 61 | {{code language="java"}} |
62 | @Inject | ||
63 | EntityReferenceProvider provider; | ||
64 | {{/code}} | ||
65 | |||
![]() |
9.1 | 66 | === Properly support any kind of reference in getDocument === |
67 | |||
68 | ##com.xpn.xwiki.XWiki#getDocument(EntityReference)## and ##com.xpn.xwiki.api.XWiki#getDocument(EntityReference)## support any kind of reference properly (e.g. a space reference will return the space home page, an object reference will return the object document reference, etc). | ||
69 | |||
70 | === New helpers in EntityReference === | ||
71 | |||
72 | * ##boolean equals(EntityReference otherReference, EntityType to)##: same as equals but only take into account reference parts up to the passed entity type (included) | ||
73 | * ##boolean equals(EntityReference otherReference, EntityType from, EntityType to)##: same as equals but only take into account reference parts between passed entity types (included) | ||
74 | * ##boolean equalsNonRecursive(EntityReference otherReference)##: same as equals but does not take into account the parent | ||
75 | |||
![]() |
23.1 | 76 | === New model Script Service helpers === |
![]() |
22.1 | 77 | |
78 | * new help to escape an entity name according to default reference syntax as in:((( | ||
79 | {{code language="velocity"}} | ||
![]() |
23.1 | 80 | $services.model.escape('some.space:with\specialchars', 'SPACE') |
![]() |
22.1 | 81 | {{/code}} |
82 | |||
83 | will print | ||
84 | |||
85 | {{code language="nonde"}} | ||
86 | some\.space\:with\\specialchars | ||
87 | {{/code}} | ||
88 | ))) | ||
89 | |||
![]() |
4.1 | 90 | == New readonly XWikiContext provider == |
91 | |||
92 | You can inject a new "readonly" XWikiContext the following way: | ||
93 | |||
94 | {{code language="java"}} | ||
95 | @Inject | ||
96 | @Named("readonly") | ||
97 | Povider<XWikiContext> roXWikiContextProvider; | ||
98 | {{/code}} | ||
99 | |||
![]() |
11.2 | 100 | The difference with default provider is that the readonly one won't try to create a new XWikiContext and will return null if it can't find any. It's been introduce for some low level components that were used during XWikiContext creation but in general it should be used by any component that only search for some XWikiContext property that might be null even in a valid XWikiContext. |
![]() |
4.1 | 101 | |
![]() |
1.1 | 102 | == Deprecated and Retired projects == |
103 | |||
104 | <description of deprecated and retired projects> | ||
105 | |||
106 | == Upgrades == | ||
107 | |||
108 | The following dependencies have been upgraded: | ||
109 | |||
110 | * [[httpclient 4.5>>http://jira.xwiki.org/browse/XCOMMONS-815]] | ||
![]() |
2.1 | 111 | * [[cssparser 0.9.16>>http://jira.xwiki.org/browse/XCOMMONS-817]] |
![]() |
3.1 | 112 | * [[less4j 1.12.0>>http://jira.xwiki.org/browse/XWIKI-12161]] |
![]() |
8.1 | 113 | * [[Joda-Time 2.8.1>>http://jira.xwiki.org/browse/XWIKI-12159]] |
![]() |
16.1 | 114 | * [[Bootstrap 3.3.5>>http://jira.xwiki.org/browse/XWIKI-12211]] |
![]() |
24.1 | 115 | * [[Infinispan 7.2.3>>http://jira.xwiki.org/browse/XWIKI-12227]] |
![]() |
1.1 | 116 | |
117 | == Miscellaneous == | ||
118 | |||
119 | <other dev stuff to add and link to JIRA for all issues fixed> | ||
120 | |||
121 | = Translations = | ||
122 | |||
123 | The following translations have been updated: | ||
124 | |||
125 | {{language codes="none, none"/}} | ||
126 | |||
127 | = Tested Browsers & Databases = | ||
128 | |||
129 | {{include reference="TestReports.ManualTestReportTemplateSummary"/}} | ||
130 | |||
131 | = Performances tests compared to <last super stable version> = | ||
132 | |||
133 | <a summary of the comparison with latest super stable version> | ||
134 | |||
135 | More details on <link to the test report>. | ||
136 | |||
137 | = Known issues = | ||
138 | |||
139 | * [[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]] | ||
140 | |||
141 | = Backward Compatibility and Migration Notes = | ||
142 | |||
143 | == General Notes == | ||
144 | |||
145 | 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. | ||
146 | |||
![]() |
11.1 | 147 | == Issues specific to XWiki 7.2M1 == |
![]() |
1.1 | 148 | |
![]() |
15.1 | 149 | === Nested spaces === |
![]() |
12.1 | 150 | |
![]() |
15.1 | 151 | See [[previous Nested spaces section>||anchor="HNestedspaces"]] for details on what changes in the way some API and the database are dealing with the document space. |
![]() |
12.1 | 152 | |
![]() |
14.1 | 153 | === Templates === |
154 | |||
155 | All the templates specific to [[extensions:Extension.Colibri Skin]] had been moved to it. If your skin depends on some of these templates, you should set Colibri as parent of your skin. | ||
156 | |||
![]() |
1.1 | 157 | == API Breakages == |
158 | |||
159 | The following APIs were modified since <project> <version - 1>: | ||
160 | |||
161 | {{code language="none"}} | ||
162 | <clirr output here> | ||
163 | {{/code}} |