Last modified by Thomas Mortagne on 2023/10/13

Hide last authors
Thomas Mortagne 1.1 1 {{box cssClass="floatinginfobox" title="**Contents**"}}{{toc/}}{{/box}}
2
Thomas Mortagne 37.1 3 First milestone of the XWiki Enterprise 2.2 version ([[Roadmap>>Main.Roadmap]]).
Thomas Mortagne 1.1 4
Sergiu Dumitriu 24.1 5 The highlights of this release are: the possibility to register wiki macros for any user or wiki, improvements of the import interface, support for OOXML (MS Office 2007) documents in the office import feature, started introducing the new Model, new UIs for viewing the contents of the document and attachment trash, and further improvements towards UI consistency and accessibility.
Thomas Mortagne 1.1 6
7 = New and Noteworthy (since XWiki Enterprise 2.1.1) =
8
Vincent Massol 28.1 9 == New XAR Import UI ==
Thomas Mortagne 8.1 10
Vincent Massol 28.1 11 The XAR import interface has been completely revamped. The new interface (see screenshots below) now provides:
Thomas Mortagne 1.1 12
Vincent Massol 28.1 13 * More explicit options regarding revision history handling
14 * The new option to **add a new version to existing documents** instead of overriding them
15 * A rich UI that allows to select/unselect whole spaces at once
16 * Support for importing when no javascript is available. The UI degrades nicely to a less rich interface
Thomas Mortagne 1.1 17
Vincent Massol 28.1 18 [[image:importer.png||width="700"]]
19
20 == UI for Deleted documents & attachments ==
21
Sergiu Dumitriu 24.1 22 While deleted documents and attachments have been stored in a trash instead of being completely deleted since XWiki 1.2, there was no general interface for viewing the contents of the trash. This has been remedied by the introduction of two new tabs in the wiki's Document Index, //Deleted Documents// and //Deleted Attachments//.
23
24 image:trash1.png
25
26 Both use the livetable, thus allowing filtering and ordering for easier browsing. A document from the trash can be viewed, permanently deleted, or restored if the location is still available.
27
28 image:trash2.png
29
30 The attachment trash contains only attachments deleted from a document, and not attachments that were deleted together with their owner document; in the latter case, the attachments are kept together with the document in the document trash. For attachments, there is no restore option yet, it will be implemented in a future release.
31
32 image:trash3.png
33
Thomas Mortagne 7.1 34 == General UI improvements ==
Thomas Mortagne 16.1 35
Thomas Mortagne 10.1 36 * In the wiki source code viewer, allow to toggle line numbers faster from Javascript
37 * Enable full screen view when displaying the wiki source code (viewer=code)
38 * Internationalize macro descriptors
39 * ActionMenu: Add Profile submenu item to the "current user" menu
Thomas Mortagne 1.1 40 image:XSCOLIBRI-170.png
Thomas Mortagne 10.1 41 * Reorder the document actions in the "More actions" menu: copy, rename, delete
Sergiu Dumitriu 24.1 42 * More UI components make use of the (recently introduced) color theme
Thomas Mortagne 1.1 43
Vincent Massol 28.1 44 == Contextual wikimacros ==
45
Thomas Mortagne 37.1 46 Previously, [[wiki macros>>Documentation.DevGuide.WikiMacroTutorial]] could only be defined by users with administrator rights, and only in the main wiki (when in a virtual wiki farm). It's now possible for any user to register wiki macros, and in any wiki. However, this follows some user rights restrictions, preventing a limited user to write dangerous scripts available to all other users. For example, if the user does not have the proper rights, only he will see and use the macro he registered. To make the macro available globally, an administrator must re-save it.
Vincent Massol 28.1 47
Thomas Mortagne 7.1 48 == Development improvements ==
Thomas Mortagne 16.1 49
Thomas Mortagne 10.1 50 * Added support for "xcontext" binding in 1.0 groovy macro
51 * Allow set to null in velocity
52 * Add an API method for creating a LinkedHashMap
53 * New APIs for accessing deleted attachments from the trash
54 * The class wizard should propose to add a SheetClass object to the class sheet
55 * Add support for 'on page' style extensions
Thomas Mortagne 1.1 56
Thomas Mortagne 7.1 57 == Office import improvements ==
Thomas Mortagne 16.1 58
Thomas Mortagne 10.1 59 * Added support for Office2007 document formats
Thomas Mortagne 1.1 60
Thomas Mortagne 7.1 61 == Blog improvement ==
Thomas Mortagne 16.1 62
Thomas Mortagne 10.1 63 * Add the Create a new post to category pages - when used by default select that category
Thomas Mortagne 1.1 64
Thomas Mortagne 7.1 65 == Dependencies upgrade ==
Thomas Mortagne 16.1 66
Thomas Mortagne 7.1 67 * Upgraded to Groovy 1.7
68
Vincent Massol 21.1 69 == New Model module with Reference implementation ==
70
Sergiu Dumitriu 34.2 71 The goal is to provide {{scm branch="xwiki-core-2.2" path="xwiki-model"}}APIs{{/scm}} to remove all String manipulations around documents and attachment names. It also introduces the concept of Reference for any entity of the model and the parser/serializer associated. For now Wiki, Space, Document and attachment are supported; classes objects and properties should come in milestone 2.
Vincent Massol 21.1 72
73 From a user point of view this will result in supporting any character in document names for example. In addition, this is also a step in the direction of supporting nested spaces (the storage would also need to be changed to support that).
74
75 In practice the existing code has not yet been fully refactored to benefit from the new implementation. The work has been started in XWiki Enterprise 2.2 Milestone 1 and will continue in XWiki Enterprise 2.2 Milestone 2 and beyond.
76
Thomas Mortagne 7.1 77 == Miscellaneous ==
Thomas Mortagne 16.1 78
Thomas Mortagne 1.1 79 * Always use UTF-8 for URL encoding
80 * Attachments should produce document modification events
81
82 * Lots of accessibility fixes
83 * Lots of bugs fixes
84
85 = Known issues =
86
Thomas Mortagne 36.1 87 * [[Bugs we know about>>https://jira.xwiki.org/secure/IssueNavigator.jspa?reset=true&&type=1&pid=10010&resolution=-1&sorter/field=updated&sorter/order=DESC]]
Vincent Massol 26.1 88 * A regression was introduced in this release: Parent references are saved in the Database without the space prefix. The consequence is that getChildren() will fail to return all children when the current document is located in another space. A more direct consequence is that rename will not rename all pages having a parent pointing to the document being renamed. This has been fixed in XE 2.2M2 but you'll need to resave the documents to have their parents saved correctly in the database.
Thomas Mortagne 1.1 89
90 = Backward Compatibility and Migration Notes =
91
Sergiu Dumitriu 24.1 92 == Important non-compatible changes ==
93
94 {{warning}}
95 The way URLs are generated and parsed has changed. While previously the wiki encoding was used to convert non-ASCII bytes to their ##%XY## escapes, as allowed by the older HTTP/URL specifications, now all URLs escape the UTF-8 bytes of the path, to better adhere to the modern URI specification. This should only affect non-UTF-8 wikis, and only by breaking some bookmarks.
96 {{/warning}}
97
98 {{warning}}
99 The velocity configuration has been changed so that setting ##null## values to variables is now allowed. This could break some scripts and macros, please check before upgrading.
100 {{/warning}}
101
102 This means that the following script will generate a different result:
103
Sergiu Dumitriu 25.2 104 {{code language="none"}}
Sergiu Dumitriu 24.1 105 #set($s = 'abc')
106 $s
107 #set($s = $util.null)
108 $s
109 {{/code}}
110
111 While previously the result would have been ##abc abc##, now it is ##abc $s##.
112
113 Special care must be taken care with constructs like the following:
114
Sergiu Dumitriu 25.3 115 {{code language="none"}}
Sergiu Dumitriu 24.1 116 #set($var = '')
117 #set($var = $xwiki.methodThatMightReturnNull())
118 #if($var != '')
119 The method succeeded
120 #else
121 The method failed
122 #end
123 {{/code}}
124
125 Since ##null != ''## in Velocity, now a different branch will be executed. The following rewrites work.
126
127 Works in both modes, with or without null allowed:
Sergiu Dumitriu 25.2 128 {{code language="none"}}
Sergiu Dumitriu 24.1 129 #set($var = '')
130 #set($var = $xwiki.methodThatMightReturnNull())
131 #if("$!var" != '')
132 The method succeeded
133 #else
134 The method failed
135 #end
136 {{/code}}
137
138 Works only in the new mode, with null allowed, but is shorter, slightly faster, and more familiar for java developers:
Sergiu Dumitriu 25.2 139 {{code language="none"}}
Sergiu Dumitriu 24.1 140 #set($var = $xwiki.methodThatMightReturnNull())
141 #if($!var != $util.null)
142 The method succeeded
143 #else
144 The method failed
145 #end
146 {{/code}}
147
Thomas Mortagne 1.1 148 == General Notes ==
149
150 {{warning}}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 <tt>xwiki.store.migration.databases=db1,db2,...//.{{/warning}}
151
Silvia Macovei 6.2 152 You may also want to [[import the default wiki XAR>>Main.Download]] in order to benefit from the improvements listed above.
Thomas Mortagne 1.1 153
Silvia Macovei 6.2 154 {{warning}}Always make sure you compare your //xwiki.cfg// file with the newest version since some configuration parameters were added. Note 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.{{/warning}}
Thomas Mortagne 1.1 155
156 == Migration Notes ==
157
Thomas Mortagne 17.1 158 * The new parser/serializer for document names comes with new features and changes some behaviors:
159 ** introducing escaping means:
Sergiu Dumitriu 24.1 160 *** ##\## which is now the escaping character needs to be doubled in full document name, as in ##Space.Docu\\ment##, which means space ##Space## and document ##Docu\ment##
Thomas Mortagne 17.1 161 *** some generated documents names will now contains ##\## to escape thing like dot in a document name. For example ##Space.Docu\.ment## means space ##Space## and document ##Docu.ment##
162 ** support for the syntax ##wikiname:Document## has been dropped, so in this example "wikiname:Document" will be seen as the document name because no ##.## has been found
Vincent Massol 29.1 163 * If you had Wiki Macros defined in your wiki before, you might want to edit them to check their visibility field since the notion of visibility was introduced in XE 2.2 and the default value is user-visibility.
Thomas Mortagne 22.1 164
165 = Dependencies =
166
167 This release includes the following modules in the specified versions since XWiki Enterprise 2.1.1 was released.
168
169 == Core/Web ==
170
171 |=Group Id|=Artifact Id|=New Version|=Old Version|=JIRA URL
Thomas Mortagne 36.1 172 |##com.xpn.xwiki.platform##|##xwiki-*##|2.2-milestone-1|2.1.1|[[jira>>https://jira.xwiki.org/browse/XWIKI]]
173 |##org.xwiki.platform##|##xwiki-*##|2.2-milestone-1|2.1.1|[[jira>>https://jira.xwiki.org/browse/XWIKI]]
Thomas Mortagne 22.1 174
175 == Applications ==
176
177 |=Group Id|=Artifact Id|=New Version|=Old Version|=JIRA URL
Thomas Mortagne 36.1 178 |##com.xpn.xwiki.platform.applications##|##xwiki-application-administration##|1.22|1.21|[[jira>>https://jira.xwiki.org/browse/XAADMINISTRATION]]
179 |##com.xpn.xwiki.platform.applications##|##xwiki-application-blog##|1.19|1.18|[[jira>>https://jira.xwiki.org/browse/XABLOG]]
180 |##com.xpn.xwiki.platform.applications##|##xwiki-application-officeimporter##|1.13|1.12|[[jira>>https://jira.xwiki.org/browse/XAOFFICE]]
181 |##com.xpn.xwiki.platform.applications##|##xwiki-application-panels##|1.31|1.30|[[jira>>https://jira.xwiki.org/browse/XAPANELS]]
182 |##com.xpn.xwiki.platform.applications##|##xwiki-application-scheduler##|1.16|1.15|[[jira>>https://jira.xwiki.org/browse/XASCH]]
183 |##com.xpn.xwiki.platform.applications##|##xwiki-application-statistics##|1.6|1.5|[[jira>>https://jira.xwiki.org/browse/XASTATS]]
184 |##com.xpn.xwiki.platform.applications##|##xwiki-application-tag##|1.8|1.8|[[jira>>https://jira.xwiki.org/browse/XATAG]]
185 |##com.xpn.xwiki.platform.applications##|##xwiki-application-watchlist##|1.24|1.23|[[jira>>https://jira.xwiki.org/browse/XPWATCHLIST]]
186 |##com.xpn.xwiki.platform.applications##|##xwiki-application-webdav##|1.2|1.2|[[jira>>https://jira.xwiki.org/browse/XAWEBDAV]]
187 |##com.xpn.xwiki.platform.applications##|##xwiki-application-wiki-macro-bridge##|1.3|1.2|[[jira>>https://jira.xwiki.org/browse/XAWMB]]
Thomas Mortagne 22.1 188
189 == Plugins ==
190
191 |=Group Id|=Artifact Id|=New Version|=Old Version|=JIRA URL
Thomas Mortagne 36.1 192 |##com.xpn.xwiki.platform.plugins##|##xwiki-plugin-activitystream##|1.5|1.5|[[jira>>https://jira.xwiki.org/browse/XPAS]]
193 |##com.xpn.xwiki.platform.plugins##|##xwiki-plugin-jodatime##|1.3|1.3|[[jira>>https://jira.xwiki.org/browse/XPJODA]]
194 |##com.xpn.xwiki.platform.plugins##|##xwiki-plugin-lucene##|1.13|1.12|[[jira>>https://jira.xwiki.org/browse/XPLUCENE]]
195 |##com.xpn.xwiki.platform.plugins##|##xwiki-plugin-mailsender##|1.13|1.13|[[jira>>https://jira.xwiki.org/browse/XPMAIL]]
196 |##com.xpn.xwiki.platform.plugins##|##xwiki-plugin-scheduler##|1.16|1.15|[[jira>>https://jira.xwiki.org/browse/XASCH]]
197 |##com.xpn.xwiki.platform.plugins##|##xwiki-plugin-skinx##|1.13|1.12|[[jira>>https://jira.xwiki.org/browse/XSKINX]]
198 |##com.xpn.xwiki.platform.plugins##|##xwiki-plugin-tag##|1.8|1.8|[[jira>>https://jira.xwiki.org/browse/XATAG]]
199 |##com.xpn.xwiki.platform.plugins##|##xwiki-plugin-watchlist##|1.24|1.23|[[jira>>https://jira.xwiki.org/browse/XPWATCHLIST]]
Thomas Mortagne 22.1 200
201 == Skins ==
202
203 |=Group Id|=Artifact Id|=New Version|=Old Version|=JIRA URL
Thomas Mortagne 36.1 204 |##com.xpn.xwiki.platform.skins##|##xwiki-skin-albatross##|1.27|1.27|[[jira>>https://jira.xwiki.org/browse/XSALBATROSS]]
205 |##com.xpn.xwiki.platform.skins##|##xwiki-skin-colibri##|1.9|1.8|[[jira>>https://jira.xwiki.org/browse/XSCOLIBRI]]
206 |##com.xpn.xwiki.platform.skins##|##xwiki-skin-toucan##|1.32|1.32|[[jira>>https://jira.xwiki.org/browse/XSTOUCAN]]
Thomas Mortagne 22.1 207
208 == Top Level POM ==
209
Thomas Mortagne 23.1 210 |=Group Id|=Artifact Id|=New Version|=Old Version
Thomas Mortagne 22.1 211 |##com.xpn.xwiki.platform##|##xwiki##|28|28
212
213 == Tools ==
214
215 |=Group Id|=Artifact Id|=New Version|=Old Version|=JIRA URL
Thomas Mortagne 36.1 216 |##org.xwiki.platform.tools##|##xwiki-configuration-resources##|1.36|1.36|[[jira>>https://jira.xwiki.org/browse/XTCONFRES]]
217 |##org.xwiki.platform.tools##|##xwiki-jetty-resources##|1.17|1.17|[[jira>>https://jira.xwiki.org/browse/XTJETTY]]
218 |##org.xwiki.platform.tools##|##xwiki-license-resources##|1.1|1.1|[[jira>>https://jira.xwiki.org/browse/XTLICENSE]]
219 |##org.xwiki.platform.tools##|##xwiki-packager-plugin##|1.15|1.15|[[jira>>https://jira.xwiki.org/browse/XTPACKAGER]]
220 |##org.xwiki.platform.tools##|##xwiki-rootwebapp##|1.3|1.3|[[jira>>https://jira.xwiki.org/browse/XTROOT]]
221 |##org.xwiki.platform.tools##|##standards-validator##|1.1|1.1|[[jira>>https://jira.xwiki.org/browse/XTVALIDATOR]]
222 |##org.xwiki.platform.tools##|##xwiki-xar-handlers##|1.9|1.9|[[jira>>https://jira.xwiki.org/browse/XTXARHANDLER]]
223 |##org.xwiki.platform.tools##|##xwiki-xar-plugin##|1.13|1.13|[[jira>>https://jira.xwiki.org/browse/XPXARPLUGIN]]
224 |##org.xwiki.platform.tools##|##xwiki-verification-resources##|1.14|1.14|[[jira>>https://jira.xwiki.org/browse/XTVERIFICATIONS]]

Get Connected