LearningStoreSecurityException - Review Mode

Topics: Developer Forum, Project Management Forum, User Forum
Mar 3, 2008 at 8:45 PM
I've extended the BasicWebPlayer to allow for review mode. The course window launches, but while the app tries to load the activity tree, I receive a LearningStoreSecurityException. The exception is occurring when the DatabaseNavigator tries to execute the SeqNavActivityAttemptView function in the LearningStore database. I've even made the function a public object, but that did not work. What's funny is that the DatabaseNavigator executes the SeqNavAttemptView function just before the call to this function which is puzzling if this is truly a permissions problem. I've verified that the attempt id passed in is in fact the correct value for the package I'm trying to launch in review mode.
Mar 10, 2008 at 11:15 PM
Can you debug this further and isolate the problem? With the changes you're making to other areas of the codebase, this is going to be something difficult for someone else to investigate.
Mar 11, 2008 at 11:17 AM
After a few more days of debugging the application, I finally have review mode in a functional state. I discovered through some database tracing that one particular db function did not exist. Not sure why it wasn't created when the script ran, but nevertheless, it wasn't there. It was the "ReviewSessionRight" called from within DatabaseNavigator.cs. Once I created this function, and a little more tinkering with the frameset files (FramesetPage.cs and Frameset.aspx.cs) the test course launched in review mode.

What I've essentially done, is pass both the attempt Id and activity id (the root activity id of the package) to the frameset page via javascript, I added some session view type checking in MainFrames.aspx, and Frameset.aspx, which in the event of "Review" view, concatenate the activity id to the url that's passed to the content frame. I retrieve that activity from the Request String. And then in the FramesetPage.cs file, when the static method "AppendContentFrameDetails(LearningSession session, StringBuilder sb)" is called, I get the "CurrentActivityId" from the "session" arg, which by this time turns out to be the first activity in the course with content.

I've tested this implementation on several different SCORM packages generated from multiple content development tools, and as far as I can tell, this is a sufficient implementation. However, I would like your input as to the effectiveness of my approach, further considerations, or potential problems you see with my implementation. Thanks for you time.
Mar 11, 2008 at 12:40 PM
Could you share some sources for this frameset with review working?

Cos i cant get review work in any packages(on any authoring tool) SCORM 1.2 or SCORM 2004

Mar 11, 2008 at 9:10 PM
Edited Mar 11, 2008 at 9:11 PM
Thank you for your investigation, if you would like to upload a patch with your changes, I'll take a look as time permits.

This discussion has been copied to a work item. Click here to go to the work item and continue the discussion.