May 29, 2018
Issue with multi-tab advanced action
Comments
(8)
May 29, 2018
Issue with multi-tab advanced action
Officer / Course Developer for Federal Law Enforcement Agency
Newbie 10 posts
Followers: 1 people
(8)

Situation:  I have a single SCO course will four branches.  All four branches come off of a single slide (from here forward referred to a the branch slide).  The learner is given the option to attempt to test-out of the course.  The questions are all related to a specific branch of the course and answering all of the questions related to a branch allows the learner to skip that content.   When the learner gets to the branch slide an advanced action (testOutResults) is executed “on enter”.  That action will display one of five images to indicate the learners current progress in the course:

1. TestedOut – They got 100% on the test out and do not need to see any content

2. TestOutRslt – Shows them what lessons, if any they tested out of.

3. CourseComplete – Displayed when they have completed all of the course content and did not test out.

4. Show Next Img – Instructs the learner to select another lesson (shouldn’t display until the learner has gone through a branch’s content and then come back to this slide).

5. TestOutSkipped – Displayed when the learner initial enters the branch slide if they chose to skip the test out option.

If a learner takes the pre-test, the PreTest variable is set to “0”.  If they opt to skip the test out option, the var PreTest is set to “1” to indicate that and then is changed to “2” by the “TestOutSkipped” portion of the advanced action.

Here is the advanced action setup:

Problem:  I’m having two issues at the moment related to what images the advanced action is showing or trying to show.  If the Test Out is skipped, the action first starts to show the “Show Next Img” image, and then seems to be overridden by the TestOutSkipped image.  From my understanding of Adv Actions this shouldn’t happen because the value of the PreTest var isn’t changed to “2” until after the Show Next Img portion of the advanced action has run.  The situation is worse if the testout is attempted but there is content the learner needs to see.  In this case, the Show Next Img image overrides the TestOutResult image…again, even though the value of the PreTest variable should still be “o” when the TestOutResult portion of the action runs and is not changed to “2” until after the Show Next Img portion.

I understood that Advanced Actions run from top to bottom in each tab and left to right along the tabs.  So in this case, I thought it would run the first tab and not execute the second until the first is finished and so on.  Have I got it wrong or is there an error in my setup that I’m not seeing?

If this is a “Captivate Quirk”, then I’ll do one of two things…I’ll either create another slide that handles the “Test Out” results and then moves to the branch slide OR I’ll forget doing everything in the Advanced Action and just write a big “if/else” javascript statement that executes on enter.

Thanks in advance for the help.

v/r

Jay

8 Comments
2018-05-31 07:38:34
2018-05-31 07:38:34

Sorry, it is bit confusing at this moment. It is not always clear where a question has been posted: in this portal or directly in the Adobe Jive forums (where all applications are present). I try to monitor both but it is not easy.. Inserting media in comments is impossible in discussions in this portal, and very easy in the Jive forums. Maybe that will change in the future.

Like
(1)
2018-05-30 15:19:47
2018-05-30 15:19:47

Sorry typo ‘If you can NOT figure it out’.

Like
2018-05-30 15:17:08
2018-05-30 15:17:08

If you can figure it out, could you post a clear screenshot, wil try to help. Often changing the sequence of the decisions can help. The easiest advanced actions are those where each decision can only happen in a particular situation but that is not always possible.

Like
(2)
>
Lieve Weymeis
's comment
2018-05-31 01:25:25
2018-05-31 01:25:25
>
Lieve Weymeis
's comment

I opted to just right some JavaScript to control which images were presented. I’ve wanted to try more JS anyway, so this was a good excuse. Thanks again for the help.

If I can impose for one more question…where is the correct location to ask questions? I don’t know why I can’t find it and I keep posting questions in the wrong stop (like this one).

Thanks!

jay

Like
>
Lieve Weymeis
's comment
2018-05-31 14:18:18
2018-05-31 14:18:18
>
Lieve Weymeis
's comment

Here is the JavaScript I used to fix the problem with showing the correct image:

//Sets a variable in this script equal to a Captivate variable
var toSkip = window.cpAPIInterface.getVariableValue(‘PreTest’);
var L1 = window.cpAPIInterface.getVariableValue(‘Lsn1Skip’);
var L2 = window.cpAPIInterface.getVariableValue(‘Lsn2Skip’);
var L3 = window.cpAPIInterface.getVariableValue(‘Lsn3Skip’);
var L4 = window.cpAPIInterface.getVariableValue(‘Lsn4Skip’);

//Move all of information images off the stage
$(“#re-imgContentCompc, #re-imgTestedOutc, #re-imgNextLsnc, #re-imgTestOutRsltsc, #re-imgTestOutSkipc”).animate({
left: “1300px”
});

function Choice() {
//Indicates the learner tested-out of the course
if (toSkip == 0 && L1 == 0 && L2 == 0 && L3 == 0 && L4 == 0) {

$(“#re-imgTestedOutc”).delay(500).animate({
left: “260px”
});
//Shows the results of the learners test-out attempt
} else if (toSkip == 0 && (L1 == 1 || L2 == 1 || L3 == 1 || L4 == 1)) {

$(“#re-imgTestOutRsltsc”).delay(500).animate({
left: “260px”
});
//Indicates the learner has completed all of the course content
} else if (toSkip == 2 && L1 == 0 && L2 == 0 && L3 == 0 && L4 == 0) {

$(“#re-imgContentCompc”).delay(500).animate({
left: “260px”
});
//Indicates the learner needs to select another lesson
} else if (toSkip == 2 && (L1 == 1 || L2 == 1 || L3 == 1 || L4 == 1)) {

$(“#re-imgNextLsnc”).delay(500).animate({
left: “260px”
});
//Indicates the learner did not attempt the test-out
} else {

$(“#re-imgTestOutSkipc”).delay(500).animate({
left: “260px”
});
}
}

Choice();

I put this as the first decision in the advanced action in the first post and removed all of the “Execute JavaScript” entries after that and let the adv action handle other changes.

Like
2018-05-30 14:58:27
2018-05-30 14:58:27

Thanks Lieve. I found the link and have a little better understanding of how I might solve my problem. As always, I appreciate the help.

P.S. I don’t know if you remember…I met you at the Adobe Conference in Washington D.C. I was talking with David Hark after your presentation on Mastering the timeline. I thank you for helping me, but couldn’t remember what I was using for a username on here! Anyway…thanks again!

Like
2018-05-30 08:47:50
2018-05-30 08:47:50

Sorry, but it is not possible to indicate a link in comments on a discussion, that is only possible for answers to questions. I am on a small screen, it is too hard to read your Preview, or I would have searched for a solution in this use case.

Like
2018-05-30 08:46:24
2018-05-30 08:46:24

Wrong understanding. An Advanced or Shared action in Captivate has no ‘Break out’ functionality. All decisions (what you call tabs, I try to use the official term) will always be evaluated which may cause a later decision to override a former one. In this old post, I explained the logical bug for a user which was due to that misunderstanding, and the way to solve it:
http://blog.lilybiri.com/blog-after-posterous-clickclick
Beware: the embedded movie is a SWF, you’ll need a browser with Flash Player enabled. Maybe I’ll update this post for HTML to explain that typical behavior of Advanced actions in Captivate. Once you get the hang of them, can be very useful as well.

Like
Add Comment