Property files for a Mine

Each Mine needs two java property files in the home directory of each user, one for properties used by the build process and one containing runtime properties such as database usernames and passwords. The files follow the naming scheme: build.properties.<name_of_mine> and <name_of_mine>.properties. For example for MalariaMine we need:

malariamine.properties

Properties needed during the build process and deployment of the web application. Defines the location of databases to be used and some configuration for InterMine behaviour. Note that this extends default properties found in trunk/malariamine/default.intermine.integrate.properties.

An example file from /trunk/bio/tutorial/malariamine/malariamine.properties.

# This file specifies the how to access local postgres databases used for
# building and running and InterMine.bio warehouse.  Also some configuration
# of InterMine behaviour.

# os.production - is the InterMine ObjectStore to be built and accessed from the webapp

# if true will log details about execution time of every query
os.production.verboseQueryLog=false

# name of log file to write to while building, default is intermine.log
#os.production.logfile=malaria-demo.log

# Access to the postgres database to build into and access from the webapp
db.production.datasource.serverName=my_server
db.production.datasource.databaseName=production-malaria
db.production.datasource.user=test_user
db.production.datasource.password=test_user

# userprofile database - used by the webapp to store logins, query history,
# saved bags, templates and tags.
db.userprofile-production.datasource.serverName=my_server
db.userprofile-production.datasource.databaseName=userprofile-malaria
db.userprofile-production.datasource.user=test_user
db.userprofile-production.datasource.password=test_user


# Temporary databases used during the build process, these are re-built
# as sources are loaded and can be discarded once the warehouse build is complete
# They use the InterMine 'items' metadata format to describe objects.

# common source items database
db.common-src-items.datasource.serverName=my_server
db.common-src-items.datasource.databaseName=common-src-items
db.common-src-items.datasource.user=test_user
db.common-src-items.datasource.password=test_user

# common target items database
db.common-tgt-items.datasource.serverName=my_server
db.common-tgt-items.datasource.databaseName=common-tgt-items
db.common-tgt-items.datasource.user=test_user
db.common-tgt-items.datasource.password=test_user

default.intermine.integrate.properties

The default properties configure each ObjectStore used in building the warehouse. You shouldn't need to edit these.

##### Define db and objectstore resources needed for MalariaMine build #####

os.query.max-time=1000000000
os.query.max-limit=10000000
os.query.max-offset=100000000
os.queue-len=100

# production database #

os.production.class=org.intermine.objectstore.intermine.ObjectStoreInterMineImpl
os.production.db=db.production
os.production.model=genomic
os.production.noNotXml=true
os.production.logTable=executelog
os.production.minBagTableSize=1100

db.production.datasource.class=org.postgresql.jdbc3.Jdbc3PoolingDataSource
db.production.datasource.dataSourceName=db.production
db.production.datasource.maxConnections=50
db.production.driver=org.postgresql.Driver
db.production.platform=PostgreSQL

osw.production.class=org.intermine.objectstore.intermine.ObjectStoreWriterInterMineImpl
osw.production.os=os.production

integration.production.class=org.intermine.dataloader.IntegrationWriterDataTrackingImpl
integration.production.osw=osw.production
integration.production.datatrackerMaxSize=50000
integration.production.datatrackerCommitSize=1000


##### ITEMS DATABASES #####

# global target (tgt) items objectstore

db.common-tgt-items.datasource.class=org.postgresql.jdbc3.Jdbc3PoolingDataSource
db.common-tgt-items.datasource.dataSourceName=db.common-tgt-items
db.common-tgt-items.datasource.maxConnections=10
db.common-tgt-items.driver=org.postgresql.Driver
db.common-tgt-items.platform=PostgreSQL

os.common-tgt-items-std.class=org.intermine.objectstore.intermine.ObjectStoreInterMineImpl
os.common-tgt-items-std.db=db.common-tgt-items
os.common-tgt-items-std.missingTables=InterMineObject
os.common-tgt-items-std.model=fulldata
os.common-tgt-items-std.minBagTableSize=10000

os.common-tgt-items.class=org.intermine.objectstore.fastcollections.ObjectStoreFastCollectionsImpl
os.common-tgt-items.os=os.common-tgt-items-std
os.common-tgt-items.model=fulldata

osw.common-tgt-items.class=org.intermine.objectstore.intermine.ObjectStoreWriterInterMineImpl
osw.common-tgt-items.os=os.common-tgt-items-std

os.common-translated-std.class=org.intermine.objectstore.translating.ObjectStoreTranslatingImpl
os.common-translated-std.model=genomic
os.common-translated-std.os=os.common-tgt-items
os.common-translated-std.translatorClass=org.intermine.dataconversion.ItemToObjectTranslator

os.common-translated.class=org.intermine.objectstore.fastcollections.ObjectStoreFastCollectionsForTranslatorImpl
os.common-translated.model=genomic
os.common-translated.os=os.common-translated-std

# global source (src) items objectstore

db.common-src-items.datasource.class=org.postgresql.jdbc3.Jdbc3PoolingDataSource
db.common-src-items.datasource.dataSourceName=db.common-src-items
db.common-src-items.datasource.maxConnections=10
db.common-src-items.driver=org.postgresql.Driver
db.common-src-items.platform=PostgreSQL

os.common-src-items-std.class=org.intermine.objectstore.intermine.ObjectStoreInterMineImpl
os.common-src-items-std.db=db.common-src-items
os.common-src-items-std.missingTables=InterMineObject
os.common-src-items-std.model=fulldata
os.common-src-items-std.minBagTableSize=10000

os.common-src-items.class=org.intermine.objectstore.fastcollections.ObjectStoreFastCollectionsImpl
os.common-src-items.os=os.common-src-items-std
os.common-src-items.model=fulldata

osw.common-src-items.class=org.intermine.objectstore.intermine.ObjectStoreWriterInterMineImpl
osw.common-src-items.os=os.common-src-items-std

default.intermine.webapp.properties

The default properties configure the ObjectStores used when the webapp is running. You shouldn't need to edit these.

# Define db and objectstore resources needed for MalariaMine webapp

os.default=os.production

os.query.max-time=10000000
os.query.max-limit=20000
os.query.max-offset=10000000
os.queue-len=100

os.production.class=org.intermine.objectstore.intermine.ObjectStoreInterMineImpl
os.production.db=db.production
os.production.model=genomic
os.production.minBagTableSize=100
os.production.logTable=executelog
## ENABLING LOGGING FOR THE WEB_APP
#os.production.logger=logger.default

db.production.datasource.class=org.postgresql.jdbc3.Jdbc3PoolingDataSource
db.production.datasource.dataSourceName=db.production
db.production.datasource.maxConnections=50
db.production.driver=org.postgresql.Driver
db.production.platform=PostgreSQL

osw.userprofile-production.class=org.intermine.objectstore.intermine.ObjectStoreWriterInterMineImpl
osw.userprofile-production.os=os.userprofile-production
os.userprofile-production.class=org.intermine.objectstore.intermine.ObjectStoreInterMineImpl
os.userprofile-production.model=userprofile
os.userprofile-production.db=db.userprofile-production

db.userprofile-production.datasource.dataSourceName=db.userprofile-production
db.userprofile-production.datasource.class=org.postgresql.jdbc3.Jdbc3PoolingDataSource
db.userprofile-production.datasource.maxConnections=10
db.userprofile-production.driver=org.postgresql.Driver
db.userprofile-production.platform=PostgreSQL

build.properties.malariamine

Properties needed while building and deployng webapp. Edit to match your local tomcat installation.

build.compiler=modern
#build.compiler=jikes

# Web server location - used for copying html files to the web server
www.serverlocation=test_user@localhost:/var/www/

# Web application deployment properties

# location of tomcat server and path of webapp - e.g. access http://localhost:8080/malariamine
webapp.deploy.url=http://localhost:8080
webapp.path=malariamine

# tomcat username and password needed to deploy webapp
webapp.manager=username
webapp.password=password

# 'Home' link
webapp.baseurl=malaria.flymine.org

# where to write logs, default is tomcat log directory
webapp.logdir=/var/log/

# account name for superuser (who can edit appearance and publish templates)
superuser.account=test_user@mail_account

# run with no associated web site
project.standalone=true

# ObjectStores to use - this should not need to change
webapp.os.alias=os.production
webapp.userprofile.os.alias=osw.userprofile-production
webapp.viewByID.prefix=objectDetails.do?id=

# details for sending login e-mails
mail.host=my_mail_host
mail.from=account@my_mail_host
mail.subject=Password for the FlyMine system
mail.text=Your password for the FlyMine system is: {0}


project.title=MalariaMine
project.subTitle=An example of InterMine.bio with data from <i>Plasmodium falciparum</i>
project.sitePrefix=http://malaria.flymine.org
project.helpLocation=http://malaria.flymine.org/doc
project.releaseVersion=tutorial
project.contact=<a href="mailto:test_user%5Bat%5Dmail_account">test_user[at]mail_account</a>
project.funded.by=MalariaMine is funded by <a href="http://www.wellcome.ac.uk/">The Wellcome Trust</a>

feedback.destination = test_user@mail_address

Mine properties shared between users

In addition to the user properties above, each mine needs two global properties file. These should be in the root directory of the mine - e.g. in the malariamine directory.

  • default.intermine.integrate.properties - used by the loading/integration stage
  • default.intermine.webapp.properties - used by the intermine webapp code when running inside Tomcat.

In general these files can be copied from another mine (eg. MalariaMine as very little customisation is needed).


See also: MineHowTo