Tracking User Progress in Captivate 4 Using Variables and Actions

 

Wanted to take a shot at exercising Captivate 4’s new (and very useful) new features: actions and variables.

To try them, I decided to create something useful (for once!) by putting together a sort of ‘user progress’ slide. The premise is that there is one central slide that is a ‘jump-off’ or starting point for users to go to various parts of the slide deck (ie, various parts of the course). Once there, they view the content and then return back to the main/start slide and that particular section of the content that they went to previously is marked as ‘completed’ (symbollicaly, of course) by ’show’ing a graphic on the slide.

If that confusing description hasn’t scared you off already, I’ll quit trying to describe it and just show you the damn thing. Here is a link to the working example, and what follows on this page is a walkthrough of how I did it.

Track User Progress with Actions and Variables in Captivate 4

Track User Progress with Actions and Variables in Captivate 4

It works well and I will definitely use this type of thing for tracking intra-course progress. Of course I won’t use images of doors, but if you imagine a bulleted list of topics instead, where instead of a standard ‘bullet’ there is a checkbox next to each topic or image, and then when the user has viewed that topic and returned to the main slide the checkbox is checked.

So – how does it work?

I wish I could just paste the code, but I can’t – Captivate won’t let me copy/paste code to/from the Actions window, which sucks. There are serious limitations with the scripting capabilities of Captivate 4, but heck, I think we all expected it to be limited considering it’s brand new. So, here’s how I did it:

Step One – Create Slides

I created a total of 9 slides, each with picture of doors that I grabbed off google images. On the first slide I left the image intact. On the remaining 8 slides, I used Captivate’s new image editing crop feature (works great) to crop the ‘doors’ image on each slide to show just it’s corresponding door.

On the first slide (the one with all the doors) I inserted blue checkmark objects and gave them each an object name of “chkX”, where X was equal to 1 through 8 (for each door). I made each of those checkmark symbols not visible by default, by unchecking the ‘Visible’ checkbox in the options tab for the symbol.

Step Two – Create User Variables

Then, I created a set of User variables – one for each of the doors, and assigned them each a value of zero (0):

User Variables

User Variables

Step Three – Create Custom Actions

Next, I created two custom actions:

Check Doors Viewed Custom Action Code

Check Doors Viewed Custom Action Code

The first action I created I named “Check Doors Viewed” and this was by far the most time-consuming part of the process, mostly because the actions window is SLOW when inputting anything more than a few lines of code. Please let me know if you experience this slowness too. So if you look at the outlined code block you can see what is happening. In plain-speak:

Check to see if the door1 variable is equal to 1 and if it is, then make the chk1 symbol visible. The chk1 symbol is the object name for the blue checkmark that sits over top of the first door. I then kept going and added the same code for each door/checkmark (for a total of 8 in my example).

Step Four – Set Slide ‘On Enter’ Property

I then went into the slide properties for the first/main slide (the one with all the doors) and, on slide enter, I set it to run the Check Doors Viewed action so that it will enable any checkmarks that need to be made visible:

Slide Properties for Main/First Slide

Slide Properties for Main/First Slide

Step Five – Add a ‘Clear Checkmarks’ Button

I then decided to add a ‘clear checkmarks’ (ie, clear progress) button to the main slide. I set that button’s properties so that, when clicked, it runs the ‘Clear Checkmarks’ custom action, which has this code in it:

The actions window is fixed in size, so I couldn’t capture all the code in one screenshot, so here’s the rest:

Clear Checkmarks Action, Part Two

Clear Checkmarks Action, Part Two

Note that highlighted last line, where I have it ‘reload’ the 1st slide. I did this so that, when slide one is restarted, it will trigger the previous direction to run the ‘Check Doors Viewed’ action from before.

That’s about it. I have the source available for download here.

Reflections

All in all it’s fairly straightforward and easy to use. Keep in mind that I’m a pretty decent actionscript coder, and have also done some Java coding in the past, so I’m comfortable scripting. The one thing that is really annoying is that the actions window gets *really* slow/sluggish if you are trying to do anything that needs more than a few lines. Another huge problem is that you cannot execute two actions in sequence. In other words, I couldn’t set the ‘On Enter’ slide to execute multiple USER actions – you can execute multiple system actions, but not actions you create. So there was no way to do something like, “on slide enter, execute the Clear Checkmarks action and then execute the Check Doors Viewed action”.

I really hope that Adobe can fix the sluggishness of the Actions window, or better yet allow for actions to be imported as text files. I realize they have to ensure that the code/syntax is legit before it can be applied, so perhaps some sort of validation check can be built into the import. Better yet, just have an actions window, like in Flash, complete with a ‘check syntax’ button. That would be so much faster. But more pressing to me is the need to be able to execute multiple custom actions.

Am I off-target? I definitely could be. Please leave a comment if I’m missing something in regards to these features, or a better approach to the example.

UPDATE: A reader (Connie Price) has graciously submitted a PDF that details how she used Advanced Actions in her project. Click here to view the PDF.Click here to view a source Cp demo file.

This entry was posted in Captivate and tagged , , . Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.

 

65 Comments

  1. Giveitawhirl
    Posted February 9, 2009 at 6:13 pm | Permalink

    You have taken me to the next level in using captivate! I am not NOT an actionscript coder and was able to follow your directions to get this concept to work for me. It was especially helpful for you to include the actual captivate file which sealed the deal for my understanding! I am excited to have this feature in my latest project…thanks again…a million!

    PS:action window was also sluggish for me when I opened your file. Not too bad with less code in it – mine.

  2. JA
    Posted February 14, 2009 at 4:16 pm | Permalink

    Great post, thank you!! Do you have any ideas of how I could store this information to a file on my hard drive or to a server? I’m going to use a Captivate movie on a kiosk at a tradeshow and I’d like to store the user’s name (with an input variable) and what content was viewed.

  3. Posted February 14, 2009 at 8:03 pm | Permalink

    JA,

    Not sure. I would think your best bet would be to try it via an embedded flash swf, but I’ve not tried it. Basically, you would have to hope that the user variables are stored on the root timeline and then just have code in your embedded swf that looks them up and stores them to a shared local object.

    I wouldn’t hold out hope that it would work though. For something like that, where you’re deploying on a kiosk, you really should be doing it in Flash and just loading in Captivate swf’s into your Flash wrapper as needed. This way you can handle all the tracking in the parent flash wrapper and send results to a server, store in a local shared object, or use Zinc to write to a local text file, or maybe Adobe AIR.

    mark

  4. William
    Posted March 11, 2009 at 3:20 pm | Permalink

    It doesn’t seem to be AS3. I’ve always been frustrated with Captivate and it’s limitations. I don’t understand why Adobe links together the entire CS3 and CS4 suite with a common look and feel and interface, but Captivate has to have the same crappy interface it’s always had. I’m still very unhappy with Captivate. Adobe should re-write it or sell it off and create thier own solution that is Coder/Designer friendly.

  5. Posted March 11, 2009 at 3:45 pm | Permalink

    Captivate was purchased by Macromedia. This is the reason why there is no Mac version as the current and previous versions make extensive use of Windows’ DirectX for the screen capturing.

    Where Macromedia/Adobe screwed up is in ditching Authorware. They should have kept it going and positioned it as the primary authoring tool. The problem is all of the lazy instructional designers out there who didn’t get with the times and insisted on page-turners (aka ‘rapid elearning’).

    But it could be worse….prior to the ‘elearning developers suite’ (which came 3 months too late, after most people already upgraded to the regular CS4 Web Dev suite!), there was nothing specific for elearning folks.

  6. Bob
    Posted April 7, 2009 at 3:45 pm | Permalink

    Hi Mark,

    I’m just starting to learn Captivate 4, so I really appreciated the great explaination you provided of how to do this. As a side note, when I was reviewing your published demo, I couldn’t help but notice that on your play control you have a print button that works very well. Could you tell me how I might be able to incorporate this same feature on my movies?

    Thanks again!

  7. Posted April 7, 2009 at 3:50 pm | Permalink

    Hi Bob,

    That print button is actually a part of one of the standard swf playbars provided with Captivate. Unfortunately it is only available with one of the playbars (I believe it is called ‘Print’ or at least has it in its name). There is a deficiency with that playbar in that you are stuck with a rollover ‘highlight’ color on the buttons no matter what you try to set it as in the theme editor. To fix that you have to go into the fla, go down multiple levels of movieclips (it gets confusing quick) and manually edit it out.

    I did that and uploaded the fixed fla/swf to the Adobe Captivate Exchange site but never even got a courtesy response from Adobe. Guess it wasn’t accepted : (

    mark

  8. Bob
    Posted April 7, 2009 at 5:10 pm | Permalink

    Hi again,

    What I was hoping for was to use CoolBlue with a Print option built into the Play bar. No dice. If I start with the Print Playbar and change the colours to try and match CoolBlue, it doesn’t come out the same. I guess this would or should be something that Adobe could roll in as an additional feature when designing Version 5. Another thing that would enhance the product would be to allow developers to add in hyperlinks within blocks of text. Don’t get me wrong, this program is pretty good, but there are still a number of shortcomings like not being able to tie into an external database, etc.

    Again, thanks for your response.

  9. Posted April 7, 2009 at 7:23 pm | Permalink

    what you’re asking for it to do is possible but only with some coding. For the database tie-in, you can do that but you need to either use a javascript call or you need to embed a flash swf that makes the calls.

    For the print button you’d need to open the fla and grab the print code from that and then add it to the coolBlue playbar and correlate it to a new print button that you create and name.

    It’s a pain in the *ss that we have to do this stuff but it is what it is.

    My biggest gripe with Captivate is that transparent text captions result in fuzzy text (and no, that stupid ‘add a bullet point and then size the box to hide it trick is just plain not going to work for anyone who values their time).

    Macromedia just screwed up when they bought RoboDemo. It was a dog then and the core engine is still not great. They have been talking about rewriting Captivate from the ground up (in order to have Captivate work on a Mac they’d have to) but I wouldn’t hold my breath. I’d like to see them rewrite it not because they should support the mac but because some basic things can be considered from the start, like not bloating the filesize, clear text, etc.

    All that said….Captivate 4 is so much better than the previous versions it’s like night and day. I had given up on Captivate after version 2, and version 3 wasn’t any better. Version 4 makes it one of the better tools to use for elearning stuff now.

    mark

    Marks last blog post..Tracking User Progress in Captivate 4 Using Variables and Actions

  10. Nancy Gill
    Posted April 20, 2009 at 3:17 pm | Permalink

    Hi Mark: This works really well like you did it and was just what I needed .. almost. However, I am using the script to select a button to go to 5 quiz questions if the value is 0 and it is set to 1 when that section is accessed. There are 5 sections. It works just like your example when I use just the skeleton, but as soon as I add quiz questions (just one per section so far) then it stops working. The first section (whichever one chosen) works fine, but when the second button is selected, the landing page just sits there until the default 3 seconds expires and then it goes to the success page without ever displaying the question. This is true with whatever section is access second. Any thoughts as to why?

  11. Nancy Gill
    Posted April 21, 2009 at 5:02 pm | Permalink

    Mark .. I have a question for you. Have you ever tried using this solution with quiz questions in Captivate? For me, it works perfectly until a quiz question is added to a division created clicking one of the “doors” .. and then it doesn’t work any more.

  12. Jay Fresno
    Posted April 25, 2009 at 3:50 pm | Permalink

    I am also trying to apply these new Captivate features to a quiz. I have the need for several questions on a single quiz slide, where the answer to each question is either Yes (1), No (2), Not Sure (3). I need a total of 10 questions, so I used 2 Likert quiz slides, and the three choices are assigned a numeric value. I want Captivate to add the choices that the learner selects. For example, if they choose Yes for all 10 questions, their total would be 10. I’ve not been able to come up with a way for Captivate to add the learners choices — is it even possible? I don’t have to use Likert, if there is another solution.

  13. Nancy Gill
    Posted April 27, 2009 at 11:17 am | Permalink

    You can’t put more than one question on a Captivate slide. It’s not made to work that way. You can do that using the Coursebuilder extensions. New versions are available in the ELearning Suite from Adobe. Older versions that work with Dreamweaver up to 8 (and maybe with Dreamweaver CS3) are available on the Adobe Exchange or Rapid Intake in the case of the DW8 version.

  14. Jay Fresno
    Posted April 27, 2009 at 3:28 pm | Permalink

    Nancy,
    Thanks for the tip about Coursebuilder extensions. I have Captivate version 3 and version 4. I also have DreamWeaver and Flash CS3 and CS4. However, do not have the eLearning Suite. Is it possible to get the Coursebuilder extensions without having the suite so that I can have multiple questions on a single slide?

  15. Nancy Gill
    Posted April 27, 2009 at 4:18 pm | Permalink

    You didn’t mention which version of Dreamweaver you have. If you have CS3, there was no version of Coursebuilder for DW for CS3 as Rapid Intake owned the rights at the time and never produced one. Adobe got it back but have only produced the CS4 version for the elearning suite. It is possible they may release it for the Exchange at some point, but as of right now, I believe it’s only available through the elearning suite. You would have to consult Customer Service. Sorry.

  16. Nancy Gill
    Posted April 27, 2009 at 4:24 pm | Permalink

    Mark .. I found out that the problem is the fact that when you go back to the first slide, Captivate sees it as a new attempt and errors. This is solved by making the quiz attempts more than the number of sections in your quiz. For example, if you have 6 sections in the quiz, make the number of attempts more than 6 so that you will be able to answer the question and return to slide #1 without a problem. Otherwise, you will find that the slides won’t load.

  17. szlevi
    Posted May 11, 2009 at 12:56 pm | Permalink

    How the HELL you record an app window with *ITS AUDIO* in full motion in Captivate???

  18. Posted May 11, 2009 at 8:32 pm | Permalink

    You would have to pipe the line out/headphone out signal to the microphone or line-in jack on your pc.

  19. dougj17
    Posted June 6, 2009 at 8:52 pm | Permalink

    Hi Mark,
    I’m still quite new to scripting, so this example was been a wonderful help. I could never get one aspect straightened out. I don’t see what changes the status of a door when you click on that door’s page. For example, when I click the Enter button on the home page for door 1, the button takes me to the second page. The return button at the bottom just seems to send me back to the home page. When I reconstructed your example, my version did not set the variable for that door to 1 causing the checkmark to become visible. It obviously works in you example (it is so helpful to have the original file to compare to); but I couldn’t get it to work. I had an easy work around. I just created a new advanced option script for each door that set the value for that door’s variable to 1 and then returned to the home page. But I’m curious, what did I miss?
    Also, I worked with Authorware years ago in my doctoral program and loved it. I’m still kinda tempted to get an copy for cheap off of Ebay even though the product won’t continue to be supported. Maybe it’s just nostalgia, but I think it was easier to work with and more versatile that captivate & flash combined.
    Thanks again

  20. Posted June 6, 2009 at 10:07 pm | Permalink

    Doug,

    It’s been so long since I put this thing together that I forget how I did it exactly. Just look through the .cp file and see how I did it.

    In regards to Authorware….I would pass on buying the ebay copy if I were you. Why? Because you’d just be wasting your time, in my opinion (and there are a TON of folks on the Authorware/AWARE listserv that would probably disagree with me). I think it is a disservice to clients at this point in time to develop anything in Authorware for them, since Authorware developers are getting pretty rare nowadays and if changes are needed to the source it’ll be harder to get someone to do it. Not to mention the reason Authorware had to get the heave-ho to begin with – the shockwave plugin is close to dead. I’d be surprised if in 5 years it were still maintained by Adobe.

    I wish Adobe would have never ditched Authorware. I have *never* used it, but based on some of the things I read in the AWARE listserv about what Authorware could do, I’m floored at it’s versatility and power. It seems to have been able to do anything we elearning designers/developers could have wanted. As much as I like Captivate 4, it is nowhere near complete in terms of the features/flexibility we need. I’m not sure it ever will be. Right now there is no single program that can do everything we need, like apparently Authorware was. Then again, at least with the Elearning Developers Suite and the SCORM packager and such, I suppose it’s not fairly trivial to put together a good UI and do everything needed in Flash (with the content developed in Captivate).

    My 2 cents, fwtw…
    mark

  21. Kimberly R
    Posted June 23, 2009 at 4:40 pm | Permalink

    hello,

    i was very excited when i found your demonstration for tracking progress in captivate 4. I feel like I did everything you did to my project but for some reason the checks are not showing on return to the first slide. I was wondering what the door variables match up to because the door images on the first page don’t seem to be clickable or named so what does the door variables match up with. I feel like I am missing a step as I saw someone else posted above. I am new to this scripting and I even tried to get rid of your door picture but i can’t. I followed your example, I will try again tomorrow but was wondering if you had any ideas to what I am missing. I understand if this does not make sense as I am new to understanding how the variables get assigned zero and then go to one when clicked. The clear checkmark button is working but when I click on it but there are no checks for it to clear!
    thanks, Kimberly

  22. Posted June 23, 2009 at 4:47 pm | Permalink

    Kimberly,

    It’s been quite a while since I looked at this example. Send me your .cp file and I’ll take a look and see what is wrong.

    mark

  23. Kimberly R
    Posted June 24, 2009 at 2:39 pm | Permalink

    Hi,

    I did send my file to you but I think I figured out how to make the checkmarks appear without using the code. I just have multiple actions for my button that jump to the slide and also make the check mark appear, then i can use the clear checkmark code to clear them i think. I’m going to take a shot at it and keep an eye out for your response. Thanks for the help! -Kimberly

  24. Posted June 24, 2009 at 9:40 pm | Permalink

    Kim,

    Bingo – you got it. And of course, I just sent you an example of this very approach (I should have read your comment first!). No need to use code for simplistic tracking like this, just use the Multiple Actions command.

    mark

  25. jay fresno
    Posted June 25, 2009 at 12:27 am | Permalink

    Mark,
    I’d be interested in the example you sent to Kimberly. If you’d be willing to send it, I’d greatly appreciate it!

  26. Posted June 25, 2009 at 9:12 am | Permalink

    Hi jay,

    I can’t give you that file because it had possibly proprietary info in it.
    Really, all you need to do is create a new .cp containing 2 slides.

    1. On slide one, create 2 buttons and add 2 separate images.
    2. Give the images instance names (I forget what Captivate calls them – it may just be “name” or “symbol name” or something like that). That name is what you’ll use to identify the graphics to turn them on and off.
    3. On slide two, put a text caption saying something like, “This is Slide Two!”. Also put a button that, when clicked, jumps back to slide one.
    4. Duplicate slide two to create a third slide. Change the text in the text caption to “This is Slide Three!”.
    5. Go back to slide one and double-click on the first button. Look for the “Multiple Actions” setting and then add:
    Show – checkmark1
    Jump to Slide 2

    6. Do the same for the second button, except have it jump to slide 3.

    That’s it. Pretty easy way to do this simple progress tracking and you don’t have to use the clunky actions editor in CP.

  27. Kimberly R
    Posted June 25, 2009 at 11:51 am | Permalink

    thanks so much for the help, i’m also thinking that if the user doesn’t take each individual module and watches it all the way through that I can add a next button that goes from one module to another that would also have the check mark shown. Thanks again for getting the ball rolling for me with the checkmarks, it is exactly what my boss is working for.

    I am having issues with using the text animations, i got rid of all but one thinking that would solve the sluggish use of it, the text only shows up half way when I publish the project, just wondering if anyone else came into the same problem with using text animations. maybe its just my computer being slow!

    thanks, kimberly

  28. Posted June 25, 2009 at 12:07 pm | Permalink

    Kimberly,

    Most likely the problem with the text animations is just in the slide timing. Look at your timeline and see how much time is allocated to everything and make sure it all syncs up.

    During the initial development phase I like to turn off all transitions (ie, fade in/outs) to avoid these issues. Then I go back and add them where needed.

    mark

  29. jay fresno
    Posted June 26, 2009 at 11:02 pm | Permalink

    Thanks, Mark. I’ll give your instructions a try.

  30. John
    Posted August 3, 2009 at 9:34 am | Permalink

    I am new to using Captivate 4 and Action script so I hope this question makes sense: Is there a way that once the user has gone thru each of the sections and returned to the main screen (i.e. all the checkmarks are visable) then it prompts them to move on to a new section, say for like a new module or topic?
    I imagine it would be a line or action that adds up all the door values and once the cumulatiuve value equalled “x” (ie the value = 8 for your example) it would show a button or execute another action that could take you to somewhere else be it new slides or open another project.

  31. Posted August 4, 2009 at 10:16 am | Permalink

    John,

    You can’t key off of the actual checkmarks themselves but you can do like you said and set a variable and just increment that as needed to ‘track’ what you’re trying to do.

    mark

  32. Nancy Gill
    Posted August 4, 2009 at 6:19 pm | Permalink

    John: I accomplished what you are trying to do by having something similar to this as the last statement in my script:

    if (var1 is equal to 1) AND (var2 is equal to 1) AND (var3 is equal to 1) AND (var4 is equal to 1) AND (var5 is equal to 1) AND (var6 is equal to 1) AND (var7 is equal to 1) AND (var8 is equal to 1) THEN
    Go to Slide 38 (which was the last slide in my project).

    since var1 or whatever was set to 1 when the section was entered and in my case the button to go to that section greyed out, each var would only have a value of 1 if the section had been visited. Once they were all equal to 1 then the last slide was accessed .. which could be an action to open another project or whatever you need. Make sense?

  33. John
    Posted August 5, 2009 at 7:52 am | Permalink

    Yes that makes perfect sense and was exctly what I needed! Thank you for all your help!

  34. Nancy Gill
    Posted August 5, 2009 at 12:00 pm | Permalink

    No problem. The only other thing is make sure you have multiple tries enabled in your project or it won’t go back to the first slide every time, but you probably already figured out that part. I would have liked to have copied and pasted the script for you, but Captivate’s scripting window won’t do that, unfortunately.

    Nancy

  35. Isaac Tabe
    Posted August 7, 2009 at 12:19 pm | Permalink

    Good demo. Adobe Captivate 4 has a lot of new and exciting features. The demo below also illustrates how you can collect user information before a quiz using variables, use the user information to customize question feedback messages, display user information on a quiz completion certificate, use JavaScript to display quiz results and other information on a web page, and give the student the option to post their quiz results to a database.
    You can test the demo here (http://www.myshbp.com/captivate/cap4demo.htm) and let me know what you think.

    Isaac

  36. Isaac Tabe
    Posted August 10, 2009 at 10:39 am | Permalink

    I think you can also achieve the same functionality WITHOUT scripting by selecting Multiple Actions on the On Success event of the Enter buttons as follows:
    for the Enter button on door 1, selct Multiple Actions, then
    Jump to slide door1
    Show chk1
    for the Enter button on door 2, selct Multiple Actions, then
    Jump to slide door2
    Show chk2
    etc.

    Isaac

  37. Nancy Gill
    Posted August 10, 2009 at 12:10 pm | Permalink

    There was a reason why you couldn’t do that .. it’s been several months since I did this, but I think off the top of my head, that it was because Multiple Actions didn’t work with Question slides .. but that may not be the reason. I’d have to go back and try it again to remember why you couldn’t do that.

    Nancy

  38. Nancy Gill
    Posted August 10, 2009 at 12:14 pm | Permalink

    Nice demo, Isaac. That is pretty much how I have done it also. What I don’t like about it is that you have to submit twice and that is because the variables come out of Captivate as JS variables so one submit defines them as server side and the second does the insert. I wish it could be done in one operation, but you masked it pretty well. :)

    Nancy

  39. CAdeveloper
    Posted August 28, 2009 at 11:39 am | Permalink

    CAdeveloper 27.08.2009 at 9:05 pm Hi,
    I am working on a projectn which requires captivate quiz scores to be emailed and saved in database. I am able to do both. One recent addition to this has been the question and chosen answer also need to be added to email. I saw captivate has a system variable that holds the current chosen answer. How do I get the corresponding quiz questions.?

    Thanks

  40. Danyelle Hennington
    Posted August 31, 2009 at 1:55 pm | Permalink

    Thank you thank you thank you! You just made my day! I appreciate your taking the time to develop this just-in-time piece that answered the exact question I had. Thank you!

  41. jay fresno
    Posted August 31, 2009 at 7:42 pm | Permalink

    Danyelle,
    Which “just in time piece” are you referring to? Is this something that has been shared, or could be shared, with everyone?

  42. Danyelle Hennington
    Posted August 31, 2009 at 7:50 pm | Permalink

    The “just in time” piece I was referring to…

    Tracking User Progress in Captivate 4 Using Variables and Actions
    By Mark | January 31, 2009
    http://elearninglive.com/wordpress/2009/01/tracking-user-progress-in-captivate-4-using-variables-and-actions/

  43. CAdeveloper
    Posted September 10, 2009 at 6:15 pm | Permalink

    Can anyone please guide me how to access these user defined variables from then.html file that captivate produces. I would like to incluse a course name in the email which will be a user defined variable…Thanks

  44. Jay
    Posted October 22, 2009 at 3:42 pm | Permalink

    Using your example, once all doors have a checkmark showing, is there a way to make a button appear that navigates to another slide. In other words, the navigation button would be on the same slide as the slide with multiple doors, and would not show until all the doors have been clicked on.
    Could this be done with button actions so that scripting could be avoided as Kimberly suggested — or would the whole thing need to be done with scripting?

  45. Posted October 22, 2009 at 4:05 pm | Permalink

    Sure. Lots of ways to do it, but the way I’d go would be to create the button that you need and then set it to hidden. Then, in the code that checks for progress, add the ’show’ code to show the button.

  46. Jay
    Posted October 23, 2009 at 5:21 pm | Permalink

    Mark,
    Thanks for your reply. The challenge is the code you mentioned. I don’t know how to code this so that all doors are clicked and all checkmarks are visible — before a new button appears.

  47. Glen
    Posted November 13, 2009 at 1:58 pm | Permalink

    Mark,

    This is an excellent example of the use of Captivate 4 advanced actions. A couple of specific comments:

    1. In your discussion you omitted to say that each of the individual door slides sets the value of the appropriate variable eg in slide properties for Slide 2:

    On slide enter: Assign
    Assign: door1
    with 1

    This is what dougj17 was asking about.

    2. Your original solution is very generic and works with cases in which each of the initial selections branches to a set of slides and completion of all slides in that set is required before the progress indicator is made visible – in which situation only the last slide in each set should have the variable assignment as in 1. For the simpler, but less useful case in which there is only one slide to branch to for each option the solution proposed by Kimberly and Isaac is more efficient (and certainly quicker to implement!).

    Glen

  48. Physiomedia
    Posted December 14, 2009 at 11:12 pm | Permalink

    Like an earlier post by Jay Fresno I am wondering if you can use a variable as a counter? The variable would start with a value of 0, then when a button is clicked a value is added to the variable. On the next slide a new set of options is given and again, depending on which option is chosen, a value (say 1-3) is added to the previous value held in the variable. At the end of the process you display the variable.

  49. Posted December 14, 2009 at 11:14 pm | Permalink

    Physio -

    Sure you can use a variable as a counter. Just assign an advanced action to the button so that the counter is incremented whenever the button is clicked.

  50. Posted January 29, 2010 at 2:57 pm | Permalink

    Wow! Thank you so much! When I have to create something that is a little more complicated, I usually go to ToolBook, but your tutorial here has really extended the use of Captivate for me! Thank you!!!! Ian

  51. Jay Fresno
    Posted January 29, 2010 at 4:25 pm | Permalink

    What I need is a Likert type of slide, with checkboxes from 1 to 5, each checkbox having a different value.

    When a user clicks on a checkbox, it would add to the count. However, if they change their mind and click on a different checkbox, I would NOT want the second checkbox to be added to the first checkbox — I’d want the value to be changed to the value of the second checkbox and the value of the first checkbox to be removed.

    Is that possible?

  52. Physiomedia
    Posted January 29, 2010 at 7:52 pm | Permalink

    Jay, we are trying to do similar things so I hope someone can give us some suggestions. I have used a roll over image button, with the three states representing a blank checkbox (up state), a checkbox with a grey checkmark (over state), and a checkbox with a black checkmark (down state). When they mouse click the button (down state) I’ve added two actions: increment the Total variable, move to next slide. Each checkbox has been set up to increment the Total by a different amount (0, 1, 2, etc). The only problem with this is that there seems to be no way to prevent the user from clicking the button more than once, or from clicking one of the other buttons before the slide moves on. You can minimise the risk by requiring a double click rather than a single click on the button and making the inactive duration on the button quite small. But this means the user doesn’t really get to see their selection before the slide change.

  53. Posted January 29, 2010 at 8:09 pm | Permalink

    Jay and Physio -

    It’s been quite a while since I last looked at Captivate’s advanced actions capabilities, but can’t you just set it so that, when the user clicks any of the button choices, first clear out the variable that tracks the total and then set it to the user’s choice?

    mark

  54. Jay Fresno
    Posted January 29, 2010 at 11:08 pm | Permalink

    Mark,
    Problem is that I don’t completely understand Advanced Actions. I’d love to see a Captivate cp file with an example of what I’ve described — Likert slide that totals the checkboxes that a user clicks. Then I could examine the Advanced Actions in the example and learn from it.

  55. Posted January 29, 2010 at 11:14 pm | Permalink

    You shouldn’t need to ‘total’ a likert scale, should you?
    What you need is to create a user variable for each question, like this:
    question1_choice
    question2_choice
    question3_choice

    Then, whenever the user selects a checkbox for question 1, set the question1_choice variable to a value corresponding to that checkbox (i.e., if it’s a likert scale of 5 checkboxes from 1 to 5, assign the variable the number).

    If you really do want to ‘total’ all of the questions at the end, you could. Or you could calculate an average.

    I stopped just writing code for people, for free, long ago because I found that people really didn’t put any effort into learning it themselves. If your goal is to simply get a working likert scale interaction then I’d be happy to provide you a working .cp example for a fee. But if you’re sincerely interested in learning how to use variables/actions in Captivate then give it a shot yourself and if you get stuck, let me know and I’m happy to help out.

    mark
    http://www.elearninglive.com

  56. Physiomedia
    Posted February 1, 2010 at 12:58 am | Permalink

    Thanks Mark. I’ve implemented your suggestions and in the end had to use an Advanced Action. A bit fiddely but after some testing and debugging it now works. I am happy to share a .pdf with screen grabs of the various steps but as there is no way to upload it to this blog anyone who is interested will just need to send me an email.

  57. Posted February 1, 2010 at 10:40 am | Permalink

    Cool!

    If you email me the .cp and .swf I would be happy to add it as a download to the end of this post.

    mark@elearninglive.com

  58. Jay Fresno
    Posted February 1, 2010 at 8:05 pm | Permalink

    Physiomedia,
    I’d love to see your CP or PDF with instructions. I’m still wrestling with advanced actions. I understand in principle what needs to be done, but can’t seem to make the leap to putting all the pieces together to make it actually work the way I want it to.

  59. Posted February 1, 2010 at 9:08 pm | Permalink

    Jay,

    I received a PDF from Connie that explains how she used Advanced Actions. I added a link to it at the bottom of the post. Here is what she stated:

    Hi Jay,
    I’ve attached a pdf of the steps I used. I may be able to pull one of the
    slides from my project and create a .cp file to show how it works.

    In my project I am creating a simulation of administering a test of nicotine
    dependence, there are six questions and the respondent’s choice for each
    question is given a value. The total is then evaluated to create a label for
    the degree of dependence.

    If you are simply trying to capture survey type data and want the score for
    each likert scale collected and added to a database then you may need to
    make some changes to the script.

    Good luck and keep at it.

    CjP

  60. kuldeep
    Posted March 4, 2010 at 4:51 am | Permalink

    Hi, i am looking for click and learn interactive templates of captivate application.

  61. Posted March 4, 2010 at 9:31 am | Permalink

    kuldeep,

    I’d be happy to put some templates together for you for a fee. Contact me directly if interested (my contact info is in the About section of this site).

    mark
    http://www.elearninglive.com

  62. Posted April 21, 2010 at 11:13 am | Permalink

    hi , i m new to captivate , Iam a student,i am going to develop one quiz program , everything is working well and i need some help , iam trying to get variables from captivate certificate widget to html using getURL(’page.php’,'_self’); iam getting variables along with some unneccessary variable how do i choose only customise variable to sort things easy, iam getting long url , is there any chance to reduce url size with selected variable , please help me in the way , i have deadline ,please let me know how to pass the variable from captivate swf to html , thanks in advance to help

  63. Posted April 27, 2010 at 7:20 pm | Permalink

    I have a quiz and need provide a link to a certificate on a asp or htm page. The variables that neet to be passed to the certificate.asp page are: cpInfoProjectName; cpInfoCurrentDateString and a user variable called userName.

    I am willing to pay for this information.

    Thank you.

  64. Posted April 27, 2010 at 7:33 pm | Permalink

    Leticia,
    This can be done I’m sure using advanced actions. Give it a try and if you get stuck and still need help, send me your Cp and I’ll take a look.

    mark

  65. gyo
    Posted July 14, 2010 at 2:02 am | Permalink

    Cheers for brilliant tutorial!! now all i have to do is work thru your flash tute. hopefully will work out drag and drop question in quiz with image to image, rather than text and image provided within cp.
    thanks again
    g

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

Subscribe without commenting