Wiki source code of Release Notes for XWiki Enterprise 4.2 Milestone 3
Version 34.1 by Jean-Vincent Drean on 2012/09/12
Show last authors
author | version | line-number | content |
---|---|---|---|
1 | {{box cssClass="floatinginfobox" title="**Contents**"}} | ||
2 | {{toc/}} | ||
3 | {{/box}} | ||
4 | |||
5 | This is the third and final milestone of the XWiki Enterprise 4.2 version ([[Main.Roadmap]]). This release brings new and improved UIs for file upload, logging configuration and the experimental install/upgrade wizard. For developers this release introduces a new file upload widget, attachment picker and documents macro minor improvements, the ability to add skin extensions located in JAR files, a new field (mime-type) to index attachments by and an extension of the xar format that allows the identification of an imported xar as a proper extension. | ||
6 | |||
7 | = New and Noteworthy (since XWiki Enterprise 4.2 Milestone 2) = | ||
8 | |||
9 | == Improved upload UI == | ||
10 | |||
11 | The new HTML5 FileUploader has been integrated in a few places: | ||
12 | |||
13 | * The standard attachment upload form | ||
14 | * The Import section of the Administration | ||
15 | |||
16 | See [[below>>||anchor="HNewHTML5FileUploadwidget"]] for more details about this feature. | ||
17 | |||
18 | == New logging administration UI == | ||
19 | |||
20 | It's now possible to review and modify the log level for all registered loggers. | ||
21 | |||
22 | {{image reference="extensions:Extension.Logging Application@loggingadmin.png"/}} | ||
23 | |||
24 | == IRC Bot Application Improvements == | ||
25 | |||
26 | The [[IRC Bot Application>>extensions:Extension.IRC Bot Application]] now recognizes XAR import events and when receiving one, it doesn't send subsequent IRC notifications for modified or created documents to avoid spamming the IRC channel. | ||
27 | |||
28 | == New Content Macro == | ||
29 | |||
30 | The [[new Content macro>>extensions:Extension.Content Macro]] allows to enter content in any of the supported Syntaxes and thus allows to have content written in various syntaxes. For example: | ||
31 | |||
32 | {{code}} | ||
33 | This is in **bold** | ||
34 | |||
35 | {{content syntax="confluence/1.0"}} | ||
36 | This is *bold* too! | ||
37 | {{/content}} | ||
38 | {{/code}} | ||
39 | |||
40 | == Experimental install/upgrade wizard == | ||
41 | |||
42 | Accessing a wiki page in view mode after an upgrade or when the database is empty (new install) will trigger a wizard that will allow you to install or update the default set of wiki pages and to upgrade or downgrade the extensions you may have previously installed. | ||
43 | |||
44 | The wizard currently has two steps. In the first step you can see which XWiki distribution you are running and what is its recommended default set of wiki pages (the default user interface). You should install, upgrade or downgrade the UI so that it matches the distribution version. | ||
45 | |||
46 | {{image reference="Distribution-MainUI.png"/}} | ||
47 | |||
48 | The step has three possible actions: | ||
49 | |||
50 | * Skip means 'go to the next step and ask me again after a server restart' | ||
51 | * Cancel means 'go to the next step and don't ask me again until I change my distribution' | ||
52 | * Continue, only after the recommended UI version is installed | ||
53 | |||
54 | In the second step you can upgrade the installed extensions. We group them in two categories: | ||
55 | |||
56 | * extensions that don't work with your current distribution but which have new versions available that are compatible with your current distribution. These extension require an upgrade. | ||
57 | * extensions that should work fine with your current distribution but which have upgrades available. Upgrading these extensions is optional. | ||
58 | |||
59 | {{image reference="Distribution-OutdatedExtensions.png"/}} | ||
60 | |||
61 | You can refresh the list of extensions by clicking on the Reload button. The Skip and Cancel buttons have the same meaning as in the previous step. The Continue button is available only after the required upgrades are performed. | ||
62 | |||
63 | At the end you'll be redirected back to the wiki page you have accessed in the first place. | ||
64 | |||
65 | == New Applications Panel == | ||
66 | |||
67 | There's now a new "Applications" panel by default in XWiki Enterprise. This panel displays the applications present in your wiki. | ||
68 | |||
69 | {{image reference="applicationsPanelStandard.png"/}} | ||
70 | |||
71 | Administrators will get a couple of additional links, allowing them to install applications through the [[Extension Manager>>extensions:Extension.Extension Manager Application]], or to create new applications thanks to the [[App Within Minutes feature>>extensions:Extension.App Within Minutes Application]]. | ||
72 | |||
73 | {{image reference="applicationsPanel.png"/}} | ||
74 | |||
75 | {{info}} | ||
76 | Note for application developers: your applications can provide their own entries in this menu by [[declaring a UI Extension>>extensions:Extension.UIExtension Module]]. | ||
77 | {{/info}} | ||
78 | |||
79 | == Chart Macro Improvements == | ||
80 | |||
81 | * The [[Chart macro>>extensions:Extension.Chart Macro]] will now automatically default to the ##inline## Data Source type when not specified and the Chart Macro has some content. | ||
82 | * [[Two new Chart types have been added: XY Line 3D and XY Step>>extensions:Extension.Chart Macro]]. Examples:((( | ||
83 | {{image reference="timeseries-line3D.png"/}} | ||
84 | |||
85 | {{image reference="timeseries-step.png"/}} | ||
86 | ))) | ||
87 | |||
88 | == Miscellaneous == | ||
89 | |||
90 | * Display the request URL in the IRC channel when the Link Checker bot listener is active and a broken link is found, thus making it easier to reproduce and debug the broken link | ||
91 | |||
92 | = For Developers = | ||
93 | |||
94 | == New HTML5 File Upload widget == | ||
95 | |||
96 | The [[File Upload widget>>doc:platform:DevGuide.HTML5Upload]] can enhance HTML input elements of type file to provide an interactive upload UI. It can submit files either automatically when the user selects local files, or after the user presses the container form's submit button. | ||
97 | |||
98 | To use this widget, it is enough to create a new instance of ##XWiki.FileUploader## passing the target ##input## element as the first parameter, and an optional configuration object as the second parameter. | ||
99 | |||
100 | {{code language="javascript"}} | ||
101 | new XWiki.FileUploader(targetInput, { | ||
102 | autoUpload: true, | ||
103 | progressAutohide: true | ||
104 | }); | ||
105 | {{/code}} | ||
106 | |||
107 | [[image:platform:DevGuide.HTML5Upload@html5uploads.png||class="screenshot"]] | ||
108 | |||
109 | == JSRX and SSRX == | ||
110 | |||
111 | It's now possible by default to add [[skin extensions>>extensions:Extension.Skin Extension Plugin]] located in JAR files. Example usage: | ||
112 | |||
113 | {{code}} | ||
114 | $xwiki.jsrx("/lib/codemirror.js") | ||
115 | $xwiki.ssrx("/lib/codemirror.css") | ||
116 | {{/code}} | ||
117 | |||
118 | == Documents Macro improvements == | ||
119 | |||
120 | The ##~{~{documents}}## macro [[now supports specifying the list of columns to display>>extensions:Extension.Documents Macro]]. For example: | ||
121 | |||
122 | {{code}} | ||
123 | {{documents count="5" actions="false" space="Main" parent="Main.WebHome" columns="doc.title"/}} | ||
124 | {{/code}} | ||
125 | |||
126 | would display: | ||
127 | |||
128 | {{image reference="documents-columns.png"/}} | ||
129 | |||
130 | == Attachment Picker improvements == | ||
131 | |||
132 | It is now possible to specify a different document for the source (and target in case of uploads) of attachments, using the new ##targetdocname## macro parameter. | ||
133 | |||
134 | == Search improvements == | ||
135 | |||
136 | The Lucene index also stores the MIME type of the indexed attachments, allowing to customize the search to only include or exclude attachments of a certain type. The new field is named [[##mimetype##>>doc:extensions:Extension.Search Application Query Syntax||anchor="Hmimetype"]] and it contains a valid MIME type string, as returned by the container in which XWiki is running. For example, add ##-mimetype:image/*## to a query to exclude all image attachments from the results, or add ##mimetype:application/pdf## to only search inside PDF attachments. | ||
137 | |||
138 | Remember that in case of an upgrade, you have to rebuild the entire index to have this new field for existing documents. | ||
139 | |||
140 | == Extension Manager improvements == | ||
141 | |||
142 | * the custom Maven property <xwiki.extension.features> now accept any number of new lines and white spaces between elements((( | ||
143 | {{code language="xml"}} | ||
144 | <xwiki.extension.features> | ||
145 | org.xwiki.platform:xwiki-platform-oldcore, | ||
146 | com.xpn.xwiki.platform:xwiki-core | ||
147 | </xwiki.extension.features> | ||
148 | {{/code}} | ||
149 | ))) | ||
150 | * new custom properties added to overwrite standard Maven properties: | ||
151 | ** ##xwiki.extension.name## to overwrite ##<name>## | ||
152 | ** ##xwiki.extension.summary## to overwrite ##<description>## | ||
153 | ** ##xwiki.extension.website## to overwrite ##<url>## | ||
154 | |||
155 | == XAR format improvement == | ||
156 | |||
157 | It's now possible to indicate the extension identifier right in the XAR package descriptor (package.xml). Among other things this allow standard import UI to find what it currently importing and register it automatically as installed extension if it can be found in the registered repositories during import process. | ||
158 | |||
159 | The XAR Maven plugin automatically take care of adding this information to the generated package.xml for Maven project. If for some reason you need to indicate it by hand you can use the property <extensionId> under the the <infos> element in the package.xml file. | ||
160 | |||
161 | {{code language="xml"}} | ||
162 | <package> | ||
163 | <infos> | ||
164 | <name>XWiki Platform - Extension - UI</name> | ||
165 | <description>XWiki Extension Manager, an application for managing extensions in a wiki.</description> | ||
166 | <licence></licence> | ||
167 | <author>XWiki.Admin</author> | ||
168 | <extensionId>org.xwiki.platform:xwiki-platform-extension-ui</extensionId> | ||
169 | <version>4.2-SNAPSHOT</version> | ||
170 | <backupPack>true</backupPack> | ||
171 | </infos> | ||
172 | <files> | ||
173 | [...] | ||
174 | </files> | ||
175 | </package> | ||
176 | {{/code}} | ||
177 | |||
178 | == Upgrades == | ||
179 | |||
180 | The following dependencies have been upgraded: | ||
181 | |||
182 | * Prototype.js 1.7.1 | ||
183 | * Jython 2.5.3 | ||
184 | * Pegdown 1.1.0 (used by the XWiki Markdown Parser) | ||
185 | * Xalan 2.7.1 | ||
186 | |||
187 | == Miscellaneous == | ||
188 | |||
189 | * The ##AbstractMockingComponentTestCase## testing framework class has been modified. Read the [[Testing page>>dev:Community.Testing]] for more details on how to use it. | ||
190 | |||
191 | == Translations == | ||
192 | |||
193 | The following translations have been updated: | ||
194 | |||
195 | {{language codes="fr, pt_BR, sv"/}} | ||
196 | |||
197 | = Tested Browsers = | ||
198 | |||
199 | 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]]): | ||
200 | |||
201 | {{velocity}} | ||
202 | ## name = iexplorer, firefox, chrome, safari, opera | ||
203 | {{/velocity}} | ||
204 | |||
205 | {{browser name="firefox" version="11.0"/}} | ||
206 | |||
207 | = Known issues = | ||
208 | |||
209 | * [[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]] | ||
210 | |||
211 | = Backward Compatibility and Migration Notes = | ||
212 | |||
213 | == General Notes == | ||
214 | |||
215 | You may also want to [[import the default wiki XAR>>Main.Download]] in order to benefit from all the improvements listed above. | ||
216 | |||
217 | {{warning}} | ||
218 | 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. | ||
219 | {{/warning}} | ||
220 | |||
221 | == Issues specific to XWiki Enterprise 4.2 Milestone 3 == | ||
222 | |||
223 | === QueryFilter implementations must not be considered as singletons anymore === | ||
224 | |||
225 | Since some ##QueryFilter## such as the "hidden" filter are not singletons anymore (ie. now a new instance is created for each lookup), they need to be retrieved with a dynamic lookup. | ||
226 | |||
227 | If you were using injection to get filters, for example: | ||
228 | |||
229 | {{code language="java"}} | ||
230 | @Inject | ||
231 | @Named("hidden") | ||
232 | QueryFilter filter; | ||
233 | {{/code}} | ||
234 | |||
235 | This **MUST** be replaced by the following in your code: | ||
236 | |||
237 | {{code language="java"}} | ||
238 | @Inject | ||
239 | @Named("hidden") | ||
240 | private Provider<QueryFilter> hiddenFilterProvider; | ||
241 | |||
242 | /* ... */ | ||
243 | |||
244 | QueryFilter hiddenFilter = hiddenFilterProvider.get(); | ||
245 | {{/code}} | ||
246 | |||
247 | This code will work no matter the instantiation strategy of the implementation, Singleton or Per Lookup. | ||
248 | |||
249 | == API Breakages == | ||
250 | |||
251 | The following APIs were modified since version 4.1.4: | ||
252 | |||
253 | {{code language="none"}} | ||
254 | <clirr output here> | ||
255 | {{/code}} |