Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 14 Next »

Project Logistics

Project Name 

pentaho-xul

Project Description

The XUL Framework is a project that is attempting to provide an architecture for different UI technologies to be mapped and rendered from the the Mozilla XUL specification. The purpose is to be able to render a user interface across multiple technologies without the overhead of rewriting the presentation layer every time, and providing technology agnostic business logic code for reusability.

Status

The API is in beta stages, and still in a great deal of flux.  The current implementations in progress are XUL-to-SWT and XUL-to-Swing, with a XUL-to-Web 2.0 very near on the list of priorities.

Source Location

svn://source.pentaho.org/svnroot/pentaho-commons/trunk/pentaho-xul

Lead Developer

Nick Baker

Overview

The basic idea behind building the XUL framework is to be able to create user interface definitions that can be reused across multiple technologies or multiple products (not mutually exclusive). A need to be able to easily replace or redesign a user interface is also a goal of the the framework. The following use cases clarify the reasoning behind building the framework, and also help identify under what circumstances a developer may want to use the XUL framework instead of programming a traditional UI.

Use Case 1: Common Dialogs

All of the Pentaho tools share integration points with the platform, additional third party tools, and each other. These integration points usually require similar (if not identical) dialogs in the user interface in order to interact with that particular feature. Many of these tools are not built upon a common technology, as they have had separate origins. A common definition for the dialogs, along with a framework that supports the necessary renderers for that user interface definition relieves the developer from having to change the layout, functionality or possibly build the dialog from scratch every time a new tool comes along that is built upon a new technology, or a new integration point requires another common user interface.

Use Case 2: Customizable Menu Systems and Toolbars

It's a common request from the community, partners and our clients to be able to customize the options available in our client tools, as well as in the platform demo interfaces. Building the toolbars and menu systems in our products using an XML definition allows us to easily add or remove functional options. The XML definition describes the available options with a reference to how they should behave.

Use Case 3: New Tooling Applications

New applications are coming that will be required to plug-in as features to existing tools and plug-in to new architectures that are being designed. These "tooling applications" can generally be thought of and used as standalone applications, but don't make a lot of sense outside of the larger Pentaho client tools, or the platform itself. An example tooling application would be the new Chart Editor.

The XUL Framework Architecture

The XUL Framework starts by processing an XML user interface definition, as XUL is, inherently, and XML technology.

XUL Framework Getting Started Guide

Implementations

The following implementations are in progress:

Projects Using the Pentaho XUL Framework

  • No labels