Skip to main content
Inspiring
October 24, 2007
Answered

Resume from last position

  • October 24, 2007
  • 12 replies
  • 4751 views
Can Captivate send the last slide viewed to an AICC LMS and retreive that slide number from the LMS.
So a user won't have to go thru 40 slides again to get the point where they left off (Client demands this ability).
In their words "True E-learning development software can send and receive data from an LMS"

I know how to hack AICC javascript code to send, retreive and parse the returned data.
Had to hack it for previous Articulate and Authorware courses.

If Captivate can read from and write to a javascript variable in the html page, then all is good.
    This topic has been closed for replies.
    Correct answer jbradley88
    If I may suggest a change to Rick's code...

    By default, Captivate 2 uses "Captivate1" as the ID for the embedded movie and I have heard that Captivate 3 uses "Captivate", so the reference to "cp" may be the issue. I have seen some other custom Captivate code that uses "cp" as a variable name, so we may be seeing some inadvertent code creep.

    Instead, go into your HTML file (or standard.js, if that's where you added the custom function) and change the line in Rick's code to the following, which should work on both IE and Firefox:

    bookmark=(window.document.getElementById('Captivate1').GetVariable('rdinfoCurrentSlide'));

    or

    bookmark=(window.document.getElementById('Captivate').GetVariable('rdinfoCurrentSlide'));

    12 replies

    BurTechAuthor
    Inspiring
    November 2, 2007
    Thanks jbradley88
    for the insite on the code change.
    BurTechAuthor
    Inspiring
    November 2, 2007
    Thanks Captiv8r for the website.
    Im using winxp with IE6
    I took a look at the source and I saw what was going on.
    After look at that, I had the aha moment.
    I changed my code to reflect some of your code and still got the js error.

    I deleted the freaking button in Captivate and added a new one.
    Called the js function from the button and it worked.

    After getting that to work, I removed the button and made changes to the slide properties.
    Instead of advancing to the next screen, it calls the js function to get the bookmark (send the bookmark to the lms on every slide view(the clients wanted it that way)) and then advance to the next slide using some modified code from your webpage.

    By being able to get the current slide I can use that to determine when the user has reached the last slide and mark them as completed in the LMS or just add a function and call the function from the last slide.
    That seems like a better idea..

    Now if I can just pull out the quiz score from captivate, I can then move forward to adding in all the subject matter of the course.
    Thanks to everyone for all for the help.
    jbradley88Correct answer
    Participating Frequently
    November 2, 2007
    If I may suggest a change to Rick's code...

    By default, Captivate 2 uses "Captivate1" as the ID for the embedded movie and I have heard that Captivate 3 uses "Captivate", so the reference to "cp" may be the issue. I have seen some other custom Captivate code that uses "cp" as a variable name, so we may be seeing some inadvertent code creep.

    Instead, go into your HTML file (or standard.js, if that's where you added the custom function) and change the line in Rick's code to the following, which should work on both IE and Firefox:

    bookmark=(window.document.getElementById('Captivate1').GetVariable('rdinfoCurrentSlide'));

    or

    bookmark=(window.document.getElementById('Captivate').GetVariable('rdinfoCurrentSlide'));
    BurTechAuthor
    Inspiring
    November 1, 2007
    Thanks for the quick reply Captiv8r
    I did a copy and paste
    It now returns a
    syntax error line 1 char 31
    Captiv8r
    Legend
    November 2, 2007
    Hi again

    What browser are you testing this on? I ask, because I recall that early on in my JavaScripting Captivate adventures, I discovered the long way around (someone had to point it out to me) that an issue exists with the Flash object sitting in the web page. Specifically, the object wasn't getting named for browsers other than Internet Exploder. So I ended up having to modify the code Captivate inserts into the HTML so that I could properly reference the Flash object (Captivate movie). My thought here is that if you are perhaps testing in Firefox, it could still be an issue. If you are testing in IE, it should be working with a few tweaks here and there. I know the variable does indeed return the slide number. You may see that in action by clicking here and when the page loads up, clicking the link on the left side that is labeled "testvar". And of course, if you wish to see the JavaScript used, just view the source of the HTML page.

    Hopefully something here helped... Rick
    May 11, 2012

    Hello I am having the same issue here. I would like to have a bookmarking feature for my e-Learning Module in Captivate 5. I am using SCORM 1.2 and an LMS called Blackboard 9.

    Just want the user to be able to should they leave their computer or close the computer that the user can go back to that page and continue.

    Also there are no qiz questions in this module this is just a review Module. So I guess what I am really asking is there a way to build a widget to facilitate this?

    Really need help with his

    Richard Woods

    sealtm58@hotmail.com

    BurTechAuthor
    Inspiring
    November 1, 2007
    Still trying to pull the current slide number the user is on out of captivate.

    I have a js variable in a js file and trying to capture the slide number when the user clicks a button to go to the next slide.
    The javascript I have in the button is below.
    bookmark=rdinfoCurrentSlide;

    It cause an js error: 'rdinfoCurrentSlide' is undefined

    Why would I have to declare it if it is already exposed by captivate??
    Any suggestions???
    Captiv8r
    Legend
    November 1, 2007
    Hi BurTech

    See if this way works. Insert a JavaScript function and call the function. For example:

    function SetSlideBookmark() {
    bookmark=(cp.GetVariable("rdinfoCurrentSlide"));
    }

    See if that helps any... Rick
    BurTechAuthor
    Inspiring
    October 24, 2007
    Plateau provides the Lesson_Location variable in the PutParam to store bookmarks or anything you want stuff in it.

    All of the last last four projects I worked on used Plateau and one huge Authorware file, which had multiple modules in it.

    The modules was checked off as the user finished each one.
    I stuffed all the completed module numbers in the Lesson_Location variable.

    If the user left work and went home to finish the course, I retreived and parsed the string from the Lesson_Location variable.The completed modules would still show as completed and unclickable for the user.
    BurTechAuthor
    Inspiring
    October 24, 2007
    Thanks Captiv8r,
    I will take a look at those sites tonight.
    Participating Frequently
    October 24, 2007
    If memory serves, AICC doesn't have a dedicated bookmarking feature, but it does support a variable named suspend_data, which is a free-text variable you can use to stuff any custom data into. The LMS then passes the contents of this variable back to the content when it is launched again.

    Past experience with AICC has shown that some vendors don't support all possible variables, so I'd check with Plateau to make sure they support suspend_data, and if so, swing by the AICC website (aicc.org) and grab the CMI001 document:

    http://aicc.org/docs/tech/cmi001v4.pdf

    Appendix A and Appendix B in that document detail the HTTP-based protocols for AICC, including suspend_data.
    BurTechAuthor
    Inspiring
    October 24, 2007
    Thanks.
    I took a look at the site, some interesting variables.
    Didnt see a "how to" on using them.
    The help files in Captivate says you have to know how to use flash to use them.
    I dont know flash.

    I guess Captivate doesn't ship with a user manual with "how to" code examples like Authorware does.
    I couldnt find any code examples in the help files either
    This product seems to be a self-contained point and click tool.
    Captiv8r
    Legend
    October 24, 2007
    Hi again BurTech

    Well, maybe the following will help here. I know there is a Captivate Developer Center article that aids in creating your own Playback Controls. Maybe it has something worthwhile. Additionally, I've got a demonstration page on one of my sites that illustrates how Captivate can be controlled using HTML links and JavaScript using the variables listed on Paul's site. I often point users to that page and have them examine the source of the page to see how I did it.

    Click here for the Developer Center article
    Click here for the link to my variables page

    Hopefully this will help a smidge.

    Cheers... Rick
    BurTechAuthor
    Inspiring
    October 24, 2007
    Thanks for the welcome and the replys.
    The client is using Plateau LMS.
    Its "http" AICC and I have developed lots of courses for it using Articulate and Authorware.
    This is my first time using Captivate however.

    The course will be using an htm wrapper frame (just used to show the company logos and other company stuff with links to other interest)

    I dont know if Captivate comes with a user manual or not.
    Something that shows some code or what variables are exposed that I can input data to or what is sent to the LMS that I can capture with Javascript.
    The clients says they don't have one for me to use or they just lost it.
    Anyone know of an online downloadable manual or something?


    Captiv8r
    Legend
    October 24, 2007
    Hi again BurTech

    Fellow Adobe Community Expert Paul Dewhurst has some info regarding Captivate Variables on his site. To view the page, click this link.

    Cheers... Rick