# The webRoot directory:
# the directory that the servlet engine regards as the place where applications 
# that use the servlet engine should be installed.  Generally, it is safe to leave
# this at the default setting of __AUTODETECT__.  When the SmartClient server is
# started, it logs a message to stdout telling you the autodetected path to your
# webRoot.  If this path is not your actual webRoot, then you'll want to override
# this config parameter here.
#
# Valid values: 
#
# 1. Absolute path to the webRoot directory
#
# 2. Special token:  __AUTODETECT__
#    When this token is used, SmartClient attempts to auto-detect the webRoot using
#    standard servlet APIs.  This may or may not work - depending on your
#    container type and deployment type.  For example, WAR/EAR deployments
#    on some containers never make it to disk, and so the container refuses
#    to provide the webRoot path.
#  
#    If SmartClient cannnot detect the webRoot, it sets the webRoot to
#    __USE_CONTAINER__ (see below).
#
# 3.  Special token: __USE_CONTAINER__
#     When this token is used, SmartClient uses standard servet APIs for accessing
#     filesystem resources.  This is slower than direct file access and, since
#     the servlet APIs provide no mechanism for writing to disk, means that some
#     development tools like the FileAssembler will not work.
#
webRoot: __AUTODETECT__

# if you've moved the isomorphic directory from its default location in webRoot,
# set the root-relative path to it here
#
# For example, if in your deployment the 'isomorphic' dir is in /foo/bar, then set
# then you'll need to set this to foo/bar/isomorphic
isomorphicPathRootRelative: isomorphic

# -------------- PICK DATABASE TO USE --------------------
#
# The SmartClient SDK ships with examples that use a database as the persistence
# layer.  By default, the SDK uses a built-in version of HSQLDB, but you can 
# specify a different database to use here.

# which database do you want to use?  HSQLDB is enabled by default.
sql.defaultDatabase: HSQLDB

# If you want to use Mysql instead, uncomment the following line
# and comment all other sql.defaultDatabase definitions
#sql.defaultDatabase: Mysql

# If you want to use Oracle instead, uncomment the following line
# and comment all other sql.defaultDatabase definitions
#sql.defaultDatabase: Oracle

# If you want to use Postgres instead, uncomment the following line
# and comment all other sql.defaultDatabase definitions
#sql.defaultDatabase: PostgreSQL

# If you want to use DB2 instead, uncomment the following line
# and comment all other sql.defaultDatabase definitions
#sql.defaultDatabase: DB2

# -------------- SETTINGS FOR HSQLDB --------------------

sql.HSQLDB.database.type: hsqldb
sql.HSQLDB.interface.type: driverManager

sql.HSQLDB.driver: org.hsqldb.jdbcDriver
sql.HSQLDB.driver.url: jdbc:hsqldb:file:$webRoot/WEB-INF/db/hsqldb/isomorphic

# -------------- SETTINGS FOR MYSQL --------------------

# These are the settings for use with the Mysql database.  If you have 
# just done a fresh install of MySQL on the same machine where you are 
# running your servlet engine, the values provided below will probably 
# just work on most platforms.

# Configuration for Mysql Connector/J
sql.Mysql.database.type: mysql
sql.Mysql.database.ansiMode: false
sql.Mysql.interface.type: dataSource
sql.Mysql.driver: com.mysql.jdbc.jdbc2.optional.MysqlDataSource
# name of the database to use
sql.Mysql.driver.databaseName: isomorphic
# hostname and port where the database server is installed
sql.Mysql.driver.serverName: localhost
sql.Mysql.driver.portNumber: 3306
# username and password that can create and modify tables in that database
# this user must have the following privileges for the system to function
# properly: create/alter/drop table; insert/update/replace/delete rows.
sql.Mysql.driver.user: root
sql.Mysql.driver.password:


# -------------- SETTINGS FOR ORACLE --------------------

# These are the settings for use with the Oracle database.

# hostname and port where the database server is installed
sql.Oracle.driver.serverName: localhost
sql.Oracle.driver.portNumber: 1521

# SID of Oracle Database
sql.Oracle.driver.databaseName: isomorphic

# username and password that can create and modify tables in that database
# this user must have the following privileges for the system to function
# properly: create/alter/drop table; create/drop sequences; 
# insert/update/replace/delete rows.
sql.Oracle.driver.user: system
sql.Oracle.driver.password: manager

# -------------- SETTINGS FOR PostgreSQL --------------------

# These are the settings for use with the PostgreSQL database.

# hostname and port where the database server is installed
sql.PostgreSQL.driver.serverName: localhost
sql.PostgreSQL.driver.portNumber: 5432

# name of the database to use
sql.PostgreSQL.driver.databaseName: isomorphic

# username and password that can create and modify tables in that database
# this user must have the following privileges for the system to function
# properly: create/alter/drop table; create/drop sequences; 
# insert/update/replace/delete rows.
sql.PostgreSQL.driver.user: postgres
sql.PostgreSQL.driver.password: test

# -------------- SETTINGS FOR DB2 ---------------------------

# These are the settings for use with the DB2 database.

# hostname and port where the database server is installed
sql.PostgreSQL.driver.serverName: localhost
sql.PostgreSQL.driver.portNumber: 6789

# name of the database to use
sql.PostgreSQL.driver.databaseName: isomorphic

# username and password that can create and modify tables in that database
# this user must have the following privileges for the system to function
# properly: create/alter/drop table; create/drop sequences; 
# insert/update/replace/delete rows.
sql.PostgreSQL.driver.user: db2admin
sql.PostgreSQL.driver.password:

# -------------- SETTINGS FOR SQLServer ------ --------------

# These are the settings for use with the SQLServer database.
#
# SQLServer is configured via a jdbc URL params are: hostname :port;             dbName   ;    uid;         password
sql.SQLServer.driver.url: jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=Northwind;User=sa;Password=


# -------------- SETTINGS FOR Intersystems Cache --------------

sql.Cache.driver.user: _SYSTEM
sql.Cache.driver.password: sys
sql.Cache.driver.databaseName: SAMPLES
sql.Cache.driver.portNumber: 1972
sql.Cache.driver.serverName: localhost


# -------------- LOADING APP AND DATASOURCE DEFINITIONS --------------------

# Where the system looks for DataSource definition files ([dataSourceId].ds.xml or
# [dataSourceID].ds.js).  It's useful to put all your DataSources in one 
# directory since DataSources are frequently shared between applications.  
# "project.datasources" is also where the DataSource Importer tool looks 
# for available DataSources.
project.datasources: $webRoot/shared/ds, $webRoot/examples/shared/ds
project.ui: $webRoot/shared/ui
project.apps: $webRoot/shared/app

# -------------- JMS Configuration for Real Time Messaging  --------------------
# If you comment in the properties below, the simple messaging example will work
# against Active MQ JMS instead.  Be sure to start your ActiveMQ server and double
# check the configuraition below, notably the TCP endpoint of your ActiveMQ server.
# If you make changes here, you'll also need to modify ActiveMQ's jndi.properties
# also located in WEB-INF/classes
#
# You'll also need to drop the ActiveMQ jar into WEB-INF/lib - it's typically
# named apache-activemq-4.1.1.jar or similar.
#
# For additional information, see this forum post:
# http://forums.smartclient.com/showthread.php?p=1785#post1785
#
#messaging.dispatcherImplementer: com.isomorphic.messaging.JMSMessageDispatcher
#
#jndi.messaging.java.naming.factory.initial: org.apache.activemq.jndi.ActiveMQInitialContextFactory
#jndi.messaging.java.naming.provider.url: tcp://localhost:61616
#
#messaging.jms.context: messaging
#messaging.jms.jndiPrefix: 
#messaging.jms.topicConnectionFactory: TopicConnectionFactory


# -------------- Other settings --------------------

# SECURITY NOTE: Do not deploy applications with all builtin RPCs enabled. Some of these are
# development-only tools that have not been audited from a security standpoint.
#
# The special '*' value enables all builtin RPCs.  xmlToJS and uploadProgressCheck are meant
# for production deployment, others have not been audited.  For more information, see the
# "Deploying SmartClient" topic in the ReferenceDocs.
RPCManager.enabledBuiltinMethods: *

# SECURITY: DO NOT ENABLE THIS IN PRODUCTION
#
# This datasource allows remote deletion and viewing of any file under webRoot
# It is used by the Visual Builder to load/save views
FilesystemDataSource.enabled: true


