i2b2 Web Client
Space shortcuts
Space Tools

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Configuration Files

Three levels of configuration exist within the i2b2 web client:

...


All configuration files are written in JSON (JavaScript Object Notation) and dynamically loaded by the framework using AJAX calls.

...

Hive Connection Configuration

All deployments of the i2b2 web client will require modification of the Hive Connection configuration file. This configuration file is located at /i2b2_config_data.js. An example file is as follows:

...

Name

Null

Type

Description

domain

N

String

A short code used by the proxy server for the domain/group ID.

name

N

String

A human-readable string containing the domain's name.

urlCellPM

N

String

The full path URL that should be used by the back-end PM Cell.

project

Y

String

Login to a specific project without prompting the user to select one from a list.

isSHRINE

Y

Boolean

Should this domain use SHRINE processing functions?

debug

Y

Boolean

Are debugging messages logged? (uses additional memory).

...




...

Module Loader Configuration

The framework is aware of various code modules after they are registered in the main component list configuration file. This list is located within the /js-i2b2/i2b2_loader.js file in a section containing JSON-based configuration information which has the following structure:

...



This JSON structure is used to register a list of cells / plug-ins that are able to be loaded if the user has been authorized to use them (via the data returned from the Project Management cell during successful login). The above code listing has information for registering the following cells / modules (in order):

  1. Project Management Cell (forced to automatically load when the framework is loaded)
  2. Ontoloty Cell
  3. Data Repository Cell
  4. Plugin Viewer Module (used to manage all non-cell plug-in modules)


Unless a custom module is going to be running as an i2b2-compliant Cell module, further configuration options must be included in this file using the "forcing" options below:

...



These options can also be used to override configuration information that is being returned to the web client Framework from the Project Management Cell during login authorization. The purpose of the forceConfigMsg setting is that it will force information to be automatically loaded and will create a configuration value for later use. For additional information please see the document called Web Client Plugin Developers Guide.

...


...

Plug-in Configuration

For the framework to be able to properly load a plug-in module, information which defines the new module must be provided. This is accomplished by creating a JSON-based configuration file within the plug-in's root directory. An example would be located at:
/js-i2b2/cells/plugins/examples/ExampHello/cell_config_data.js
This file would have the following structure:

...



The configuration file has three main parts to it:

  1. A list of JavaScript files
  2. A list of HTML CSS files
  3. A configuration section.



The files and CSS configuration sections are self-explanatory. All filenames listed will be prepended the with the plug-in's base directory to generate the full file access location used by the framework in loading the files.

Info
titleBe Careful

It is important to note that all version of Microsoft Internet Explorer limit the number of dynamically loaded style sheets to a total of 31 files. The web client framework uses several style sheets and each cell or plug-in may have dynamically loaded style sheets as well.
An important best practice is to only define one CSS file in your plug-in's configuration file.
To use more than one CSS file in your plug-in, create a CSS file to subsequently load your other CSS files using the @import (file.css) command.



The configuration section contains various pieces of information that are used by the framework. They are explained below:

...