Scheduling Assistant - Common Configuration Changes

Preface

This document describes a number of common configuration changes deployers may need to make. These directions assume that you've already read Deploying the Scheduling Assistant - Bedework or Deploying the Scheduling Assistant - Oracle Calendar and completed the steps to get your first maven overlay running.

Understanding the instructions

Many of these tasks have you retrieve files from the source of the project. Keep in mind that you can choose source files from specific versions. When you see an https url like the following:

https://source.jasig.org/sa/sched-assist/trunk/sched-assist-war/src/main/resources/i18n/Messages.properties

"trunk" is the section of the path that is adjustable; it also refers to the very tip of development. If you are looking for a file from a specific version, replace "trunk" with the subversion tag of the desired version. Example:

https://source.jasig.org/sa/sched-assist/tags/sched-assist-1.0.1/sched-assist-war/src/main/resources/i18n/Messages.properties

"tags/sched-assist-1.0.1" is the folder that contains the 1.0.1 release of the Scheduling Assistant. You should always prefer a released version to just trunk, unless you know exactly what you are getting into.

Changing the text

The Scheduling Assistant uses Spring's MessageSource infrastructure to deliver all of the text displayed within the application. To change the text, follow these steps:

  1. Copy the Message.properties source from the desired release of the Scheduling Assistant (trunk shown here):

    wget https://source.jasig.org/sa/sched-assist/trunk/sched-assist-war/src/main/resources/i18n/Messages.properties /path/to/your/my-sched-assist-war/src/main/resources/i18n/
    
  2. Don't change any of the property names (before the equals sign), but change the text to brand as you see fit.
  3. Execute the following command within your my-sched-assist-war directory to rebuild your war:

    mvn clean package
    

Redeploy the war to Tomcat, and your new messages should be displayed. If you plan to translate the Messages into another language, please contact sched-assist-dev@lists.jasig.org, we'd be happy to incorporate additional language translations in the distribution.

Changing authentication

The Scheduling Assistant uses Spring Security for authentication. The default Spring Security configuration presents a username/password form where authentication is required and uses LDAP bind authentication to validate credentials.

UW-Madison has contributed a sample Pubcookie configuration:

https://source.jasig.org/sa/sched-assist/trunk/sched-assist-war/src/main/resources/contexts/overrides/security-pubcookie.xml

Spring Security has support for CAS and a number of other SSO solutions; email sched-assist-dev@lists.jasig.org if you can contribute a sample configuration file for other authentication technologies.

  1. Copy the Spring Security context source from the desired release of the Scheduling Assistant (trunk shown here):

    wget https://source.jasig.org/sa/sched-assist/trunk/sched-assist-war/src/main/resources/contexts/security.xml /path/to/your/my-sched-assist-war/src/main/resources/contexts/
    
  2. Make changes to the security configuration as needed, Reference Documentation.
  3. Execute the following command within your my-sched-assist-war directory to rebuild your war:

    mvn clean package
    

Redeploy the war to Tomcat.

 

Changing CSS/Javascript

  1. Copy the media you would like to edit from the source into your overlay project, example:

    wget https://source.jasig.org/sa/sched-assist/trunk/sched-assist-war/src/main/webapp/themes/jasig/css/main_one_column.css /path/to/your/my-sched-assist-war/src/main/webapp/themes/jasig/css/main_one_column.css
  2. Pay close attention to the paths - remember that overlays work by "overlaying" your content on top of the original artifact. If your path doesn't match the path in the original source, you won't overwrite the desired file.
  3. Execute the following command within your my-sched-assist-war directory to rebuild your war:

    mvn clean package

Redeploy the war to Tomcat. You will likely need to "shift+refresh" in your browser to force download of the new content.