SCORM Player Installation Guide for Sakai 10+
Since the move to GitHub, the process for installing the SCORM Player in Sakai 10+ has been drastically simplified. You no longer need to worry about profiles, and the "wicket-for-scorm" project has been moved into the SCORM Player project as a sub-module. You simply need to select the correct version of the SCORM Player that corresponds to the version of Sakai you'll be deploying the tool to, get the source code, and build and deploy the tool like you would any other Sakai tool.
Versions in GitHub
You can find the SCORM Player source code in the SakaiContrib's GitHub account. From there, you can choose to either clone the repository to your local machine, or download a .ZIP file containing the source code. You'll notice that in the GitHub repository there are several branches of the source code for you to choose from, each corresponding to a specific version, or version family, of Sakai:
- The 'master' branch corresponds with the 'master' branch of the main Sakai code base (commonly/previously referred to as 'trunk'), and should be used for development on and deployment to the latest, in progress version of Sakai
- The '12.x' branch corresponds to the 12.x version family of the Sakai code base
- The '11.x' branch corresponds to the 11.x version family of the Sakai code base
- The '10.x' branch corresponds to the 10.x version family of the Sakai code base
These '.x' branches are also commonly referred to as 'maintenance branches', and as new versions of Sakai are cut and tagged, a matching version of the SCORM Player will be cut from the appropriate maintenance branch.
Building & Deploying the SCORM Player for Sakai 10+
Once you've selected the appropriate version of the SCORM Player for your instance of Sakai, and have downloaded the source code to your local machine in your preferred manner, building the source code should be very familiar. You simply issue the same Maven commands as you would for any other Sakai tool, from the directory where you've cloned or extracted the source:
$ cd /opt/src/git/scorm
$ mvn clean install sakai:deploy
That's all that's necessary to build and deploy the SCORM Player to your Sakai 10+ instance!
SCORM Player Installation Guide for Sakai 2.x
 Click here to expand...
Step 1: Install sakai-wicket project
Check out the source from the sakai-wicket project
svn co https://source.sakaiproject.org/contrib/edia/sakai-wicket-for-scorm/trunk/ sakai-wicket
Update the Sakai version in the root pom file, and set it to the right Sakai version, if this is not already the case. The example below sets the version to 2.7.1:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>base</artifactId>
<groupId>org.sakaiproject</groupId>
<!-- The <version> property binds this library to a specific Sakai version
ranging from from 2.7 to 2.8. In order to build this library for any other
version than the Sakai version defined below, 2 steps are required.
1) Edit the <version> tag below to hold the version you intent to build for.
2) Add the appropriate profile to your build command using the -P<profile>
tag. So If you intend to build for a 2.7.1 sakai version, use -Psakai2.7.
The available profiles are:
-Psakai2.7 : all Sakai 2.7 versions
-Psakai2.8 : all Sakai 2.8 versions
This library is known to work with the following Sakai versions:
2.7.1
2.8.0
-->
<version>2.7.1</version>
</parent>
....
</project>
Run a mvn install, add the right profile for the sakai version. For Sakai 2.8 the profile is activated by default, to the profile can be omitted:
For Sakai 2.7, the profile needs to be set:
mvn clean install -Psakai2.7
Step 2: Install and deploy scorm project
Check out the source from the scorm project
svn co https://source.sakaiproject.org/contrib/scorm/SCORM.2004.3ED.RTE/trunk/ sakai-scorm
co sakai-scorm
Alternatively update the sakai version to your own version, if you do not intend to build 2.7-SNAPSHOT. Replace <OTHER_VERSION> with your version.
<?xml version="1.0"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>master</artifactId>
<groupId>org.sakaiproject</groupId>
<relativePath>../master/pom.xml</relativePath>
<!-- The <version> property binds this library to a specific Sakai version
ranging from from 2.7 to 2.8. In order to build this library for any other
version than the Sakai version defined below, 2 steps are required.
1) Edit the <version> tag below to hold the version you intent to build for.
2) Add the appropriate profile to your build command using the -P<profile>
tag. So If you intend to build for a 2.7.1 sakai version, use -Psakai2.7.
The available profiles are:
-Psakai2.7 : all Sakai 2.7 versions
-Psakai2.8 : all Sakai 2.8 versions
This project is known to work with the following Sakai versions:
2.7.1
2.8.0
-->
<version>2.8.0</version>
</parent>
</project>
Build the tool, add the right profile for the sakai version. For Sakai 2.8 the profile is activated by default, to the profile can be omitted:
mvn clean install sakai:deploy -Dmaven.tomcat.home=<PATH_TO_SAKAI>
For Sakai 2.7, the profile needs to be set:
mvn clean install sakai:deploy -Dmaven.tomcat.home=<PATH_TO_SAKAI> -Psakai2.7
2.9 Compatibility
The instructions provided above target 2.7 and 2.8 versions of Sakai, but what about 2.9? The following steps are necessary for porting the tools (SCORM and wicket-for-scorm) for use with a 2.9 instance of Sakai.
Step 1 - Check out, modify and install sakai-wicket-for-scorm
Check out the source (you'll want the tag that was created for 2.9)
svn co https://source.sakaiproject.org/contrib/edia/sakai-wicket-for-scorm/branches/sakai-2.9/ wicket-for-scorm
Add a new profile in /wicket-for-scorm/pom.xml and /wicket-for-scorm/tool/pom.xml, and activate them by default
<profile>
<id>sakai2.9</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<modules>
<module>tool</module>
</modules>
</profile>
<profile>
<id>sakai2.9</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<dependencies>
<!-- Sakai dependencies -->
<dependency>
<groupId>org.sakaiproject.kernel</groupId>
<artifactId>sakai-kernel-api</artifactId>
</dependency>
<dependency>
<groupId>org.sakaiproject.kernel</groupId>
<artifactId>sakai-component-manager</artifactId>
</dependency>
</dependencies>
</profile>
Clean and build the project
Step 2 - Check out, modify and deploy the SCORM player
Check out the source (use the latest tagged version)
svn co https://source.sakaiproject.org/contrib/scorm/SCORM.2004.3ED.RTE/tags/sakai-scorm-base-3.0.3/ scorm
Update the parent version of the tool in /scorm/pom.xml to the version of Sakai you intend to use the SCORM player with (2.9.0, 2.9.1, 2.9.x, etc)
<parent>
<artifactId>master</artifactId>
<groupId>org.sakaiproject</groupId>
<relativePath>../master/pom.xml</relativePath>
<!-- The <version> property binds this library to a specific Sakai version
ranging from from 2.7 to 2.8. In order to build this library for any other
version than the Sakai version defined below, 2 steps are required.
1) Edit the <version> tag below to hold the version you intent to build for.
2) Add the appropriate profile to your build command using the -P<profile>
tag. So If you intend to build for a 2.7.1 sakai version, use -Psakai2.7.
The available profiles are:
-Psakai2.7 : all Sakai 2.7 versions
-Psakai2.8 : all Sakai 2.8 versions
This project is known to work with the following Sakai versions:
2.7.1
2.8.0
-->
<version>2.9.1</version>
</parent>
Add new 2.9 profile with any new dependencies necessary for compatibility to all poms in the project, and activate them by default
<profile>
<id>sakai2.9</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<modules>
<module>scorm-api</module>
<module>scorm-impl/adl</module>
<module>scorm-impl/client</module>
<module>scorm-impl/content</module>
<module>scorm-impl/model</module>
<module>scorm-impl/service</module>
<module>scorm-impl/pack</module>
<module>scorm-tool</module>
</modules>
</profile>
<profile>
<id>sakai2.9</id>
<dependencies>
<dependency>
<groupId>org.sakaiproject.kernel</groupId>
<artifactId>sakai-kernel-api</artifactId>
</dependency>
<dependency>
<groupId>org.sakaiproject.kernel</groupId>
<artifactId>sakai-component-manager</artifactId>
</dependency>
</dependencies>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>sakai2.9</id>
<dependencies>
<dependency>
<groupId>org.sakaiproject.kernel</groupId>
<artifactId>sakai-kernel-api</artifactId>
</dependency>
</dependencies>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>sakai2.9</id>
<dependencies>
<dependency>
<groupId>org.sakaiproject.kernel</groupId>
<artifactId>sakai-kernel-api</artifactId>
</dependency>
<dependency>
<groupId>org.sakaiproject.kernel</groupId>
<artifactId>sakai-kernel-util</artifactId>
</dependency>
<dependency>
<groupId>org.sakaiproject.kernel</groupId>
<artifactId>sakai-kernel-storage-util</artifactId>
<version>${sakai.kernel.version}</version>
</dependency>
</dependencies>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>sakai2.9</id>
<dependencies>
<dependency>
<groupId>org.sakaiproject.kernel</groupId>
<artifactId>sakai-kernel-api</artifactId>
</dependency>
<dependency>
<groupId>org.sakaiproject.kernel</groupId>
<artifactId>sakai-kernel-util</artifactId>
</dependency>
<dependency>
<groupId>org.sakaiproject.edu-services.course-management</groupId>
<artifactId>coursemanagement-api</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</dependency>
</dependencies>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>sakai2.9</id>
<dependencies>
<dependency>
<groupId>org.sakaiproject.kernel</groupId>
<artifactId>sakai-kernel-api</artifactId>
</dependency>
<dependency>
<groupId>org.sakaiproject.edu-services.gradebook</groupId>
<artifactId>gradebook-service-api</artifactId>
</dependency>
<dependency>
<groupId>org.sakaiproject.kernel</groupId>
<artifactId>sakai-kernel-util</artifactId>
</dependency>
<dependency>
<groupId>org.sakaiproject.kernel</groupId>
<artifactId>sakai-component-manager</artifactId>
</dependency>
</dependencies>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>sakai2.9</id>
<dependencies>
<dependency>
<groupId>org.sakaiproject.kernel</groupId>
<artifactId>sakai-component-manager</artifactId>
</dependency>
<dependency>
<groupId>org.sakaiproject.kernel</groupId>
<artifactId>sakai-kernel-api</artifactId>
</dependency>
<dependency>
<groupId>org.sakaiproject.edu-services.gradebook</groupId>
<artifactId>gradebook-service-api</artifactId>
</dependency>
<dependency>
<groupId>org.sakaiproject.kernel</groupId>
<artifactId>sakai-kernel-util</artifactId>
</dependency>
</dependencies>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
Build and deploy the tool
mvn clean install sakai:deploy -Dmaven.tomcat.home=<path_to_tomcat>
Oracle Support
Currently, if you rely on auto.ddl to create the SCORM tables during Tomcat startup, the hibernate mapping is incorrectly interpreted and creates some columns with the types LONG and LONG RAW. This is against the recommendation of Oracle (these datatypes have been deprecated), and the tool explodes if you try to use it. The issue has been raised and is being tracked @
SCO-84
-
Getting issue details...
STATUS
In the mean time, you can use the following workaround to make the tool work with an Oracle database.
- If you already have the tables in your Oracle database:
- Either drop the SCORM* tables and sequence, and run the .sql scriptÂ
- OR, simply modify the three affected tables and manually change the column type:
- SCORM_ACTIVITY_TREE_HOLDER_T.ACT_TREE - change this column to type BLOB
- SCORM_CP_MANIFEST_T.ACT_TREE_PROTOTYPE - change this column to type BLOB
SCORM_ELEMENT_T.VALUE - change this column to type CLOB
- If you haven't deployed the SCORM player before (you don't have the tables already in your database), simply run the .sql script before deploying for the first time