XUI 1.0.3 Alpha released

"Val Cassidy" <[email protected]>
Newsgroups gmane.comp.lang.xul.announce
Message-ID <002001c36815$9fa21f70$04010a0a@DellMobile>
XUI 1.03 Release Notes

1 What's New 

XUI 1.03 includes several new features and enhancements designed to
increase the capability of applications generated via XML and to
increase the range of applications that can be built with XUI in
general. Some of the key additions are outlined below.

Layout Managers <http://xui.sourceforge.net/layouts.html> 

XML support for layout managers is now included. These follow on from
the AWT layout managers and remove the need for specification of
absolute positions and dimensions. The use of layout managers is also
import for frameset support.

Frames Support <http://xui.sourceforge.net/frames.html> 

Frameset support is included to allow for inclusion of non swapping
areas of the screen such as toolbars, navigation controls, headers and
sidebars. Each frame contains an XPage and is positioned using a layout
manager. Navigation commands such showPage have been enhanced to take
the name of the target frame.

Resource  <http://xui.sourceforge.net/ResourceBundles.html> Bundles

Each XPage can now reference a resource bundle, and in this way
internationalization is encouraged. The texts in the XML are then used
as keys for the resource bundle. 

Menus <http://xui.sourceforge.net/menus.html> 

XUI now includes support for menus. The menus can be described with a
simple hierarchy and can be bound to response methods just as easily as
any other component in XUI.

XML Syntax <http://xui.sourceforge.net/XMLSyntax.html> 

The XML syntax used in XUI has been augmented by allowing separte
element types for each component rather than every component needing to
be declared as a component element with a type attribute. This change
while minor leads to more compact XML files and allows for better
support for extended component factories

Repeat <http://xui.sourceforge.net/Repeat.html> 

A new XML element has been added that allows for repeated inclusion of
it's children. This further extends the separation of UI from the data
model by allowing multiple instances of a component or set of components
to be included. The data or content displayed by these components can be
pulled from the data model as needed. 

 <http://xui.sourceforge.net/XMLImport.html> Extended Includes /
Templates

The include syntax has been extended so that an include element can be
placed at any point in the XML and not just at the start of the file.
This gives rise to template like includes and is a powerful feature when
used in conjunction with the Repeat element

Editor/IDE <http://xui.sourceforge.net/Editor-IDE.html> 

The experimental editior/IDE introduced in XUI 1.02 has been greatly
enhanced to better support rapid application development and more of the
features of XUI. You can expect to see additions to this editor in the
near future in the form of plug-in wizards for things such as form
creation and even complete application templates. 

Swing Support <http://xui.sourceforge.net/Swing.html> 

Swing support has been improved by some general housekeeping and while
not the preferred library for XUI (due to the download requirements for
early JDKs, IE etc) it offers an attractive set of components and
functionality. The Swing components are used in the XUI Editor/IDE

Logging added <http://xui.sourceforge.net/Logging.html> 

To counter some of the criticisims of XML as a format/language for
application development extensive logging and tracing has been added to
XUI. This logging has been added in such a way that in can be compiled
out of the codebase. Therefore there are now two editions of XUI - a
debug build with logging and a release build with the debugging removed.

 

2 Refactoring

Much refactoring has been carried out in this latest version of XUI.
Following the additions of this and the previous versions we realized
that some features were duplicated or in some case ambiguous. Most of
this refactoring was internal to XUI and should have little impact on
client code, however it is worth noting the following key changes.

XModel

The XModel used a push/pull metaphor which in some cases was confusing
as it was difficult to determine what was pushing and what was pulling
from the model. This has been changed so the push methods are now set
methods and pull methods have become get methods.

Furthermore some of these accessor methods included parameters for a
node attribute name. In most cases this attribute was unused and
therefore we removed the attribute name as a formal parameter. We have
not however removed attribute names entired as they can still be
specified as part of the element name in an XPath like manner as an
'/mypath/mynode/@attributeName' path / attribute expression. Remove the
attribute parameter meant that the accessor methods could be
consolidated and overall the model should be simpler to use and
comprehend.

The XUI Editor also includes visualization of the model and the logging
package also includes a facility to dump the model to the console.

XDialog

We encountered a number of difficulties with modal dialogs under some
JVMs we therefore found it necessary to refactor the XDialog class,
however the changes should not have any significant for client code
(apart from correcting the aforementioned deficient behaviour).

XPage display returns

The navigation and page display mechanism has been refactored so that
showPage methods now support frames/targte areas. The showPage also
returns a reference to the newly displayed pages.

 

3 Documentation

Documentation has been undated along with the code base and new
examples, test cases and user documentation has been included.

 

4 Development Roadmap

While there is a great deal of scope for the expansion and enhancement
of XUI not everything can be done in one version. As a method of
informing developers and users of the proposed development we have
created a roadmap highlighting the major aspects of the next few
releases. Click here <http://xui.sourceforge.net/Roadmap.html>  for more
details.

Of course if this roadmap does not includes features or issues you wish
to see addressed then please feel free to contact us, record a feature
request or even lodge a bug report.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.