Looking for help? Email bioms@alliancenctn.org
Or Phone 1(855)-55-BIOMS or 1(855)-552-4667

Updating BioMS 1.0 to 1.1

 

1. Purpose

This document captures the process of updating an existing BioMS 1.0 deployment to BioMS 1.1.

Along with BioMS 1.1 release there is synchronized release of bioms-adaptor 1.1. When the BioMS is upgraded 1.1, the bioms-adaptor on the all the connected repositories also need to be upgraded to bioms adaptor 1.1. version. Follow the instructions at Updating BioMS Adaptor for caTissue2.0A v1.0 to v1.1 for upgrading the 2.0A adaptor, after the BIoMS is upgraded.

2. Update instructions

  1. Shutdown all caTissue repositories connected to BioMS (central shared catissue and the OSU catissue)
  2. Shutdown caTissue running on BioMS DB (caTissue on BioMS)
  3. Shutdown all  BioMS Jboss cluster nodes
  4. Create a dump of current BioMS and repository caTissue DBs (for restore if required)
  5. Update both BioMS cluster nodes following the instructions below
    1. Get the BioMS 1.1 installable(bioms-1.1.zip) from the specified location and unpack (lets call this folder BIOMS_INSTALL_HOME)
    2. Rename  <JBOSS_HOME>/server/<bioms-nodeN>/deploy/bioms.war to <JBOSS_HOME>/server/<bioms-nodeN>/deploy/bioms.war.1.0  (for backup)
    3. Copy the BIOMS_INSTALL_HOME/war/bioms.war file to <JBOSS_HOME>/server/<bioms-nodeN>/deploy/
    4. From BIOMS_INSTALL_HOME/.bioms/bioms-config.groovy,  copy the section starting from // BioMS 1.1 configuration till the end of the file to the current bioms configuration file at ~/.bioms/bioms-config,groovy
  6. On bioms-node1  
    1. Rename  ~/.bioms/mayo-auth-sync folder  to ~/.bioms/mayo-auth-sync-1.0
    2. Copy BIOMS_INSTALL_HOME/.bioms/mayo-auth-sync folder to ~/.bioms
    3. Edit ~/.bioms/mayo-auth-sync/sync-mayo-auth-data.sh , set the values for the properties BMS_DB_* , copy the values from the backup file
    4. Copy BIOMS_INSTALL_HOME/.bioms/calgb-reg-sync folder to ~/.bioms

  7. Configure Syslog logging in BIOMS node1
    1. Edit <jboss>/server/bioms-node1/conf/jboss-log4j.xml  and add the following block or un comment and edit the existing SYSLOG appender so that it looks like the following

      <appender name="SYSLOG" class="org.apache.log4j.net.SyslogAppender">
       <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
       <param name="Facility" value="LOCAL7"/>
       <param name="FacilityPrinting" value="true"/>
       <param name="SyslogHost" value="10.39.197.123"/>
       <layout class="org.apache.log4j.PatternLayout">
       <param name="ConversionPattern" value="[%d{ABSOLUTE},%c{1}] %m%n"/>
       </layout>
       </appender>
    2. Add the following to <root> element at the bottom of the file 

      <appender-ref ref="SYSLOG"/>

       

      Edit the ~/.bioms/bioms-config.groovy and add the following after the line applicationLogLevel = "ALL"

      //Logging config
      
      log4j = {
      
      appenders {
      
          appender new org.apache.log4j.net.SyslogAppender(name:"bioms-syslog",
      
                       syslogHost:"10.39.197.123",
      
                       syslogFacility:org.apache.log4j.net.SyslogAppender.LOG_LOCAL7,
      
                       layout: pattern(conversionPattern: '%d{yyyy-MM-dd/HH:mm:ss.SSS} [%t] %x %-5p %c{2} - %m%n'),
      
                       threshold: org.apache.log4j.Level.toLevel(config.applicationLogLevel)
      
                       )
      
          appender new org.apache.log4j.DailyRollingFileAppender(name: "biomsLogFile",
      
                      threshold: org.apache.log4j.Level.toLevel(config.applicationLogLevel),
      
                      file: "${userHome}/.bioms/logs/bioms.log",
      
                      datePattern: "'.'yyyy-MM-dd",   //Rollover at midnight each day.
      
                      layout: pattern(conversionPattern: '%d{yyyy-MM-dd/HH:mm:ss.SSS} [%t] %x %-5p %c{2} - %m%n')
      
              )
      
          }
      
      
          debug 'edu.wustl.bms',
                'grails.app'
      
          List<String> loggers = []
      
          loggers.add('biomsLogFile')
      
          loggers.add('bioms-syslog')
      
          root {
              error loggers as String[]
              additivity = true
          }
      
      }
  8. Start BioMS jboss on bioms-node1 ONLY
  9. Check for application log files in syslog server and configure daily rotation of the log files
  10. Once the BioMS is successfully running and is able to access the bioms application from browser Stop BioMS jboss on bioms-node1
  11. Run the following DB scripts on the BIOMS schema

    -- Update the user tables
    delete from catissue_user where email_address is null;
    delete from catissue_site_users where user_id in (select identifier from catissue_user where identifier not in (select min(identifier) from catissue_user group by email_address));
    delete from catissue_user where identifier not in (select min(identifier) from catissue_user group by email_address);
    update catissue_user set ctep_id = login_name where length(login_name) < 10;
    update catissue_user set login_name = email_address;
    delete from csm_user where email_id is null;
    delete from csm_user where user_id not in (select min(user_id) from csm_user group by email_id);
    update csm_user set login_name = email_id;
    update catissue_user set cancer_research_group_id=1 where cancer_research_group_id is null;
    update catissue_user set department_id=1 where department_id is null;
    update catissue_user set institution_id=1 where institution_id is null;
    update catissue_user set activity_status='Active' where ctep_id is null;
    
    -- Update the container PVs
    
    delete from bms_permissible_value where p_group='TUBE_TYPE' and p_value='K EDTA (lavender)';
    
    delete from bms_permissible_value where p_group='TUBE_TYPE' and p_value='Na Citrate (Light Blue)';
    
    delete from bms_permissible_value where p_group='TUBE_TYPE' and p_value='Li Heparin (light green)';
    
    delete from bms_permissible_value where p_group='TUBE_TYPE' and p_value='No Additive (red)';
    
    delete from bms_permissible_value where p_group='TUBE_TYPE' and p_value='ACD (yellow)';
    
    delete from bms_permissible_value where p_group='TUBE_TYPE' and p_value='Na Citrate (lavender)';
    
    delete from bms_permissible_value where p_group='TUBE_TYPE' and p_value='No additive (red/grey)';
    
    
    insert into catissue_permissible_value (identifier,VALUE, PUBLIC_ID ) values (5019,'CPT Na Citrate (blue/black)','2003997');
    
    insert into catissue_permissible_value (identifier,VALUE, PUBLIC_ID ) values (5020,'CPT Na Heparin (red/green)','2003997');
    
    insert into catissue_permissible_value (identifier,VALUE, PUBLIC_ID ) values (5021,'Na Heparin (dark blue)','2003997');
    
    insert into catissue_permissible_value (identifier,VALUE, PUBLIC_ID ) values (5022,'EDTA (dark blue)','2003997');
    
    insert into catissue_permissible_value (identifier,VALUE, PUBLIC_ID ) values (5023,'Na Heparin (dark green)','2003997');
    
    insert into catissue_permissible_value (identifier,VALUE, PUBLIC_ID ) values (5024,'No Additive (gold)','2003997');
    
    insert into catissue_permissible_value (identifier,VALUE, PUBLIC_ID ) values (5025,'Na Fluoride/DiNa EDTA (grey)','2003997');
    
    insert into catissue_permissible_value (identifier,VALUE, PUBLIC_ID ) values (5026,'Na Heparin (light blue)','2003997');
    
    insert into catissue_permissible_value (identifier,VALUE, PUBLIC_ID ) 
    values (5027,'Na Fluoride/K oxalate (light grey)','2003997');
    
    insert into catissue_permissible_value (identifier,VALUE, PUBLIC_ID ) 
    values (5028,'Na poly ethanol sulfonate (orange)','2003997');
    
    insert into catissue_permissible_value (identifier,VALUE, PUBLIC_ID ) values (5029,'Thrombin (orange)','2003997');
    
    insert into catissue_permissible_value (identifier,VALUE, PUBLIC_ID ) values (5030,'K EDTA (pink)','2003997');
    
    insert into catissue_permissible_value (identifier,VALUE, PUBLIC_ID ) values (5031,'Na Heparin (royal blue)','2003997');
    
    insert into catissue_permissible_value (identifier,VALUE, PUBLIC_ID ) values (5032,'Clot Activator SST (red/grey)','2003997');
    
    insert into catissue_permissible_value (identifier,VALUE, PUBLIC_ID ) values (5033,'K2 EDTA (tan)','2003997');
    
    insert into catissue_permissible_value (identifier,VALUE, PUBLIC_ID ) values (5034,'Na Heparin (tan)','2003997');
    
    insert into catissue_permissible_value (identifier,VALUE, PUBLIC_ID ) values (5035,'K EDTA (white)','2003997');
    
    insert into catissue_permissible_value (identifier,VALUE, PUBLIC_ID ) values (5036,'Broth mixture (yellow/black)','2003997');
    
    insert into catissue_permissible_value (identifier,VALUE, PUBLIC_ID ) values (5037,'Cell Save','2003997');
    
    insert into catissue_permissible_value (identifier,VALUE, PUBLIC_ID ) values (5038,'Li/Heparin (green/grey)','2003997');
    
    insert into catissue_permissible_value (identifier,VALUE, PUBLIC_ID ) values (5040,'Thrombin 2u (grey/yellow)','2003997');
    
    -- Create the ACOSOG Repository
    
    Insert into BMS_REMOTE_REPOSITORY 
    (ID,NAME,JMS_QUEUE_NAME,AUTHKEY,STATUS,LAST_HEART_BEAT_TIME,CONTACT) 
    values ((select max(id)+1 from 
    BMS_REMOTE_REPOSITORY),'acosog-repo','acosog-repo','JSUH7BHS',1,SYSDATE,'dmulvihill@path.wustl.edu,gopal.unnikrishnan@semanticbits.com,biomshelp@bmi.wustl.edu');
    
    Insert into BMS_REMOTE_REPOSITORY_SITE (REMOTE_REPOSITORY_ID,SITE_ID)
     values ((select id from BMS_REMOTE_REPOSITORY where 
    name='acosog-repo),81);
    
    Insert into CATISSUE_SITE_USERS (SITE_ID,USER_ID) values (81,(select 
    identifier from catissue_user where 
    login_name='abrink@pathology.wustl.edu'));
  12.  When the script execution is complete restart bioms-node1 JBoss server
  13. Make sure BioMS application is reachable from browser
  14. Start caTissue on BioMS

 

 

Looking for help? Email bioms@alliancenctn.org
Or Phone 1(855)-55-BIOMS or 1(855)-552-4667