These release notes describe the changes in OpenLaszlo 3.3, which is the next fully-qualified release after OpenLaszlo 3.2. OpenLaszlo 3.3 contains primarily bug fixes and many new contributions and bug fixes from the OpenLaszlo community. OpenLaszlo 3.3 also introduces a French translation of the documentation, as well as a number of ongoing documentation improvements.
For every release, we rely on the OpenLaszlo community to help ensure the quality of the platform release and to determine its future direction. We encourage you to report any problems, and to make suggestions for enhancements, through our JIRA bug tracking system.
Here is a summary of what you will find in these notes:
The majority of new features in OpenLaszlo 3.3 are contributions to the incubator. However, there have also been some smaller additions to other areas of the source code.
textalign attribute for gridtext (found
here /lps/components/lz/gridtext.lzx). Contributed by
Luca
Ritossa. (http://www.openlaszlo.org/jira/browse/LPP-1999) allowdrag to basewindow. This attribute
defaults to true so all applications that expect windows to be
draggable will work as normal. Also modified the
method _startDrag. The drag now only occurs if allowdrag
equals true. Also added the attribute allowdrag to
datepicker. This attribute defaults to true. Defined the attribute
allowdrag for the windowpanel main. This attribute is
tied to the value defined in the datepicker
class. (http://www.openlaszlo.org/jira/browse/LPP-901)The incubator directory contains components and other code that have been contributed to the OpenLaszlo project, but have not yet been fully integrated into the product. It is intended as an easy way to contribute code that doesn't have the level of documentation, testing, or API review that is required in other directories, or that is simply contributed too late in the release cycle to place elsewhere.
There have been many new items added to the incubator in this release thanks to the members of the OpenLaszlo community. Here is a listing of some of the newest items that you may find useful in your applications:
vslider.lzx. Contributed by Sebastian Wagner. (http://www.openlaszlo.org/jira/browse/LPP-1998)hsplitpane.lzx. Contributed by Daniel Kim. (http://www.openlaszlo.org/jira/browse/LPP-1994)autocompletecombobox.lzx. Contributed by Daniel Kim. (http://www.openlaszlo.org/jira/browse/LPP-1994)tooltipmanager.lzx:
Since OpenLaszlo 3.2, there have many documentation improvements. There is a new French translation of the Software Engineer's Guide to Developing OpenLaszlo Applications based on OpenLaszlo 3.2. Please refer to the README.txt (English) file or LISEZ-MOI.txt (French) file found in /docs/guide_fr for instructions on building and using the French documentation. Thanks to Morgan Duchene for this contribution. (http://www.openlaszlo.org/jira/browse/LPP-1993)
There have been many ongoing documentation improvements as well. The most notable areas of change include: updating all of the examples to use the new event syntax; adding a link to the wiki page (http://wiki.openlaszlo.org/MediaSupport) to clarify all supported media types; and significantly rewriting the documentation to integrate the SOLO tips as a tutorial as well as updating information about SOLO deployments.
Keep in mind that the documentation is virtually always under development. For the most up-to-date version, you may want to consult the nightly build of the documentation hosted on OpenLaszlo.org. (The latest documentation may include information pertinent to the next-following release (e.g. 4.0) and therefore will not necessarily be accurate for 3.3; however, it will include ongoing general improvements.)
There have been many bugs fixed since the 3.2 release. Consult JIRA for complete information. Some of the more notable bug fixes include:
lzc.bat file is fixed in the windows distribution.datacombobox including:
fixed a problem where the floating list appeared in the wrong position
the first time it was shown
(LPP-1689);
added warnings when valuedatapath is not set correctly
(LPP-1877);
Improved memory and performance for layouts with large numbers of
components by destroying the floating list whenever the
datacombobox/floatinglist pair loses focus (LPP-1932, LPP-2019); fixed
errors in focus advance (LPP-2020); ensured that tab closes the menu and goes to the next component in tab order, while shift-tab closes the menu and leaves focus in datacombobox (LPP-2024); and cleaned up warnings on font
and fontsize in lz/datacombobox (LPP-2023) dataset trimwhitespace="true">. For the most current and complete information, consult the JIRA bug database.
There are two particular problems that we would like to call to your attention:
There is a common "UI" design pattern that is easily implemented within OpenLaszlo. This implementation, however, reveals a bug that some developers have encountered. In this particular UI design, a view is expanded in some dimension on rollover of the mouse and contracted upon mouseout. The code is often written like the following:
<canvas>
<view width="100" height="100" bgcolor="blue"
onmouseover="this.expand.doStart()"
onmouseout="this.contract.doStart()" >
<animator name="expand" attribute="width" to="150" duration="500" />
<animator name="contract" attribute="width" to="100" duration="500" />
</view>
</canvas>
The visual effect of the above code will fail, however, if the mouse is moved so fast by the user that the 2nd mouseover event occurs before the first expand animation is complete.
In other words, calling doStart() on an animator that is already running does nothing. It seems that the view has missed the 2nd mouseover event, when in actuality it is the animator that ignored its doStart() method call because it was already running.
For now, the work around is to use the javascript interface for animators like the following.
<canvas>
<view width="100" height="100" bgcolor="red"
onmouseover=" this.animate('width',150,500) "
onmouseout=" this.animate('width',100,500) " />
</canvas>
in this case, new animators are created with each new mouse event. These animators will run independently and so will not have the same problems associated with them like those encountered with the animator tags. Run the examples above, and move the mouse quickly in and out of both views. Notice how in the second example the motion of the red box seems more natural.
Users have reported problems with applications embedded in some versions of Internet Explorer -- the applications don't appear. If you can't get your OpenLaszlo application to show up in IE, try using the older version of embed.js from 3.0.2. We couldn't fix it because we couldn't reproduce the problem, but using older versions of the embed.js sometimes made the problem go away.