[Building Sakai] SCORM PLAYER INTEGRATION WITH SAKAI 2.6

John Bush john.bush at rsmart.com
Mon Aug 17 11:00:16 PDT 2009


try adding this to your sakai.properties, let that off the  
instructions, oops

enable.scorm=true

John Bush
Development Manager
rSmart




On Aug 17, 2009, at 10:46 AM, Nicolaas Matthijs wrote:

> Thanks for your help, John!
>
> There was indeed a hibernate JAR file in there. We've removed it and  
> redeployed the WAR, and the
> error message no longer passes by.
>
> However, when I'm now trying to go to the Resources tool (in a  
> project site), I can't find the "Upload Content Package"-link.
> But I do think we have built the correct things.
>
> We have downloaded and built this: https://source.sakaiproject.org/contrib/rsmart/icodeon 
>  icodeon
>
> When we redeploy, we see this in the logs:
>
> INFO: Undeploying context [/rsmart-scorm-helper] (2009-08-17  
> 18:32:18,718  
> ContainerBackgroundProcessor 
> [StandardEngine[Catalina]]_org.apache.catalina.startup.HostConfig)
> INFO: Destroying Spring FrameworkServlet 'springmvc' (2009-08-17  
> 18:32:18,719  
> ContainerBackgroundProcessor 
> [StandardEngine[Catalina]]_org.apache.catalina.core.ContainerBase. 
> [Catalina].[localhost].[/rsmart-scorm-helper])
> INFO: Closing Spring root WebApplicationContext (2009-08-17  
> 18:32:18,725  
> ContainerBackgroundProcessor 
> [StandardEngine[Catalina]]_org.apache.catalina.core.ContainerBase. 
> [Catalina].[localhost].[/rsmart-scorm-helper])
> INFO: Destroying Components in rsmart-scorm-helper (2009-08-17  
> 18:32:18,725  
> ContainerBackgroundProcessor 
> [StandardEngine 
> [Catalina]]_org.sakaiproject.util.ContextLoaderListener)
> INFO: Deploying web application archive rsmart-scorm-helper.war  
> (2009-08-17 18:32:18,792  
> ContainerBackgroundProcessor 
> [StandardEngine[Catalina]]_org.apache.catalina.startup.HostConfig)
> INFO: Initializing Spring root WebApplicationContext (2009-08-17  
> 18:32:19,432  
> ContainerBackgroundProcessor 
> [StandardEngine[Catalina]]_org.apache.catalina.core.ContainerBase. 
> [Catalina].[localhost].[/rsmart-scorm-helper])
> INFO: registering tools from resource: /tools/ 
> rsmart.scorm.helper.xml (2009-08-17 18:32:19,440  
> ContainerBackgroundProcessor 
> [StandardEngine[Catalina]]_org.sakaiproject.util.ToolListener)
> INFO: Initializing Spring FrameworkServlet 'springmvc' (2009-08-17  
> 18:32:19,442  
> ContainerBackgroundProcessor 
> [StandardEngine[Catalina]]_org.apache.catalina.core.ContainerBase. 
> [Catalina].[localhost].[/rsmart-scorm-helper])
>
>
>
> Any idea why it's not showing up in the Resources tool?
>
>
> Thanks!
>
> Nicolaas
>
>
> > John Bush wrote:
>> do you have any hibernate jars in the icodeon player2/WEB-INF/lib?   
>> If  so you'll want to delete them since sakai loads hibernate from  
>> the  shared area.
>>
>> John Bush
>> Development Manager
>> rSmart
>>
>>
>>
>>
>> On Aug 17, 2009, at 7:28 AM, Raad Al-Rawi wrote:
>>
>>
>>> 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
>>>>
>>>>
>>
>> _______________________________________________
>> sakai-dev mailing list
>> sakai-dev at collab.sakaiproject.org
>> http://collab.sakaiproject.org/mailman/listinfo/sakai-dev
>>
>> TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe at collab.sakaiproject.org 
>>  with a subject of "unsubscribe"
>>
>



More information about the sakai-dev mailing list