Skip to main content
March 21, 2007
Question

Disabling Bookmarking/SuspendData?

  • March 21, 2007
  • 10 replies
  • 4224 views
Hello! I've run into a peculiar problem with my Captivate 2 SCOs in an LMS: if the user attempts to take a module again after it is set as completed in the LMS, it launches at the last page and won't record a completion again.

I'd like to do one of two things:

1. Invoke a function that resets the bookmark to the first slide.

2. Disable bookmarking altogether.

Any tips, advice, or code for doing either of these?

Thanks for your help!
This topic has been closed for replies.

10 replies

Participant
October 16, 2007
Hi, I have followed this trail with interest but have had no joy with the solutions. Adobe provide this link - http://www.adobe.com/go/53c956ea

Which shoiuld resolve your problem.

Cheers
Drew
Participant
November 12, 2007
Hi,

I have also been working on the problem of auto-bookmarking of Captivate 2 SCORM 1.2 content. This thread has been very helpful. The solutions detailed above (Dalerich1, Adobe) will work if you want to disable bookmarking entirely.

However, what we wanted was the following:

1) Bookmarking works on all pages, except
2) On the last page of the SCO, where bookmarking gets reset to page 1

The method we came up with was the following:

1. In Captivate, select the Project > Preferences > Project End Options > Execute JavaScript

2. Enter the following script:

------------------------------------------------------------------------------------------

g_objAPI.LMSSetValue("cmi.suspend_data","A000001");

------------------------------------------------------------------------------------------

This script resets the suspend_data parameter to a value representing page 1 when the module is exited after the last page. On the LMS we are using (Saba), the next module (if there is one) still launches automatically. Lesson_status (completed, passed, etc..) is unaffected.

The value for the page 1 is a pseudo-value. If you wanted to preserve the rest of the suspend_data information, you could use the code provided by Dalerich1 to change the first character of the string while preserving the rest of the suspend_data information.

Hope this helps.

John_Meidl
Inspiring
February 9, 2010

I have a follow-up question about dvsumner's javascript for resetting the Start page of a bookmark-enabled course back to page 1. Would this javascript method work for a course developed in Captivate 3? (Note: Our LMS is SkillPort.)

dvsumner's needs sound just like ours! We would like Captivate's bookmarking (resume) feature to work; however, once the learner has completed the course, we would like him to be free, if desired, sometime in the future, to go through the course again, starting at the beginning (and not be stuck at the end of the course, which is how the bookmarking/resume feature works).

Thanks in advance for any insights, recommendations, or experiences!

Jan

Inspiring
May 30, 2007
Can anyone point me in the right direction to find this code modification for an AICC course where I want to disable the bookmarking

Thanks
Brian
May 30, 2007
Actually, I've found that you can disable boomarking altogether in the Quiz Manager. Just click the Reporting tab, scroll to the bottom of the tab to "Advanced". Click the "Settings" button next to the "LMS Customization Settings" label and ensure that the checkbox next to "Never send Resume Data" is checked.

The Javascript examples provided in this thread may work as well, but that appears to be how to do it from within the application.
June 1, 2007
Sorry, everyone. Checking "Never send resume data" works in Adobe Presenter 6.0, but does not seem to work in Captivate 2. I did additional testing on this yesterday (in SumTotal) and suspend data was sent regardless. However, I tried a variation of Gaftop's solution for lesson_status and that seemed to stop bookmarking. Look for this line of code:

} else if ( strFSCmd == "LMSSetValue" || strFSCmd=="SetValue") {

...and beneath that, you could add this code...

if (strFSArg1.indexOf(".suspend_data") == -1)
{
strErr = eval('g_objAPI.' + strFSCmd + '(\"' + strFSArg1 + '\",\"' + strFSArg2 + '\");');
CaptivateObj.SetVariable(strFSArg3, strErr);
}//end suspend-data check

This worked successfully in SumTotal. Hope this helps.

Anita
April 12, 2007
Well the perfect world would allow us to create a call to the LMS from a Flash Movie/Button. When the learner clicks to close a course and mark it complete the button would call to the LMS to reset the bookmark. I guess I could go to my LMS provider and ask about it.
Inspiring
April 11, 2007
In the SCORM.htm in the template folder, or to the .htm that you created when you published the course(good for testing before you make it change on all publishes).
Find the following code:
} else if ( strFSCmd == "LMSSetValue" || strFSCmd=="SetValue") {
strErr = eval('g_objAPI.' + strFSCmd + '(\"' + strFSArg1 + '\",\"' + strFSArg2 + '\");');

and put this between the two lines:

if(strFSArg1=="cmi.suspend_data")
{
//alert("cmi.suspend_data changing to " + strFSArg2);
//change the 1st character of string to the letter A (the first page of the course)
strFSArg2 = ("A" + strFSArg2.substring(1));
//alert(strFSArg2.substring(1));
}

This will catch anytime a change is being made, and set the page to the first page of the course, you could change the page by making it set the page to "B" it would then return to the 2nd page, and so on. You can remove the // on the alerts to see the variables in action, they help when trying to see what is really going on.

Hope this helps. Let me know if you need more.
-Dale
Inspiring
April 11, 2007
I just discovered that Captivate 2 is using suspend_data to keep its bookmark to return the user instead of lesson_location!

It is writing to the LMS the lesson_location based on the page you are on. The value 0 means page 1, and so on. But seems to not be using it.

The suspend_data is a string that looks like "B0000000110000111AAB%7E". In this example, the first character of the string "B" means the user left the course from page 2. To handle the data this way does not make sense to me.
SO
To keep the bookmark on the first page and not loose other suspend data you need to trap for a request to change the suspend data, take the string and replace the first character with A.
If anyone wants more detail let me know.
-Dale

April 11, 2007
I've discovered that having one button count as Include in Quiz solves the problem in my LMS, but I'm more concerned with disabling the function to bookmark altogether.

Where in the code can one do that? Have you discovered?

Inspiring
April 11, 2007
Will,
You still out there? What LMS are you having this problem with? I am having the same issue with SumTotal 7.2
The code above will prevent the course from EVER getting completed, not a fix to the issue. I am looking to solve this issue too for SCORM 1.2. I'll report back if I get a fix coded. Adobe, we need more control of the LMS metadata from Captivate GUI.
-Dale
April 11, 2007
quote:

Originally posted by: Dalerich1
Adobe, we need more control of the LMS metadata from Captivate GUI.


Amen!

April 4, 2007
Jim,

I have only looked at SCORM. I will take a look at AICC and get back to you.
April 4, 2007
Gaftop,
Is that just for SCORM. Does anyone know how to do this using AICC? Thanks!
March 30, 2007
To be able to control or change the information sent to the LMS, you will need to modify the javascript coding in the HTML page.

Open the HTML page in a text editor (notepad) and locate the following lines of code.

} else if ( strFSCmd == "LMSSetValue" || strFSCmd=="SetValue") {
strErr = eval('g_objAPI.' + strFSCmd + '(\"' + strFSArg1 + '\",\"' + strFSArg2 + '\");');


You need to insert an IF statement in the code. See below.


} else if ( strFSCmd == "LMSSetValue" || strFSCmd=="SetValue")

{
if (strFSArg1=="cmi.core.lesson_status")
{
strFSArg2="incomplete";
}

strErr = eval('g_objAPI.' + strFSCmd + '(\"' + strFSArg1 + '\",\"' + strFSArg2 + '\");');


In the coding, the varible "strFSArg1" is the CMI parameter being sent to the LMS and "strFSArg2" is the value of the parameter. In this example the "cmi.lesson_status" value is always set to "incomplete". You need to add a different IF statement for each parameter you wish to control.

Participating Frequently
March 29, 2007
Hi All,

I too am trying to figure out how to disable bookmarking in Cap2. We have a series of modules that we don't want to use bookmarking with - if the learner leaves, they have to start back at slide 1.

We're using SCORM, and slide completion (100%) to give credit for finishing the module.

I've tried everything that make sense to me and there's nothing in Captivate 2 help that even mentions bookmarking.

How do you disable bookmarking and still get the correct completion at the end?