Last modified by Thomas Mortagne on 2023/10/13

Hide last authors
Sergiu Dumitriu 3.1 1 = XWiki Enterprise 2.4 Release Notes =
Caleb James DeLisle 1.1 2
Silvia Macovei 15.1 3 {{box cssClass="floatinginfobox" title="**Contents**"}}
4 {{toc/}}
5 {{/box}}
Caleb James DeLisle 1.1 6
7 = New and Noteworthy =
8
Silvia Macovei 4.1 9 == Search ==
10
11 === Changed default search engine ===
12
Sergiu Dumitriu 21.1 13 Lucene Search is promoted as default search. While there might still be problems, which are normally resolved by rebuilding the index, Lucene allows more powerful searches, and better ordering of the results.
Silvia Macovei 4.1 14
15 image:searchlucene.png
16
Vincent Massol 21.3 17 To read about the benefits of using Lucene search over Database search go to the [[search application page>>extensions:Extension.Search Application]].
Silvia Macovei 4.1 18
19 Starting with the 2.4 release you can select the wikis where to search in using the LuceneSearch page.
20
21 [[image:wikiselection.png||style="border:1px solid black;"]]
22
23 === New search configuration UI ===
24
25 image:searchadministration.png
26
27 The Search Application now has a dedicated section in the wiki administration section from which you can:
28
29 * Choose the default engine (Lucene or Database).
30 * See the status for the Lucene Search: the number of indexed elements and the number of elements waiting in the queue.
31 * Control the Lucene index by indexing the whole farm, indexing the wiki or customizing the index to your specific preferences.
32
Vincent Massol 21.3 33 For more information check out the [[documentation page>>extensions:Extension.Search Application]].
Silvia Macovei 4.1 34
Silvia Macovei 6.1 35 == New Template-based page creation ==
36
37 Starting with XWiki Enterprise 2.4 users and applications can provide documents that can be used as template when creating new pages. The new document (content, objects and other metadata) will be replicated from the template.
38
Vincent Massol 21.3 39 * After you have [[created the template and the template provider>>extensions:Extension.Administration Application#HEasyTemplatesCreationandAdministration28StartingwithXWikiEnterprise2.4M229]] you can then start creating pages from this template:
Silvia Macovei 6.1 40
41 image:1gcreatedocument.jpg
42
43 * "Wanted Links" also offers the choice to create the new document from the available templates ( "My Template" template in the image below):
44
45 image:1ipopup.jpg
46
Vincent Massol 21.3 47 Find more details about the template creation and administration on the [[documentation page>>extensions:Extension.Administration Application#HEasyTemplatesCreationandAdministration28StartingwithXWikiEnterprise2.4M229]].
Silvia Macovei 6.1 48
49 == New Invitation Manager application ==
50
51 The Invitation Manager application allows users to send emails, inviting friends and colleagues to join a wiki. You will be able to configure your wiki to send emails through an open mail relay on the server or through an email account of your choosing.
52
53 image:InvitationSending.png
54
Vincent Massol 21.3 55 Read more about this application and learn how to configure it by visiting the [[application page>>extensions:Extension.Invitation Application]].
Silvia Macovei 6.1 56
Silvia Macovei 8.1 57 == WYSIWYG improvements ==
58
59 === Insert external image ===
60
Sergiu Dumitriu 21.1 61 You can now insert an external image in the edited page while in WYSIWYG mode. The external image is specified by its location on the web, i.e. its URL. To do this go to //Image > Insert Image...// menu and select the //External// tab:
Silvia Macovei 8.1 62
63 image:XWIKI-5202.png
64
65 === Insert macros ===
66
67 You may insert macros with a single click from the tool bar:
68
69 [[image:insertMacroFromToolBar.png]]
70
71 === Paste with filtered styles ===
72
Sergiu Dumitriu 21.1 73 A //paste with filtered styles// button has also been added to the tool bar:
Silvia Macovei 8.1 74
75 [[image:pasteIconOnToolBar.png]]
76
Silvia Macovei 10.1 77 The Wysiwyg editor import from office feature now filters style by default.
Silvia Macovei 8.1 78
Silvia Macovei 10.1 79 == Objects and classes editor improvements ==
80
81 The object and class editor are now fully panel-less, which among other things means that you have the full object/class editors UI even in an empty wiki without having to import the needed XE xar.
82
83 [[image:objecteditor.png||style="border:1px solid black;" width="500"]]
84
Sergiu Dumitriu 21.1 85 Adding objects or class properties is done with AJAX calls, which means faster response times, no interruptions, no data loss.
86
Silvia Macovei 10.1 87 The class editor also adds better refactoring capabilities:
88
Silvia Macovei 16.3 89 * Reorder class properties
90 * Delete a class property
Sergiu Dumitriu 21.1 91 * Selectively disable and re-enable class properties, which allows making pseudo-read-only properties
Silvia Macovei 10.1 92
93 [[image:classeditor.png||style="border:1px solid black;" width="500"]]
94
Sergiu Dumitriu 21.1 95 There are also many other small ergonomics improvements to discover.
Silvia Macovei 10.1 96
Silvia Macovei 12.1 97 == JMX Administration Console ==
98
Thomas Mortagne 24.1 99 * XWiki is now using [[JMX to provide runtime Monitoring information>>Documentation.AdminGuide.Monitoring]].
Sergiu Dumitriu 21.1 100 * The first usage implemented is about monitoring the JBoss cache and the Velocity Macro caches, as shown below:
Silvia Macovei 12.1 101
Thomas Mortagne 24.1 102 image:Documentation.AdminGuide.Monitoring@jconsole1.png
Silvia Macovei 12.1 103
104 == Watchlist improvements ==
105
106 * Allow to remove elements in the watchlist from the user profile
Sergiu Dumitriu 21.1 107 * In virtual mode, added a wikis section in //elements in your watchlist//
Silvia Macovei 12.1 108
109 [[image:watchlist.png||style="border:1px solid black;"]]
110
Silvia Macovei 14.1 111 == Rendering cache ==
112
Sergiu Dumitriu 21.1 113 You can now provide a list of pages for which to cache the result. See the ##core.renderingcache.*## properties in ##xwiki.properties## to control it.
Silvia Macovei 14.1 114
Silvia Macovei 16.2 115 It's also possible to force a page to refresh by using ##refresh=1## parameter in the URL.
Silvia Macovei 14.1 116
117 == New Code macro configuration ==
118
119 It's now possible to indicate which Pygments style to use with the default highlighter based on Pygments.
120
Vincent Massol 21.3 121 See [[the code macro documentation>>extensions:Extension.Code Macro]] for more details.
Silvia Macovei 14.1 122
123 == Security improvements ==
124
125 * Added support for HttpOnly flag for session cookies (XSS protection measure)
126 * Fixed some XSS issues
127 * Improved file access sandboxing
128
129 == Performance improvements ==
130
Sergiu Dumitriu 19.1 131 * Scripts are //defered// by default, which means that ##<script>## tags will no longer block the page loading until the scripts are downloaded and executed, but will be downloaded in parallel and executed after the full DOM was loaded, right before the document becomes //ready//.
Silvia Macovei 14.1 132
Sergiu Dumitriu 19.1 133 {{warning}}This is an important change which might break the functionality of custom scripts. Since pulled scripts are executed after the full DOM was loaded, scripts that expect to be executed in place, for example scripts that use ##document.write##, or inline scripts which expect a JS library to be loaded, will fail, or might even make the document unusable. You can instruct the skin extension manager not to ##defer## problematic scripts, using, for example. ##$xwiki.ssx.use('Some.Extension', {'defer': false}##, but a better solution is to fix the code so that it works when being defered.{{/warning}}
134
Silvia Macovei 14.1 135 == Chart macro improvements ==
136
Silvia Macovei 16.3 137 * Chart macro now supports more than 26 columns.
Silvia Macovei 14.1 138
139 == Script improvements ==
140
Thomas Mortagne 24.1 141 * Make the Query Manager use the Script Service to expose services to scripts. See [[Query Guide>>Documentation.DevGuide.QueryGuide]] for more details.
Vincent Massol 21.3 142 * Make possible to directly return the Block based result of a script macro. It's supported for all JSR 223 macro which means all script macro script Velocity macro for now. See [[Script Macro>>extensions:Extension.Script Macro]] for more details.
143 * Prevent nested script macros by default: It's now impossible for the output of a script macro to become another script macro for security reasons. See [[Script Macro>>extensions:Extension.Script Macro]] for more details.
Silvia Macovei 15.1 144 * Provide a way to escape regexp literal string from velocity
145 {{code language="none"}}$regextool.quote("some[literal]text"){{/code}}
Silvia Macovei 14.1 146
147 == Javascript improvements ==
148
Sergiu Dumitriu 21.1 149 * Start writing a Javascript mirror of the XWiki data model: ##Document.getURL##
150 * New ##suggestDocuments## behavior for input fields
Silvia Macovei 14.1 151
Silvia Macovei 16.1 152 == REST improvements ==
153
154 * Isolate REST API JAXB model classes in a separate module
155
Silvia Macovei 17.1 156 == Dependencies upgrade ==
157
158 * Doxia 1.1.3
159 * JODConverter 3.0 beta3
160 * JBossCache 3.2.5.GA
161 * Groovy 1.7.3
162 * Script.aculo.us 1.8.3
163 * Jython 2.5.2b1
164 * Hibernate Validator 4.0.2
165 * JGroups 2.8
166 * JFreeChart 1.0.13
167
Silvia Macovei 14.1 168 == Translations ==
169
170 * WYSIWYG newly supported language: Russian
171 * All the translations have been updated
172
Caleb James DeLisle 1.1 173 = Known issues =
174
Thomas Mortagne 23.1 175 * [[Bugs we know about>>https://jira.xwiki.org/secure/IssueNavigator.jspa?reset=true&jqlQuery=category+in+%28%22XWiki.org+Top+Level+Projects%22%2C+%22XWiki+Plugins%2C+Applications+%26+Skins%22%29+AND+issuetype+%3D+Bug+AND+resolution+%3D+Unresolved+ORDER+BY+updated+DESC]]
Caleb James DeLisle 1.1 176
177 = Backward Compatibility and Migration Notes =
178
179 == Important non-compatible changes ==
180
Silvia Macovei 15.1 181 {{warning}}
Sergiu Dumitriu 18.1 182 ERROR: org.xwiki.bridge.DocumentAccessBridge: Method 'public void setCurrentUser(java.lang.String)' has been added to an interface
183 ERROR: org.xwiki.officeimporter.openoffice.OpenOfficeManager: Return type of method 'public net.sf.jodconverter.OfficeDocumentConverter getDocumentConverter()' has been changed to org.artofsolving.jodconverter.OfficeDocumentConverter
184 ERROR: org.xwiki.query.xwql.AliasGenerator: Class org.xwiki.query.xwql.AliasGenerator removed
185 ERROR: org.xwiki.query.xwql.InvalidQueryException: Class org.xwiki.query.xwql.InvalidQueryException removed
186 ERROR: org.xwiki.query.xwql.QueryAnalizer: Class org.xwiki.query.xwql.QueryAnalizer removed
187 ERROR: org.xwiki.query.xwql.QueryContext: Class org.xwiki.query.xwql.QueryContext removed
188 ERROR: org.xwiki.query.xwql.QueryContext$DocumentInfo: Class org.xwiki.query.xwql.QueryContext$DocumentInfo removed
189 ERROR: org.xwiki.query.xwql.QueryContext$ObjectInfo: Class org.xwiki.query.xwql.QueryContext$ObjectInfo removed
190 ERROR: org.xwiki.query.xwql.QueryContext$PropertyInfo: Class org.xwiki.query.xwql.QueryContext$PropertyInfo removed
191 ERROR: org.xwiki.query.xwql.QueryTranslator: Class org.xwiki.query.xwql.QueryTranslator removed
192 ERROR: org.xwiki.query.xwql.XWQLQueryExecutor: Class org.xwiki.query.xwql.XWQLQueryExecutor removed
193 ERROR: org.xwiki.query.xwql.hql.ObjectPrinter: Class org.xwiki.query.xwql.hql.ObjectPrinter removed
194 ERROR: org.xwiki.query.xwql.hql.Printer: Class org.xwiki.query.xwql.hql.Printer removed
195 ERROR: org.xwiki.query.xwql.hql.PropertyPrinter: Class org.xwiki.query.xwql.hql.PropertyPrinter removed
196 ERROR: org.xwiki.query.xwql.hql.TreePrinter: Class org.xwiki.query.xwql.hql.TreePrinter removed
197 ERROR: org.xwiki.query.xwql.hql.XWQLtoHQLTranslator: Class org.xwiki.query.xwql.hql.XWQLtoHQLTranslator removed
198 ERROR: org.xwiki.query.jpql.JPQLParser: Class org.xwiki.query.jpql.JPQLParser removed
199 ERROR: org.xwiki.velocity.VelocityEngine: Method 'public void clearMacroNamespace(java.lang.String)' has been added to an interface
200 ERROR: org.xwiki.velocity.VelocityEngine: Method 'public void startedUsingMacroNamespace(java.lang.String)' has been added to an interface
201 ERROR: org.xwiki.velocity.VelocityEngine: Method 'public void stoppedUsingMacroNamespace(java.lang.String)' has been added to an interface
202 ERROR: org.xwiki.model.ModelContext: Method 'public void setCurrentEntityReference(org.xwiki.model.reference.EntityReference)' has been added to an interface
203 ERROR: org.xwiki.rendering.scaffolding.RenderingTestCase: In method 'public RenderingTestCase(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, boolean)' the number of arguments has changed
204 ERROR: org.xwiki.rendering.listener.DefaultAttachement: Class org.xwiki.rendering.listener.DefaultAttachement removed
205 ERROR: org.xwiki.rendering.transformation.MacroTransformationContext: Method 'public org.xwiki.rendering.internal.transformation.MacroTransformation getMacroTransformation()' has been removed
206 ERROR: org.xwiki.rendering.transformation.MacroTransformationContext: Method 'public void setMacroTransformation(org.xwiki.rendering.internal.transformation.MacroTransformation)' has been removed
207 ERROR: org.xwiki.rendering.transformation.Transformation: Method 'public void transform(org.xwiki.rendering.block.Block, org.xwiki.rendering.transformation.TransformationContext)' has been added to an interface
208 ERROR: org.xwiki.rendering.transformation.TransformationManager: Method 'public void performTransformations(org.xwiki.rendering.block.Block, org.xwiki.rendering.transformation.TransformationContext)' has been added to an interface
209 ERROR: org.xwiki.rendering.macro.script.AbstractJSR223ScriptMacro: Method 'protected java.lang.String evaluate(org.xwiki.rendering.macro.script.JSR223ScriptMacroParameters, java.lang.String, org.xwiki.rendering.transformation.MacroTransformationContext)' has been removed
Silvia Macovei 15.1 210 {{/warning}}
Caleb James DeLisle 1.1 211
Sergiu Dumitriu 19.1 212 === Pulled scripts are defered by default ===
213
214 This might break custom scripts, please check the correct behavior before upgrading a production server. Use Firebug in Firefox to catch errors, watch the error console, configure IE to notify all script errors.
215
Sergiu Dumitriu 20.1 216 === Nested script macros are forbidden ===
217
218 Now it's impossible to nest scripting macros, which is a good protection against many potential attacks. While the obvious case of direct nesting is easy to notice, there are other cases which are not as obvious:
219
220 {{code}}
221 {{velocity}}
222 {{include document="Some Document With Scripts" /}}
223 {{/velocity}}
224 {{/code}}
225
226 If the included document contains script macros, they will no longer be executed.
227
228 {{code}}
229 {{velocity}}
230 $doc.display('someProperty')
231 {{/velocity}}
232 {{/code}}
233
Sergiu Dumitriu 20.2 234 If the property contains script macros, for example in the content of a blog post, they will no longer be executed.
Sergiu Dumitriu 20.1 235
Caleb James DeLisle 1.1 236 == General Notes ==
237
Silvia Macovei 15.1 238 {{warning}}
Sergiu Dumitriu 21.1 239 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.
Silvia Macovei 15.1 240 {{/warning}}
Sergiu Dumitriu 19.1 241

Get Connected