More about the schema for UI Options and Enhancer

Justin Obara obara.justin at
Thu Jun 20 14:11:30 UTC 2013

Yesterday afternoon we had another discussion about the schema and how it will relate to UIO, UIE, and GPII. I feel that we've come to a  clearer understanding of how the pieces will fit and work together, and will attempt to describe those interactions here.

Goals for the schema:
enable entire work of constructing a UIO component with completely declarative information
harmonize with work in GPII - Common Terms Registry - create a stable and global identity for every pref in a UIO panel

The GPII will have a Common Terms Registry defining the common settings that will be used by systems like UIO/UIE and etc. The schema in the common terms registry, will likely not be used directly by UIO/UIE. First we can't guarantee that the format will be the same (e.g. values 0 - 1, vs 0% - 100%). Secondly, we require more information to construct our UIO/UIE components than should be part of the common terms registry (e.g. template locations, string bundles for localization and etc.). 

General workflow:

(GPII Common Terms Registry + Ontology Transformation Document) -> Ontology Manager = Primary Schema

The schema from the GPII Common Terms registry along with an Ontology Transformation Document are used by the Ontology Manager to generate a Primary Schema. 

(Primary Schema + Auxiliary Schema) -> UIO Builder = Constructed UIO/UIE

The Primary Schema and an Auxiliary Schema are used by the UIO Builder to construct a functioning UIO and/or UIE.

The parts in more detail:

GPII Common Terms Registry

The common global schema defining the common user settings/preferences in a single common language. This will be especially useful for storing preferences in the cloud or other location to be used across vendors. Will be in json schema format.

Ontology Transformation Document

A document describing the transformation from the GPII Common Terms Registry schema to an applications own Primary Schema

Ontology Manager

The mechanism that will transform/translate from the GPII Common Terms Registry schema to an applications primary schema, and back.

Primary Schema

The schema describing the preference settings in the language of a particular application. Will be in json schema format. (in progress)

Auxiliary Schema

The additional details needed to construct a UIO/UIE component. (e.g. template location, string bundles, and etc. ). Will likely neither take the form of json schema nor IoC. The structure should be flat, easy to transform, and easy to write. We will try to remove as much IoC syntax and features like expanders as possible, to minimize the burden on an integrator and/or authoring system.

UIO Builder

The UIO Builder will take in the Primary Schema and Auxiliary Schema and output the appropriate grades to construct a fully functional UIO and/or UIE.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the fluid-work mailing list