Storyline AICC bookmarking

Oct 09, 2012

I have published a course as AICC and all the tracking is working except for bookmarking.  I was wondering if there is a reason the two javascript calls AICC_SetBookmark and AICC_GetBookmark are not being used?  Or it they are being used where? and how?  As I can't seem to find them.

15 Replies
Justin Grenier

Good Afternoon, Ryan.

Is it possible that your Articulate content is being hosted on a different server than the LMS itself?  If so, you may experience issues related to tracking and resuming the content.  I recommend checking out this Knowledge Base Article for more information and a possible work-around.

If this doesn't seem to be the problem, I recommend submitting a Support Case and including (a) a copy of your .story file and (b) a link to your published content, so that we can take a deeper look at the problem with you.

Please let us know if you need anything else.  Thanks!

Ryan Anderson

I understand that the course and LMS need to be on the same servers and that is what we currently have as the tracking for time and status is working perfectly.  The issue is that when the Storyline built AICC course is exited it does not return the "Lesson_Location" in the AICC data.  I have been going through the javascript and found the two calls I noted above that should be setting and returning the "Lesson_Location" but they don't seem to be called at all.  I was just wondering why they are not called? Or how I can change the javascript to return the "Lesson_Location" value.

Peter Anderson

Hey Ryan, 

We'd be happy to take a closer look at what's going on. You can open a support ticket here, and it may be helpful to have you gather a debug log for us as well, and pass that onto our support team. By default, content published with Articulate software has the LMS debug disabled. You can enable the debug log by following the steps outlined here

Thanks!

Ryan Anderson

This issue has been resolved through the support case submitted and the bookmarking is working as it is supposed to for AICC.  This next part is for all others who may run into this with their own LMS's.  What I found when looking into the AICCFunctions.js file, which is in the published output from Storyline, is that after the "[CoreLesson]" block (which is were the bookmarking is) there is a "\r\n" added in.  This "\r\n" was the issue in our system as the LMS just grabbed everything after it found the "[CoreLesson]" block, so when it tried to send the data back it was sending the "\r\n" back as well and messing up the Storyline course as it did not expect that.  I thank Storyline for all their help with the support case and I hope anyone who finds this post, finds it useful.

Justin Grenier

Good Afternoon Christin, and welcome to Heroes!

Articulate does not support the modification of our published output, so Ryan's LMS-specific solution is his own.  It's possible that Ryan is no longer subscribed to this thread, but you can try reaching out to him directly by clicking his name, followed by the Send a Private Message link.

James Maloney

Ever since we started using Articulate Storyline, we too have been having this bookmarking issue.

PeopleSoft 9.0 and PeopleTools 8.52

Of course, thorough testing of Storyline was NOT done before our company started rolling it out.

We have NOT had this issue with Articulate Presenter course contents.

After "[Core_Lesson]", there are 2 "\r\n" (Carriage Return/Line Feed) in the communication string begin sent to the course content

This is like this for both Articulate Presenter and Articulate Storyline.

It seems Articulate Presenter has no problem processing these 2 Carriage Return/Line Feeds to get to the actual Core Lesson data.  Articulate Storyline on the other hand, chokes on it and does not do bookmarking.

For a test, we removed the "\r\n" from this line in the AICCFunctions.js file:

      strAICCData += "[Core_Lesson]\r\n";
To this:

      strAICCData += "[Core_Lesson]";

This resolved the bookmarking issue for an Articulate Storyline course.

Of course, this is not the solution.

Articulate Storyline should be able to process the Core_Lesson data just like Articulate Presenter.

Since I cannot wait for that to happen, I will try adding custom PeopleCode to try and replace the 2 carriage return/line feeds with just 1 for the LMS communication back to the course content.

Hopefully, bookmarking will continue to still work for the other course contents that we utilize.

Will let you know.

Justin Grenier

Good Morning James, and welcome to Heroes!

If you enable Fiddler and capture logs from the first and second attempt at the course, do you find that the [Core_Lesson] block that Storyline sends to the LMS upon suspend is precisely the same as the [Core_Lesson] block that the LMS sends back to Storyline upon resume?  In the past, I've seen one LMS that inexplicably converts our "\r\n" to "\r\n\r\n\" upon resume, which will definitely cause the behavior you are describing, and I would encourage you to work with your LMS vendor to see if they can stop doing that.

If you find that your LMS is not adding any extraneous characters to the [Core_Lesson] data, this is definitely something we want to know about so that we can take a deeper look at the problem.  Thanks!

James Maloney

Sorry Justin, but that aint happening any time soon.

For starters, the Oracle Tech is still telling me that I am missing the "Lesson_Location".

We are also at Release 9.0.  Oracle is no longer making updates to that release.

That is probably why I got stuck with Oracle Tech who does not know much.

Adding these 4 lines of  PeopleCode to WEBLIB_LM_LEM.LM_ISCRIPT.FieldFormula seemed to

resolve the bookmarking issue for us.  Another course in Articulate Presenter is not affected by this change which is good.

More testing is needed.

Function iScript_HCP_COMM().  GETPARM section, right after forming the Response String call.

&find = Find("[Core_Lesson]" | Char(13) | Char(10) | Char(13) | Char(10), &str_HACPResponse);
If &find > 0 Then
     &str_HACPResponse = Replace(&str_HACPResponse, &find, 17, "[Core_Lesson]" | Char(13) | Char(10));
End-If;

We are currently upgrading to 9.2 which will be done in the Spring of 2015.

Will need to revisit this issue then.  See if Oracle has resolved the issue so we can remove this custom code.

We also have an issue with Storyline SCORM, too.  Those course contents are bookmarking fine, but not always marking complete for some learners.  And, I was told a learner might have that issue for 1 course, but not another.   For another forum.

This discussion is closed. You can start a new discussion or contact Articulate Support.