Page History
SHRINE operates by getting settings from a master configuration file, named shrine.conf. You will need to place this file within /opt/shrine/tomcat/lib. Here is a sample node shrine.conf file for a system running SHRINE 1.22.8 (in this guide, we will refer to this file often and will go more in detail on configuring this file in the later chapters):
Code Block | ||||
---|---|---|---|---|
| ||||
shrine {
pmEndpoint {
url = "http://localhost:9090/i2b2/services/PMService/getServices"
}
ontEndpoint {
url = "http://localhost:9090/i2b2/services/OntologyService"
}
hiveCredentials {
domain = "i2b2demo"
username = "demo"
password = "demouser"
crcProjectId = "Demo"
ontProjectId = "SHRINE"
}
breakdownResultOutputTypes {
PATIENT_AGE_COUNT_XML {
description = "Age patient breakdown"
}
PATIENT_RACE_COUNT_XML {
description = "Race patient breakdown"
}
PATIENT_VITALSTATUS_COUNT_XML {
description = "Vital Status patient breakdown"
}
PATIENT_GENDER_COUNT_XML {
description = "Gender patient breakdown"
}
}
queryEntryPoint {
create = true
audit {
collectQepAudit = false
database {
dataSourceFrom = "JNDI"
jndiDataSourceName = "java:comp/env/jdbc/qepAuditDB"
slickProfileClassName = "slick.driver.MySQLDriver$"
//slick.driver.H2Driver$
//slick.driver.PostgresDriver$
//slick.driver.SQLServerDriver$
//slick.driver.JdbcDriver$
//freeslick.OracleProfile$
//freeslick.MSSQLServerProfile$
}
}
trustModelIsHub = true
attachSigningCert = true
authenticationType = "pm"
authorizationType = "shrine-steward"
shrineSteward {
qepUserName = "qep"
qepPassword = "password"
stewardBaseUrl = "https://localhost:6443"
}
includeAggregateResults = false
maxQueryWaitTime {
minutes = 5
}
broadcasterServiceEndpoint {
url = "https://shrine-hub-url:6443/shrine/rest/broadcaster/broadcast"
}
} //end queryEntryPoint
adapter {
create = true
audit {
collectAdapterAudit = false
database {
dataSourceFrom = "JNDI"
jndiDataSourceName = "java:comp/env/jdbc/adapterAuditDB"
slickProfileClassName = "slick.driver.MySQLDriver$"
//slick.driver.H2Driver$
//slick.driver.PostgresDriver$
//slick.driver.SQLServerDriver$
//slick.driver.JdbcDriver$
//freeslick.OracleProfile$
//freeslick.MSSQLServerProfile$
}
}
crcEndpoint {
url = "http://localhost:9090/i2b2/services/QueryToolService"
}
adapterLockoutAttemptsThreshold = 0
setSizeObfuscation = true
adapterMappingsFileName = "AdapterMappings.csv"
maxSignatureAge {
minutes = 5
}
immediatelyRunIncomingQueries = true
} // end adapter
networkStatusQuery = "\\\\SHRINE\\SHRINE\\Demographics\\Gender\\Male\\"
humanReadableNodeName = "Shrine Node Name"
shrineDatabaseType = "mysql"
keystore {
file = "/opt/shrine/shrine.keystore"
password = "password"
privateKeyAlias = "privateKeyAlias"
keyStoreType = "JKS"
caCertAliases = ["shrine-hub-ca"]
}
problem {
problemHandler = "net.shrine.problem.LogAndDatabaseProblemHandler$"
}
dashboard {
happyBaseUrl = "https://localhost:6443/shrine/rest/happy"
statusBaseUrl = "https://localhost:6443/shrine/rest/internalstatus"
database {
dataSourceFrom = "JNDI"
jndiDataSourceName = "java:comp/env/jdbc/problemDB"
slickProfileClassName = "slick.driver.MySQLDriver$"
//slick.driver.H2Driver$
//slick.driver.PostgresDriver$
//slick.driver.SQLServerDriver$
//slick.driver.JdbcDriver$
//freeslick.OracleProfile$
//freeslick.MSSQLServerProfile$
}
} //end dashboard
status {
permittedHostOfOrigin = "localhost"
}
squerylDataSource {
database {
dataSourceFrom = "JNDI"
jndiDataSourceName = "java:comp/env/jdbc/shrineDB"
}
}
authenticate {
usersource {
domain = "i2b2demo"
}
}
steward {
createTopicsMode = Approved
emailDataSteward {
sendAuditEmails = false //false to turn off the whole works of emailing the data steward
//interval = "1 day" //Audit researchers daily
//timeAfterMidnight = "6 hours" //Audit researchers at 6 am. If the interval is less than 1 day then this delay is ignored.
//maxQueryCountBetweenAudits = 30 //If a researcher runs more than this many queries since the last audit audit her
//minTimeBetweenAudits = "30 days" //If a researcher runs at least one query, audit those queries if this much time has passed
//You must provide the email address of the shrine node system admin, to handle bounces and invalid addresses
//from = "shrine-admin@example.com"
//You must provide the email address of the data steward
//to = "shrine-steward@example.com"
//subject = "Audit SHRINE researchers"
//The baseUrl for the data steward to be substituted in to email text. Must be supplied if it is used in the email text.
//stewardBaseUrl = "https://example.com:8443/steward/"
//Text to use for the email audit.
//AUDIT_LINES will be replaced by a researcherLine for each researcher to audit.
//STEWARD_BASE_URL will be replaced by the value in stewardBaseUrl if available.
//emailBody = """Please audit the following users at STEWARD_BASE_URL at your earliest convinience: AUDIT_LINES"""
//note that this can be a multiline message
//Text to use per researcher to audit.
//FULLNAME, USERNAME, COUNT and LAST_AUDIT_DATE will be replaced with appropriate text.
//researcherLine = "FULLNAME (USERNAME) has run COUNT queries since LAST_AUDIT_DATE."
}
database {
dataSourceFrom = "JNDI"
jndiDataSourceName = "java:comp/env/jdbc/stewardDB"
slickProfileClassName = "slick.driver.MySQLDriver$"
//slick.driver.H2Driver$
//slick.driver.PostgresDriver$
//slick.driver.SQLServerDriver$
//slick.driver.JdbcDriver$
//freeslick.OracleProfile$
//freeslick.MSSQLServerProfile$
}
} // end steward
email {
}
} // end shrine section
|
Warning | ||
---|---|---|
| ||
If you are using Oracle for your database connections, please remember to change the 'slickProfileClassName' to 'freeslick.OracleProfile$'! Also, change shrineDatabaseType = 'oracle'! |
Overview
Content Tools