Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "COSMOS DG Extending the Web User Interface Framework"

(Design Overview)
(Design Overview)
Line 42: Line 42:
 
== Design Overview ==
 
== Design Overview ==
 
The design of the COSMOS UI framework addresses several key requirements.
 
The design of the COSMOS UI framework addresses several key requirements.
 +
* Provide a set of out of the box web widgets that facilitate managing data managers
 +
* Allow exploiters to assemble web widgets in a unified web console.
 +
* Allow exploiters to configure and reuse existing web widgets
 +
* Allow exploiters to contribute and create web widgets
  
The following are basic requirements needed to create a web user interface.
+
Let us look at the overall component architecture of the COSMOS UI framework and explore how the framework meets these requirements.
  
#Views are required to visualize data from some external datasource.    These views are constructed from basic widgets such as tables, trees, button, etc.  Expoliters should have the ability to create new views and deployed these new views within the COSMOS UI infrastructure.  Furthermore, the infrastructure will provide some common used views that can be configured by exploiters.  These common views are developed specifically for System Management operations.  These views are further explained in enhancement [[CosmosDataReportingComponent10_208603| 208603 (Register Visualzations with a Query Response - programmin...)]].
+
The COSMOS UI framework is composed of several key components.
#A mechanism is required to layout Views within the page.  Exploiters of the infrastructure should have the ability to create different "flavors" of the ui by configuring the page layout.
+
* Page templates
 
+
* Web Widgets
The ui infrastructure heavily relies on the dojo toolkit.  Rather than trying to reinvent the wheel the COSMOS ui infrastructure makes use of many of the dojo toolkit design patterns.  The COSMOS ui utilizes the dojo toolkit to do the following
+
* Widget Configuration Files
*object declaration/inheritance
+
* Data Feeds
*pub/sub messaging
+
* Reporting System
*method connections
+
* Report Templates
*attach points
+
*asynchronous requests
+
 
+
The COSMOS UI design implores several dojo programming models.  Familiarly with the Dojo toolkit is required to understand the COSMOS ui infrastructure.  This document will not cover Dojo concepts.
+
 
+
Let us look at the overall component architecture of the COSMOS UI framework and explore how the framework meets these requirements.
+
  
 
===Configuration Scenarios===
 
===Configuration Scenarios===

Revision as of 15:46, 12 March 2008

COSMOS Wiki > COSMOS Document Plan > COSMOS Manual Guide

COSMOS Development Guide Extending the Web User Interface Framework

Category: Development Guide

Owner Sheldon Lee-Loy
Bug # 219143
Due dates Schedule

Introduction

The COSMOS UI framework is a web based framework that facilitates the assembly of web components into a single web console application. It includes

  • A set of out-of-the-box web widgets
  • A registration service to discover and share web widget configurations
  • A page template processor

A web widget is a lightweight portable component that can be installed and run within any separate HTML-based web page without requiring a separate compilation.

The main the focus of the COSMOS UI framework is to provide reusable web widgets to help facilitate the development and validation of Management Data Repositories (MDRs) as defined by the Configuration Management Database Specification Federation specification (CMDBf). An MDR is a CMDBf term that represents a component that contains data about managed resources (e.g. computer systems, application software and building) and/or process artifacts (e.g. incident records and requests for change forms) and the relationships between them.

The secondary goal is to provide a web container that manages and assembles these web widgets in a unified web console.

About this Document

This document will first cover the overall architecture of the COSMOS UI framework followed by a set of tutorials that help the user understand basic concepts and extension mechanisms.

Before reading this document the reader should be aware that the COSMOS UI framework use web methodologies such as AJAX and web technologies such as HTTP, JSON, XML, and Javascript. The reader should be quite familiar with these technologies and methodologies. In addition the framework heavily relies on the DOJO toolkit. The reader should have a good understanding of the following DOJO toolkit concepts.

  • JavaScript Programming With Dojo and Dijit
  • Dijit - The Dojo Widget Library

Design Overview

The design of the COSMOS UI framework addresses several key requirements.

  • Provide a set of out of the box web widgets that facilitate managing data managers
  • Allow exploiters to assemble web widgets in a unified web console.
  • Allow exploiters to configure and reuse existing web widgets
  • Allow exploiters to contribute and create web widgets

Let us look at the overall component architecture of the COSMOS UI framework and explore how the framework meets these requirements.

The COSMOS UI framework is composed of several key components.

  • Page templates
  • Web Widgets
  • Widget Configuration Files
  • Data Feeds
  • Reporting System
  • Report Templates

Configuration Scenarios

Scenario 1: Pages

Scenario 2: Widgets

Scenario 3: Data Feeds

Scenario 4: Reports

Core Design

Pages Templates

Widgets

Configuration Files

Data Feeds

Data Tagging

Error Handling

Internationalization

Deployment Model

Tutorials

Development Environment

Creating new widgets

Configuring a widget

Navigator

Adding a menu option to a node
Changing the style of a node

CMDBf Query Builder

Testing and Debugging

Back to the top