Showing posts with label caBIG. Show all posts
Showing posts with label caBIG. Show all posts

Monday, 15 March 2010

NCI UPT 4.2 Tricky Post

Installation Properties


This is the install.properties used in command line installation process. Testing on WinXP VBox and only enable typical (central) configuration.




##############################################################
#
# $Id: install.properties 1593 2009-04-27 21:29:25Z saksass $
# $HeadURL: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/bda-build-template/software/build/install.properties $
#
# This properties file is for cancer center installs.
#
##############################################################

##############################
### APPLICATION SETTINGS ###
##############################
# install/build.xml set application.base.path to correct path based on os type
application.base.path.linux=REPLACE_VALUE
application.base.path.windows=C:/NCI/upt
env.name=external
exclude.access-logs=true

###########################
### DATABASE SETTINGS ###
###########################
database.type=mysql
super.admin.user=superadmin
database.re-create=true
#exclude.database=true
# Required for upt central config

upt.central.database.re-create=true
#upt.central.database.drop-schema=true
upt.central.authentication.type=db

upt.central.database.type=mysql
upt.central.database.server=localhost
upt.central.database.version=5.0.27
upt.central.database.port=3306
upt.central.database.name=upt
upt.central.database.system.user=root
upt.central.database.system.password=
upt.central.database.user=mysql
upt.central.database.password=
upt.central.database.url.prefix=jdbc:mysql
upt.central.database.system.url=${upt.central.database.url.prefix}://${upt.central.database.server}:${upt.central.database.port}
upt.central.database.url=${upt.central.database.system.url}/${upt.central.database.name}
upt.central.database.driver.class=org.gjt.mm.mysql.Driver
upt.central.database.encrypt.enabled=YES
upt.central.database.dialect=org.hibernate.dialect.MySQLDialect

upt.central.ldaps.url=ldaps://ncids4a.nci.nih.gov:636
upt.central.ldaps.basedn=ou=nci,o=nih
upt.central.ldaps.userid.label=cn
upt.central.ldap.url=ldap://ncicbds-dev.nci.nih.gov:389
upt.central.ldap.searchable.base=ou=csm,dc=ncicb-dev,dc=nci,dc=nih,dc=gov
upt.central.ldap.userid.label=uid
upt.central.ldap.admin.user.name=uid=csmAdmin,ou=csm,dc=ncicb-dev,dc=nci,dc=nih,dc=gov
upt.central.ldap.admin.user.password=CSM@admin!

########################
### JBOSS SETTINGS ###
########################
# jboss.home will be generated as ${application.base.path}/${jboss.relateive.path}
jboss.relative.path=${jboss.binaries.relative.dir}
jboss.server.hostname=localhost
jboss.server.name=default
jboss.web.user=pwbc_admin
jboss.web.password=

# If you want to use JBboss NCICB Standard port configurations, uncommment the lines below and comment out all the ports. Be sure to pick a correct prot configuration (see https://wiki.nci.nih.gov/x/0gqy)
exclude.jboss-login-config=true
#jboss.ncicb-standard.port-config=true
#jboss.server.ports.name=config39080
jboss.server.ports.name=bda-ports

jboss.server.jndi.port=46200
jboss.server.port=46210
jboss.cobraorb.port=46350
jboss.ejbinvoker.port=46150
jboss.hajndi.port=46160
jboss.hajrmi.port=46260
jboss.jms.port=46170
jboss.jmx-rmi.port=46290
jboss.messaging.port=46330
jboss.pooledha.port=46270
jboss.remoting.port=46320
jboss.server.bind.port=0
jboss.server.rmi.port=46230
jboss.service.rmiobject.port=46240
jboss.snmp.port=46310
jboss.snmp-trapd.port=46300
jboss.web.service.port=46250
jboss.server.redirect.port=46298

jboss.ssl.enable=false

#@Resolve this property
jboss.external.http.host=

##################################
### Filesystem Data Repository ###
##################################
# If you need to store files on the file system add properties to this section otherwise delete it
#@Resolve this property
fs-data.base.dir=

##############
### TOMCAT ###
##############
# tomcat.home will be generated as ${application.base.path}/${tomcat.relateive.path}
exclude.tomcat.backup=true
tomcat.ssl.enable=false
exclude.tomcat=true

###############
### Log4J ###
###############
log4j.maxFileSize=100MB
log4j.maxDays=7
log4j.level=WARN

###################################
# PRE-POST VALIDATION PROPERTIES #
###################################
validation.pre.port.list=${jboss.server.rmi.port},${jboss.server.jndi.port},${jboss.service.rmiobject.port},${jboss.jms.port},${jboss.server.port},${jboss.web.service.port}
validation.post.http.list=${jboss.server.port}
validation.post.socket.list=${jboss.server.rmi.port},${jboss.server.jndi.port},${jboss.service.rmiobject.port},${jboss.jms.port},${jboss.web.service.port}

###################################
# upt backwards compatible multiple installation configuration #
###################################
upt.central.config=true
upt.31.installed=false
upt.32.installed=false
upt.40.installed=false
upt.41.installed=false
# When typical setup is enable (i.e. upt.central.config=true), it has been experiencing /upt42/Login.do not found (HTTP 404).
# It's confirmed that typical setup installs UPT 4.2 but 404 happens if upt.42.installed is not enabled. Guessing this option
# may fully expose everything that UPT 4.2 needs.
upt.42.installed=true



This is the install.properties used in command line installation process. Used on installation on ptest with non-typical configuration enabled. This enables all backward compatibility for CSM 3.1 - 4.2. Each version requires its own DB named as uptdbxx where xx could be 31, 32, 42 etc. All other config such as port are left as default.




##############################################################
#
# $Id: install.properties 1593 2009-04-27 21:29:25Z saksass $
# $HeadURL: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/bda-build-template/software/build/install.properties $
#
# This properties file is for cancer center installs.
#
##############################################################

##############################
### APPLICATION SETTINGS ###
##############################
# install/build.xml set application.base.path to correct path based on os type
application.base.path.linux=/opt/nci/upt
application.base.path.windows=C:/NCI/upt
env.name=external
exclude.access-logs=true

###########################
### DATABASE SETTINGS ###
###########################
database.type=mysql
super.admin.user=superadmin
database.re-create=true
#exclude.database=true
# Required for upt central config

upt.central.database.re-create=true
#upt.central.database.drop-schema=true
upt.central.authentication.type=db

upt.central.database.type=mysql
upt.central.database.server=localhost
upt.central.database.version=5.0.27
upt.central.database.port=3306
upt.central.database.name=csm_dev_bkwrdscmptbl_central
upt.central.database.system.user=root
upt.central.database.system.password=
upt.central.database.user=mysql
upt.central.database.password=
upt.central.database.url.prefix=jdbc:mysql
upt.central.database.system.url=${upt.central.database.url.prefix}://${upt.central.database.server}:${upt.central.database.port}
upt.central.database.url=${upt.central.database.system.url}/${upt.central.database.name}
upt.central.database.driver.class=org.gjt.mm.mysql.Driver
upt.central.database.encrypt.enabled=YES
upt.central.database.dialect=org.hibernate.dialect.MySQLDialect

upt.central.ldaps.url=ldaps://ncids4a.nci.nih.gov:636
upt.central.ldaps.basedn=ou=nci,o=nih
upt.central.ldaps.userid.label=cn
upt.central.ldap.url=ldap://ncicbds-dev.nci.nih.gov:389
upt.central.ldap.searchable.base=ou=csm,dc=ncicb-dev,dc=nci,dc=nih,dc=gov
upt.central.ldap.userid.label=uid
upt.central.ldap.admin.user.name=uid=csmAdmin,ou=csm,dc=ncicb-dev,dc=nci,dc=nih,dc=gov
upt.central.ldap.admin.user.password=CSM@admin!

###################################
# upt backwards compatible multiple database configuration #
###################################
upt.31.database.re-create=true
#upt.31.database.drop-schema=true
upt.31.authentication.type=db

upt.31.database.type=mysql
upt.31.database.server=localhost
upt.31.database.version=5.0.27
upt.31.database.port=3306
upt.31.database.name=uptdb31
upt.31.database.system.user=root
upt.31.database.system.password=
upt.31.database.user=mysql
upt.31.database.password=
upt.31.database.url.prefix=jdbc:mysql
upt.31.database.system.url=${upt.31.database.url.prefix}://${upt.31.database.server}:${upt.31.database.port}
upt.31.database.url=${upt.31.database.system.url}/${upt.31.database.name}
upt.31.database.driver.class=org.gjt.mm.mysql.Driver
upt.31.database.encrypt.enabled=NO
upt.31.database.dialect=org.hibernate.dialect.MySQLDialect

upt.31.ldaps.url=ldaps://ncids4a.nci.nih.gov:636
upt.31.ldaps.basedn=ou=nci,o=nih
upt.31.ldaps.userid.label=cn
upt.31.ldap.url=ldap://ncicbds-dev.nci.nih.gov:389
upt.31.ldap.searchable.base=ou=csm,dc=ncicb-dev,dc=nci,dc=nih,dc=gov
upt.31.ldap.userid.label=uid
upt.31.ldap.admin.user.name=uid=csmAdmin,ou=csm,dc=ncicb-dev,dc=nci,dc=nih,dc=gov
upt.31.ldap.admin.user.password=CSM@admin!
#---------------------------------#
upt.32.database.re-create=true
#upt.32.database.drop-schema=true
upt.32.authentication.type=db

upt.32.database.type=mysql
upt.32.database.server=localhost
upt.32.database.version=5.0.27
upt.32.database.port=3306
upt.32.database.name=uptdb32
upt.32.database.system.user=root
upt.32.database.system.password=
upt.32.database.user=mysql
upt.32.database.password=
upt.32.database.system.url=jdbc:mysql://${upt.32.database.server}:${upt.32.database.port}
upt.32.database.url=${upt.32.database.system.url}/${upt.32.database.name}
upt.32.database.driver.class=org.gjt.mm.mysql.Driver
upt.32.database.encrypt.enabled=YES
upt.32.database.dialect=org.hibernate.dialect.MySQLDialect

upt.32.ldaps.url=
upt.32.ldaps.basedn=
upt.32.ldaps.userid.label=
upt.32.ldap.url=
upt.32.ldap.searchable.base=
upt.32.ldap.userid.label=
upt.32.ldap.admin.user.name=
upt.32.ldap.admin.user.password=
#--------------------------------#
upt.40.database.re-create=true
#upt.40.database.drop-schema=true
upt.40.authentication.type=db

upt.40.database.type=${database.type}
upt.40.database.server=localhost
upt.40.database.version=5.0.27
upt.40.database.port=3306
upt.40.database.name=uptdb40
upt.40.database.system.user=root
upt.40.database.system.password=
upt.40.database.user=mysql
upt.40.database.password=
upt.40.database.system.url=jdbc:mysql://${upt.40.database.server}:${upt.40.database.port}
upt.40.database.url=${upt.40.database.system.url}/${upt.40.database.name}
upt.40.database.driver.class=org.gjt.mm.mysql.Driver
upt.40.database.encrypt.enabled=YES
upt.40.database.dialect=org.hibernate.dialect.MySQLDialect

upt.40.ldaps.url=
upt.40.ldaps.basedn=
upt.40.ldaps.userid.label=
upt.40.ldap.url=
upt.40.ldap.searchable.base=
upt.40.ldap.userid.label=
upt.40.ldap.admin.user.name=
upt.40.ldap.admin.user.password=
#---------------------------------#
upt.41.database.re-create=true
#upt.41.database.drop-schema=true
upt.41.authentication.type=db

upt.41.database.type=${database.type}
upt.41.database.server=localhost
upt.41.database.version=5.0.27
upt.41.database.port=3306
upt.41.database.name=uptdb41
upt.41.database.system.user=root
upt.41.database.system.password=
upt.41.database.user=mysql
upt.41.database.password=
upt.41.database.system.url=jdbc:mysql://${upt.41.database.server}:${upt.41.database.port}
upt.41.database.url=${upt.41.database.system.url}/${upt.41.database.name}
upt.41.database.driver.class=org.gjt.mm.mysql.Driver
upt.41.database.encrypt.enabled=YES
upt.41.database.dialect=org.hibernate.dialect.MySQLDialect

upt.41.ldaps.url=
upt.41.ldaps.basedn=
upt.41.ldaps.userid.label=
upt.41.ldap.url=
upt.41.ldap.searchable.base=
upt.41.ldap.userid.label=
upt.41.ldap.admin.user.name=
upt.41.ldap.admin.user.password=
#------------------------------------#
upt.42.database.re-create=true
#upt.42.database.drop-schema=true
upt.42.authentication.type=db

upt.42.database.type=${database.type}
upt.42.database.server=localhost
upt.42.database.version=5.0.27
upt.42.database.port=3306
upt.42.database.system.user=root
upt.42.database.system.password=
upt.42.database.name=uptdb42
upt.42.database.user=mysql
upt.42.database.password=
upt.42.database.system.url=jdbc:mysql://${upt.42.database.server}:${upt.42.database.port}
upt.42.database.url=${upt.42.database.system.url}/${upt.42.database.name}
upt.42.database.driver.class=org.gjt.mm.mysql.Driver
upt.42.database.encrypt.enabled=YES
upt.42.database.dialect=org.hibernate.dialect.MySQLDialect

upt.42.ldaps.url=
upt.42.ldaps.basedn=
upt.42.ldaps.userid.label=
upt.42.ldap.url=
upt.42.ldap.searchable.base=
upt.42.ldap.userid.label=
upt.42.ldap.admin.user.name=
upt.42.ldap.admin.user.password=
########################
### JBOSS SETTINGS ###
########################
# jboss.home will be generated as ${application.base.path}/${jboss.relateive.path}
jboss.relative.path=${jboss.binaries.relative.dir}
jboss.server.hostname=ptest.garvan.unsw.edu.au
jboss.server.name=default
jboss.web.user=pwbc_admin
jboss.web.password=

# If you want to use JBboss NCICB Standard port configurations, uncommment the lines below and comment out all the ports. Be sure to pick a correct prot configuration (see https://wiki.nci.nih.gov/x/0gqy)
exclude.jboss-login-config=true
#jboss.ncicb-standard.port-config=true
#jboss.server.ports.name=config39080
jboss.server.ports.name=bda-ports

jboss.server.jndi.port=46200
jboss.server.port=46210
jboss.cobraorb.port=46350
jboss.ejbinvoker.port=46150
jboss.hajndi.port=46160
jboss.hajrmi.port=46260
jboss.jms.port=46170
jboss.jmx-rmi.port=46290
jboss.messaging.port=46330
jboss.pooledha.port=46270
jboss.remoting.port=46320
jboss.server.bind.port=0
jboss.server.rmi.port=46230
jboss.service.rmiobject.port=46240
jboss.snmp.port=46310
jboss.snmp-trapd.port=46300
jboss.web.service.port=46250
jboss.server.redirect.port=46298

jboss.ssl.enable=false

#@Resolve this property
jboss.external.http.host=

##################################
### Filesystem Data Repository ###
##################################
# If you need to store files on the file system add properties to this section otherwise delete it
#@Resolve this property
fs-data.base.dir=

##############
### TOMCAT ###
##############
# tomcat.home will be generated as ${application.base.path}/${tomcat.relateive.path}
exclude.tomcat.backup=true
tomcat.ssl.enable=false
exclude.tomcat=true

###############
### Log4J ###
###############
log4j.maxFileSize=100MB
log4j.maxDays=7
log4j.level=WARN

###################################
# PRE-POST VALIDATION PROPERTIES #
###################################
validation.pre.port.list=${jboss.server.rmi.port},${jboss.server.jndi.port},${jboss.service.rmiobject.port},${jboss.jms.port},${jboss.server.port},${jboss.web.service.port}
validation.post.http.list=${jboss.server.port}
validation.post.socket.list=${jboss.server.rmi.port},${jboss.server.jndi.port},${jboss.service.rmiobject.port},${jboss.jms.port},${jboss.web.service.port}

###################################
# upt backwards compatible multiple installation configuration #
###################################
upt.central.config=false
upt.31.installed=true
upt.32.installed=true
upt.40.installed=true
upt.41.installed=true
upt.42.installed=true




User and Application Relationship


UPT can control what applications a user has access to. The very 1st application registered in UPT is csmupt which is UPT itself:



mysql> select * from csm_application;
+----------------+---------------------------+---------------------------------+-
| APPLICATION_ID | APPLICATION_NAME | APPLICATION_DESCRIPTION |
+----------------+---------------------------+---------------------------------+-
| 1 | csmupt | CSM UPT Super Admin Application |
| 2 | sampleHostApplicationName | Application Description |
| 3 | sample31 | Application Description |

When a new user created, it's added in csm_user table without any association.



mysql> select * from csm_user where login_name='derlin';
+---------+------------+---------------+------------+-------
| USER_ID | LOGIN_NAME | MIGRATED_FLAG | FIRST_NAME | LAST_N
+---------+------------+---------------+------------+-------
| 3 | derlin | 0 | Derrick | Lin
+---------+------------+---------------+------------+-------

In UPT, each regiestered application is an protection element, that is in table:



mysql> select * from csm_protection_element where protection_element_name like '%csmupt%';
+-----------------------+-------------------------+----------------------------------------------------+-----------+
| PROTECTION_ELEMENT_ID | PROTECTION_ELEMENT_NAME | PROTECTION_ELEMENT_DESCRIPTION | OBJECT_ID |
+-----------------------+-------------------------+----------------------------------------------------+-----------+
| 1 | csmupt | CSM UPT Super Admin Application Protection Element | csmupt |
+-----------------------+-------------------------+----------------------------------------------------+-----------+

After a user is assigned to an application, essentially, it's a user, protection element many-to-many relationship defined in table:



mysql> select * from csm_user_pe;
+----------------------------+-----------------------+---------+
| USER_PROTECTION_ELEMENT_ID | PROTECTION_ELEMENT_ID | USER_ID |
+----------------------------+-----------------------+---------+
| 9 | 1 | 1 |
| 2 | 2 | 1 |
| 3 | 3 | 1 |
| 4 | 4 | 1 |
| 5 | 5 | 1 |
| 6 | 6 | 1 |
| 7 | 7 | 1 |
| 8 | 1 | 3 |<<<< derlin assigned to csmupt
+----------------------------+-----------------------+---------+