Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Step by step instructions for building and deploying the SSP source packages.

 

  1. Software Prerequisites (JDK, Tomcat, Maven, Ant, RDBMS)
  2. SSP Open Source Project build and deployment
  3. SSP Platform build and deployment

...

Anchor
Software Pre-reqs
Software Pre-reqs
Software Prerequisites

The following software prerequisites must be installed with the appropriate environment variables to build and run SSP:

...

Info
titleRDBMS Platform Flexibility

Currently SSP supports use of PosgreSQL and Microsoft SQL Server 2005, 2008, or 2008 R2.  The project team develops and tests against PostgreSQL and Microsoft SQL Server.

Future support for Oracle and other RDBMS is planned.

 

 

...

Anchor
SSP Build
SSP Build
Configure and Deploy SSP

The following configurations are required to build and deploy SSP.

1. Create Directories

Note
titlePrerequisite Installations

All software prerequisites should be installed into the local environment.  Make note of the locations to set the environment variables.

...

  • Create a directory for the source files
    • Unix/Linux/Mac example: /usr/local/ssp
    • Windows example: C:\ssp

  • Make the directory only readable by the user that is running Tomcat


    • Unix/Linux/Mac example: /usr/local/ssp/ssp-local

    • Windows example: C:\ssp\ssp-local

  • Set an Environment Variable for the local configuration file location

    Tip
    SSP_CONFIGDIR=/path/to/your/local-configuration (ie: /usr/local/ssp/ssp-local or C:\ssp\ssp-local)

2. Clone the SSP Open Source Project repository from GitHub

The SSP-Open-Source-Project repository in GitHub contains the tool suite for SSP.  Installation begins with cloning the repository.  Two methods exist for obtaining the source files.

Git (requires git installation)
The git application can clone the repository to a local repository
    • From the directory created in step 1 above, use a command like the following to clone
Code Block
titleClone Source Files
C:\\ssp>git clone git@github.com:Jasig/SSP.git

3. Modify SSP Configuration Files

  • Context.xml
    • A context.xml file is copied into the conf directory of Tomcat once the SSP application starts.  It can be edited prior to deployment or the file can be edited after the deployment.
    • File Location: src/main/webapp/META-INF/context.xml
    • Configuration Values: SSP configdir parameter

...

  • ssp-config.properties
    • The ssp-config.properties file must be modifed for database connectivity and email settings
    • File Location: src/main/config/external to /usr/local/etc/ssp or C:\ssp (depending on the environment
    • Action: copy the  ssp-config.properties file to the local configuration directory (ie: C:\ssp\ssp-local)

    • Configuration Values:

      ValueDescriptionNote
      system_idUnique identifier of the SSP instance 
      db_urljdbc connection syntaxFor Microsoft SQL Server, either specify a port (the default is 1433) or ensure that the SQL Server Browser service is running because the SQL Server JDBC driver defaults to port 1434 which is the SQL Server Server Browser service default port. Depending on the server configuration, either may work, or you may want to explicitly specify the port and instance name, if applicable.
      db_driver_classjdbc database connectivity syntax 
      db_dialectHibernate dialectUse of one of the org.jasig.ssp.util.hibernate.ExtendedSQLServer*Dialects is strongly encouraged if running against SQLSever. The default ssp-config.properties has an example.)
      db_usernameValues for connecting to the SSP database 
      db_passwordValues for connecting to the SSP database 
      db_admin_usernameValues for connecting to the SSP database 
      db_admin_passwordValues for connecting to the SSP database 
      db_conns_max_activeValues for the database connection poolThe default value will need to be increased for test and product
      db_conns_max_idleValues for the database connection poolThe default value will need to be increased for test and product
      db_conns_max_waitValues for the database connection pool 
      db_conns_validation_queryValues for the database connection pool 
      db_liquibase_enabledEnables the liquibase script for database table management 
      db_liquibase_changelogLocation for the liquibase change log 
      db_liquibase_set_mssql_snapshot_isolationParameter for configuring a MSSQL databaseIMPORTANT The default value is 'true'.  Set this value to 'false for MSSQL.  The liquibase changeset 000014.xml will be ignored.  The sql above configures the database correctly.
      smtp_usernameValue for email relay 
      smtp_passwordValue for email relay 
      smtp_hostValue for email relay 
      smtp_portValue for email relay 
      ssp_admins_email_addressesRecipient of system generated messages 
      scheduled_coach_sync_enabledParameter to enable coach sync process 
      per_coach_sync_transactionsParameter to enable the sync process to run per coach instead of one large transaction for all coaches 
      db_batchsize 
      The number of records to process for database transactions.The default value is 300.  Use of the parameter can increase performance of queries writing large sums of data into the database.  This is primarily used in the Caseload Re-assignment tool.
      ssp_main_use_minifed_js  
      Parameter to determine the javascript file used in the deployment
      When set to true, ssp-main.jsp will include a minified js called app-all.js
      When set to false, ssp-main.jsp will include the non-minified app.js
      uportal_session_keep_alive_timeoutLength of time for uPortal sessions KeepAliveFilter 
      spring.profiles.activeDeployment options
      • dev-standalone: completely free of uPortal
      • standalone: as the only portlet in a uPortal instance
      • uPortal: as one of many portlets in a uPortal instance
  • logback.xml
    • The logback.xml controls the log location and level
    • File Location: src/main/config/external to /usr/local/etc/ssp or C:\ssp (depending on the environment
    • Action: copy the  logback.xml file to the local configuration directory (ie: C:\ssp\ssp-local)

    • Configuration Values: property file

    Code Block
    titlelogback.xml
    <property file="C:/ssp/ssp-local/ssp-config.properties"

     

    • Additional configuration options
      • Adjust the log levels for each log appender as necessary
      • Enable the smtpAppender (disabled by default)
      • Further details regarding managing the logback.xml are included in XML comments within the file

4.  Build SSP

Use the following command to build the SSP-Open-Source-Project and install it in the local Maven repository:

...

  • Edit $SSP_CONFIGDIR/ssp-config.properties to set it as a standalone environment instead of a uportal environment:

    Code Block
    # Spring profiles to activate:  can be comma delimited
    # Can choose one of dev-standalone or uportal
    spring.profiles.active=dev-standalone
    #spring.profiles.active=uportal  <-- this will be uncommented by default
  • Copy the embedded LDAP file to $SSP_CONFIGDIR so that the user can authenticate:

    • Linux/OSX:

      Code Block
      cp (ssp source folder)/SSP/src/main/config/devExternal/users.ldif $SSP_CONFIGDIR
  • Build the SSP War:

    Code Block
    C:\ssp\SSP-master> mvn -PSTANDALONE -Dmaven.test.skip=true clean install
  • Copy the generated war to Tomcat, then restart tomcat (shutdown/startup)

    Code Block
    cp (ssp source folder)/SSP/target/ssp.war $CATALINA_BASE/webapps
    • Note: prior to the above step you might need to delete an existing ssp directory and ssp.war file from the tomcat webapps directory if you have previously deployed this portlet.


       

...

Anchor
SSP-Platform Build
SSP-Platform Build
Configure and Deploy SSP-Platform

The following configurations are required to build and deploy SSP-Platform.

1. Clone the SSP-Platform repository from GitHub

The SSP-Platform repository in GitHub contains the tool suite for SSP.  Installation begins with cloning the repository.  Two methods exist for obtaining the source files.

Git (requires git installation
The git application can clone the repository to a local repository
    • From the directory created in step 1 above, use a command like the following to clone
Code Block
titleClone Source Files
C:\\SSP-Platform>git clone -b ssp-master git@github.com:Jasig/uPortal.git

2. Modify SSP-Platform Configuration Files

  • build.properties
    • The build.properties.sample file is copied or renamed in the current directory.  The parameter defines the location of Tomcat.
    • File Location: (uPortal-ssp-1-0-0)
    • Configuration Values: server.home parameter

...

  • pom.xml (For Microsoft SQL Server with jTDS JDBC driver only)
    • JDBC driver for SSP-Platform if not using PostgreSQL

      Warning

      The pom.xml should only be changed with extreme care.  The jTDS Microsoft SQL Server jdbc driver needs to be identified in the build.  The parameter defines the location of the driver in the local repository.

    • File Location: (uPortal-ssp-1-0-0)
    • Configuration Values: parameters

    • Action: modify the exist parameters defined for PostgreSQL

      Code Block
      titleJDBC driver identified in the pom.xml
              <!-- The JDBC Driver used by SSP -->
              <jdbc.groupId>net.sourceforge.jtds</jdbc.groupId>
              <jdbc.artifactId>jtds</jdbc.artifactId>
              <jdbc.version>1.2.4</jdbc.version>

       

       

  • local.properties
    • The local.properties file must be modifed for database connectivity and email settings
    • File Location: (uPortal-ssp-1-0-0)/filters
    • Configuration Values:

    ValueDescription
    environment.build.hibernate.connection.driver_classjdbc driver file
    environment.build.hibernate.connection.urljdbc connection syntax
    environment.build.hibernate.connection.usernamejdbc connection database username
    environment.build.hibernate.connection.passwordjdbc connection database password
    environment.build.hibernate.dialectjdbc connection dialect

3.  Build SSP-Platform

Use the following command to build, deploy, and initialize the SSP-Platform project:

...

Warning
titleFor Microsoft SQL Server ONLY

Follow steps 2 & 3 from the following page to update appropriate database tables for SSP-PLATFORM

 

  • Restart Tomcat

 

4. Test Deployment

 

...

Anchor
ssp-demo-data
ssp-demo-data
SSP Demo Data Installation

To install the SSP Demo Data

 

1. Update SSP & SSP-Platform Source

  • Update ssp to either the 'master' branch or the 'rel-1-2-patches' branch depending on your needs for the environment
  • Update ssp-platform to either the 'ssp-master' or the 'ssp-rel-1-1-patches' branch

2. Edit the config file

  • open 'ssp-config.properties' in your SSP_CONFIGDIR directory 
  • edit the line that reads;

    Code Block
    db_liquibase_changelog=classpath:org/jasig/ssp/database/masterChangeLog.xml

    to

    Code Block
    db_liquibase_changelog=classpath:org/jasig/ssp/database/masterChangeLog-demo.xml
    
    
  • Save this change

3. Build and Deploy SSP

  • Navigate to the SSP source directory and Run the following command to build SSP

    Code Block
    C:\ssp\master> mvn -Dmaven.test.skip=true install
  • Navigate to your SSP-Platform source directory and run the following command to deploy SSP

    Code Block
    ant deployPortletApp -DportletApp=(Your SSP source directory)/target/ssp.war
  • Stop/Start (or restart) tomcat
  • If you watch the catalina.out log file you should see liquibase acquire the changeset and run the changeset for adding demo data. 

4. Import uPortal Userfiles

  • Navigate to the SSP-Platform source directory and run the following command to import the uPortal user files so you can login

    Code Block
    ant -Dmaven.test.skip=true -Ddir=uportal-war/src/main/data/ssp_demo_entities data-import
  • You should see a long list of various usernames loaded in with this step

...