Versions Compared

Key

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

...

  • JDK 1.6 update 21 or later (JDK 1.7 is not supported as of 2014/08; the SSP development team has also observed somewhat better GC performance with the Sun/Oracle JDK vs OpenJDK)
    • Download Location: http://java.sun.com
    • Environment Variable: JAVA_HOME

      Tip
      titleJava Environment Variable
      JAVA_HOME=/path/to/your/java (ie: /usr/local/java or C:\java\jdk)


      (optional)
      PATH= append the bin subdirectory to the path statement
  • Tomcat 6.X (Tomcat 7 is not supported as of 2014/04)
    • Instructions for installing and configuring Tomcat for the SSP-Platform (uPortal 4.0)

      Warning
      titleTomcat Configuration

      It is important to complete sections: Environment Variables, Shared Libraries, Shared Sessions, Java Heap.  Minimally, the catalina.properties file must contain:

       


      shared.loader=${catalina.base}/shared/lib/*.jar

      Additionally, a performance improvement has been experienced by enabling compression in Tomcat

      Tip
      Add compression="force" to the server.xml in the connector like the following
       

      And your active connector/s in <tomcat>/conf/server.xml must have the emptySessionPath flag set:

       

      <Connector port="8080" protocol="HTTP/1.1"
          connectionTimeout="20000"
       redirectPort="8443"
      compression="force"
       emptySessionPath="true"
      />
    Maven 3.0.3 or later
  • Download Loation: http://maven.apache.org
  • Environment Variable: MAVEN_HOME

    Tip
    titleMaven Environment Variables
    MAVEN_HOME= /path/to/your/maven (ie: /usr/local/maven or C:\tools\maven)
    M2_HOME= /path/to/your/maven (ie: /usr/local/maven or C:\tools\maven)
    (optional)
    PATH= append the bin subdirectory to the path statementAnt 1.8.2 (use this exact version)
  • Download Location: http://ant.apache.org

  • Environment Variable: ANT_HOME



    Tip
    titleAnt Environment Variable
    ANT_HOME= /path/to/your/ant
    • And increase the heap in <tomcat>/bin/setenv.sh (*nix) or <tomcat>/bin/setenv.bat (Windows). Smaller sizing is probably feasible, but the examples below match what our SSP CI envs run with. For production systems, start with a max heap of roughly half available physical memory and increase from there if necessary.
      The uPortal instructions above recommend using JAVA_OPTS for heap sizing. This can lead to problems on memory constrained systems because JAVA_OPTS will be used when trying to stop Tomcat with its own scripts. You don't typically need a large heap at all for that operation. So CATALINA_OPTS is a better choice for sizing the heap in setenv scripts, because that var will only be used for Tomcat's http-serving runtime.

      setenv.sh:

      CATALINA_OPTS=-Xms2G -Xmx2G -XX:PermSize=256m -XX:MaxPermSize=256m

      setenv.bat (uPortal instructions linked to above are missing the 'set'):

      set CATALINA_OPTS=-Xms2G -Xmx2G -XX:PermSize=256m -XX:MaxPermSize=256m

    • Additionally, a performance improvement has been experienced by enabling compression in Tomcat

      Tip

      Add compression="force" to the server.xml in the connector like the following:

       

      <Connector port="8080" protocol="HTTP/1.1

      connectionTimeout="20000"

      redirectPort="8443"

      emptySessionPath="true"

      compression="force" />

  • Maven 3.0.3 or later
    • Download Loation: http://maven.apache.org
    • Environment Variable: MAVEN_HOME

      Tip
      titleMaven Environment Variables
      MAVEN_HOME= /path/to/your/maven (ie: /usr/local/antmaven or C:\tools\antmaven)
      M2_HOME= /path/to/your/maven (ie: /usr/local/maven or C:\tools\maven)

      (optional)
      PATH= append the bin subdirectory to the path statement
  • Sencha SDKAnt 1.8.2 (use this exact version)
    • Download Location: http://wwwant.sencha.com/products/sdk-tools/download

      TipPATH= append the root

      apache.org

    • Environment Variable: ANT_HOME

      Tip
      titleAnt Environment Variable
      ANT_HOME= /path/to/your/ant (ie: /usr/local/ant or C:\tools\ant)

      (optional)
      PATH= append the bin subdirectory to the path statement
      See  SSP Sencha Build Tool Usage for additional installation steps on 64-bit OSs
    RDBMS (support for
  • PostgreSQL and Sencha SDK
  • RDBMS (support for PostgreSQL and Microsoft SQL Server)
    • PostgreSQL 9.1 or later
      • Download Location: http://www.postgresql.org
        • On Unix:
        • On Mac:
          • PostgreSQL is available via the homebrew package manager or as a download on the postgresql.org site.
        • On Windows:
          • PostgreSQL is available as a download on the postgresql.org site.
      • Configure PostgreSQL
        • Server Connection
          • Launch the PG Admin application
          • In the Object Browser, navigate to and right click on Server Groups -> Servers -> PostgreSQL 9.1 (localhost:5432)
          • Click Connect and the enter the administrator password
        • Login Roles
          • In the Object Browser, right click on Login Roles and click New Login Role
            • In the Properties tab, enter a Role name of "sspadmin" without the quotes

            • In the Definition tab, enter a Password of "sspadmin" without the quotes

          • In the Object Browser, right click on Login Roles and click New Login Role


            • In the Properties tab, enter a Role name of "ssp" without the quotes

            • In the Definition tab, enter a Password of "ssp" without the quotes

          • Confirm the new Login Roles exist in the Object Browser
        • Database
          • In the Object Browser, right click on Databases and click New Database
            • Enter "ssp" without the quotes as the database name
            • Enter "sspadmin" without the quotes as the database owner
          • Confirm the new database exists in the Object Browser
    • Microsoft SQL Server 2008 R2
      • Server Connection
        • Launch the SQL Server Management Studio application
        • Enter your database connection info including administrator account credentials, and click Connect
      • Login Roles
        • Navigate to Security->Logins, and right click on New Login
          • Login name of "sspadmin" without the quotes
          • Select SQL Server authentication and enter a Password of "sspadmin" without the quote
          • Uncheck Enforce password policy
        • Right click on Logins again, and New Login Role
          • Login name of "ssp" without the quotes
          • Select SQL Server authentication and enter a Password of "ssp" without the quote
          • Uncheck Enforce password policy
        • Confirm the new users exist
      • Database
        • Navigate to and right click on Databases and click New Database
          • Enter "ssp" without the quotes as the database name
        • Confirm the new database exists
        • Run the following SQL to assign user permissions and configure the required database settings
Code Block
titleSQL Server Configurations
USE [ssp]
GO
IF NOT EXISTS 
(SELECT name FROM sys.filegroups WHERE is_default=1 AND name = 
N'PRIMARY') ALTER DATABASE [ssp] MODIFY FILEGROUP [PRIMARY] DEFAULT
GO
IF NOT EXISTS (SELECT name  FROM sys.database_principals WHERE name = 'ssp')
BEGIN
CREATE USER [ssp] FOR LOGIN [ssp]
EXEC sp_addrolemember N'db_datawriter', N'ssp'
EXEC sp_addrolemember N'db_datareader', N'ssp'
END
GO
CREATE USER [sspadmin] FOR LOGIN [sspadmin]
GO
EXEC sp_addrolemember N'db_owner', N'sspadmin'
GO
Code Block
For MSSQL 2008 or later (note that these statements must be executed while *no other connections to the current database are open*):

ALTER DATABASE MyDatabase
 SET ALLOW_SNAPSHOT_ISOLATION ON
ALTER DATABASE MyDatabase
 SET READ_COMMITTED_SNAPSHOT ON [ssp]
GO
IF NOT EXISTS 
(SELECT name FROM sys.filegroups WHERE is_default=1 AND name = 
N'PRIMARY') ALTER DATABASE [ssp] MODIFY FILEGROUP [PRIMARY] DEFAULT
GO
IF NOT EXISTS (SELECT name  FROM sys.database_principals WHERE name = 'ssp')
BEGIN
CREATE USER [ssp] FOR LOGIN [ssp]
EXEC sp_addrolemember N'db_datawriter', N'ssp'
EXEC sp_addrolemember N'db_datareader', N'ssp'
END
GO
CREATE USER [sspadmin] FOR LOGIN [sspadmin]
GO
EXEC sp_addrolemember N'db_owner', N'sspadmin'
GO
Code Block
For MSSQL 2008 or later (note that these statements must be executed while *no other connections to the current database are open*):

ALTER DATABASE MyDatabase
 SET ALLOW_SNAPSHOT_ISOLATION ON
ALTER DATABASE MyDatabase
 SET READ_COMMITTED_SNAPSHOT ON

Also note that for SQLServer the "operational" SSP database user ('ssp' in the example above) must be allowed to execute stored procedures. In most deployments this does not require special configuration, but in the event your security policies are such that that user must be explicitly granted execute permissions on specific stored procs, here are the statements which you would likely need to run. (Use 'dbo' for <schema> unless you know the value should be something else (db_schema from $SSP_CONFIGDIR/ssp-config.properties); use 'ssp' for <ssp-operational-user> unless you've chosen a different name for that account (db_username from $SSP_CONFIGDIR/ssp-config.properties).):

No Format
GRANT EXEC on <schema>.REFRESH_MV_DIRECTORY_PERSON to <ssp-operational-user>;
GRANT EXEC on <schema>.REFRESH_MV_DIRECTORY_PERSON_BLUE to <ssp-operational-user>;
GRANT EXEC on <schema>.update_directory_person_from_view_where_school_id to <ssp-operational-user>;
GRANT EXEC on <schema>.update_directory_person_from_view_where_person_id to <ssp-operational-user>;
Info
titleRDBMS Platform Flexibility

Currently SSP supports use of PosgreSQL 9.x and Microsoft SQL Server 2008, or 2008 R2.  The project team develops and tests against PostgreSQL and Microsoft SQL Server. Starting with 2.5.2, SSP has begun to include patches for SQLServer 2012 compatibility and at least one real-world 2.5.2 deployment is running against SQL Server 2012, although the SSP project team does not officially test against that SQL Server version.

 

...

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

...

Code Block
titlebuild.properties
server.home=C:/path/to/your/tomcat/install/tomcat/install
    • ssp-platform-config.properties
      • The ssp-platform-config.properties file must be modifed for database connectivity and email settings
        • Original File Location: ./uportal-war/src/main/resources/properties/ssp-platform-config.default.properties
        • Edit the file and save in the SSP_CONFIGDIR
      • Run-Time File Location: <SSP_CONFIGDIR>/ssp-platform-config.properties

      • The ssp-platform-config.properties file must be modifed for database connectivity and email settings
        • Original File Location: ./uportal-war/src/main/resources/properties/ssp-platform-config.default.properties
        • Edit the file and save in the SSP_CONFIGDIR
      • Run-Time File Location: <SSP_CONFIGDIR>/ssp-platform-config.properties
      • Configuration Values:

      ValueDescription
      • Configuration Values:

      connection.driver_class driver filehibernate.connection.urljdbc connection syntax
      For best results with SQL Server, the JTDS driver included with the Platform installation is recommended.hibernateconnectionusernamejdbc connection database password
      ValueDescription
      environment.build.hibernate.connection.driver_class

      jdbc driver file

      For best results with SQL Server, the JTDS driver included with the Platform installation is recommended.

      environment.build.hibernate.connection.url

      jdbc connection syntax

      For best results with SQL Server, the JTDS driver included with the Platform installation is recommended.

      environment.build.hibernate.connection.usernamejdbc connection database username
      environment.build.hibernate.connection.passwordjdbc connection database password
      environment.build.hibernate.dialect

      jdbc

      connection dialect

      For best results with SQL Server, the JTDS driver included with the Platform installation is recommended.

      environment.build.uportal.serverHostname and port for your SSP deployment. (Default: localhost:8080)
      environment.build.uportal.protocolHTTP/S protocol at which end users access your SSP deployment. (Default: http)
      environment.build.uportal.email.jdbc connection database usernameenvironment.build.hibernate.connection.passwordfromAddressAddress from which Platform email will originate. Rarely used. (Default: ssp@university.edu)
      environment.build.hibernatesso.dialectjdbc connection dialect

      For best results with SQL Server, the JTDS driver included with the Platform installation is recommended.

      environment.build.uportal.serverHostname and port for your SSP deployment. (Default: localhost:8080)
      environment.build.uportal.protocolHTTP/S protocol at which end users access your SSP deployment. (Default: http)
      environment.build.uportal.email.fromAddressAddress from which Platform email will originate. Rarely used. (Default: ssp@university.edu)
      environment.build.sso.*Several properties which configure inbound LTI and legacy SSO. See documentation specific to those features: SSP LTI Provider and SSP Signed URL SSO. Note that to enable these features environment.build.sso.local.sharedSecret must be set to the same non-empty value as ssp_platform_sso_ticket_service_shared_secret in $SSP_CONFIGDIR/ssp-config.properties

4.  Build SSP-Platform

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

 

...

    • *Several properties which configure inbound LTI and legacy SSO. See documentation specific to those features: SSP LTI Provider and SSP Signed URL SSO. Note that to enable these features environment.build.sso.local.sharedSecret must be set to the same non-empty value as ssp_platform_sso_ticket_service_shared_secret in $SSP_CONFIGDIR/ssp-config.properties

4.  Build SSP-Platform

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

 

Code Block
*** When running a database initialization ant target (initportal, initdb), you need to specify SSP_CONFIGDIR if it isn't already specified as an env var. 

E.g on *nix.... $> SSP_CONFIGDIR=/opt/ssp/sspconfig ant -Dmaven.test.skip=true clean <target> 

Most Common Commands
 
- Re/Initialize the SSP-Platform database, then run the equivalent of deploy-ear. Destructive! Appropriate for first-time deployments.

  $> SSP_CONFIGDIR=/opt/ssp/sspconfig ant -Dmaven.test.skip=true clean <target> initportal

Most Common Commands
- Build entire uPortal (incl. all wars),and deploy entire uPortal, ant deploy-ear

- Build the full site and database, ant initportal (Warning- this will reset the entire uPortal database)


Other deployment optionsSSP-Platform portal, including SSP:
 
  $> SSP_CONFIGDIR=/opt/ssp/sspconfig ant -Dmaven.test.skip=true clean deploy-ear


Other commonly used ant targets:

testdb: Tests the database settings and connectivity

initdb: Drop uPortalSSP-Platform tables in the db & recreate them with configured seed data (src/main/data, not including the "quickstart" folder).

deploy-war: Build & deploy _just the uPortalSSP-Platform war_ (i.e. not SSP or other portlets, etc.).

deployPortletApp: Deploy one (already-built) portlet war file to Tomcat (example ant deploPortletApp -DportletApp=..\/SSP-Open-Source-Project/target/ssp.war)
Info
titleNOTE
This command will download the SSP .war file and bundle it into the output of the SSP-Platform build
)

 

 

  • Additional step for Microsoft SQL Server to update column types

...

  • Warning
    titleDelete Demo Users

    If you are deploying to a production upgrading an 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 or  or Edit, then change password. Demo users:admin

    • advisor0
    • ken
    • student0
    • student1

    This is only necessary for upgrades. A fresh 2.5.2 install will not create these users.

    A fresh install should also either change the admin user's password or add some other user to the Portal Administrators group and delete the admin user.

If anything in it is incorrect or unclear, please leave a comment below.

...