Last modified by Thomas Mortagne on 2023/10/13

Show last authors
1 {{box cssClass="floatinginfobox" title="**Contents**"}}
2 {{toc/}}
3 {{/box}}
4
5 This is the first and hopefully last release candidate for XWiki Enterprise 4.0 version ([[Roadmap>>Main.Roadmap]]). This is mostly a polishing release before the final one.
6
7 = New and Noteworthy (since XWiki Enterprise 4.0 Milestone 2 version) =
8
9 == Extension Manager improvements ==
10
11 The install/uninstall plan and log are now displayed in a tab inside the details section of an extension. We plan to make the new Progress tab display the install/uninstall status in real time in the near future.
12
13 {{image reference="EM-progressTab.png"/}}
14
15 == For developers ==
16
17 === New technical content hiding system ===
18
19 {{warning}}In this release we have only implemented the content hiding **mechanism**. At the moment, using it will **not have any effect on the default UI** you see (no documents will be filtered). We will gradually update all places listing documents in the UI to use the new mechanism in XWiki Enterprise 4.1. That said, if you're a developer we encourage you [[to test out the new content filtering API>>extensions:Extension.Query Module]].{{/warning}}
20
21 The basic support for hidden documents introduced in XWiki Enterprise 1.7 has been reimplemented differently (the previous implementation was not allowing anyone, including Admins, to see hidden documents!). The new logic is currently as follows (it'll be discussed and probably modified in XWiki Enterprise 4.1):
22 * Simple users never see hidden documents
23 * For advanced users, it is now possible to specify that a document should be hidden when editing the document (only //wiki// or //wysiwyg// edit modes):(((
24 {{image reference="hidden.png"/}}
25
26 And now there's a new setting in the user profiles, letting users chose if they want hidden documents to appear in search results or not:
27
28 {{image reference="hiddenSettings.png"/}}
29
30 {{warning}}As already mentioned above in warning, setting the Hidden configuration value will currently not have any effect on the default XWiki Enterprise pages since they're not calling the new filtering API yet (you'll need to wait for 4.1 for taht!). However it's supposed to work like this:{{/warning}}
31 * If the user doesn't set explicitly the Hidden setting value in his profile, he won't see hidden documents by default. Thus seeing hidden documents is an explicit choice.
32 )))
33
34 To test this feature do the following:
35 * Log as Admin on your wiki (or any user having edit rights)
36 * Create a Page, say in ##Sandbox.HiddenFeatureTest## and put the following content in wiki edition mode:(((
37 {{code}}
38 {{velocity}}
39 #set ($items = $services.query.xwql("where doc.name like 'S%'").setFilter("hidden").execute())
40 There are $items.size() documents starting with 'S'
41
42 #foreach ($item in $items)
43 * [[$item]]
44 #end
45 {{/velocity}}
46 {{/code}}
47 )))
48 * It'll print the number of matching documents (31 in a XWiki Enterprise 4.0 RC 1 with the default XAR) and the list of matching documents
49 * Then go to ##Main.Search## (for example), edit the page and check the Hidden checkbox and save
50 * Go back to the ##Sandbox.HiddenFeatureTest## page and verify there's one less document printed now (it should say 30 in a XWiki Enterprise 4.0 RC 1 with the default XAR)
51 * Then go to your user profile and select "Display Hidden Documents" to "Yes"
52 * Go back to the ##Sandbox.HiddenFeatureTest## page and verify it's listing all documents again (it should say 31 in a XWiki Enterprise 4.0 RC 1 with the default XAR)
53
54 === Changes in the ComponentManager API ===
55
56 The new ##lookupComponent## method (which we had introduced in 4.0M1 with the introduction of Generics support) has been renamed to ##getInstance##. New ##getInstanceList## and ##getInstanceMap## has also been introduced to replace ##lookupList## and ##lookupMap##.
57
58 == Miscellaneous ==
59
60 * There's now a link to the [[Getting Started Guide>>Documentation.UserGuide.GettingStarted]] on the XWiki Enterprise home page.
61
62 = Bug fixes and improvements =
63
64 See the full list of [[JIRA issues>>https://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.0-rc-1%22&tempMax=1000]] fixed in this release.
65
66 = Tested Browsers =
67
68 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]]):
69
70
71 {{browser name="firefox" version="10.0.1"/}}
72
73 {{browser name="firefox" version="3.6"/}}
74
75 {{browser name="chrome" version="18"/}}
76
77 {{browser name="iexplorer" version="8"/}}
78
79 {{browser name="iexplorer" version="9"/}}
80
81
82 = Tested Databases =
83
84 {{database name="hsqldb" version="2.2.8"/}}
85
86 {{database name="mysql" version="5.x"/}}
87
88 {{database name='oracle' version= '11.x'/}}
89
90 {{database name='postgresql' version= '9.x'/}}
91
92 = Known issues =
93
94 * [[Bugs we know about>>https://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]]
95
96 = Test Report =
97
98 You can check the [[manual test report>>TestReports.ManualTestReportXE40RC1]] to learn about what was tested and the results on various browsers.
99
100 = Backward Compatibility and Migration Notes =
101
102 {{warning}}
103 As usual, before upgrading to this version, be sure to have a working backup of your database(s).
104 {{/warning}}
105
106 == General Notes ==
107
108 {{info}}
109 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.
110 {{/info}}
111
112 You may also want to [[import the default wiki XAR>>Main.Download]] in order to benefit from all the improvements listed above.
113
114 {{warning}}
115 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.
116 {{/warning}}
117
118 == API Breakages ==
119
120 The following APIs were modified since version 3.5:
121
122 {{code language="none"}}
123 org.xwiki.bridge.AttachmentName: Class org.xwiki.bridge.AttachmentName removed
124 org.xwiki.bridge.DocumentAccessBridge: Method 'public java.io.InputStream getAttachmentContent(org.xwiki.bridge.AttachmentName)' has been removed
125 org.xwiki.bridge.DocumentAccessBridge: Method 'public java.lang.String getAttachmentURL(org.xwiki.bridge.AttachmentName, boolean)' has been removed
126 org.xwiki.bridge.DocumentAccessBridge: Method 'public java.util.List getAttachmentURLs(org.xwiki.bridge.DocumentName, boolean)' has been removed
127 org.xwiki.bridge.DocumentAccessBridge: Method 'public java.util.List getAttachments(org.xwiki.bridge.DocumentName)' has been removed
128 org.xwiki.bridge.DocumentAccessBridge: Method 'public org.xwiki.bridge.DocumentName getCurrentDocumentName()' has been removed
129 org.xwiki.bridge.DocumentAccessBridge: Method 'public org.xwiki.model.reference.DocumentReference getCurrentUserReference()' has been added to an interface
130 org.xwiki.bridge.DocumentAccessBridge: Method 'public org.xwiki.bridge.DocumentModelBridge getDocument(org.xwiki.bridge.DocumentName)' has been removed
131 org.xwiki.bridge.DocumentAccessBridge: Method 'public org.xwiki.bridge.DocumentName getDocumentName(java.lang.String)' has been removed
132 org.xwiki.bridge.DocumentModelBridge: Method 'public org.xwiki.bridge.DocumentName getDocumentName()' has been removed
133 org.xwiki.bridge.DocumentName: Class org.xwiki.bridge.DocumentName removed
134 org.xwiki.gwt.user.client.ui.ListBox: Removed com.google.gwt.event.dom.client.KeyDownHandler from the set of implemented interfaces
135 org.xwiki.gwt.user.client.ui.ListBox: Removed com.google.gwt.event.dom.client.KeyPressHandler from the set of implemented interfaces
136 org.xwiki.gwt.user.client.ui.ListBox: Removed com.google.gwt.event.dom.client.KeyUpHandler from the set of implemented interfaces
137 org.xwiki.gwt.user.client.ui.ListBox: Method 'public void onKeyDown(com.google.gwt.event.dom.client.KeyDownEvent)' has been removed
138 org.xwiki.gwt.user.client.ui.ListBox: Method 'public void onKeyPress(com.google.gwt.event.dom.client.KeyPressEvent)' has been removed
139 org.xwiki.gwt.user.client.ui.ListBox: Method 'public void onKeyUp(com.google.gwt.event.dom.client.KeyUpEvent)' has been removed
140 org.xwiki.query.Query: Method 'public org.xwiki.query.QueryFilter getFilter()' has been added to an interface
141 org.xwiki.query.Query: Method 'public org.xwiki.query.Query setFilter(org.xwiki.query.QueryFilter)' has been added to an interface
142 org.xwiki.gwt.wysiwyg.client.plugin.line.IELinePlugin: Removed com.google.gwt.event.dom.client.KeyDownHandler from the set of implemented interfaces
143 org.xwiki.gwt.wysiwyg.client.plugin.line.IELinePlugin: Removed com.google.gwt.event.dom.client.KeyPressHandler from the set of implemented interfaces
144 org.xwiki.gwt.wysiwyg.client.plugin.line.IELinePlugin: Removed com.google.gwt.event.dom.client.KeyUpHandler from the set of implemented interfaces
145 org.xwiki.gwt.wysiwyg.client.plugin.line.IELinePlugin: Removed com.google.gwt.event.shared.EventHandler from the set of implemented interfaces
146 org.xwiki.gwt.wysiwyg.client.plugin.line.LinePlugin: Removed com.google.gwt.event.dom.client.KeyDownHandler from the set of implemented interfaces
147 org.xwiki.gwt.wysiwyg.client.plugin.line.LinePlugin: Removed com.google.gwt.event.dom.client.KeyPressHandler from the set of implemented interfaces
148 org.xwiki.gwt.wysiwyg.client.plugin.line.LinePlugin: Removed com.google.gwt.event.dom.client.KeyUpHandler from the set of implemented interfaces
149 org.xwiki.gwt.wysiwyg.client.plugin.line.LinePlugin: Removed com.google.gwt.event.shared.EventHandler from the set of implemented interfaces
150 org.xwiki.gwt.wysiwyg.client.plugin.line.LinePlugin: Method 'public void onKeyDown(com.google.gwt.event.dom.client.KeyDownEvent)' has been removed
151 org.xwiki.gwt.wysiwyg.client.plugin.line.LinePlugin: Method 'public void onKeyPress(com.google.gwt.event.dom.client.KeyPressEvent)' has been removed
152 org.xwiki.gwt.wysiwyg.client.plugin.line.LinePlugin: Method 'public void onKeyUp(com.google.gwt.event.dom.client.KeyUpEvent)' has been removed
153 org.xwiki.gwt.wysiwyg.client.plugin.list.ListBehaviorAdjuster: In method 'public ListBehaviorAdjuster()' the number of arguments has changed
154 org.xwiki.gwt.wysiwyg.client.plugin.list.ListBehaviorAdjuster: Method 'protected void dispatchKey(com.google.gwt.user.client.ui.Widget, int, org.xwiki.gwt.dom.client.Event)' has been removed
155 org.xwiki.gwt.wysiwyg.client.plugin.list.ListBehaviorAdjuster: Method 'public org.xwiki.gwt.user.client.ui.rta.RichTextArea getTextArea()' has been removed
156 org.xwiki.gwt.wysiwyg.client.plugin.list.ListBehaviorAdjuster: Method 'public void setTextArea(org.xwiki.gwt.user.client.ui.rta.RichTextArea)' has been removed
157 org.xwiki.gwt.wysiwyg.client.plugin.macro.exec.InsertExecutable: In method 'public InsertExecutable(org.xwiki.gwt.wysiwyg.client.plugin.macro.MacroSelector)' the number of arguments has changed
158 org.xwiki.wysiwyg.server.WysiwygEditorConfiguration: Method 'public java.lang.Integer getHistorySize()' has been added to an interface
159 {{/code}}

Get Connected