Wiki source code of Release Notes for XWiki Enterprise 4.0 Release Candidate 1
Last modified by Thomas Mortagne on 2023/10/13
Hide last authors
author | version | line-number | content |
---|---|---|---|
![]() |
1.1 | 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 | |||
![]() |
4.1 | 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. |
![]() |
1.1 | 12 | |
![]() |
4.1 | 13 | {{image reference="EM-progressTab.png"/}} |
14 | |||
![]() |
8.1 | 15 | == For developers == |
![]() |
1.1 | 16 | |
![]() |
8.1 | 17 | === New technical content hiding system === |
![]() |
1.1 | 18 | |
![]() |
9.1 | 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}} |
![]() |
8.1 | 20 | |
![]() |
9.1 | 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):((( | ||
![]() |
5.1 | 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 | |||
![]() |
11.1 | 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. | ||
![]() |
9.1 | 32 | ))) |
![]() |
7.1 | 33 | |
![]() |
10.1 | 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 | |||
![]() |
7.1 | 54 | === Changes in the ComponentManager API === |
![]() |
2.1 | 55 | |
![]() |
6.3 | 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##. |
![]() |
2.1 | 57 | |
![]() |
1.1 | 58 | == Miscellaneous == |
59 | |||
![]() |
13.2 | 60 | * There's now a link to the [[Getting Started Guide>>Documentation.UserGuide.GettingStarted]] on the XWiki Enterprise home page. |
![]() |
1.1 | 61 | |
62 | = Bug fixes and improvements = | ||
63 | |||
![]() |
13.1 | 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. |
![]() |
1.1 | 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 | |||
![]() |
12.1 | 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 | |||
![]() |
1.1 | 82 | = Tested Databases = |
83 | |||
![]() |
12.1 | 84 | {{database name="hsqldb" version="2.2.8"/}} |
![]() |
1.1 | 85 | |
![]() |
12.1 | 86 | {{database name="mysql" version="5.x"/}} |
87 | |||
88 | {{database name='oracle' version= '11.x'/}} | ||
89 | |||
90 | {{database name='postgresql' version= '9.x'/}} | ||
91 | |||
![]() |
1.1 | 92 | = Known issues = |
93 | |||
![]() |
13.1 | 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]] |
![]() |
1.1 | 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"}} | ||
![]() |
6.2 | 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 | ||
![]() |
1.1 | 159 | {{/code}} |