Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.7.04
-
None
-
i2b2 Web Client
-
SHRINE
-
All databases
Description
When you log into the i2b2 Web Client, the client sends a get services request to the PM cell. The message returned from the PM cell contains the configuration for the user, the domain, and information about the different cells defined for the environment they are logging into. The client uses this information during the session to locate the appropriate cell when performing various actions.
The problem is the i2b2 Web Client is not taking into consideration the project the user is logged into when determining the location of the cell. This may result in the wrong information being returned to a user.
The conditions for this problem to exist are as follows:
1. Multiple projects defined in a single hive.
- AND -
2. The cells associated to each project are specific to the project (i.e. multiple cells with different locations).
- AND -
3. The user logging into the client has access to the different projects.
IMPORTANT NOTE:
JIRA Issue:CORE-156 addressed a problem with the PM Cell not sending the correct cell information when multiple projects and cells are defined.
Example:
In the following example I am only showing the setup of the CRC cell but this issue will happen with other cells (i.e. Ontology, Workflow).
Project 1 is setup with following:
Project ID = Demo
Project Name = i2b2 Demo
Project Path = /Demo
Cell ID = CRC
Name = Data Repository
URL = http://location-123/i2b2/services/QueryToolService
Project Path = /Demo
Project 2 is setup with following:
Project ID = Demo2
Project Name = i2b2 Demo 2
Project Path = /Demo2
Cell ID = CRC
Name = Data Repository
URL = http://location-456/i2b2/services/QueryToolService
Project Path = /Demo2
In the above example, when the user logs into the Demo2 project the PM cell will send the cell data for both CRC cells. The i2b2 Web Client will use the cell data for the first CRC cell that it finds. This may be the CRC cell data for the first project, which means the client, is communicating with the wrong CRC cell.
WHAT SHOULD HAPPEN:
The i2b2 Web Client needs to include the project in which a user is logged into when determining a cell’s location and method of communication.
The problem is the i2b2 Web Client is not taking into consideration the project the user is logged into when determining the location of the cell. This may result in the wrong information being returned to a user.
The conditions for this problem to exist are as follows:
1. Multiple projects defined in a single hive.
- AND -
2. The cells associated to each project are specific to the project (i.e. multiple cells with different locations).
- AND -
3. The user logging into the client has access to the different projects.
IMPORTANT NOTE:
JIRA Issue:
Example:
In the following example I am only showing the setup of the CRC cell but this issue will happen with other cells (i.e. Ontology, Workflow).
Project 1 is setup with following:
Project ID = Demo
Project Name = i2b2 Demo
Project Path = /Demo
Cell ID = CRC
Name = Data Repository
URL = http://location-123/i2b2/services/QueryToolService
Project Path = /Demo
Project 2 is setup with following:
Project ID = Demo2
Project Name = i2b2 Demo 2
Project Path = /Demo2
Cell ID = CRC
Name = Data Repository
URL = http://location-456/i2b2/services/QueryToolService
Project Path = /Demo2
In the above example, when the user logs into the Demo2 project the PM cell will send the cell data for both CRC cells. The i2b2 Web Client will use the cell data for the first CRC cell that it finds. This may be the CRC cell data for the first project, which means the client, is communicating with the wrong CRC cell.
WHAT SHOULD HAPPEN:
The i2b2 Web Client needs to include the project in which a user is logged into when determining a cell’s location and method of communication.