This document is intended to help deployers setup a development environment for modifying the Scheduling Assistant. This is not technically required if you don't plan to make any changes; see the overlay documentation on how to quickly deploy an instance of the application with minimal changes.
The Scheduling Assistant is a multi-module Maven Java project. It's deliverables include a Web Application that is deployed in Apache Tomcat and a JSR-168 Portlet.
Before you begin, you will first need to create an account on Github. Once you've got an account, follow their instructions to Set up git. After your workstation is setup, learn how to fork a repository.
Create your fork from https://github.com/Jasig/sched-assist.
Now that you've got a fork, you'll need to use the address to your fork when "Cloning the repository" in Eclipse. The address will be viewable at something like https://github.com/your-username-here/sched-assist.
If you have new features you'd like to contribute back to the project, our move to git has made it very easy:
- Make sure your work is done on a branch - not on master!
- Follow the steps in the uPortal Git Workflow document: Git Workflow for Non-Committers
- Send a Pull request when done!
Quick start with Bedework
- Download Apache Tomcat 6, unpack. Edit server.xml to expose the HTTP connector on port 9080 (so as not to conflict with a Bedework Quickstart instance you may also have running locally on 8080).
- Check out the Scheduling Assistant source per the video.
- In the root of the project, copy build-SAMPLE.properties as build.properties and edit the tomcat.home property to match the root of your Tomcat 6 install.
- Navigate to sched-assist-war/src/main/resources, copy scheduling-assistant-SAMPLE.properties as scheduling-assistant.properties. Edit the properties to match your Bedework environment.
- In the root of the project, execute 'mvn package' to build the project. Since you are using Tomcat 6, you can activate the tomcat6 profile and get pre-compiled JSPs (run 'mvn package -P tomcat6')
- Open another terminal window, navigate to the Scheduling Assistant source root. Execute 'ant hsql' to start up an HSQLDB instance
- In the original terminal window, execute 'ant hsql-initialize-firstrun' to create the tables and sequences in the HSQLDB instance.
- Execute 'ant redeploy-war' to deploy the Scheduling Assistant war to your Tomcat install.
- Start Tomcat, and visit http://localhost:9080/scheduling-assistant/