...
- 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
Info If you're modifying the tables manually, you will need to restart your Tomcat server to pick up the changes (if you edited the tables while Tomcat/Sakai was running).
- 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
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)
Code Block 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
Code Block title /wicket-for-scorm/pom.xml <profile> <id>sakai2.9</id> <activation> <activeByDefault>true</activeByDefault> </activation> <modules> <module>tool</module> </modules> </profile>
Code Block title /wicket-for-scorm/tool/pom.xlm <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>
Info Don't forget to remove (or comment out) the <activation><activeByDefault>true</activeByDefault></activation> tags from the profile which had it enabled previously.
Clean and build the project
Code Block mvn clean install
Step 2 - Check out, modify and deploy the SCORM player
Check out the source (use the latest tagged version)
Code Block 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)
Code Block title /scorm/pom.xml <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
Code Block title /scorm/pom.xml <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>
Code Block title /scorm/scorm-api/pom.xml <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>
Code Block title /scorm/scorm-impl/client/pom.xml <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>
Code Block title /scorm/scorm-impl/content/pom.xml <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>
Code Block title /scorm/scorm-impl/model/pom.xml <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>
Code Block title /scorm/scorm-impl/service/pom.xml <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>
Code Block title /scorm/scorm-tool/pom.xml <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>
Info Don't forget to remove (or comment out) the <activation><activeByDefault>true</activeByDefault></activation> tags from the profile which had it enabled previously.
Build and deploy the tool
Code Block mvn clean install sakai:deploy -Dmaven.tomcat.home=<path_to_tomcat>