Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

Preface

This document is intended to describe how to create a maven overlay project to build your own instance of the Scheduling Assistant configured for your Oracle Calendar instance. Additional caveats apply with the Oracle Calendar integration as it depends on the native library SDK that Oracle Calendar includes.

Prerequisites

You'll need the following before you begin:

  • Knowledge of your Oracle Calendar servers and access to the native libraries
  • Administrative credentials for each Oracle Calendar server node (the sysop user)
  • Java Development Kit (JDK) version 6
  • Apache Maven 3 https://maven.apache.org/
  • Apache Ant 1.8 https://ant.apache.org/
  • Apache Tomcat 6 https://tomcat.apache.org/
  • A database to store Scheduling Assistant specific information (like Schedule Owner preferences and availability schedules, relationships, etc.)

At this time, the Scheduling Assistant supports HSQL and Oracle databases. The SQL used is ANSI and should work with other databases. If you wish to deploy against another database please contact the mailing list at 'sched-assist-user@lists.jasig.org' and we'll help you get running.

The Scheduling Assistant uses the Oracle Calendar sysop administrative credentials to create and manipulate appointments on behalf of the participants. There is no way to use any other account other than sysop, as the Oracle Calendar integration makes use of the oracle.calendar.sdk.Session#connectAsSysop and oracle.calendar.sdk.Session#setIdentity methods (which are restricted to the sysop account).

Get the Scheduling Assistant Oracle Calendar source

Since the Oracle Calendar integration for the Scheduling Assistant depends on a library that will never be available in public Maven repositories (as the native libraries are restricted under software licensing agreements), you must check out the Oracle Calendar specific source tree for the Scheduling Assistant and install in your local Maven repository.

  1. Create a workspace directory on your file system, e.g. /home/username/jasig/
  2. cd /home/username/jasig
  3. svn co https://source.jasig.org/sa/sched-assist-oraclecalendar/trunk sched-assist-oraclecalendar
    1. Note: You should replace 'trunk' in that url with a known release you want to work with, like 'tags/1.0.0' or 'branches/rel-1.0-patches' (not yet available).
  4. cd /home/username/jasig/sched-assist-oraclecalendar
  5. cp build-SAMPLE.properties build.properties
  6. Open build.properties in your favorite text editor
  7. Alter the 'oracle.install.home' and 'csdk.jar' to match the locations of your Oracle Calendar install root and the path to the csdk.jar
  8. Alter the 'java_library_path' and 'ld_library_path' to match your environment (comments in the file describe the differences between linux and solaris)
  9. Execute the following command to install csdk.jar in your local maven repository:
    ant maven-install-oracle-csdk
    
  10. Now that the csdk jar can be found by the maven build process, install the Scheduling Assistant Oracle Calendar project in your local maven repository:
    mvn package install
    

Prepping a Tomcat instance for Scheduling Assistant Oracle Calendar

Using the Oracle Calendar SDK native libraries in Tomcat requires additional Tomcat configuration.

  1. In your tomcat 6 install, execute the following:
    mkdir -p shared/lib
    
  2. This new directory will contain libraries that are loaded by Tomcat's Shared Classloader. Enable the shared classloader by editing:
    $CATALINA_HOME/conf/catalina.properties
    
  3. Set the value of the 'shared.loader' property to:
    shared.loader=${catalina.home}/shared/lib/*.jar
    
  4. Back in the Scheduling Assistant Oracle Calendar source tree, open build.properties and edit the tomcat.home property to match your $CATALINA_HOME.
  5. Execute the following command to copy the correct dependencies into your Tomcat's shared/lib:
    ant deploy-oracle-csdk-and-loader
    

Creating the war overlay project

Now that the Oracle Calendar integration is installed in your local maven repository, you can create a maven overlay project to build a version of the project configured for your environment.

  • No labels