• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
0

Advanced Action actions incorrectly firing multiple objects

Explorer ,
Nov 25, 2015 Nov 25, 2015

Copy link to clipboard

Copied

I'm using Captivate 6 and building a Captivate lesson where on a single Bookshelf slide, there are three bookshelves, each with multiple books. (see below picture) Each book has a click box that jumps to a different slide. Upon entry into the different slide, I'm using a ActionVisited conditional advanced action to assign a unique "visited" variable the value of "1" for that particular book. A different Setup_MenuSlide conditional advanced action executes upon entry (or return) to the single Bookshelf slide, where if the visited variable associated with a book is evaluated to "1", an image object (checkmark) appears to denote that the book has been read.

Using a picture, here's what the Bookshelf slide looks like before any of the books have been visited:

InstallationBookshelf1.png

As long as I move to each book in order (e.g., "Components", then "System Requirements", then CP Prerequisites, etc.), the checkmark object appears on the corresponding book.

The problem is this:  If I move to a book out of order (e.g., I go to "Counterpoint Installation" before any of the others on that shelf), the checkmark object appears on the book I selected as well as all others that precede it on that shelf, even though I haven't yet visited the preceding books.

I've played around with the order of the book click boxes and associated checkmark objects on the timeline, but it makes no difference in the behavior. Here's what the timeline looks like:

Does anyone have any ideas what I may be doing wrong? Do you need to see anything else to help diagnose the problem?

Views

293

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Nov 25, 2015 Nov 25, 2015

Copy link to clipboard

Copied

Screenshots of the conditional advanced action On Enter?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Nov 25, 2015 Nov 25, 2015

Copy link to clipboard

Copied

Thank you for the quick response!

Here's a screenshot of the Setup_MenuSlide advanced action. This is the advanced action executed by the main bookshelf slide, and is responsible for evaluating the condition of the "visited" variable to determine whether to show the corresponding checkbox object.

And here's a screenshot of the AssignVisited advanced action. This is the advanced action that executes after the slide associated with a book has been visited. It sets the "visited" variable for the book to 1. 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Nov 25, 2015 Nov 25, 2015

Copy link to clipboard

Copied

I have some comments, tips:

  • Avoid using the same name for two different things, that can lead to issues. I prefer shorter names as well, but will always start with at least one character that defines the type of item, like 'v_one' is a variables, 's_one' is a slide, 'i_one' is an image. Even reusing an object name for an action or a decision in an action can cause problems.
  • I don't know exactly which event is triggering the 'AssignVisited' action. You have to be sure that the Slide label is the correct one, and gets stored in the variable. Why not use the navigation action on the menu slide to assign a value to a variable v_choice? That will be a simple standard advanced action with two statements, much easier than your complicated conditional action with as many decisions as you have books. If you insist on using the slide label, be sure to put first the 'Jump to' command before the 'Assign with' command.
  • Even easier: you can show an object from another slide. You certainly have a 'Return' button on each 'book' slide? Why not use that return button to show the appropriate checkmark? You will not even need any conditional action, not even one variable.
  • The only reason for which you'd need variable would be if you wanted something to happen when a shelf or the whole bookcase is finished. If you don't need that, try the work flow I described.

You see that I try to make it much more simple. If you had shared actions (not yet there in CP6) this would be very quickly done. Even with duplicating actions it will not take long, much less than all the time you put in creating those conditional actions.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Nov 30, 2015 Nov 30, 2015

Copy link to clipboard

Copied

Thanks, Lilybiri.

Well, you're certainly correct on the amount of time I've already put in on these slides.

I will dissect each of your suggestions and see if any of them will fit the project.

I like the idea of using the "Return" button to show the corresponding check mark, done as an object. There are multiple places from which the learner can be returned to the main slide where the check mark would appear.

I also need to further investigate using a standard advanced action. I'm not quite clear on your suggestion to use a navigation action to assign a value to the variable, so maybe playing around with it will make it more clear. 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Nov 30, 2015 Nov 30, 2015

Copy link to clipboard

Copied

When you return to the menu slide, that is a 'navigation action'. Maybe at this moment it has only the simple action 'Jump to'. If you replace that simple action by a standard action:

  • Assign var with 1
  • Jump to menu

The variable will get its value when getting back to the menu slide, which means that 'book' has been visited. You can even add the statement:

  • Show checkmark

That will do everything at once with a pretty concise standard advanced action (3 statements). I don't know if you ever need those variables, you didn't tell so. You don't need them to show the checkmark, once the 'book' has been read, checkmark will be visible.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Nov 30, 2015 Nov 30, 2015

Copy link to clipboard

Copied

Ah, I understand now Lilybiri.

I've built a test, using standard actions, but I don't see a way to tell the return to menu slide button to execute the standard action. Am I misunderstanding what you suggested?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Nov 30, 2015 Nov 30, 2015

Copy link to clipboard

Copied

??? Any event can trigger an advanced action, standard or conditional. Each button has two events: Success (when you click on the button) and After Last Attempt. Maybe have a look at my blog post which has a link to a table with all events available in Captivate:

Events and (advanced) Actions - Captivate blog

Your return to menu button can fire a standard action.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Nov 30, 2015 Nov 30, 2015

Copy link to clipboard

Copied

Thanks, Lilybiri.

I'm familiar with the "On success" actions. The "On success" action list shown for my return button includes Execute Advance Action, along with 21 others. However, Execute Standard Action is not in the list. Might it be named something that's less obvious? I'm using Captivate 6, if that makes a difference.

Since I've allowed infinite attempts for the return button, the After Last Attempt field is disabled.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Nov 30, 2015 Nov 30, 2015

Copy link to clipboard

Copied

Execute Advanced action is on that list since Captivate 5. Is that Return button not a custom button? I would use a shape button (of course), almost never use a normal button anymore, but both have Execute Advanced action on their list. That blog post was written for CP6 originally.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Nov 30, 2015 Nov 30, 2015

Copy link to clipboard

Copied

I just found it. There is no Execute Standard Action option, so I chose Execute Advanced Actions instead, and my standard action is in the choices. OK, now I'll move forward to see if this approach solves my problem.

Thanks so much!  I'll let you know how it goes -

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Nov 30, 2015 Nov 30, 2015

Copy link to clipboard

Copied

Standard and conditional are both advanced actions!  Standard actions were the first, because they enabled to execute multiple commands from one event. I never spoke about Execute Standard action, that has never existed. Did you really suppose that only conditional actions were advanced? You can do quite a lot with standard actions as well: Toggle is one of those commands that lets you switch between two situations without having to use a condition, but I'm afraid it is not yet available in Captivate 6.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Dec 07, 2015 Dec 07, 2015

Copy link to clipboard

Copied

LATEST

Problem solved. I assigned a different standard action to buttons on each slide that resulted in showing the check mark on the associated book. Previously, I'd been using conditional actions as "On Enter" to each slide itself.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Nov 25, 2015 Nov 25, 2015

Copy link to clipboard

Copied

Do you only have one variable tracking which books have been visited and your conditional action is basing the show or hide of check marks on the number shown in that one variable?

If so, then in order to get the interaction working the way you want, you need to have a SEPARATE tracking variable for each book.  This variable should be either set to 0 or blank by default and only gets set to 1 when that book section gets visited.

Your conditional advanced action on the menu slide needs to have a separate decision block for each book that needs to show a tick based on whether or not that book's tracking variable is set to 1 or not.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Nov 30, 2015 Nov 30, 2015

Copy link to clipboard

Copied

Thanks, Rod.

I've done each of those things - defined different "visited" variables for each book, and set them initially to be "0". And a variable gets set to "1" if the book is visited. The main slide shows a check mark for a book only if the visited variable for that particular book has a value of "1". Or at least, that's what it's supposed to do. Right now, it's showing a check mark for each book on a shelf if a latter book on the same shelf was visited. In other words, if there are 5 books on a single shelf and the learner visits book 4, a check mark appears for books 1, 2, 3 and 4 (but not 5).

Any other ideas?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Resources
Help resources