Version 18.1 by Marius Dumitru Florea on 2012/08/07

Show last authors
1 {{box cssClass="floatinginfobox" title="**Contents**"}}
2 {{toc/}}
3 {{/box}}
4
5 {{warning}}
6 This release is not finished yet, this is a work in progress
7 {{/warning}}
8
9 Second milestone of the 4.2 release.
10
11 = New and Noteworthy (since XWiki Enterprise 4.2 Milestone 1) =
12
13 == New field types for email and list of pages ==
14
15 Two new types of class properties have been added:
16
17 * The //Email// type extends the normal //String// type, adding by default a validation regular expression that should accept only a valid email address
18 * The //Page// type extends the normal //DBList// type, and allows to select one or more documents from the current wiki
19
20 These two new properties are still in development, and further improvements will be implemented in the next milestone.
21
22 == Computed class fields ==
23
24 Another new type of class fields adds support for //virtual values// computed live from other class values, data from the database, data obtained from an external service, or practically any other source of data. These fields are non-editable and aren't stored in the database, since they only provide some wiki content that will be rendered each time such a property is displayed.
25
26 Traditionally, this kind of computation would have been written directly in the sheet used to display instances of that class, but putting it in a class field allows easier reuse of the code, since the property will be //displayed// in livetables, when indexing the document in Lucene, when displaying documents in an index page, and so on.
27
28 == Improvements to the Extension Repository Application ==
29
30 We modified the extension sheet to display the release notes for all the available versions of an extension. Check for instance the release notes for the [[Extended TODO Application>>extensions:Extension.Extended Todo Application#HReleaseNotes]]:
31
32 {{image reference="ER-releaseNotes.png"/}}
33
34 == Improvements to Extension Manager ==
35
36 An administrator of a subwiki can now install XAR extension (as long as it does not require a JAR extension).
37
38 = For Developers =
39
40 == Default custom displayers for Easier customization of the way object fields are displayed ==
41
42 While XWiki allowed to specify a custom display for a given field, it was impossible to change the way field types, such as //DateProperty// or //IntegerProperty//, are displayed in general. Now it is possible to define custom displayers at the farm or wiki level, which gives the administrators more power to change the look and feel of the wiki. For example, this allows to use HTML5 input types for dates and numbers, to use custom suggestions for //list of users// fields, or to always add a validation input for all the //password// field types.
43
44 To use this feature, first you need to compute a //type// name for your property type. This is obtained from the java class simple name, removing the ##Class## suffix, and lowercasing. For example, for numbers the java class used is ##com.xpn.xwiki.objects.classes.NumberClass##, with the simple name ##NumberClass##, which gives ##number## as the type name. For a database list, we get ##dblist## from ##DBListClass##.
45
46 Next, there are three places where a default custom displayer can be defined.
47
48 1. If a document whose name is the //type// capitalized and suffixed with ##Displayer## exists in the ##XWiki## space in the current wiki, then its content is used as the default custom displayer for that type of property. For example, ##localwiki:XWiki.NumberDisplayer## and ##localwiki:XWiki.DblistDisplayer##.
49 1. If a document whose name is the //type// capitalized and suffixed with ##Displayer## exists in the ##XWiki## space in the main wiki, then its content is used as the default custom displayer for that type of property. For example, ##xwiki:XWiki.NumberDisplayer## and ##xwiki:XWiki.DblistDisplayer##.
50 1. If a velocity template whose name is the //type// suffixed with ##.vm## exists in the current skin, then it is evaluated as the default custom displayer for that type of property. A skin file can be defined in many places, such as an attachment of a skin document, a file in a named skin on the filesystem, or a file in the ##templates/## directory.
51
52 If a specific class property provides custom display code in the XClass, then that code takes priority over an eventual default custom displayer for that property.
53
54 As with property custom displayers, when evaluating the display code several objects are placed in the context:
55
56 * ##name## is the name of the property being displayed
57 * ##prefix## is the HTML name prefix to append to an eventual input field name, and contains the XClass name, an underscore, the object number, and another underscore, for example ##XWiki.XWikiUsers_0_##
58 * ##object## is the object owning the displayed property, an instance of the public ##com.xpn.xwiki.api.Object## class
59 * ##type## is the target display type, one of ##view##, ##edit##, ##hidden## or ##search##
60
61 == New API to manipulate log level ==
62
63 Several method as been added to ##org.xwiki.logging.LoggerManager## to manipulate the log level of registered loggers.
64
65 {{code language="java"}}
66 /**
67 * Associate the passed logger to the passed log level.
68 *
69 * @param loggerName the logger
70 * @param level the level of the logger
71 */
72 void setLoggerLevel(String loggerName, LogLevel level);
73
74 /**
75 * @param loggerName the logger
76 * @return the log level associated to the logger
77 */
78 LogLevel getLoggerLevel(String loggerName);
79
80 /**
81 * @return all the registered loggers
82 */
83 Collection<Logger> getLoggers();
84 {{/code}}
85
86 == Upgrades ==
87
88 The following dependencies have been upgraded:
89
90 * GWT 2.5 RC1
91 * Selenium 2.25
92
93 == Miscellaneous ==
94
95 * Office Importer/Exporter encoding issues have been fixed ({{jira style="enum" url="http://jira.xwiki.org"}}XWIKI-6377
96 XWIKI-8007{{/jira}}).
97
98 == Translations ==
99
100 The following translations have been updated:
101
102 {{language codes="code1, code2"/}}
103
104 = Tested Browsers =
105
106 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]]):
107
108 {{velocity}}
109 ## name = iexplorer, firefox, chrome, safari, opera
110 {{/velocity}}
111
112 {{browser name="firefox" version="11.0"/}}
113
114 = Known issues =
115
116 * [[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]]
117
118 = Test Report =
119
120 You can check the [[manual test report>>TestReports.WebHome#<anchor to test report>]] to learn about what was tested and the results on various browsers.
121
122 = Backward Compatibility and Migration Notes =
123
124 == General Notes ==
125
126 You may also want to [[import the default wiki XAR>>Main.Download]] in order to benefit from all the improvements listed above.
127
128 {{warning}}
129 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.
130 {{/warning}}
131
132 == Issues specific to <projet> <version> ==
133
134 <issues specific to the project>
135
136 == API Breakages ==
137
138 The following APIs were modified since <project> <version - 1>:
139
140 {{code language="none"}}
141 <clirr output here>
142 {{/code}}

Get Connected