Version 12.1 by Vincent Massol on 2012/05/18

Show last authors
1 (% style="font-size:x-large;" %)
2
3 {{box cssClass="floatinginfobox" title="**Contents**"}}
4 {{toc/}}
5 {{/box}}
6
7 This is the first milestone of the XWiki Enterprise 4.1 version ([[Roadmap>>Main.Roadmap]]). This release brings new 3D graphs made with pure XWiki syntax, safer Groovy scripting, and better hiding of internal application related documents.
8
9 = New and Noteworthy (since XWiki Enterprise 4.0 version) =
10
11 == 3D Charting ==
12
13 We've [[added 2 new types of charts>>extensions:Extension.Chart Macro]], **bar3D** and **line3D**, which draw 3D charts.
14
15 For example the following code:
16
17 {{code}}
18 {{chart type='bar3D' source='inline' params='range:B2-B9;series:columns'}}
19 |=Date|=Value
20 |2012-02-21|1.97
21 |2012-02-26|2.96
22 |2012-03-04|3.93
23 |2012-03-11|4.84
24 |2012-03-18|5.83
25 |2012-03-25|4.5
26 |2012-04-01|3.85
27 |2012-04-08|4.87
28 {{/chart}}
29 {{/code}}
30
31 Will be rendered as this:
32
33 [[image:chart-example.png]]
34
35 == Hide Technical Documents ==
36
37 This effort was started in XWiki 4.0. However in 4.0 we had only implemented the technical solution to mark documents as hidden but we didn't get the time to use it. Now in 4.1 we've marked a lot of documents as Technical and we've modified a lot of UI screens to only display technical documents for users who ask for it.
38
39 Specifically there's a User Profile preference that you can set if you wish to see technical documents:
40
41 {{image reference="hidetechnicaldocuments.png"/}}
42
43 More precisely, the following was implemented:
44 * Mark a lot of documents as technical documents in the default XWiki Enterprise XAR
45 * Filter hidden documents from Lucene search results
46 * Filter hidden documents from database search results
47 * Filter hidden documents from default panels
48 * Filter hidden documents in REST APIs
49 * Filter hidden documents in LiveTable results
50
51 As a consequence, by default, a user will only about 24 documents out of 300+ that exist in the default XWiki Enterprise XAR, making it a lot nicer and simpler to apprehend.
52
53 == Taming of Groovy scripts ==
54 Since traditionally, Groovy scripts can enter into unstoppable infinite loops, use reflection to violate security assumptions, or even crash the virtual machine, they have been off limits to non-administrators. In a bid to open up new scripting options to less permitted users, steps have been taken to make Groovy safer. Groovy scripts are now technically allowed for non-administrators but they are not allowed to do anything more complex than {{code language="none"}}{{groovy}}{{/groovy}}{{/code}} making them less than useful. Over time, capabilities will be added after security review.
55
56 === Compilation customizers ===
57 Customizers can be registered to alter the groovy script as it is compiled such as filtering System.exit() calls and adding timeout checks to loops to prevent infinite looping. Learn more: http://www.jroller.com/melix/entry/upcoming_groovy_goodness_automatic_thread
58
59 === Stop run-away Groovy scripts after a configurable timeout ===
60 You can now configure your wiki to stop groovy scripts after a configurable amount of run time. For example if you wish to have a timeout of 10 seconds for your XWiki runtime, you'd configure xwiki's xwiki.properties with:
61
62 {{code language="none"}}
63 groovy.compilationCustomizers=timedinterrupt
64 groovy.customizer.timedInterrupt.timeout=10
65 {{/code}}
66
67 === Prevent System.exit() calls in Groovy scripts from stopping the JVM ===
68 This is a simple customizer which filters out System.exit() calls so that a Groovy script can't stop the JVM.
69
70 == New support for "short form" XWQL queries ==
71 When you send a query such as {{code language="none"}}where doc.creationDate > '2008-01-01'{{/code}} It is now assumed that you meant:
72
73 {{code language="none"}}
74 select doc.fullName from XWikiDocument as doc where doc.creationDate > '2008-01-01'
75 {{/code}}
76
77 == For developers ==
78
79 * New rendering compatibility test suite to make testing easier and simplify implementation of new syntax renderers. The compatibility report can be found here: http://rendering.xwiki.org/xwiki/bin/view/Main/SyntaxReport
80
81 * New API for upgrading installed XWiki Extensions.
82
83 = Bug fixes and improvements =
84
85 * Fixed wrong calculation of IDs for stats values making it impossible to upgrade a wiki to version 4.0 if statistics collection is enabled.
86 * Faster first startup time by not running a database migration when it is not needed.
87 * Simplify reverse proxy setup by making all HTTP redirects use relitive URLs.
88 * Add support for bold, italic and monospace in the TeX Renderer
89 * Was impossible to delete then recreate a subwiki with the same name, fixed.
90 * Fixed Javascript error when scrolling over Search Suggest results in Internet Explorer 6.
91 * Trying to change a document's parent from the REST service resulted in an error, fixed.
92 * It is now possible for non-administrators to execute cross-wiki XWQL queries.
93
94
95 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%2C+XEM%29+and+status+%3D+Closed+and+resolution+%3D+Fixed+and+fixVersion+%3D+%224.1-milestone-1%22&tempMax=1000]] fixed in this release.
96
97 == For Developers ==
98
99 * Move ComponentManager deprecated methods to Legacy modules
100 * New Groovy module in xwiki-commons
101 * Add legacy module structure for XWiki Rendering
102 * Have one Maven module per XWiki Rendering syntax
103 * Separate Event Syntax from Rendering API by moving it to a Syntax module
104 * Plain syntax and Event syntax have been moved out of Rendering API nto their own modules.
105
106
107 == Upgrades ==
108
109 The following dependencies have been upgraded:
110
111 * Tika 1.1
112 * JGroups 3.0.10
113 * Pygments 1.5
114 * Selenium 2.21
115 * Maven AspectJ Plugin 1.4
116 * commons-io 2.3
117 * Maven Shade plugin 1.6
118
119 = Test Report =
120
121 You can check the [[manual test report>>TestReports.ManualTestReportXE41M1]] to learn about what was tested and the results on various browsers.
122
123 == Tested Browsers ==
124
125 Here's the list of browsers tested with this version (i.e. browsers that we've tested as working - Check the list of [[supported browsers>>dev:Community.BrowserSupportStrategy]]):
126
127 {{browser name='firefox' version= '12.0.1'/}}
128
129 = Known issues =
130
131 * [[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]]
132
133 = General Notes =
134
135 {{info}}
136 If you're running in a multiwiki setup you'll also need to define the property //xwiki.store.migration.databases// in your //xwiki.cfg// file if you want to explicitly name some databases to be migrated as the default is now to migrate all databases. Database that are not migrated could not be accessed.
137 {{/info}}
138
139 You may also want to [[import the default wiki XAR>>Main.Download]] in order to benefit from all the improvements listed above.
140
141 {{warning}}
142 Always make sure you compare your ##xwiki.cfg## and ##xwiki.properties## files with the newest version since some configuration parameters were 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.
143 {{/warning}}
144
145 == API Breakages ==
146
147 The following APIs were modified since version 4.0:
148
149 {{code language="none"}}
150 org.xwiki.query.QueryFilter: Method 'public java.util.List filterResults(java.util.List)' has been added to an interface
151 org.xwiki.gwt.wysiwyg.client.Images: Method 'public com.google.gwt.resources.client.ImageResource sync()' has been removed
152 org.xwiki.gwt.wysiwyg.client.Strings: Method 'public java.lang.String sync()' has been removed
153 org.xwiki.gwt.wysiwyg.client.diff.AddDelta: Class org.xwiki.gwt.wysiwyg.client.diff.AddDelta removed
154 org.xwiki.gwt.wysiwyg.client.diff.ChangeDelta: Class org.xwiki.gwt.wysiwyg.client.diff.ChangeDelta removed
155 org.xwiki.gwt.wysiwyg.client.diff.Chunk: Class org.xwiki.gwt.wysiwyg.client.diff.Chunk removed
156 org.xwiki.gwt.wysiwyg.client.diff.DeleteDelta: Class org.xwiki.gwt.wysiwyg.client.diff.DeleteDelta removed
157 org.xwiki.gwt.wysiwyg.client.diff.Delta: Class org.xwiki.gwt.wysiwyg.client.diff.Delta removed
158 org.xwiki.gwt.wysiwyg.client.diff.Diff: Class org.xwiki.gwt.wysiwyg.client.diff.Diff removed
159 org.xwiki.gwt.wysiwyg.client.diff.DiffAlgorithm: Class org.xwiki.gwt.wysiwyg.client.diff.DiffAlgorithm removed
160 org.xwiki.gwt.wysiwyg.client.diff.DiffException: Class org.xwiki.gwt.wysiwyg.client.diff.DiffException removed
161 org.xwiki.gwt.wysiwyg.client.diff.DifferentiationFailedException: Class org.xwiki.gwt.wysiwyg.client.diff.DifferentiationFailedException removed
162 org.xwiki.gwt.wysiwyg.client.diff.PatchFailedException: Class org.xwiki.gwt.wysiwyg.client.diff.PatchFailedException removed
163 org.xwiki.gwt.wysiwyg.client.diff.Revision: Class org.xwiki.gwt.wysiwyg.client.diff.Revision removed
164 org.xwiki.gwt.wysiwyg.client.diff.RevisionVisitor: Class org.xwiki.gwt.wysiwyg.client.diff.RevisionVisitor removed
165 org.xwiki.gwt.wysiwyg.client.diff.SimpleDiff: Class org.xwiki.gwt.wysiwyg.client.diff.SimpleDiff removed
166 org.xwiki.gwt.wysiwyg.client.diff.ToString: Class org.xwiki.gwt.wysiwyg.client.diff.ToString removed
167 org.xwiki.gwt.wysiwyg.client.diff.myers.DiffNode: Class org.xwiki.gwt.wysiwyg.client.diff.myers.DiffNode removed
168 org.xwiki.gwt.wysiwyg.client.diff.myers.MyersDiff: Class org.xwiki.gwt.wysiwyg.client.diff.myers.MyersDiff removed
169 org.xwiki.gwt.wysiwyg.client.diff.myers.PathNode: Class org.xwiki.gwt.wysiwyg.client.diff.myers.PathNode removed
170 org.xwiki.gwt.wysiwyg.client.diff.myers.Snake: Class org.xwiki.gwt.wysiwyg.client.diff.myers.Snake removed
171 org.xwiki.gwt.wysiwyg.client.plugin.sync.SyncPlugin: Class org.xwiki.gwt.wysiwyg.client.plugin.sync.SyncPlugin removed
172 org.xwiki.gwt.wysiwyg.client.plugin.sync.SyncPluginFactory: Class org.xwiki.gwt.wysiwyg.client.plugin.sync.SyncPluginFactory removed
173 org.xwiki.gwt.wysiwyg.client.plugin.sync.SyncResult: Class org.xwiki.gwt.wysiwyg.client.plugin.sync.SyncResult removed
174 org.xwiki.gwt.wysiwyg.client.plugin.sync.SyncService: Class org.xwiki.gwt.wysiwyg.client.plugin.sync.SyncService removed
175 org.xwiki.gwt.wysiwyg.client.plugin.sync.SyncServiceAsync: Class org.xwiki.gwt.wysiwyg.client.plugin.sync.SyncServiceAsync removed
176 org.xwiki.gwt.wysiwyg.client.plugin.sync.SyncStatus: Class org.xwiki.gwt.wysiwyg.client.plugin.sync.SyncStatus removed
177 org.xwiki.gwt.wysiwyg.client.plugin.sync.SyncTools: Class org.xwiki.gwt.wysiwyg.client.plugin.sync.SyncTools removed
178 org.xwiki.wysiwyg.server.plugin.sync.SyncEngine: Class org.xwiki.wysiwyg.server.plugin.sync.SyncEngine removed
179 org.xwiki.wysiwyg.server.plugin.sync.SyncException: Class org.xwiki.wysiwyg.server.plugin.sync.SyncException removed
180 {{/code}}

Get Connected