Warning |
---|
If you are running a SSP version prior to 1.1.1, you are strongly encouraged to upgrade or otherwise apply the reporting subsystem security patches described by SSP-701. Also please take a few minutes to review additional security-related announcements detailed at the top of the SSP space here in Confluence. |
Table of Contents |
---|
Step by step instructions for building and deploying the SSP 2.0-b2 release.
- Software Prerequisites (JDK, Tomcat, Maven, Ant, RDBMS)
- SSP Platform build and deployment
...
Anchor | ||||
---|---|---|---|---|
|
The following software prerequisites must be installed with the appropriate environment variables to build and run SSP:
...
Info | ||
---|---|---|
| ||
Currently SSP supports use of PosgreSQL and Microsoft SQL Server 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 | ||||
---|---|---|---|---|
|
The following configurations are required to build and deploy SSP-Platform.
1. Download the SSP-Platform Release
Zip Download |
---|
The source files can be downloaded in a zip file
|
2. SSP Configuration Files
- Create a directory for the local SSP configuration files
- Example:
- Unix/Linux/Mac example: /usr/local/ssp
Windows example: C:\ssp\ssp-local
Make the directory only readable by the user that is running Tomcat
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)
- Example:
- ssp-config.properties
- The ssp-config.properties file must be modifed for database connectivity and email settings
- File Location: github
Action: create the ssp-config.properties file in the local configuration directory (ie: C:\ssp\ssp-local)
Configuration Values:
Value Description Note system_id Unique identifier of the SSP instance db_
urlusername Values for connecting to the SSP database db_password Values for connecting to the SSP database db_admin_username Values for connecting to the SSP database db_admin_password Values for connecting to the SSP database db_name Value for the SSP database db_url jdbc connection syntax For 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_class jdbc database connectivity syntax db_dialect Hibernate dialect Use of one of the org.jasig.ssp.util.hibernate.ExtendedSQLServer*Dialects
is strongly encouraged if running against SQLSever. The defaultssp-config.properties
has an example.)db_conns_max_active Values for the database connection pool The default value will need to be increased for test and product db_conns_max_idle Values for the database connection pool The default value will need to be increased for test and product db_conns_max_wait Values for the database connection pool db_conns_validation_query Values for the database connection pool db_liquibase_enabled Enables the liquibase script for database table management db_liquibase_changelog Location for the liquibase change log db_liquibase_set_mssql_snapshot_isolation Parameter for configuring a MSSQL database IMPORTANT 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. db_liquibase_strip_journal_comment_markup Parameter to enable a script to convert HTML Journal Entries to plain text db_liquibase_strip_tuition_paid_is_y True value will delete the existing values forced into the database in v1.2.0, False will leave the existing values alone This only applies to implementers who installed v1.2.0 or earlier AND populated the external_registration_status_by_term.tuition_paid field with external data db_liquibase_convert_external_term_timestamps True value in external_term.start_date and external_term.end_date will be interpreted in ${db_time_zone_legacy} and re-written in${db_time_zone_legacy}.True usually makes sense for both upgrades and fresh installs. Would only set to false if for some reason these fields have already been converted to ${db_time_zone) via some external process.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. cacheLifeSpanInMillis
This property will dictate how long lived a cache will be only external courses uses a cachedefault is 86400000 = 1 day db_time_zone_legacy Parameter to set the timezone for data migration Used for migrating persistent timestamps. Prior to work on SSP-1002, SSP-1035, and SSP-1076, timestamps were stored in the JVM default timezone. After that the application assumes they are stored in ${db_time_zone}. In order to correctly migrate existing data, though, the app needs to know the original timezone. This is almost always going to be the current JVM default timezone, hence the default value here, which is a special value instructing the app to lookup and inject that timezone into this config property. In the rare event you need to change that value, you can do so here. This would likely only be necessary if, for whatever reason you change the JVM default *after* the migrations run, which would result in a Liquibase checksum error. To avoid that, just set the relevant timezone here when and if you make that change.
Default is CURRENT_JVM_DEFAULTdb_time_zone Timezone ID for the JVM JVM-recognized TimeZone ID for the zone in which persistent date/time values should be interpreted. Should rarely if ever need to be overridden. If overridden, should always be set to a TimeZone that does not observe Daylight Savings Time unless trying to cope with legacy data that was stored in a DST-aware TimeZone. Once set, should never be changed else date/time values in the database will be interpreted incorrectly. (SSP does not store timezone data on persistent date/time values and implements no logic for detecting and/or handling changes to this configuration option.)
Default is UTC
smtp_username Value for email relay smtp_password Value for email relay smtp_host Value for email relay smtp_port Value for email relay
smtp_protocol Protocol for email Default is smtp ssp_admins_email_addresses Recipient of system generated messages scheduled_coach_sync_enabled Parameter to enable coach sync process per_coach_sync_transactions Parameter to enable the sync process to run per coach instead of one large transaction for all coaches scheduled_task_cleanup_wait_millis
Max amount of time, in milliseconds, the app will wait during shutdown for any background tasks to abandon their work.Default is
1000010000 uportal_session_keep_alive_timeout Length of time for uPortal sessions KeepAliveFilter spring.profiles.active Deployment 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
ssp_main_use_minifed_jsParameter to determine the javascript file used in the deployment When set to true, ssp-main.jsp will include a minified js called app-all.jsWhen set to false, ssp-main.jsp will include the non-minified app.js
- 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
jdbc connection syntax For 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_class jdbc database connectivity syntax db_dialect Hibernate dialect Use of one of the org.jasig.ssp.util.hibernate.ExtendedSQLServer*Dialects
is strongly encouraged if running against SQLSever. The defaultssp-config.properties
has an example.)db_username Values for connecting to the SSP database db_password Values for connecting to the SSP database db_admin_username Values for connecting to the SSP database db_admin_password Values for connecting to the SSP database db_name Value for the SSP database uportal_session_keep_alive_timeout Length of time for uPortal sessions KeepAliveFilter spring.profiles.active Deployment options
logback.xml
- The logback.xml controls the log location and level
- File Location: github
Action: create the logback.xml file in the local configuration directory (ie: C:\ssp\ssp-local)
- Configuration Values: property file
...
- 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
3. 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-1-0)
- Configuration Values: server.home parameter
...
- pom.xml (For Microsoft SQL only)
JDBC driver for SSP-Platform if not using PostgreSQL
Warning The pom.xml should only be changed with extreme care. The 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-1-0)
Configuration Values: parameters
Action: modify the existing parameters defined for PostgreSQL
Code Block title JDBC 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-1-0)/filters
Configuration Values:
Value Description environment.build.hibernate.connection.driver_class jdbc driver file environment.build.hibernate.connection.url jdbc connection syntax environment.build.hibernate.connection.username jdbc connection database username environment.build.hibernate.connection.password jdbc connection database password environment.build.hibernate.dialect jdbc connection dialect
4. Build SSP-Platform
- Use the following command to build, deploy, and initialize the SSP-Platform project:
...
Warning | ||
---|---|---|
| ||
Follow steps 2 & 3 from the following page to update appropriate database tables for SSP-PLATFORM |
- Restart Tomcat
5. Test Deployment
- Start Tomcat and point your browser to
http://localhost:8080/ssp-platform
Click Sign In, and use the credentials user: admin password: admin
6. Production Deployment Tips
Warning title Delete Demo Users If you are deploying to a production environment, you should delete or change the passwords for the uPortal users created for demonstration purposes, including the
admin
user. This can be done through the user interface:Manage Users
->Find an Existing User
-> [Enter user ID from list below] -> [Click result] ->Delete
orEdit
, then change password. Demo users:admin
advisor0
ken
student0
student1
...