summaryrefslogtreecommitdiffstats
path: root/WebContent/release-notes.html
blob: 3ed8e8f2596d85e2606512393b42bbbc1f9cf68f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>IT Mill Toolkit 5</title>
<link rel="stylesheet" type="text/css" href="demo/css/styles.css" />
<!--[if IE]>
		<link rel="stylesheet" type="text/css" href="demo/css/ie.css" />
		<![endif]-->
</head>
<body>

<div id="container">

<div class="header">
<h1>Introducing IT Mill Toolkit 5</h1>
<em>Effortless web application development for Java-programmers.</em>
<div id="header-links"><a href="http://dev.itmill.com"
	title="Open dev.itmill.com">Visit developer site dev.itmill.com</a><br />
<a href="http://forum.itmill.com" title="Open forum.itmill.com">Visit
support site forum.itmill.com</a></div>
</div>
<!-- /Header -->

<div class="content">

<div>
<h2>Release Notes for IT Mill Toolkit Version <version></version></h2>

<p>Version 5.3.0 is the first stable release of IT Mill Toolkit 5,
meaning that there are no known major problems and the API will be kept
backward compatible.</p>

<h2 id="ClientsideiscompiledwithGWT1.5">Google Web Toolkit Upgraded
to Version 1.5</h2>

<p>The GWT used in IT Mill Toolkit is upgraded to version 1.5. If
you have made your own client side components, you will need to upgrade
your GWT library. Many things have changed in GWT 1.5, but upgrading is
rather straightforward and, as a bonus, you will get the nice features
from Java 1.5. For more details on GWT 1.5, see the <a class="ext-link"
	href="http://code.google.com/webtoolkit/"><span class="icon">GWT
web site</span></a>.</p>

<h2 id="Java5isrequired">Java 5 Now Required</h2>

<p>As GWT now requires Java 5, support for Java 1.4 is discontinued
also in IT Mill Toolkit.</p>

<p>IT Mill Toolkit supports the Sun Microsystems JDK and JRE, though others should work as
well. When running the demo application, the Jetty web server may produce errors in the
console if using certain other Java implementations, especially the GNU JRE.</p>

<h2>Debug Mode Enabled by Default</h2>

<p>The debug mode is now enabled by default, to allow debugging
layout and other problems more easily. The debug mode:</p>

<ul>
	<li>Displays debug data to the server console/log.</li>

	<li>Allows showing the client-side logging window, which you can
	enable by adding the request parameter "<tt>?debug=true</tt>" to the
	application URI.</li>

	<li>"Analyze layouts" -button in the debug window runs basic
	checks on usage of relative units. Potentially problematic layouts will
	be shown in the debug window and in <tt>System.out</tt>.</li>
</ul>

<p>You should disable the debug mode when releasing your application
for production use. You can do this by including the following setting
in your <tt>web.xml</tt>.</p>

<pre class="wiki">  &lt;context-param&gt;
  	&lt;param-name&gt;productionMode&lt;/param-name&gt;
  	&lt;param-value&gt;true&lt;/param-value&gt;
  	&lt;description&gt;IT Mill Toolkit production mode&lt;/description&gt;
  &lt;/context-param&gt;
</pre>

<h2 id="Layoutchanges">Layout Changes</h2>

<p>The stable IT Mill Toolkit version 5.3 introduces a major rework
of layout components since the beta versions 5.2.x and before.</p>

<p>Major changes include:</p>

<ul>
	<li>Layouts are stricter than before - <i>usage of debug mode
	during development is recommended. Use "Analyze layouts" in client side
	debug window if you encounter problems with relative size.</i></li>
	<li><b>VerticalLayout</b> and <b>HorizontalLayout</b> obsolete <b>
	<s>OrderedLayout</s></b></li>
    <li>Layout cell alignment has changed</li>
	<li><b><s>ExpandLayout</s></b> deprecated</li>
	<li>Default sizes have changed</li>
</ul>

<h3>OrderedLayout deprecated</h3>

<p><b>VerticalLayout</b> and <b>HorizontalLayout</b> replace the old
<b><s>OrderedLayout</s></b>, which is now deprecated.</p>

<p>Essentially, this makes the creation of these basic layouts a bit
tidier as you don't have to give the orientation as an ugly parameter to
the constructor. You won't be able to change the orientation with <tt>setOrientation()</tt>
any longer, though such need is rare anyhow.</p>

<h3>Layout Cell Alignment Changed</h3>

<p>Previously, the alignment of components within layout cells was set with
<i>setComponentAlignment()</i> with constants for <b><s>OrderedLayout</s></b> (now
<b>VerticalLayout</b> and <b>HorizontalLayout</b>) and <b>GridLayout</b> separately, such
as <tt>OrderedLayout.ALIGNMENT_TOP_LEFT</tt>. Now the method takes constants defined in
<b>Alignment</b>.</p>

<p>For example, aligning a component "top left" is now:</p>

<pre>mylayout.setComponentAlignment(mycomponent, Alignment.TOP_LEFT);</pre>

<p>You can also give an <b>Alignment</b> object as a parameter and give horizontal and
vertical alignment separately with bitmask parameters.</p>

<h3 id="HandlingofrelativesizeshavechangedExpandLayoutdeprecated">Handling
of relative sizes has changed, ExpandLayout deprecated</h3>

<p><b><s>ExpandLayout</s></b> is deprecated. You can now define the
relative sizes of components more flexibly with <tt>setExpandRatio()</tt>
method available in <b>VerticalLayout</b> or <b>HorizontalLayout</b>.</p>

<p>See the article on <a class="wiki"
	href="http://dev.itmill.com/wiki/DevDocs/RFC/RelativeSizes">Relative
sizes in IT Mill Toolkit</a> for details.</p>

<h3 id="Somecomponentsnowhavedefaultsizes">Some components now have
default sizes</h3>

<p>Previously, almost all components had undefined size by default.
Now some containers have 100% width by default. These components are:</p>

<ul>
	<li><b>VerticalLayout</b></li>
	<li><b>Window</b></li>
	<li><b>Panel</b></li>
	<li><b>TabSheet</b></li>
	<li><b>SplitPanel</b> (note that <b>SplitPanel</b> also has 100%
	height by default)</li>
	<li><b>Form</b></li>
	<li><b>FormLayout</b></li>
	<li><b>Label</b></li>
</ul>

<p>If the width of a <b>Label</b> is set defined, as is now the default, the label text
will wrap appropriately, but if it is set as undefined, the text will never wrap.</p>

<h3>Miscellaneous Layout Changes</h3>

<ul>
	<li>You can now give component alignments inside layouts easily
	with <tt>setComponentAlignment()</tt> as a string, such as "<tt>top
	left</tt>" or "<tt>m,c</tt>" (for middle-center). See <a
		href="http://dev.itmill.com/ticket/2279">#2279</a>.</li>

	<li><b>Form</b> no longer copies all components from the old
	layout to the new one when doing <tt>setLayout()</tt>, instead only
	fields belonging to the <b>Form</b> are copied.</li>
</ul>


<h2 id="Customtailoredclientsidecomponents">Custom Tailored
Client-Side Components</h2>

<p>Due to the layout changes, all child component size changes
(outside the <i>updateFromUIDL()</i> function) must be announced. Most
commonly, this kind of change occurs when an image gets loaded inside a
component. There is a helper method <i>componentSizeUpdated()</i> in the
<b><i>Util</i></b> class for making the announcement:</p>

<pre class="wiki">            Set&lt;Widget&gt; w = new HashSet&lt;Widget&gt;();
            w.add(this);
            Util.componentSizeUpdated(w);
</pre>

<h2 id="Themes">Themes</h2>

<p>Many components have changed significantly due to layout
refactoring. Especially the DOM structures of the components have
changed, which may break old themes.</p>

<p>Building themes for Toolkit is not the most straightforward
process as there is quite a lot of JavaScript magic done while rendering
the components, e.g., dimension measuring, etc. If you use unsupported
CSS, a component may be rendered in an unexpected way in a browser. A
"Theme builder's Handbook" is at the top of our TODO list. In the mean
time, it is often safest to override the values defined in the default
theme.</p>

<p>Especially, if you encounter problems with margins or spacings,
check the manual. Some CSS class names and conventions have changed as
well. (Many of the changes are not yet included in the manual.)</p>

<p>If you have or get "broken" component on your screen, the first
thing to do is to comment out all your custom theme. If it works, you
may have the rework your CSS for that particular component. Below are a
few things to check:</p>

<ul>

	<li>Do not use custom margins outside a component. In IT Mill
	Toolkit, no component should have a margin defined. Settings
	width/height on the server-side would mean offset width/height on
	client-side, so using custom margins for components using CSS may break
	some features in the layouts.</li>

	<li>The same goes for borders and paddings for the main element
	unless they are used for the main element in the default theme. It is
	often safer to use borders in the same elements that have borders in
	the default theme or in inner elements.</li>

</ul>

<p>The easiest and safest way to build a custom theme is, often, to
override the values from the default theme.</p>

<h2 id="Browsersupportchangessince5.2.x">Browser support changes
since 5.2.x</h2>

<p>Safari 2, Firefox 1.5, and versions of Opera prior to version 9.6
are no longer supported. Users of these browsers are strongly encouraged
to upgrade to a newer version.</p>

<p>Google Chrome is not yet supported, but it is known to work
rather well as it is a close relative to Safari.</p>

<p>The GWT Hosted Mode Browser on Linux uses same Gecko version as
FF 1.5 and is currently partially broken. Some layouts do not render
properly. We hope to resolve these issues soon with next generation
Hosted Mode Browser aka OOPHM or with minor hacks to the client side
code.</p>

<h2 id="MinorChanges">Miscellaneous Changes and Enhancements</h2>

<p>Version 5.3 also contains a large number (more than 200) of small
changes, which might not be worth mentioning in the release notes, but
below are some of them.</p>

<ul>
	<li>A new sub-window theme</li>
	<li>The HTML structure of <b>TabSheet</b> has changed</li>
	<li>Better shadow support for overlay elements</li>
	<li>Row and column icons for <b>Table</b></li>
	<li>New component: <b>PopupPanel</b>/<B>PopupView</b></li>
	<li>Theme changing on-the-fly</li>
	<li><b>Table</b> cellstyle and rowstyle generators</li>
	<li>New component: <b>MenuBar</b></li>
	<li>Security: double-cookie submission pattern</li>
	<li>Low-level support for bookmarking and history</li>
	<li>Sub-windows can be centered on screen. Modal windows are
	centered automatically</li>
	<li>The <b>Link</b> component now behaves like a normal "weblink"</li>
</ul>

<p>The <version></version> release of IT Mill Toolkit includes new
features and a large number of fixes to problems compared to the older
5.2.x version. Major enhancements and dozens of bug fixes have been
implemented. Only the most significant issues are mentioned here.</p>

<p>For up-to-date status of known problems, see the developer
website <a href="http://dev.itmill.com/">dev.itmill.com</a>.</p>

<h2>Package for the experimental GWT Out-of-Process Hosted Mode</h2>

<p>We provide a separate (platform independent) installation package
(<tt>itmill-toolkit-oophm-<version></version>.tar.gz</tt>) for the
experimental Out of Process Hosted Mode (OOPHM) of GWT, which allows
debugging client-side code in GWT Hosted Mode with a regular web
browser. Using the OOPHM requires installing a browser plugin (available
for Mozilla Firefox, IE, and WebKit). See the manual section on OOPHM
for more details.</p>

<p>The Linux version of GWT Hosted Mode Browser is no longer
compatible with IT Mill Toolkit 5.3.0 (<a
	href="http://dev.itmill.com/ticket/2299">#2299</a>), so the OOPHM is
the only option for debugging in hosted mode in Linux.</p>

<p>The compilation of OOPHM widget sets uses a large amount of stack memory, so if the
JVM default is too small, you should set it explicitly in <tt>compile-widgetset.xml</tt>
with the following parameter for the Java process (currently included in the example build
script): <tt>&lt;jvmarg value="-Xss1024k"/&gt;</tt>.</p>

<p>As the OOPHM package is experimental, you should use it only for
debugging purposes during development. For production use, you should
compile your custom widget sets with the regular IT Mill Toolkit package
for your platform.</p>

<h2>Important known problems in <version></version></h2>

<ul>
	<li><a href="http://dev.itmill.com/ticket/1155">#1155</a>
	Uncompressing the installation package fails in Windows if using the
	default Zip uncompression. Uncompression gives (in Windows Vista) an
	error message about too long filenames, and a more obscure message in
	other versions of Windows. Workaround: use <a
		href="http://www.7-zip.org/">7-Zip</a> or some other good unzip
	program for Windows.</li>

	<li><a href="http://dev.itmill.com/ticket/2299">#2299</a> The
	Hosted Mode Browser does not work in Linux for debugging client-side
	GWT code. You need to install the experimental OOPHM package instead
	(see above) for development. For production, you should use the regular
	package for Linux.</li>
</ul>

<p>For other known problems, see open tickets at developer site <a
	href="http://dev.itmill.com/">dev.itmill.com</a>.</p>

<h2>Requirements</h2>

<p>IT Mill Toolkit is available for the following operating systems:</p>

<ul>
	<li>Windows (see the Zip installation notice above)</li>

	<li>Linux</li>

	<li>Mac OS X Tiger (mac) or Leopard (leopard)</li>

	<li>Other UNIX operating systems, such as Sun Solaris, using the installation package
	for Linux.</li>
</ul>

<p>IT Mill Toolkit supports Java Servlet API 2.3 and later versions and should work with
any Java application server that conforms to the standard. It supports the following
application servers:</p>

<ul>
    <li>Apache Tomcat, version 4.1 or later</li>
    <li>BEA WebLogic&reg; Server, version 9.2 or later</li>
    <li>IBM WebSphere&reg; Application Server, version 6.1 or later</li>
    <li>JBoss Application Server, version 3.2.8 or later</li>
    <li>Jetty, version 5 or later</li>
    <li>Glassfish, version 2 or later</li>
</ul>

<p>IT Mill Toolkit supports the following browsers for using the applications made with
it:</p>

<ul>
	<li>Mozilla Firefox releases 2, and 3 (see notice above about
	Gecko 1.7).</li>
	<li>Internet Explorer releases 6, 7, and 8<sup>&#8224;</sup>.</li>
	<li>Safari 3</li>
	<li>Opera 9.6<sup>&#8225;</sup></li>
</ul>

<p style="font-size: 80%;">&#8224; Internet Explorer 8 RC1 may not be usable because of a
serious bug in the RC1. <a href="http://dev.itmill.com/ticket/2578">#2578</a><br/>

&#8225; The current support for Opera has some limitations, such as the front page of
the Sampler demo. <a href="http://dev.itmill.com/ticket/2652">#2652</a></p>

<p>The support for browsers follows the support by GWT. The browsers are supported on both
Windows and Mac, if available. Firefox is supported also on Linux (Opera 10a1 works also
on Linux though also suffers from <a
href="http://dev.itmill.com/ticket/2652">#2652</a>). There may be differences between the
exact versions of the supported browsers that may cause incompatibility with applications
made with IT Mill Toolkit.</p>

<p>The following browsers are not supported but have been found to
work to a large degree:</p>

<ul>
	<li>Safari 2, and 4 beta</li>
	<li>Firefox 1.5</li>
    <li>Google Chrome 1.0.x (available only for Windows)</li>
	<li>iPhone (firmware 2.2)</li>
    <li>Midori (0.1.2)</li>
	<li>Epiphany (2.22.3), Galeon, and other Gecko-based browsers (see the notice
	regarding Gecko 1.7 above). Also WebKit-based Epiphany (2.22.3) works.</li>
    <li>Konqueror 4.2 (3.5.x does not work)</li>
    <li>Nokia Internet Tablet N800 and N810 (ITOS 2008, Opera-based browser).</li>
</ul>

<p>The reported versions are those that have been tested, though other versions may work
as well.</p>

<p>Nokia E-series phones, such as E90, have been known to work with older versions, but
not with IT Mill Toolkit 5.2 and later. Links, Lynx, and other text-based browsers do not
work.</p>

<!-- h2>ChangeLog Between IT Mill Toolkit 5.1.2 and 5.2.0</h2 --></div>
<!-- /getting-started -->

<div class="clearer"></div>
</div>
<!-- /content-->

<div class="footer"><a href="http://www.itmill.com">IT Mill
Ltd.</a> <em>Interfacing IT</em></div>
<!-- /footer --></div>
<!-- /container -->

</body>
</html>