[Building Sakai] SCORM PLAYER INTEGRATION WITH SAKAI 2.6

Raad Al-Rawi raad at caret.cam.ac.uk
Mon Aug 17 07:28:15 PDT 2009


OK, so here is a summary of how far I have got. I still can't get the 
integration to work because of a hibernate problem - it's possible there 
is some missing dependency; but I can't identify what that might be. Any 
help appreciated!


1) downloaded Icodeon player2 files (includes pre-built war + build 
files) from Icodeon

2) downloaded rsmart-common + icodeon + icodeon-overlay from rsmart

3) put rsmart-common + icodeon + player2 in my Sakai 2.5 source tree for 
building with maven2

4) fixed up dependencies in rsmart-common (or use 2.5.x branch of 
rsmart-common)

5) ensured osp module was included in main Sakai pom.xml (because of 
dependencies - is OSP really needed?)

6) fixed main pom.xml, added the extra modules (rsmart-common + icodeon) 
and ran maven build for Sakai

7) copied config, maven, and webapps directories from icodeon-overlay to 
player2 directory (overlaying the files in those dirs)

8) added the icodeon-player-2.jar (from 
player2/webapps/player2/WEB-INF/lib/) to our CARET m2 repo (the build 
does not find this jar by default)

9) in player2 maven dir, do a "mvn install -Dmaven.test.skip=true" (skip 
the tests otherwise the build fails with a set of compile failures)

10) 3 jar files are produced under the player2 maven dir:
./vendor-player-plugins/m2-target/vendor-player-plugins-2.jar
./icodeon-player-plugins/m2-target/icodeon-player-plugins-2.jar
./component/model/m2-target/icodeon-player-api-2.jar

These were copied to webapps/player2/WEB-INF/lib/ in the expanded 
player2.war tree and the tree was jar-ed up into a new war.

Starting sakai with the new player2.war in place produced the following 
in the log:

INFO: Deploying web application archive player2.war (2009-08-17 
14:40:30,930 main_org.apache.catalina.startup.HostConfig)

*** Icodeon Player 2: Initializing... ***

Icodeon SCORM Player 2 (Java Edition)
Version 2.0.5
$LastChangedDate: 2009-07-26 16:33:50 +0100 (Sun, 26 Jul 2009) $
$LastChangedRevision: 975 $

*** Icodeon Player 2: Initialized ***

2009-08-17 14:40:31,257 [main] ERROR com.icodeon.rte.dao.HibernateUtil - 
Hibernate configuration initialization error
java.lang.ClassCastException: $Proxy2
    at 
com.icodeon.rte.dao.HibernateUtil.buildSessionFactories(HibernateUtil.java:122)
    at 
com.icodeon.rte.listeners.HibernateInitListener.contextInitialized(HibernateInitListener.java:76)
    at 
org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3764)
    at 
org.apache.catalina.core.StandardContext.start(StandardContext.java:4216)
    at 
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760)
    at 
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:831)
    at 
org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:720)
    at 
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490)
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)
    at 
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
    at 
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
    at 
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
    at 
org.apache.catalina.core.StandardService.start(StandardService.java:448)
    at 
org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
2009-08-17 14:40:31,259 [main] ERROR 
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/player2] 
- Exception sending context initialized event to listener instance of 
class com.icodeon.rte.listeners.HibernateInitListener
java.lang.ExceptionInInitializerError
    at 
com.icodeon.rte.dao.HibernateUtil.buildSessionFactories(HibernateUtil.java:137)
    at 
com.icodeon.rte.listeners.HibernateInitListener.contextInitialized(HibernateInitListener.java:76)
    at 
org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3764)
    at 
org.apache.catalina.core.StandardContext.start(StandardContext.java:4216)
    at 
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760)
    at 
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:831)
    at 
org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:720)
    at 
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490)
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)
    at 
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
    at 
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
    at 
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
    at 
org.apache.catalina.core.StandardService.start(StandardService.java:448)
    at 
org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
Caused by: java.lang.ClassCastException: $Proxy2
    at 
com.icodeon.rte.dao.HibernateUtil.buildSessionFactories(HibernateUtil.java:122)
    ... 25 more
ERROR: Error listenerStart (2009-08-17 14:40:31,260 
main_org.apache.catalina.core.StandardContext)
ERROR: Context [/player2] startup failed due to previous errors 
(2009-08-17 14:40:31,260 main_org.apache.catalina.core.StandardContext)




On 12-Aug-09 11:20, Raad Al-Rawi wrote:
> Thanks Nuno - that is what I thought too :(
> Maybe it's a 2.5 vs 2.6 issue.
> I'll keep the list posted on a solution - it might help someone trying
> to do the same thing.
>
> Cheers
>
>
> R
>


More information about the sakai-dev mailing list