[Building Sakai] SCORM PLAYER INTEGRATION WITH SAKAI 2.6

Aaron Zeckoski aaronz at vt.edu
Tue Aug 25 08:40:29 PDT 2009


It ends up this is related to our environment and the fact we deploy
Sakai to "/" instead of "/portal". We had to add a file like this to
tomcat in conf/Catalina/localhost/player2.xml:
<Context path="/player2" docBase="player2" crossContext="true">
</Context>

Without this, the session cookie was getting recreated with a base of
"/player2" instead of "/"
-AZ


On Tue, Aug 25, 2009 at 4:19 PM, Aaron Zeckoski<aaronz at vt.edu> wrote:
> We are having another issue with the scorm player. It seems to only
> allow us to view scorm content if we make it public. If there are any
> permissions on it we get a failure and this trace:
> 2009-08-25 15:55:18,559 [TP-Processor10] ERROR
> com.icodeon.rte.actions.MainAction -
> org.sakaiproject.exception.PermissionException user=null lock=content.read
> resource=/content/group/9b9ca958-713a-4605-b232-b688d2e9bb14/Quadratic_sco2004.zip.zip
> at org.sakaiproject.content.impl.BaseContentService.unlock(BaseContentService.java:1658)
> at org.sakaiproject.content.impl.BaseContentService.getResource(BaseContentService.java:4130)
> at org.sakaiproject.content.cover.ContentHostingService.getResource(ContentHostingService.java:625)
> at com.rsmart.scorm.SakaiCHSResolver.resolveIdentifierToFile(SakaiCHSResolver.java:559)
> at com.rsmart.scorm.SakaiCHSResolver.fetchManifestDocument(SakaiCHSResolver.java:245)
> at com.icodeon.rte.business.ResolverPluginFacade.dowloadAndStoreImsManifest(ResolverPluginFacade.java:172)
> at com.icodeon.rte.actions.MainAction.executeAction(MainAction.java:194)
> at com.icodeon.rte.actions.MainAction.execute(MainAction.java:72)
> at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
> at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
> at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
> at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at com.icodeon.rte.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:124)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:598)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
> at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
> at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)
> at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
> at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:773)
> at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:703)
> at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:895)
> at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
> at java.lang.Thread.run(Thread.java:595)
>
> Any ideas?
> -AZ
>
>
> On Mon, Aug 24, 2009 at 12:09 AM, Nicolaas
> Matthijs<nicolaas.matthijs at caret.cam.ac.uk> wrote:
>> Hi John,
>>
>> Thanks a lot for making these changes and answering all of our
>> questions. I have now managed to make the Icodeon 2.0.5 player work
>> against our Sakai 2.5 instance. (Please tell me if you want me to
>> contribute this 2.5 version back to SVN).
>>
>>
>> Thanks again,
>> Nicolaas
>>
>>> Quoting John Bush <john.bush at rsmart.com>:
>>>
>>> Ok I've had to almost completely start from scratch here because of
>>> all the differences between the 2.0.1 release and 2.0.5 release.  I've
>>> updated the wiki page and committed everything.  You'll find pretty
>>> straightforward directions and a friendly build.sh script that
>>> automates the Icodeon War modification/deployment.
>>>
>>> Thanks for your patience.
>>>
>>> Note:  the integration targets Sakai 2.6 and Icodeon 2.0.5.  Its
>>> probably very simple to back port the sakai poms to 2.5, if someone
>>> ends up doing this please let me know and I'll create a 2.5.x branch.
>>>
>>> John Bush
>>> Development Manager
>>> rSmart
>
> --
> Aaron Zeckoski (azeckoski (at) vt.edu)
> Senior Research Engineer - CARET - University of Cambridge
> https://twitter.com/azeckoski - http://www.linkedin.com/in/azeckoski
> http://aaronz-sakai.blogspot.com/ - http://tinyurl.com/azprofile
>



-- 
Aaron Zeckoski (azeckoski (at) vt.edu)
Senior Research Engineer - CARET - University of Cambridge
https://twitter.com/azeckoski - http://www.linkedin.com/in/azeckoski
http://aaronz-sakai.blogspot.com/ - http://tinyurl.com/azprofile


More information about the sakai-dev mailing list