Version 41.1 by Anca Luca on 2011/04/06

Hide last authors
Marius Dumitru Florea 1.1 1 {{velocity}}
2 $xwiki.ssx.use("ReleaseNotesXWikiEnterprise30M3")
3 {{/velocity}}
4
5 {{box cssClass="floatinginfobox" title="**Contents**"}}
6 {{toc/}}
7 {{/box}}
8
Vincent Massol 32.3 9 This is the first release of the [[3.x>>enterprise:Main.Roadmap]] [[cycle>>dev:Community.VersioningAndReleasePractices#HReleaseCyclesandReleaseStrategy]]. Conforming to the [[general themes of the 3.x cycle>>enterprise:Main.Roadmap#HXWikiEnterprise3.xCycle]], a lot of features have been polished and improved, and a few new features have been introduced as well. The highlights of this release are:
Anca Luca 39.1 10
Vincent Massol 32.3 11 * Twitter-like **messaging and networking** inside the wiki,
12 * a new **filesystem storage for attachments** which allows huge attachments to be uploaded without requiring a lot of memory or database storage,
13 * **improved dashboard editing**,
14 * better cross-browser support and improved functionality for the **WYSIWYG** editor,
15 * a **revamped UI for administration**, improved **office presentation import** with a new gallery macro,
16 * **live suggestions** for the search input,
17 * a new UI for **changing user avatars**.
Sergiu Dumitriu 30.1 18
Vincent Massol 32.3 19 On the developers' front, we've made it easier to reuse the XWiki rendering engine outside our own codebase, by extracting two new top level projects:
Anca Luca 39.1 20
Vincent Massol 32.3 21 * XWiki Commons, holding generic modules not tied to the rest of the platform,
22 * XWiki Rendering, holding all the XWiki-independent modules of the rendering engine.
23
Sergiu Dumitriu 32.2 24 We've setup a [[Jira dashboard>>http://jira.xwiki.org/jira/secure/Dashboard.jspa?selectPageId=10550]] to present the work done for the whole 3.0 release. In summary, 510 issues have been closed by 14 committers (and other contributors providing patches), out of which 236 are fixed bugs.
25
Marius Dumitru Florea 1.1 26 = New and Noteworthy (since XWiki Enterprise 2.7) =
27
Sergiu Dumitriu 29.1 28 == Redesign of the Administration Application ==
Marius Dumitru Florea 1.1 29
Sergiu Dumitriu 32.2 30 We have redesigned the administration application providing a new layout and new icons (designed by Ciprian Amaritei). Administration sections are now grouped in several categories displayed using a vertical menu. Each section has been modified in order to be consistent with our [[Vertical Layout Usage Form Standard>>platform:DevGuide.VerticalForms]]. The sections have been reorganized as well, making them more intuitive.
Marius Dumitru Florea 9.1 31
Marius Dumitru Florea 11.1 32 [[[[image:administration.png||class="screenshot"]]>>attach:administration.png]]
Marius Dumitru Florea 9.1 33
Marius Dumitru Florea 14.1 34 The WYSIWYG content editor can now be easily configured from the wiki administration. Look for the //WYSIWYG Editor// section under //Applications// category. You may still need to scan the list of available [[plugins and features>>platform:AdminGuide.WysiwygEditor#HPluginsandFeatures]] in order to know what to enable. In the future we're hoping to integrate this information in the administration section.
Marius Dumitru Florea 9.1 35
Marius Dumitru Florea 14.1 36 [[[[image:wysiwygConfig.png||class="screenshot"]]>>attach:wysiwygConfig.png]]
Marius Dumitru Florea 9.1 37
Marius Dumitru Florea 8.1 38 == Message Stream ==
39
Marius Dumitru Florea 19.1 40 Users can now post status messages which will be visible on the main dashboard and on the user profile page.
41
Marius Dumitru Florea 17.1 42 [[image:messageStream.png||class="screenshot"]]
43
Marius Dumitru Florea 19.1 44 Users can follow each other's activity streams.
45
Marius Dumitru Florea 17.1 46 [[image:follow.png||class="screenshot"]]
47
Marius Dumitru Florea 19.1 48 In order to see the members of your network and the network activity you can use the //Network// menu:
49
Marius Dumitru Florea 17.1 50 [[image:networkMenu.png||class="screenshot"]]
51
Marius Dumitru Florea 19.1 52 which leads you to the //Network// tab from the user profile page:
Marius Dumitru Florea 17.1 53
Marius Dumitru Florea 19.1 54 [[[[image:network.png||class="screenshot"]]>>attach:network.png]]
55
Marius Dumitru Florea 8.1 56 == Dashboard Editing ==
57
Marius Dumitru Florea 24.1 58 A visual editor for dashboards has been implemented and is accessible by editing the page that contains a dashboard. Advanced users should use the //Inline// edit mode to edit the dashboard. In edit mode gadgets can be dragged by their title bar and moved around in different columns of the dashboard.
Marius Dumitru Florea 20.1 59
60 [[image:ReleaseNotesXWikiEnterprise30M3@moveGadget.png||class="screenshot"]]
61
Marius Dumitru Florea 24.1 62 A new gadget can be added by choosing from the macros in the wiki, using a dialog similar to the WYSIWYG editor macro dialog.
63
Marius Dumitru Florea 20.1 64 [[image:ReleaseNotesXWikiEnterprise30M3@addGadget.png||class="screenshot"]]
65
Marius Dumitru Florea 24.1 66 A gadget can be removed from the dashboard using the gadget settings action.
67
Marius Dumitru Florea 20.1 68 [[image:ReleaseNotesXWikiEnterprise30M3@removeGadget.png||class="screenshot"]]
69
Marius Dumitru Florea 8.1 70 == Search Live Suggestions ==
71
Marius Dumitru Florea 21.2 72 This release introduces the first iteration on a "suggestions as you type" feature for the search box.
Marius Dumitru Florea 21.1 73
74 [[image:ReleaseNotesXWikiEnterprise30M3@searchSuggest.png||class="screenshot"]]
75
76 The suggestions proposed come from several sources, configurable in the wiki administration under the //Search Suggest// section. The sources configured by default include "Document name", "Document content", "Attachment name", "Attachment content" and "Users".
77
Marius Dumitru Florea 8.1 78 == Gallery Macro and Office Presentation Viewer ==
79
Marius Dumitru Florea 22.1 80 The [[Gallery Macro>>extensions:Extension.Gallery Macro]] helps you create a simple image gallery where images are displayed using a slide-show view. You can use images from any source, both internal (attached to a wiki page) and external. The gallery macro collects all the images it finds in the macro content. The [[Office Macro>>extensions:Extension.Office Macro]] has been improved to use the gallery macro when displaying office presentations:
81
82 [[image:extensions:Extension.Office Macro@presentation.png||class="screenshot"]]
83
Marius Dumitru Florea 8.1 84 == Attachment Selector Macro ==
85
Marius Dumitru Florea 23.1 86 [[Attachment Selector Macro>>extensions:Extension.Attachment Selector Macro]] is now bundled with XWiki Enterprise.
87
88 [[image:extensions:Extension.Attachment Selector Macro@choosefile.png||class="screenshot"]]
89
90 The UI for changing the user's avatar has been modified to use the attachment selector macro:
91
92 [[image:ReleaseNotesXWikiEnterprise30RC1@changeAvatar.png||class="screenshot"]]
93
Marius Dumitru Florea 27.1 94 == WYSIWYG Editor Improvements ==
Marius Dumitru Florea 8.1 95
Marius Dumitru Florea 27.1 96 === Cross-Browser Support ===
97
98 The WYSIWYG content editor now has better support for Opera, Chrome and Safari browsers.
99
100 === Improved Macro Support ===
101
102 In order to fix [[XWIKI-5691>>http://jira.xwiki.org/jira/browse/XWIKI-5691]] and a few related bugs we had to refactor the way macros are displayed inside the rich text area of the WYSIWYG content editor. Along with this we introduced a few improvements in the way users interact with macros. Here's a list of changes:
103
104 * Macros are displayed now 100% like in view mode. Previously we were using a button HTML element to protect the macro output which gave macro output an inherent box layout. This was noticeable especially for multi-line in-line macros. This is fixed now:(((
105 [[image:ReleaseNotesXWikiEnterprise30M3@inLineMacro.png||class="screenshot"]]
106 )))
107 * Macros that have output are emphasized only when hovered or selected.
108 * You can navigate the macro output with the arrow keys. The macro output feels like the rest of the content except that you can't edit it in place.
109 * You can copy content from the macro output.
110 * Press Enter to edit macro.
111 * Press Space to toggle between collapsed and expanded state.
112 * Ctrl + Shift + R reloads the macros.
113 * Ctrl + Shift + E expands all/selected macros.
114 * Ctrl + Shift + C collapses all/selected macros.
115 * Ctrl + Shift + M to open the insert macro wizard.
116
117 Known issues that we'd like to fix for 3.0 final:
118
119 * You can cut text from macro output.
120 * You can drag text into/from macro output.
121 * Placing the caret before/after a macro is still tricky.
122
Caleb James DeLisle 35.1 123 == Filesystem Attachment Storage ==
Marius Dumitru Florea 8.1 124
Marius Dumitru Florea 26.1 125 {{warning}}
126 This is an experimental feature. We need more users to test it before we can enable it by default.
127 {{/warning}}
128
Caleb James DeLisle 34.1 129 This storage engine allows very large attachments (over a gigabyte!) to be added to documents in the wiki while reducing load on the database. The Filesystem Attachment Store is fully implemented, with all the attachment-handling parts available as filesystem stores: the main attachment content store, the attachment history store, and the attachment trash store.
Marius Dumitru Florea 25.1 130
Caleb James DeLisle 34.1 131 A disadvantage is that searching inside attachments is no longer possible using standard HQL (as is done in the ##DatabaseSearch## implementation); this continues to be possible using Lucene.
Marius Dumitru Florea 25.1 132
Caleb James DeLisle 34.1 133 We need feedback on how well it works before we can declare it production-ready, so we welcome all feedback from users, good and bad.
Sergiu Dumitriu 29.1 134
Caleb James DeLisle 37.1 135 [[[[image:bigattach.png||style="border:1px solid #D6E1E7"]]>>attach:bigattach.png]]
136
Marius Dumitru Florea 25.1 137 To enable it:
138
139 * Make the following changes to your ##xwiki.cfg## file, under the "Storage" section:(((
140 {{code language="none"}}
141 #-# The attachment storage.
142 xwiki.store.attachment.hint=file
143
144 #-# The attachment versioning storage. Use 'void' to disable attachment versioning.
145 xwiki.store.attachment.versioning.hint=file
146
147 #-# The attachment recycle bin storage
148 xwiki.store.attachment.recyclebin.hint=file
149 {{/code}}
150 )))
151
Caleb James DeLisle 34.1 152 The maximum attachment size will still be bounded by a configuration parameter so if you want to start attaching mega huge attachments right away, logged in as an administrator, open the ##{{{<your site>/xwiki/bin/edit/XWiki/XWikiPreferences?editor=object}}}## page and scroll down until you find ##Maximum Upload Size##, and change that number to something huge like: ##999999999999##. Then click save at the bottom of the page.
Anca Luca 39.1 153
Caleb James DeLisle 38.1 154 * Numbers that are too large cannot be parsed but the one above is known to be small enough. You will just have to live with only attachments smaller than a petabyte.
Caleb James DeLisle 34.1 155
Caleb James DeLisle 35.1 156 If you have an existing wiki and you want to start taking advantage of the attachment store, you can use the [[extensions:Extension.Filesystem Attachment Porter]] to move the attachments over to the filesystem. The description of the porter also contains more information about filesystem attachment storage in general so reading the page is recommended even if you don't need it.
Caleb James DeLisle 34.1 157
Marius Dumitru Florea 26.1 158 == Extension Manager ==
Marius Dumitru Florea 8.1 159
Marius Dumitru Florea 26.1 160 {{warning}}
161 This is an experimental feature at this stage and the UI part is not done yet.
162 {{/warning}}
163
164 * Add minimalistic XAR support
Sergiu Dumitriu 29.1 165 ** Install/uninstall/upgrade a xar extension
Marius Dumitru Florea 26.1 166 ** The xar can have infinite number of pages and attachments, it's just limited by the size of each attachment right now until the storage API support fully streamed attachments
Sergiu Dumitriu 29.1 167 ** Very limited upgrade: import adds a new version to make sure not to loose anything, there is no real document merging handling
Marius Dumitru Florea 26.1 168 ** Delete pages from old version not in the new version when upgrading a XAR extension
169 * Add multiwiki support (install any extension on a specific wiki only)
170 * Add extension events
171
172 [[image:ReleaseNotesXWikiEnterprise30M3@extensionmanager.png||class="screenshot"]]
173
174 See [[Extension Module documentation>>extensions:Extension.Extension Module]] for more details.
175
Marius Dumitru Florea 8.1 176 == Rendering and Commons Top Level Projects ==
177
Sergiu Dumitriu 29.1 178 We have created a new top level project called [[XWiki Commons>>commons:Main.WebHome]], which contains libraries that are generic enough to be reused outside of the XWiki project. New modules are now located under the ##org.xwiki.commons## group id at http://maven.xwiki.org/releases/org/xwiki/commons/ .
Marius Dumitru Florea 24.1 179
Sergiu Dumitriu 29.1 180 We have also created a new top level project called [[XWiki Rendering>>rendering:Main.WebHome]], which contains a generic rendering engine. New modules are now located under the ##org.xwiki.rendering## group Id, at [[http://maven.xwiki.org/releases/org/xwiki/rendering/]]. The modules in this project are independent of the XWiki core (they only rely on the new xwiki-commons modules), so they can be easily reused.
Marius Dumitru Florea 24.1 181
Marius Dumitru Florea 1.1 182 == Miscellaneous ==
183
Marius Dumitru Florea 28.1 184 Besides the major features described above this release brings lots of bug fixes as well as improvements in various domains of XWiki, including PDF export, color theme editor and UI consistency. See the release notes for 3.0 [[Milestone 1>>ReleaseNotesXWikiEnterprise30M1]], [[Milestone 2>>ReleaseNotesXWikiEnterprise30M2]], [[Milestone 3>>ReleaseNotesXWikiEnterprise30M3]] and [[Release Candidate 1>>ReleaseNotesXWikiEnterprise30RC1]] for details.
Marius Dumitru Florea 1.1 185
186 == Translations ==
187
Marius Dumitru Florea 6.1 188 * The following translations have been updated: ##ca##, ##cs##, ##de##, ##es##, ##fr##, ##gl##, ##hi##, ##hr##, ##it##, ##lv##, ##nl##, ##no##, ##pl##, ##pt##, ##ro##, ##ru##, ##sk##, ##sv##, ##uk##, ##vi##, ##zh##, ##zh_TW##.
Marius Dumitru Florea 1.1 189
190 = Known issues =
191
192 * [[Bugs we know about>>http://jira.xwiki.org/jira/secure/IssueNavigator.jspa?reset=true&&type=1&pid=10010&resolution=-1&sorter/field=updated&sorter/order=DESC]]
193
194 = Test Report =
195
Sergiu Dumitriu 33.1 196 You can check the [[manual test report>>TestReports.WebHome#HVersions3.0.x]] to learn about what was tested and the results on various browsers.
Marius Dumitru Florea 1.1 197
198 = Backward Compatibility and Migration Notes =
199
200 == General Notes ==
201
202 {{warning}}
203 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 //xwiki.store.migration.databases=db1,db2,...//.
204 {{/warning}}
205
206 You may also want to [[import the default wiki XAR>>Main.Download]] in order to benefit from the improvements listed above.
207
208 {{warning}}
209 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.
210 {{/warning}}
211
212 == Migration Notes ==
213
Marius Dumitru Florea 2.1 214 === The Velocity engine was updated to version 1.7 ===
Marius Dumitru Florea 1.1 215
Marius Dumitru Florea 2.1 216 {{warning}}
217 We upgraded Velocity to version 1.7 which brings several changes that are not backwards compatible.
218 {{/warning}}
219
220 We had to fix the following problems on the velocity code bundled with XWiki Enteprise:
221
222 * Escape quotes in interpolated strings (both ' and ") by doubling them ('' and "") (See [[VELOCITY-555>>https://issues.apache.org/jira/browse/VELOCITY-555]])
223 * [[XABLOG-117>>http://jira.xwiki.org/jira/browse/XABLOG-117]]: Blog application broken under Velocity 1.7
224 * [[XAADMINISTRATION-200>>http://jira.xwiki.org/jira/browse/XAADMINISTRATION-200]]: Configurable sections are broken ("configuration cannot be displayed because it was last edited by Admin who doesn't have permission to edit this page")
225 * [[XE-806>>http://jira.xwiki.org/jira/browse/XE-806]]: Upgrade activity macro to work with velocity 1.7
226
227 ==== Macro evaluation strategy ====
228
229 The main change is that Velocity 1.7 changed the way macro evaluations work. While before it was more flexible with many possible outcomes depending on what parameters were passed, and how they were used inside the macro, the current version simplified a lot the internal logic of variable assignments inside macros, which resulted in a critical regression for us. The same change was introduced between 1.6.0 and 1.6.1, but was reverted in 1.6.2 when we notified them of the regression, with the decision to go further with the change in 1.7.
230
231 To better understand the kind of code that doesn't work, take this example:
232
Marius Dumitru Florea 22.1 233 {{code language="none"}}
Marius Dumitru Florea 2.1 234 #macro(callBySharing $x)
235 #set($x = 'a')
236 #end
237 #set($y = 'y')
238 #callBySharing($y)
239
240 $y -> 'y' in 1.7
241 $y -> 'a' in 1.6.2, 1.6.0 and before)
242 {{/code}}
243
244 But:
245
246 {{code language="none"}}
247 #set($x = 'x')
248 #callBySharing($x)
249
250 $x -> 'a' in all versions
251 {{/code}}
252
253 This means that only macros that are supposed to assign and return a value in one of its formal parameters will stop working, and only when the formal and actual parameters have different names. Macros with signatures like:
254
255 {{code language="none"}}
256 #macro(computeSomething $fromValue1 $fromValue2 $putResultHere)
257 {{/code}}
258
259 The only macro in the global ##macros.vm## that was broken by this change was ###setVariableFromRequest##, which is already fixed in the released version.
260
261 Now there's also a generic ###setVariable ("variableName" $value)## macro which can be used to emulate the call by sharing behavior in custom macros. How to use it:
262
263 Suppose you had a macro like this:
264
265 {{code language="none"}}
266 #macro(isBlogGlobal $blogDoc $isGlobal)
267 #set($isGlobal = false)
268 #getBlogProperty($blogDoc 'blogType' '' $discard)
269 #if($discard == 'global')
270 #set($isGlobal = true)
271 #end
272 #end
273 {{/code}}
274
Anca Luca 39.1 275
Marius Dumitru Florea 2.1 276 Here ##$isGlobal## is the output variable which now doesn't always work. The updated version of the macro can be written as:
277
278 {{code language="none"}}
279 #macro(isBlogGlobal $blogDoc $isGlobal)
280 #set ($result = false)
281 #getBlogProperty($blogDoc 'blogType' '' $discard)
282 #if($discard == 'global')
283 #set($result = true)
284 #end
285 #set ($isGlobal = $util.null)
286 #setVariable ("$isGlobal" $result)
287 #end
288 {{/code}}
289
290 Pay attention to the last two lines in the macro.
291
292 In Velocity, when rendering ##$variable##, where ##$variable## is ##undefined## or ##null##, will cause the variable name to be printed instead. As it happens, when inside a macro, what gets printed is the name of the actual parameter (the one passed in the macro call), and not the formal one (the one declared in the macro definition). So, whenever ##$isGlobal## is rendered as a string, the name of the actual parameter is obtained.
293
294 ###set ($isGlobal = $util.null)## will make sure that no matter what the previous value of the variable was, ##$isGlobal## will be ##null## from this point forward, and ##"$isGlobal"## will output the name of the actual parameter.
295
296 When calling ###setVariable ("$isGlobal" $result)##, the first parameter will contain the name of the actual parameter used when calling ###isBlogGlobal##.
297
298 Inside the ###setVariable## macro, the wanted variable is assigned using ###evaluate##.
299
300 ==== Quotes and apostrophes inside strings ====
301
302 The second change is the escape syntax used inside strings for quotes and apostrophes. While before this used to work:
303
304 {{code language="none"}}
305 {{velocity}}
306 #set ($a = "He said \"maybe\"")
307 $a => He said \"maybe\"
308 {{/velocity}}
309 {{/code}}
310
311 now this snippet would throw an exception. Trying to escape an apostrophe inside an apostrophe-delimited string would have failed even before.
312
313 In Velocity 1.7 it is possible to place both single and double quotes inside a string, by doubling that character. For example:
314
315 {{code language="none"}}
316 {{velocity}}
317 #set ($a = "He said ""maybe""")
318 $a => He said "maybe"
319
320 #set ($b = 'that''s funny')
321 $b => that's funny
322 {{/velocity}}
323 {{/code}}
324
Marius Dumitru Florea 3.1 325 === Update dashboard macro calls ===
326
Anca Luca 41.1 327 Because of the implementation of [[XWIKI-5938>>http://jira.xwiki.org/jira/browse/XWIKI-5938]], when upgrading from 2.x to 3.0, if the dashboard macro was used in its form from 2.5 (with the macro calls in the source of the page), it needs to either be manually converted to the objects form (if you want to benefit from all the dashboard improvements described above) either be converted it to a simple container macro with columns layout (if the focus is only column layouting of content).
Marius Dumitru Florea 3.1 328
Anca Luca 39.1 329 The steps to take are:
Marius Dumitru Florea 3.1 330
Anca Luca 39.1 331 * if you want to benefit from all the dashboard improvements\\
332 *1. remove the content of the dashboard macro
Anca Luca 40.1 333 *1. use the visual dashboard editor (as described above in these release notes) to add the gadgets you need on the dashboard. If you need advanced content, such as custom scripts, etc, you can also use the objects editor for the current page to edit the ##XWiki.GadgetClass## objects attached to the page.
Anca Luca 39.1 334 * if you only need columns layout content\\
335 *1. modify the ##~{~{dashboard}}## macro call to a ##~{~{container layoutStyle="columns"}}## macro call, leaving the same content in the macro.
336
337 Note that the default Main.WebHome page distributed in XWiki Enterprise contains a dashboard, so if you upgraded XE and didn't upgrade this page, you'll need to manually upgrade that dashboard or manually merge it with the one from the 3.0 version.
338
Marius Dumitru Florea 5.1 339 === Update web.xml ===
340
341 Due to the package rename done for [[XWIKI-6158>>http://jira.xwiki.org/jira/browse/XWIKI-6158]] when upgrading from 2.x to 3.0 you must edit your ##web.xml## file and replace all occurrences of ##com.xpn.xwiki.wysiwyg## with ##org.xwiki.wysiwyg##.
342
Marius Dumitru Florea 15.1 343 === XWiki Preferences ===
344
Sergiu Dumitriu 29.1 345 Several rarely used and deprecated preferences have been removed from the ##XWiki.XWikiPreferences## class, in order to make way for more useful settings. If you were using any of these preferences, and you want to import the new ##XWikiPreferences## document when upgrading, you should re-add that property manually afterwards. Here's the list of removed properties:
Marius Dumitru Florea 15.1 346
Sergiu Dumitriu 29.1 347 * ##convertmail## - used by the old invitation manager, never really used in practice outside Curriki
348 * ##editbox_height## and ##editbox_width## - configurations for the size of the textarea elements, now fully styled with CSS
349 * ##macros_languages##, ##macros_mapping##, ##macros_groovy##, ##macros_velocity##, ##macros_wiki##, ##macros_wiki2## - old macro polymorphism mechanism available in the ##xwiki/1.0## rendering and the WYSIWYG editor
350 * ##menu## - configuration for the left-hand section in the extinct ##dodo## skin
351 * ##notification_pages## - mechanism for registering ##xwiki/1.0## documents containing Groovy code as notification listeners; both the syntax and the notification mechanism are deprecated, consider rewriting these listeners as components
352 * ##pageWidth## - unused customization for the layout of the skin, an early experiment for the old ##finch## skin, never fully used or exposed
353 * ##renderXWikiGroovyRenderer##, ##renderXWikiRadeoxRenderer##, ##renderXWikiVelocityRenderer## - customizations for the ##xwiki/1.0## rendering process
Anca Luca 39.1 354 * ##webbgcolor## - old setting for the extinct ##dodo## skin~{~{/dashboard}}
Sergiu Dumitriu 29.1 355
Marius Dumitru Florea 1.1 356 == API Breakages ==
357
358 The following xwiki-core APIs were modified since XWiki Enterprise 2.7 (API breakages in modules that were moved to Rendering or Commons top level projects are not included):
359
360 {{code language="none"}}
Marius Dumitru Florea 4.1 361 ERROR: 8001: org.xwiki.officeimporter.OfficeImporter: Class org.xwiki.officeimporter.OfficeImporter removed
362 ERROR: 8001: org.xwiki.officeimporter.OfficeImporterFilter: Class org.xwiki.officeimporter.OfficeImporterFilter removed
363 ERROR: 7002: org.xwiki.officeimporter.OfficeImporterVelocityBridge: Method 'public java.lang.String getLastErrorMessage()' has been removed
364 ERROR: 7002: org.xwiki.officeimporter.OfficeImporterVelocityBridge: Method 'public boolean importDocument(byte[], java.lang.String, java.lang.String, java.util.Map)' has been removed
365 ERROR: 7002: org.xwiki.officeimporter.builder.PresentationBuilder: Method 'public org.xwiki.officeimporter.document.XDOMOfficeDocument build(java.io.InputStream, java.lang.String)' has been removed
366 ERROR: 7002: org.xwiki.officeimporter.builder.PresentationBuilder: Method 'public org.xwiki.officeimporter.document.XDOMOfficeDocument build(byte[])' has been removed
367 ERROR: 7002: org.xwiki.officeimporter.builder.XDOMOfficeDocumentBuilder: Method 'public org.xwiki.officeimporter.document.XDOMOfficeDocument build(byte[], org.xwiki.bridge.DocumentName, boolean)' has been removed
368 ERROR: 7002: org.xwiki.officeimporter.builder.XHTMLOfficeDocumentBuilder: Method 'public org.xwiki.officeimporter.document.XHTMLOfficeDocument build(byte[], org.xwiki.bridge.DocumentName, boolean)' has been removed
369 ERROR: 7012: org.xwiki.officeimporter.openoffice.OpenOfficeConverter: Method 'public boolean isMediaTypeSupported(java.lang.String)' has been added to an interface
370 ERROR: 8001: org.xwiki.officeimporter.openoffice.OpenOfficeDocumentConverter: Class org.xwiki.officeimporter.openoffice.OpenOfficeDocumentConverter removed
371 ERROR: 7002: org.xwiki.officeimporter.openoffice.OpenOfficeManager: Method 'public org.artofsolving.jodconverter.OfficeDocumentConverter getDocumentConverter()' has been removed
372 ERROR: 7002: org.xwiki.officeimporter.splitter.XDOMOfficeDocumentSplitter: Method 'public java.util.Map split(org.xwiki.officeimporter.document.XDOMOfficeDocument, int[], java.lang.String, org.xwiki.bridge.DocumentName)' has been removed
373 ERROR: 7012: org.xwiki.bridge.DocumentModelBridge: Method 'public org.xwiki.rendering.syntax.Syntax getSyntax()' has been added to an interface
374 ERROR: 7012: org.xwiki.bridge.DocumentModelBridge: Method 'public org.xwiki.rendering.block.XDOM getXDOM()' has been added to an interface
375 ERROR: 7002: org.xwiki.container.Request: Method 'public org.xwiki.url.XWikiURL getURL()' has been removed
376 ERROR: 7002: com.xpn.xwiki.api.XWiki: Method 'public java.lang.Object getExoPortalService(java.lang.String)' has been removed
377 ERROR: 7002: com.xpn.xwiki.api.XWiki: Method 'public java.lang.Object getExoService(java.lang.String)' has been removed
378 ERROR: 7002: com.xpn.xwiki.api.XWiki: Method 'public java.lang.Object getPortalService(java.lang.String)' has been removed
379 ERROR: 7002: com.xpn.xwiki.api.XWiki: Method 'public java.lang.Object getService(java.lang.String)' has been removed
380 ERROR: 7002: com.xpn.xwiki.api.XWikiCompatibilityAspect: Method 'public java.lang.Object ajc$interMethod$com_xpn_xwiki_api_XWikiCompatibilityAspect$com_xpn_xwiki_api_XWiki$getPortalService(com.xpn.xwiki.api.XWiki, java.lang.String)' has been removed
381 ERROR: 7002: com.xpn.xwiki.api.XWikiCompatibilityAspect: Method 'public java.lang.Object ajc$interMethod$com_xpn_xwiki_api_XWikiCompatibilityAspect$com_xpn_xwiki_api_XWiki$getService(com.xpn.xwiki.api.XWiki, java.lang.String)' has been removed
382 ERROR: 7002: com.xpn.xwiki.api.XWikiCompatibilityAspect: Method 'public java.lang.Object ajc$interMethodDispatch1$com_xpn_xwiki_api_XWikiCompatibilityAspect$com_xpn_xwiki_api_XWiki$getPortalService(com.xpn.xwiki.api.XWiki, java.lang.String)' has been removed
383 ERROR: 7002: com.xpn.xwiki.api.XWikiCompatibilityAspect: Method 'public java.lang.Object ajc$interMethodDispatch1$com_xpn_xwiki_api_XWikiCompatibilityAspect$com_xpn_xwiki_api_XWiki$getService(com.xpn.xwiki.api.XWiki, java.lang.String)' has been removed
384 ERROR: 7002: com.xpn.xwiki.pdf.api.PdfExport: Method 'public byte[] convertToStrictXHtml(byte[], com.xpn.xwiki.XWikiContext)' has been removed
385 ERROR: 7002: com.xpn.xwiki.pdf.api.PdfExport: Method 'public java.lang.String convertToStrictXHtml(java.lang.String)' has been removed
386 ERROR: 7002: com.xpn.xwiki.pdf.api.PdfExport: Method 'public byte[] convertXHtmlToXMLFO(byte[], com.xpn.xwiki.XWikiContext)' has been removed
387 ERROR: 7002: com.xpn.xwiki.pdf.api.PdfExport: Method 'public java.lang.String convertXHtmlToXMLFO(java.lang.String, com.xpn.xwiki.XWikiContext)' has been removed
388 ERROR: 7005: com.xpn.xwiki.pdf.api.PdfExport: Parameter 3 of 'public void export(com.xpn.xwiki.doc.XWikiDocument, java.io.OutputStream, int, com.xpn.xwiki.XWikiContext)' has changed its type to com.xpn.xwiki.pdf.api.PdfExport$ExportType
389 ERROR: 7005: com.xpn.xwiki.pdf.api.PdfExport: Parameter 3 of 'public void exportHtml(java.lang.String, java.io.OutputStream, int, com.xpn.xwiki.XWikiContext)' has changed its type to com.xpn.xwiki.pdf.api.PdfExport$ExportType
390 ERROR: 7002: com.xpn.xwiki.pdf.api.PdfExport: Method 'public void exportXHtml(byte[], java.io.OutputStream, int, com.xpn.xwiki.XWikiContext)' has been removed
Marius Dumitru Florea 1.1 391 {{/code}}
392
393 The following XWiki GWT APIs were modified since XWiki Enterprise 2.7:
394
395 {{code language="none"}}
Marius Dumitru Florea 7.1 396 ERROR: 6011: org.xwiki.gwt.user.client.ui.rta.RichTextArea: Field DISABLED has been removed, but it was previously a constant
397 ERROR: 7002: org.xwiki.gwt.wysiwyg.client.RichTextEditorController: Method 'protected void initTextArea()' has been removed
398 ERROR: 7012: org.xwiki.gwt.wysiwyg.client.Strings: Method 'public java.lang.String gadget()' has been added to an interface
399 ERROR: 7012: org.xwiki.gwt.wysiwyg.client.Strings: Method 'public java.lang.String gadgetEditDialogCaption()' has been added to an interface
400 ERROR: 7012: org.xwiki.gwt.wysiwyg.client.Strings: Method 'public java.lang.String gadgetInsertActionLabel()' has been added to an interface
401 ERROR: 7012: org.xwiki.gwt.wysiwyg.client.Strings: Method 'public java.lang.String gadgetInsertDialogCaption()' has been added to an interface
402 ERROR: 7012: org.xwiki.gwt.wysiwyg.client.Strings: Method 'public java.lang.String gadgetInsertDialogTitle()' has been added to an interface
403 ERROR: 7012: org.xwiki.gwt.wysiwyg.client.Strings: Method 'public java.lang.String gadgetNoGadgetSelected()' has been added to an interface
404 ERROR: 7012: org.xwiki.gwt.wysiwyg.client.Strings: Method 'public java.lang.String gadgetTitleDescription()' has been added to an interface
405 ERROR: 7012: org.xwiki.gwt.wysiwyg.client.Strings: Method 'public java.lang.String gadgetTitleLabel()' has been added to an interface
406 ERROR: 7012: org.xwiki.gwt.wysiwyg.client.Strings: Method 'public java.lang.String macroCollapseAllShortcutKeyLabel()' has been added to an interface
407 ERROR: 7012: org.xwiki.gwt.wysiwyg.client.Strings: Method 'public java.lang.String macroCollapseShortcutKeyLabel()' has been added to an interface
408 ERROR: 7012: org.xwiki.gwt.wysiwyg.client.Strings: Method 'public java.lang.String macroEditShortcutKeyLabel()' has been added to an interface
409 ERROR: 7012: org.xwiki.gwt.wysiwyg.client.Strings: Method 'public java.lang.String macroExpandAllShortcutKeyLabel()' has been added to an interface
410 ERROR: 7012: org.xwiki.gwt.wysiwyg.client.Strings: Method 'public java.lang.String macroExpandShortcutKeyLabel()' has been added to an interface
411 ERROR: 7012: org.xwiki.gwt.wysiwyg.client.Strings: Method 'public java.lang.String macroInsertShortcutKeyLabel()' has been added to an interface
412 ERROR: 7012: org.xwiki.gwt.wysiwyg.client.Strings: Method 'public java.lang.String macroRefreshShortcutKeyLabel()' has been added to an interface
413 ERROR: 8001: org.xwiki.gwt.wysiwyg.client.plugin.Plugin: Class org.xwiki.gwt.wysiwyg.client.plugin.Plugin removed
414 ERROR: 8001: org.xwiki.gwt.wysiwyg.client.plugin.PluginFactory: Class org.xwiki.gwt.wysiwyg.client.plugin.PluginFactory removed
415 ERROR: 8001: org.xwiki.gwt.wysiwyg.client.plugin.PluginFactoryManager: Class org.xwiki.gwt.wysiwyg.client.plugin.PluginFactoryManager removed
416 ERROR: 8001: org.xwiki.gwt.wysiwyg.client.plugin.PluginManager: Class org.xwiki.gwt.wysiwyg.client.plugin.PluginManager removed
417 ERROR: 8001: org.xwiki.gwt.wysiwyg.client.plugin.UIExtension: Class org.xwiki.gwt.wysiwyg.client.plugin.UIExtension removed
418 ERROR: 6011: org.xwiki.gwt.wysiwyg.client.plugin.color.ColorCell: Field SELECTED_STYLE_NAME has been removed, but it was previously a constant
419 ERROR: 7002: org.xwiki.gwt.wysiwyg.client.plugin.color.ColorPicker: Method 'public java.lang.String convertToHex(java.lang.String)' has been removed
420 ERROR: 7002: org.xwiki.gwt.wysiwyg.client.plugin.color.ColorPlugin: Method 'protected org.xwiki.gwt.user.client.ui.rta.cmd.Executable getBackColorExecutable()' has been removed
421 ERROR: 8001: org.xwiki.gwt.wysiwyg.client.plugin.color.MozillaColorPlugin: Class org.xwiki.gwt.wysiwyg.client.plugin.color.MozillaColorPlugin removed
422 ERROR: 8001: org.xwiki.gwt.wysiwyg.client.plugin.color.exec.BackColorExecutable: Class org.xwiki.gwt.wysiwyg.client.plugin.color.exec.BackColorExecutable removed
423 ERROR: 8001: org.xwiki.gwt.wysiwyg.client.plugin.color.exec.HiliteColorExecutable: Class org.xwiki.gwt.wysiwyg.client.plugin.color.exec.HiliteColorExecutable removed
424 ERROR: 7004: org.xwiki.gwt.wysiwyg.client.plugin.macro.MacroDisplayer: In method 'public MacroDisplayer()' the number of arguments has changed
425 ERROR: 7004: org.xwiki.gwt.wysiwyg.client.plugin.macro.MacroDisplayer: In method 'protected org.xwiki.gwt.dom.client.Element createReadOnlyBox()' the number of arguments has changed
426 ERROR: 7002: org.xwiki.gwt.wysiwyg.client.plugin.macro.MacroDisplayer: Method 'protected java.lang.String getMacroContainerTagName()' has been removed
427 ERROR: 7002: org.xwiki.gwt.wysiwyg.client.plugin.macro.MacroDisplayer: Method 'public void setTextArea(org.xwiki.gwt.user.client.ui.rta.RichTextArea)' has been removed
428 ERROR: 4001: org.xwiki.gwt.wysiwyg.client.plugin.macro.MacroPlugin: Removed com.google.gwt.event.dom.client.DoubleClickHandler from the set of implemented interfaces
429 ERROR: 4001: org.xwiki.gwt.wysiwyg.client.plugin.macro.MacroPlugin: Removed com.google.gwt.event.shared.EventHandler from the set of implemented interfaces
430 ERROR: 7002: org.xwiki.gwt.wysiwyg.client.plugin.macro.MacroPlugin: Method 'public void onDoubleClick(com.google.gwt.event.dom.client.DoubleClickEvent)' has been removed
431 ERROR: 4001: org.xwiki.gwt.wysiwyg.client.plugin.macro.MacroSelector: Removed com.google.gwt.event.dom.client.MouseDownHandler from the set of implemented interfaces
432 ERROR: 7002: org.xwiki.gwt.wysiwyg.client.plugin.macro.MacroSelector: Method 'public void onMouseDown(com.google.gwt.event.dom.client.MouseDownEvent)' has been removed
433 ERROR: 8001: org.xwiki.gwt.wysiwyg.client.plugin.submit.exec.EnableExecutable: Class org.xwiki.gwt.wysiwyg.client.plugin.submit.exec.EnableExecutable removed
434 ERROR: 8001: org.xwiki.gwt.wysiwyg.client.plugin.submit.exec.ResetExecutable: Class org.xwiki.gwt.wysiwyg.client.plugin.submit.exec.ResetExecutable removed
435 ERROR: 7004: org.xwiki.gwt.wysiwyg.client.wiki.WikiService: In method 'public java.util.List getMatchingPages(java.lang.String, int, int)' the number of arguments has changed
436 ERROR: 7004: org.xwiki.gwt.wysiwyg.client.wiki.WikiService: In method 'public java.util.List getRecentlyModifiedPages(int, int)' the number of arguments has changed
437 ERROR: 7004: org.xwiki.gwt.wysiwyg.client.wiki.WikiServiceAsync: In method 'public void getMatchingPages(java.lang.String, int, int, com.google.gwt.user.client.rpc.AsyncCallback)' the number of arguments has changed
438 ERROR: 7004: org.xwiki.gwt.wysiwyg.client.wiki.WikiServiceAsync: In method 'public void getRecentlyModifiedPages(int, int, com.google.gwt.user.client.rpc.AsyncCallback)' the number of arguments has changed
439 ERROR: 7004: org.xwiki.gwt.wysiwyg.client.wiki.WikiServiceAsyncCacheProxy: In method 'public void getMatchingPages(java.lang.String, int, int, com.google.gwt.user.client.rpc.AsyncCallback)' the number of arguments has changed
440 ERROR: 7004: org.xwiki.gwt.wysiwyg.client.wiki.WikiServiceAsyncCacheProxy: In method 'public void getRecentlyModifiedPages(int, int, com.google.gwt.user.client.rpc.AsyncCallback)' the number of arguments has changed
441 ERROR: 6004: org.xwiki.gwt.dom.client.Style: Changed type of field BACKGROUND_COLOR from java.lang.String to org.xwiki.gwt.dom.client.Property
Marius Dumitru Florea 1.1 442 {{/code}}

Get Connected