Framework and Core Cells
The i2b2 web client framework has been designed to exist and run in a structured namespace within the JavaScript VM. The base namespace is i2b2 and exists within the JSVM's global scope. Various subsystems, cells and plug-in modules also extend this namespace using an abbreviated code such as ONT for the Ontology Cell, WORK for the Workspace Cell.
Namespace |
Description |
events |
Collection of YUI Events objects for major events that occur within the Framework |
h |
Namespace containing helper functions for use by the framework and plug-ins |
hive |
|
HelpViewer |
The help viewer system |
MasterView |
Top level view controller that handles the main view windows |
MsgSniffer |
The communications channel sniffer subsystem and display window |
cfg |
Configuration for the Hive including: known plug-ins / cells, loaded plug-in / cells, known login |
domains |
|
sdx |
|
Master |
All SDX calls go through this object and are routed to the correct even handlers |
TypeControllers |
Namespace containing all SDX data type specific processing libraries |
Plug-ins
Each cell or module extends its own namespace in its own way but there are some extensions which are automatically created by the core web client framework.
These standard extensions are as follows:
Namespace |
Description |
ajax |
Namespace used to contain all communications layer objects and functionality |
cellCode |
String containing the code for the module's namespace root (ONT for i2b2.ONT namespace) |
cfg |
Namespace used to store all configuration information (auto-populated from JSON config file) |
baseDir |
URI pointing to the base directory used by the code module |
cellParams |
Cell parameters loaded at login from the PM for this Cell-based code module |
cellURL |
URL to the Cell Server's access point (only set for Cell-based modules) |
config |
|
assetDir |
URI to the asset directory of the module |
category |
Array of Strings - search categories this module represents (auto-loaded from JSON config) |
icons |
|
size32x32 |
String – filename of image to be used for 32x32 pixel icon |
size16x16 |
String – filename of image to be used for 16x16 pixel icon |
name |
Friendly-name for this module (short_name in JSON config for module. |
css |
Array of Strings - filenames of CSS files to be loaded (See note listed below) |
files |
Array of Strings - filenames of JavaScript files to load |
ctrlr |
Namespace for controller objects used by the code module |
isLoaded |
Boolean - is the code module fully loaded into the web client framework? |
model |
Namespace to contain any local data used by the module |
view |
Namespace to contain the view objects used by the module |
{someview} |
|
cellRoot |
Reference pointer back to the module's namespace root |
visible |
Boolean - is the view visible? |
modal |
Namespace to contain references of any modal forms used by the View |
Be Careful
A single CSS file should only be specified here because of problems caused by Internet Explorer's limit on the number of dynamically loaded CSS files allowed. If your module requires multiple CSS files, create amaster_load.css file which uses @import "filename.css" to import the rest of the CSS files.
Firebug showing Workspace Cell Namespace (i2b2.WORK)