Release Review Documentation for 0.4

Sapphire aims to raise UI writing to a higher level of abstraction. The core premise is that the basic building block of UI should not be a widget (text box, label, button, etc.), but rather a property editor. Unlike a widget, a property editor analyzes metadata associated with a given property, renders the appropriate widgets to edit that property and wires up data binding. Data is synchronized, validation is passed from the model to the UI, content assistance is made available, etc.

Features

  • Modeling framework to describe the data that UI will be built for.
  • A system for binding models to XML/DOM, including specific integration with the WTP XML editor. This system makes it easy to deliver form-based editors on top of XML files that have live bi-directional updates between the form view and the source view.
  • UI framework, with an XML-based UI definition parser and support for a variety of commonly-used parts.
  • Renderer for SWT with mature rendering for all UI parts.
  • Renderer for diagrams using Graphiti.
  • SDK with variety of tools that simplify using Sapphire, including editors for UI definition and extension files.

Plan

Release themes, priorities and features are listed in the plan document.

Non-Code Aspects

APIs

There is no declared API in this release as both the API and the API policy are still evolving. Separation between API and internal code does exist. Documentation is improving.

Bugzilla

The following chart summarizes bugs targetted to this release as of the last update of this document. Click through to see an updated view.

Schedule

  • 2011-12-01 Final

Communities

Talk at EclipseCon 2011. All discussion happens on open channels of developer mailing list, adopter forum and bugzilla.

Multiple active adopters visible on project's communication channels. Three of these adopters have contributed patches so far. At least one adopter (besides Oracle) has shipped software with features built using Sapphire.

Java EE Configuration Editors Project created under Web Tools Project to (in part) serve as a prominent and open source example of a complex feature built using Sapphire.

Committers

  • Konstantin Komissarchik (Oracle)
  • Ling Hao (Oracle)
  • Shenxue Zhou (Oracle)

IP Log

The project leadership verifies that the Eclipse IP policies and procedures have been followed

IP Log

Sapphire Logo