Requirements
Hardware Requirements
- 2 GHz or faster processor
- Minimum 50 MB free disk space for installation
- Minimum 2 GB physical memory
- Recommended 50GB free disk space for document storage. Additional disk space may be needed for future growth depending on usage.
Software Requirements
- Java SDK (More information provided below)
- Database server and related Java database drivers. Supported databases include:
- MySQL
- MS SQL Server
- Oracle
- DB2
- PostgreSQL
Installation Quick Start
Java
- Download the latest Java JRE 6 from Sun here: http://java.sun.com/javase/downloads/. Look for “Java Runtime Environment (JRE) 6.0 Update XX”. There are many different Java bundles that can be downloaded. This particular one is the “bare bones” and should not be much larger than about 20MB. Additional information on Java compatibility and installation can be found here: http://java.sun.com/javase/6/webnotes/index.html
- Configure the “JAVA_HOME” environment variable. On Windows, this value will be something like “C:\Program Files\Java\jre1.6.0_16″. This value is how the Repository startup scritps to locate the Java environment.
Database
- Install MySQL or another supported database per the vendors instructions.
- Create a single database instance for the Repository. “SynthisRepository” is a good recomended default and is used in examples below.
- Create an DB user account for the Repository application. The user will need full control over the “SynthisRepository” database.
- Enable TCP-IP/network connectivity to the “SynthisRepository” database. If the application and database are installed on different servers, make sure any routers or firewalls between the two systems are configured to allow network connections between the two machines per the DB vendors requirements.
Repository
- Create a folder to hold the Synthis Repository program files. On Windows this location should be something like “C:\Program Files\Synthis\Repository\”. This folder path will be referred to below as “{install_folder}”.
- Extract the SynthisRepositoryR4.zip file to {install_folder}.
- Copy the license file obtained from Synthis to {install_folder}.
- Create two local DNS entries, one for the web application and one for webDAV access. Both entries should map to the same server IP address. Example: repo.company.com (192.168.1.10) and webdav.company.com (192.168.1.10).
- Modify the system.properties in the {install_folder}\system.properties file. See “Repository Configuration” below for detailed configuration information.
- Run the repository.bat located in the {install_folder} directory. The first time the Repository runs the database tables will be created and some other first time operations will occur. An “Application Started” message will be displayed in the system console when the setup is complete and the Repository is running. After verifying correct installation, the Repository may be run as a service per the instructions below.
- Stop the server by running the shutdown.bat located in the {install_folder} directory.
- (Optional) Install the Synthis Repository as a windows service. Run the {install_folder}\win-service\install-service.bat file. This will install two windows services Synthis Repository and Synthis Cron. Both will be setup as “automatic” which means they will both start when the machine starts up. The start-service.bat and stop-service.bat can be used to start and stop both services.
- If you installed the Synthis Repository as a Windows service you can start the service now. Otherwise you can start the server by using {install_folder}\startup.bat.
- (OPTIONAL) Login to the Repository using the installation default credentials “administrator”/”password”. Modify the administrator password and email address as desired.
- (OPTIONAL) While logged in as administrator, use the “Mount Point Manager” to specify where the Repository should store file data.
- Refer to the Repository User Guide for more information on setup and administrative tasks.
Repository Configuration
The file “{install_folder}/system.properties” holds system specific settings that must be configured for your installation.
Server Properties
server.address
This is only needed if you want the server to run on a specific ip address. If this is blank all available ip addresses will be used.
server.port
The port that the server will run on. 80 is the default value. A standard browser listens on port 80 when a port hasn’t been specified. www.company.com is the same as www.company.com:80. You may specify a different value than 80, such as 8080 which would be accessed a URL that looked something like www.company.com:8080. Example: 80
server.webapp.host.name
The host name for the server. Example: www.company.com
server.webapp.alias.[1,2,3]
An alias host name for the server. An alias is simply another name pointing to the server. Both www.company.com and process.company.com would take you to the server. Up to three aliases are allowed using the following properties. server.webapp.alias.1, server.webapp.alias.2, server.webapp.alias.3. Example: process.company.com
server.webdav.host.name
The host name used to connect to webDAV on the server. Example: webdav.company.com
server.webdav.alias.[1,2,3]
An alias host name for webDAV on the server. Up to three aliases are allowed using the following properties. server.webdav.alias.1, server.webdav.alias.2, server.webdav.alias.3. Example: process.webdav.company.com
Database Properties
database.driverClass
The JDBC driver class name. Example: com.mysql.jdbc.Driver
database.jdbcUrl
The JDBC connection URL. Example: jdbc:mysql://localhost:3306/SynthisRepository
database.user
The username to use to connect to the database. Example: Admin
database.password
The password for the username used to connect to the database. Example: secret
database.hibernate.dialect
The hibernate dialect class name. This needs to match your database. Example: net.sf.hibernate.dialect.MySQLDialect
| Database |
Hibernate Dialect Class |
| MySQL |
net.sf.hibernate.dialect.MySQLDialect |
| SQL Server |
net.sf.hibernate.dialect.SQLServerDialect (Microsoft SQL Server 2000) |
| DB2 |
net.sf.hibernate.dialect.DB2Dialect
net.sf.hibernate.dialect.DB2390Dialect (OS/390 – DB2/390)
net.sf.hibernate.dialect.DB2400Dialect (iSeries – DB2/400) |
| Oracle |
net.sf.hibernate.dialect.OracleDialect (Oracle 8 )
net.sf.hibernate.dialect.Oracle9Dialect (Oracle 9) |
| PostgreSQL |
net.sf.hibernate.dialect.PostgreSQLDialect |
database.backup.export.dir
The directory where the database backup files will be stored. If this is left blank the default location will be used. Default location: .working/data/com.synthis.server.cron.database.backup. Example: C:/synthis/data/backup/db
Email Server properties
mail.host
The host name of the SMTP server. Example: mail.company.com
mail.user
The user name to use when connecting to the mail server. Example: admin@.company.com
mail.from
The return email address that is used for messages sent from the repository. Example: synthis_repository@company.com
Additional properties
database.backup.export.dir
The directory where database backups will be stored. Example: C:/synthis/data/backup/database
file.backup.job.run
A simple on/off switch to run the file backup job or not. Example: true
file.backup.job.backupLocation
The directory where file backups will be stored. If this is left blank the default location will be used. Default location: .working/data/ com.synthis.server.cron.repository.file.backup. Example: C:/synthis/data/backup/files
user.profile.tab.hide.role.expression
This will hide the user profile tabe for the specified role(s). Example: only;End User / all;End User, Project User / any; End User, Project User
stream.use.download.for.browse.extension.list
This will switch a browse link to a download link for these file extensions. The property value should be a comma separated list of file extensions. Example: “.vsd,.xml,mp3″
Sample System Properties File
###########################################################
## TYPICAL SETUP INSTRUCTIONS
###########################################################
#
# For a typical installation you should only need to modify properties
# in the first three sections.
# 1.) SERVER PROPERTIES
# - Change the port, webapp.host.name and webdav.host.name
# - Only set the server.address if you want the repository to bind to one exact ip address
# 2.) DATABASE PROPERTIES
# - Change all these properties.
# - Example database setups are in the bottom of this file.
# 3.) EMAIL SERVER PROPERTIES
# - Change all these properties
############################################################
## SERVER PROPERTIES
############################################################
server.address=
server.port=8080
server.webapp.host.name=repository.${domain.name}
server.webapp.alias.1=
server.webapp.alias.2=
server.webapp.alias.3=
server.webapp.access.log.enabled=false
server.webdav.host.name=webdav.${domain.name}
server.webdav.alias.1=
server.webdav.alias.2=
server.webdav.alias.3=
server.webdav.access.log.enabled=false
############################################################
## DATABASE PROPERTIES
############################################################
database.driverClass=com.mysql.jdbc.Driver
database.jdbcUrl=jdbc:mysql://localhost:3306/repository
database.user=root
database.password=password
database.hibernate.dialect=net.sf.hibernate.dialect.MySQLDialect
## SEE -> Example Database Setups below for MySQL, SQL Server, Oracle
############################################################
## EMAIL SERVER PROPERTIES
############################################################
mail.host=localhost
mail.user=support@synthis.com
mail.from=support@synthis.com
############################################################
## APPLICATION LOADING PROPERTIES
############################################################
# PASS THIS INFORMATION IN AS -D cmd line args
# application.id=repository
# application.id=cron
#
## For AJP include -> com.synthis.process.server.ajpconnector
## For Doc Portal include -> com.synthis.server.docportal
## For Repo Copy include -> com.synthis.server.repository.copy
repository.modules.load=com.synthis.process.server,com.synthis.server.docserver
repository.listener.port=51301
repository.quartz.do.not.load=processMailQueueTrigger
modeler.load=false
cron.modules.load=com.synthis.server.cron
cron.modules.do.not.load=com.synthis.server.webapp,com.synthis.common.tomcat.api.ITomcatManager
cron.listener.port=51302
############################################################
## WORKING DIRECTORY PROPERTIES
############################################################
locator.working.dir=.working/app/${application.id}
locator.data.dir=.working/data
locator.settings.dir=.working/settings
locator.temp.dir=.working/temp
############################################################
## AJP PROPERTIES (include module com.synthis.process.server.ajpconnector to enable AJP)
############################################################
ajp.port=8209
ajp.redirectPort=8443
ajp.secure=false
ajp.acceptCount=10
ajp.minProcessors=5
ajp.maxProcessors=75
tomcat.jvmroute=tomcatRepository
############################################################
## BACKUP
############################################################
# an empty value will export to default location
database.backup.export.dir=
# The location that file backups will go
#file.backup.job.backupLocation=
#file.backup.job.run=false
#file.md5.check=false
############################################################
## MISC
############################################################
#
# Use this to turn off gzip support.
# In case you are using Apache or IIS to do your gzipping
#
#gzip.filter.enabled=false
#
# Docserver caches, all of these default to true
# so use these to turn off specific caches
#
#docs.diagram.image.cache.enabled=false
#docs.icon.image.cache.enabled=false
#docs.jdiagram.cache.enabled=false
#docs.file.cache.enabled=false
### uncomment for maps.synthis.com
#doc.server.default.vm=locator://com.synthis.server.docserver/docs/system/synthisMapRedirect.vm
# Use this when the external host/port is not internally addressable
# You should only use this when DNS or hosts file will not work because of
# a different port, this should be your last option
# This is used for doc generation, the project pulls the files via atom.
#project.node.feed.url.override.hostprefix=http://localhost:8080/
### set this to true to turn on the favicon icon mapper
### (NOTE: IE does not display all ico files correctly)
#FaviconLinkNodeUrlIconMapper.enabled=false
# This will hide the user profile tab for the specified role(s)
# * EXAMPLE:
# * all;End User,Project User
# * any;End User,Project User
# * only;End User
#user.profile.tab.hide.role.expression=only;End User
# This will make the updated resources view only show
# versioned resources for restriceted users - Defaults to false
#updated.resources.versions.only.for.restricted.users=true
# This is switch a browse link to a download link for these file extensions
# EXAMPLE: .vsd,.xyz
#stream.use.download.for.browse.extension.list=.vsd
#
# This will show or hide the content disposition header for either a browse
# or download request. Defaults to true for both of these
#
#com.synthis.stream.servlet.show.content.disposition.browse=false
#com.synthis.stream.servlet.show.content.disposition.download=false
#
# This will show or hide last modified header, defaults to true
#
#com.synthis.stream.servlet.show.last.modified=false
#
# This will show or hide expires header, defaults to true
#
#com.synthis.stream.servlet.show.expires=false
#
# This show be in the form
# name1=value1;name2=value2;name3=value3
# If this property is not present the default additional static headers will be used.
#
# DEFAULT
# Pragma:cache; Cache-Control:private, must-revalidate, max-age=0
#
#com.synthis.stream.servlet.additional.static.headers=
# Set this to false to skip auto database syncing
#database.sync.enabled=false
############################################################
## EXAMPLE DATABASE SETUPS
############################################################
## MySQL ###################################################
#database.driverClass=com.mysql.jdbc.Driver
#database.jdbcUrl=jdbc:mysql://localhost:3306/repository
#database.user=synthis
#database.password=password
#database.hibernate.dialect=net.sf.hibernate.dialect.MySQLDialect
## SQL Server ###############################################
#database.driverClass=com.microsoft.sqlserver.jdbc.SQLServerDriver
#database.jdbcUrl=jdbc:sqlserver://localhost:1433;databaseName=Repository
#database.user=synthis
#database.password=password
#database.hibernate.dialect=net.sf.hibernate.dialect.SQLServerDialect
## Oracle ###################################################
#database.driverClass=oracle.jdbc.OracleDriver
#database.jdbcUrl=jdbc:oracle:thin:@localhost:1521:repository
#database.user=synthis
#database.password=password
#database.hibernate.dialect=net.sf.hibernate.dialect.Oracle9Dialect
## Additional properties needed for Oracle, copy these up and uncomment
#database.meta.schema=SYNTHIS
#database.meta.exclude.table.prefixes=BIN
#database.sql.remove.semicolon=true
#database.namingstrategy.table.prefix=T_
#database.namingstrategy.table.case=UPPER
#database.namingstrategy.column.prefix=C_
#database.namingstrategy.column.case=UPPER
## Extra property information ###############################
# database.meta.schema
# - Meta lookups will only include tables in this schema. (Needed for Oracle)
# - NOTE: Oracle seems to be case-sensitive in some places, so
# this value may need to be all uppercase
#
# database.meta.exclude.table.prefixes
# - Will exclude tables that start with this prefix in meta lookups.
# (Needed for Oracle)
# - Oracle keeps dropped table in a recycle bin and changes the table name
# so it starts with BIN
#
# database.sql.remove.semicolon
# - Will remove trailing semicolons before executing query. (Needed for Oracle)
#
# database.namingstrategy.table.prefix
# database.namingstrategy.table.suffix
# database.namingstrategy.table.case
# database.namingstrategy.column.prefix
# database.namingstrategy.column.suffix
# database.namingstrategy.column.case
# - Used to change table and column names by adding a prefix and/or a suffix
# - The case property is used to make the name either all uppercase or all
# lowercase use (upper or lower) EXAMPLE: database.namingstrategy.table.case=UPPER
# - A prefix or suffix is needed for both the table names and column names for Oracle
# because the repository has a table and a column called "comment" which is a reserved
# word in Oracle
Related Posts
- Saving
- Running The Process Modeler via Terminal Server
- Repository Downloadable Help