Versions Compared

Key

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

...

Expand

Step 1: Install sakai-wicket project

  1. Check out the source from the sakai-wicket project

    Code Block
    svn co https://source.sakaiproject.org/contrib/edia/sakai-wicket-for-scorm/trunk/ sakai-wicket
    
  2. 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:

    Code Block
    <?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>
    
  3. 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:

    Code Block
    mvn clean install
    

    For Sakai 2.7, the profile needs to be set:

    Code Block
    mvn clean install -Psakai2.7
    

Step 2: Install and deploy scorm project

  1. Check out the source from the scorm project

    Code Block
    svn co https://source.sakaiproject.org/contrib/scorm/SCORM.2004.3ED.RTE/trunk/ sakai-scorm
    
    co sakai-scorm
    
  2. 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.

    Code Block
    <?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>
    
  3. 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:

    Code Block
    mvn clean install sakai:deploy -Dmaven.tomcat.home=<PATH_TO_SAKAI>
    

    For Sakai 2.7, the profile needs to be set:

    Code Block
    mvn clean install sakai:deploy -Dmaven.tomcat.home=<PATH_TO_SAKAI> -Psakai2.7
    

 

 

 
  1.  

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 @

Jira Legacy
serverSakai
serverId66e9c5b5-d22c-30a2-a9d4-703f4354570c
keySCO-84

In the mean time, you can use the following workaround to make the tool work with an Oracle database.

  1. If you already have the tables in your Oracle database:
    1. Either drop the SCORM* tables and sequence, and run the .sql script 
    2. OR, simply modify the three affected tables and manually change the column type:
      1. SCORM_ACTIVITY_TREE_HOLDER_T.ACT_TREE - change this column to type BLOB
      2. SCORM_CP_MANIFEST_T.ACT_TREE_PROTOTYPE - change this column to type BLOB
      3. 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).

  2. 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

...

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

  1. 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
  2. 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.

  3. Clean and build the project

    Code Block
    mvn clean install

Step 2 - Check out, modify and deploy the SCORM player

    1. Check out the source (use the latest tagged version)

      Code Block
      svn co https://source.sakaiproject.org/contrib/

...

    1. scorm/SCORM.2004.3ED.RTE/tags/sakai-

...

    1. scorm-

...

    1. base-3.0.3/ scorm
    2. 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/

...

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)

...

title/scorm/pom.xml

...

    1. 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.

    1. <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: 
            

...

    1.  

...

    1.  

...

    1. -Psakai2.7 : all Sakai 2.7 versions 
              -Psakai2.8 : all Sakai 2.8 versions 
      

...

    1.  

...

    1.  

...

    1.  

...

    1.  

...

    1.  

...

    1.  

...

    1.  

...

    1.  

...

    1. 
      

...

    1.  

...

    1.  

...

    1.  

...

    1.  

...

    1.  

...

    1.   This project is known to 

...

    1. work 

...

    1. with the 

...

    1. following 

...

    1. Sakai versions: 
              

...

    1. 2.7.1 

...

    1. 
      

...

    1.  

...

    1.  

...

    1.       

...

    1. 2.8.0 
           -->
          

...

    1. <version>2.9.1</version>
      </parent>
    2. 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>
           

...

    1.  

...

    1.  

...

    1.  

...

    1. <activeByDefault>true</activeByDefault>
          </activation>
          <modules>
              <module>scorm-api</module>
      

...

    1.  

...

    1.  

...

    1.  

...

    1.  

...

    1.  

...

    1.  

...

    1.  

...

    1.  <module>scorm-impl/adl</module>
              <module>scorm-impl/client</module>
        

...

    1.       <module>scorm-impl/content</module>
         

...

    1.      <module>scorm-impl/model</module>
       

...

    1.       

...

Add new 2.9 profile with any new dependencies necessary for compatibility to all poms in the project, and activate them by default

...

title/scorm/pom.xml

...

    1.  <module>scorm-impl/service</module>
             

...

    1.  <module>scorm-impl/pack</module>
             

...

    1.  <module>scorm-tool</module>
          </modules>
      <

...

    1. /profile>
      Code Block
      title/scorm/scorm-api/pom.xml
      <profile>
          

...

    1. <id>sakai2.9</id>
          <dependencies>
         

...

    1.      <dependency>
         

...

    1.          

...

    1. <groupId>org.sakaiproject.kernel</groupId>
               

...

    1.    <artifactId>sakai-kernel-api</artifactId>
              

...

    1. </dependency>
              <dependency>
         

...

    1.          

...

    1. <groupId>org.sakaiproject.kernel</groupId>
                  

...

    1. <artifactId>sakai-component-

...

    1. manager</artifactId>
              </

...

    1. dependency>
          </dependencies>
          <activation>
              <activeByDefault>true</activeByDefault>
          </activation>
      </profile>
      Code Block
      title/scorm/scorm-

...

    1. impl/client/pom.xml
      <profile>
          <id>sakai2.9</id>
          <dependencies>
              <dependency>
                  <groupId>org.sakaiproject.kernel</groupId>
                  <artifactId>sakai-kernel-api</artifactId>
              </dependency>
          </dependencies>
         

...

    1.  <activation>
              

...

    1. <activeByDefault>true</activeByDefault>
          

...

    1. </activation>
      </profile>
      Code Block
      title/scorm/scorm-impl/

...

    1. content/pom.xml
      <profile>
          <id>sakai2.9</id>
          <dependencies>
              <dependency>
                  <groupId>org.sakaiproject.kernel</groupId>
                  <artifactId>sakai-kernel-api</artifactId>
              </dependency>
          

...

    1.     <dependency>
         

...

    1.          

...

    1. <groupId>org.sakaiproject.kernel</groupId>
          

...

title/scorm/scorm-impl/content/pom.xml

...

    1.         <artifactId>sakai-kernel-util</artifactId>
          

...

    1.     </dependency>
      

...

    1.         <dependency>
                  <groupId>org.sakaiproject.kernel</groupId>
                  <artifactId>sakai-kernel-storage-

...

    1. util</artifactId>
              

...

    1.     <version>${sakai.kernel.version}</version>
          

...

    1.     </dependency>
          </dependencies>
         

...

    1.  <activation>
              <activeByDefault>true</activeByDefault>
          

...

    1. </activation>
      </profile>
      Code Block
      title/scorm/scorm-impl/model/pom.xml
      <profile>
          <id>sakai2.9</id>
          

...

    1. <dependencies>
              <dependency>
                  <groupId>org.sakaiproject.kernel</groupId>
                  <artifactId>sakai-kernel-

...

    1. api</artifactId>
              </dependency>
            

...

    1.   <dependency>
             

...

    1.      

...

    1. <groupId>org.sakaiproject.kernel</groupId>
          

...

    1.         

...

    1. <artifactId>sakai-kernel-util</artifactId>
             

...

    1.  </

...

title/scorm/scorm-impl/model/pom.xml

...

    1. dependency>
          

...

    1.     <dependency>
      

...

    1.          

...

    1.    

...

    1. <groupId>org.sakaiproject

...

    1. .edu-services.course-management</groupId>
                  

...

    1. <artifactId>coursemanagement-

...

    1. api</artifactId>
              </dependency>
              <dependency>
                  <groupId>org.

...

    1. slf4j</groupId>
                  

...

    1. <artifactId>slf4j-

...

    1. log4j12</artifactId>
              </dependency>
          </dependencies>
         

...

    1.  <activation>
              

...

    1. <activeByDefault>true</activeByDefault>
          

...

    1. </activation>
      </profile>
      Code Block
      title/scorm/scorm-impl/service/pom.xml
      <profile>
          <id>sakai2.9</id>
         

...

    1.  <dependencies>
              <dependency>
                  <groupId>org.sakaiproject.

...

    1. kernel</groupId>
                  

...

    1. <artifactId>sakai-kernel-

...

    1. api</artifactId>
              </dependency>
            

...

    1.   <dependency>
         

...

    1.          

...

    1. <groupId>org.sakaiproject.edu-services.gradebook</groupId>
            

...

title/scorm/scorm-impl/service/pom.xml

...

    1.       <artifactId>gradebook-service-api</artifactId>
          

...

    1.     </dependency>
      

...

    1.         

...

    1. <dependency>
                  <groupId>org.sakaiproject.kernel</groupId>
                  <artifactId>sakai-kernel-

...

    1. util</artifactId>
              </dependency>
              <dependency>
                  <groupId>org.sakaiproject.

...

    1. kernel</groupId>
                  

...

    1. <artifactId>sakai-

...

    1. component-

...

    1. manager</artifactId>
              </dependency>
          </dependencies>
         

...

    1.  <activation>
              

...

    1. <activeByDefault>true</activeByDefault>
          </activation>
      </profile>
      Code Block
      title/scorm/scorm-tool/pom.xml
      <profile>
          

...

    1. <id>sakai2.9</id>
          <dependencies>
         

...

    1.      

...

    1. <dependency>
                  <groupId>org.sakaiproject.kernel</groupId>
                  <artifactId>sakai-component-manager</artifactId>
              </dependency>
          

...

    1.     <dependency>
         

...

    1.          

...

    1. <groupId>org.sakaiproject.kernel</groupId>
             

...

title/scorm/scorm-tool/pom.xml

...

    1.      <artifactId>sakai-kernel-api</artifactId>
          

...

    1.     

...

    1. </dependency>
              <dependency>
                  <groupId>org.sakaiproject.

...

    1. edu-services.gradebook</groupId>
                  

...

    1. <artifactId>gradebook-

...

    1. service-

...

    1. api</artifactId>
              </dependency>
              <dependency>
                  <groupId>org.sakaiproject.kernel</groupId>
                  <artifactId>sakai-kernel-

...

    1. util</artifactId>
              </dependency>
          </dependencies>
         

...

    1.  <activation>
              <activeByDefault>true</activeByDefault>
        

...

    1.   </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.

    2. Build and deploy the tool

      Code Block
      mvn clean install 

...

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

...

    1. 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 @

Jira Legacy
serverSakai
serverId66e9c5b5-d22c-30a2-a9d4-703f4354570c
keySCO-84

In the mean time, you can use the following workaround to make the tool work with an Oracle database.

  1. If you already have the tables in your Oracle database:
    1. Either drop the SCORM* tables and sequence, and run the .sql script 
    2. OR, simply modify the three affected tables and manually change the column type:
      1. SCORM_ACTIVITY_TREE_HOLDER_T.ACT_TREE - change this column to type BLOB
      2. SCORM_CP_MANIFEST_T.ACT_TREE_PROTOTYPE - change this column to type BLOB
      3. 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).

  2. 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