OSF Widgets Library

From OSF Wiki
Jump to: navigation, search

Introduction

The OSF Widgets Library is a grouping (library) of Flex components or widgets that take record(s) description(s) and irXML schema(s) as input, and then output some (possibly interactive) visualization(s) of that record. Depending on the logic described in the input schema(s) and the input record(s) description(s), the OSF Widget may behave differently or provide presentation options to users.

Each OSF Widget delivers a very focused set of functionality or visualization. Multiple components may be combined on the same canvas for more complicated displays and controls.

If a OSF Widget extends an existing component, from another library (Flex framework or others), its main purpose is to transform the input data and schema structures to feed to the existing component that will display some information about the input record(s).

Data Structure

The data structure used by all OSF Widgets is the structXML format (OSF Web Service's resulset format). This structure is the same as the one exchanged between OSF Web Service endpoints. It is composed of subjects (records) that are defined with properties and values. Values can be "data" values such as literals or "object" values that are reference to other subjects. The schema used to describe these resultsets of subjects are discussed in the next section.

Schema

Schemas are vocabularies used to describe the subjects of a resultset. They define the different types and attributes that can be used to describe a subject. The schemas are described using the irON schema specification. The serialization used to describe these irON schemas, and to feed to the OSF Widgets, is the irXML serialization format.

More information can be read in the irON Specification.

Also more information about the irXML serialization format can be read in the irXML specification section.

If more than one schema is specified as input to a OSF Widget, all schemas will be merged together to create the complete conceptual structure used by the component.

The OSF Widgets are driven by the SCO (Semantic Component Ontology) ontology. This ontology can be used to describe types and attributes of the irXML schemas fed to the OSF Widgets.

Settings

Each OSF Widget has its own set of settings. Settings exists for all kind of purposes. All component settings are defined in an XML file that gets converted to a specification ("setting") class at runtime. This setting class is what is used during the entire component's life to behave differently depending on the specifics of the particular usage at a given time. This design allows a single setting to govern the operation for multiple use cases.

Settings are mainly used to define data access endpoints, specific behaviors (enable/disable specific functions, etc.) and undefinable styles in a skin (given theme or style).

Core

The core of the OSF Widget Library is composed of the data structure manipulated by all OSF Widget (the structXML resultset) and the conceptual structure (the irXML schema).

If a developer wants to input data from any system other than OSF Web Service instances, he should create a converter that will convert data from its system, into structXML data, and then use that converted data as the input for any tools based on the OSF Widgets Library.

Additionally, the schema of any such external systems should also be converted (and probably enhanced according to the SCO Ontology) into a irXML schema.

Components

The OSF Widgets Library include a series of components that extends existing components of the Flex framework, or that create new ones. Here are the specific document pages for each of these components:

Core Components

  1. sControl
  2. sMap
  3. sRelationBrowser
  4. sStory
  5. sBarChart
  6. sLinearChart
  7. sPieChart
  8. sGenericBox

Components Extending the Flex Framework

  1. sText
  2. sImage
  3. sHBox

Records Description and Components

There exists a strong relationship between record descriptions and the components of the layout of an application. In fact, in many cases, attributes describing a record get bound to particular elements (components) of an application layout. This is one nature of the OSF Widget: they behave according to the target record(s) and attribute(s) for given schema(s).

The mechanism by which records description get bound to layout elements, and related behavioral comportment, is described on the OSF Widgets Layout page.

Theming Components

All OSF Widgets can be themed by creating different skins for each of them. Most, if not all, parts of a component are accessible for theming via different style names that can be defined in CSS files.

A general discussion of the architecture and process of theming can be read on the OSF Widgets Themes page

Related External Libraries/Applications

Multiple external libraries and applications have been used to develop the OSF Widgets. A complete list of reference to these external libraries and application is available on the OSF Widgets External Libraries page.