Installation and basic operation of the application requires maven 3.0 or newer, ant, tomcat 7.0 or newer, python 2.7, java 1.7 or newer, mysql 5.5.5 or newer, and iconv. Also, the build process involves the installation of some python libraries, so use of virtualenv is recommended, to avoid permissions problems. 1.) Download a copy of the source code from our SVN repository. mkdir cipres cd cipres svn checkout https://svn.sdsc.edu/repo/scigap/trunk source 2.) Copy static content to a web server. 3.) Create a mysql database for the application, using the schema found at source/sdk/scripts/database/cipres.sql. 4.) Create five directories that the application will use for disabled resources, scripts, logs, tool workspace, and database documents. The location of the scripts directory needs to be added to the execution path, and also needs to be assigned to the environment variable SDK_VERSIONS. mkdir disabled_resources scripts logs workspace db_documents export PATH=$PATH:/path/to/scripts export SDK_VERSIONS=/path/to/scripts 5.) Create a copy of source/example, which serves as a template for new applications. During the build process, the source code for the application will be combined with files found in this configuration. For file that are found in both the source code and the configuration, the version from the configuration will be preferred over that from the source code, so any customizations of the source code should be made to copies in the configuration, rather than the originals in the source code. cd source cp -R example my_config 6.) edit my_config/sdk/src/main/resources/ssl.properties to provide a username and password for SSH access to localhost. 7.) Edit my_config/sdk/src/main/resources/tool/tool-registry.cfg.xml to provide definitions of compute resources and custom tools. Pise descriptions for these tools should be copied to my_config/sdk/src/main/resources/pisexml. 8.) Create a properties file for the build process, my_config/build.properties. This file will be merged with source/default/build.properties.template during a build, with properties found in this file replacing those found in the default file. The following properties are used for email notifications: portal.name=Portal email.serviceAddr=customerservice@mydomain.org email.adminAddr=admin@mydomain.org job.email.from=Web Portal restSupportEmail=restadmin@mydomain.org mailSender=ucsd.mailSender email.smtpServer=smtp.sdsc.edu email.smtpServer.port=25 If you don't want email notifications sent to users, you should set job.email.enable to false. The URL for the static web content from step 2 should be assigned to this property: build.portal.staticUrl=http://myserver.mydomain.org The following properties refer to the directories created in step 4: workspace=/path/to/workspace disabled.resources.file=/path/to/disabled_resources logs=/path/to/logs database.fileRoot=/path/to/db_documents build.sdk.versionsDir=/path/to/scripts The username and password that will be used for authentication to the database server should be assigned to these properties: database.username= database.password= If you'd like to use the REST service, you'll need to provide a username and password for an administrator account: admin.username= admin.password= 9.) Edit source files in my_config/portal/src/main/webapp to provide a title for the appilcation, custom home page text, etc. Image files should be copied to my_config/portal/src/main/webapp/images. Two images files in particular that might want to provide are a favorite icon, favicon.ico, and the main logo for the site's page header, logo.gif. The intended dimensions of the logo are 486 by 106 pixels. 10.) Build and deploy. The script recognizes four targets: clean, prepare, package, and deploy, with the deploy target implicitly invoking prepare and package. ./build.py --conf-dir=my_config deploy By default, the build script will build the application as a web portal. For building both the web portal and the REST service, you'll need to use the following command: ./build.py --conf-dir=my_config --module=portal --module=rest deploy 11.) If you're using the REST service, you'll need to create an administrator account for it. Note that the credentials should be the same as those given in the build properties file in step 8. cipresAdmin -u username -p password -e email@mydomain.org