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

Is There a Limit to the Number of Advanced Actions on a Slide?

Community Beginner ,
Jun 04, 2024 Jun 04, 2024

Copy link to clipboard

Copied

Hi All,

 

I have gotten wolf-howling-at-the-moon crazy with a Captivate Classic (11.5.5.553) project that has a lot of text and audio being toggled via Advanced Actions. I am trying to initially HIDE a Continue button and then have this appear if certain criteria are met.

 

The way the Continue button is set to initially hide is to have the slide Advanced Action set to HIDE this button based on an IF criterion. I am actually using this slide AA, that is needed for navigation later, to serve a dual purpose.

 

Issue I have is when I have this HIDE button action set, along with several other HIDES, the slide breaks and automatically goes to the next slide when the Continue button is clicked, in violation of AA rules set for that button.

 

If I take this HIDE Button away from the slide AA, then the slide behaves as expected, but it appears on screen at an undesired time.

 

Have I maxed out the system?

 

Thank you for any thoughts.

 

Views

1.3K

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

correct answers 1 Correct answer

Community Expert , Jun 05, 2024 Jun 05, 2024

I find the best way to debug complex interactions like this where you have multiple variables that affect multiple conditional decision blocks is to make the current values of all variables visible to you (the developer) at runtime.

 

You just need to find a spare spot on the problem slide to insert a text caption or smart shape in which you display the custom user variables that are influencing the Conditional Advanced Actions. 

 

If the interaction is not working as expected, it will either be

...

Votes

Translate

Translate
Community Expert ,
Jun 04, 2024 Jun 04, 2024

Copy link to clipboard

Copied

It is extremely UNLIKELY that your issue is due to having maxed out the number of Advanced Actions on a slide.  I have never encountered a limit of that type with Captivate 2019.

 

The most likely reason for your issue is that you have inadvertently created some kind of endless loop with the logic in your current Advanced Actions.  The fact that everything works when you just remove one action would tend to support that view.

 

Personally, if all you need to do is have the button hidden from the beginning of the slide then I would suggest you just use the On Slide Enter event to hide the button, or if there are several other things that also need to be hidden at that time then just use the On Slide Enter event to execute an Advanced Action that does everything required to set the slide up.  You probably do not need to have a Conditional statement attached to the block that hides the button.  Other blocks in the AA might need to have conditions, but you can opt NOT to have a condition by simply not selecting that checkbox on the decision block.

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 ,
Jun 05, 2024 Jun 05, 2024

Copy link to clipboard

Copied

You are using the most stable version ever,  keep it like a treasure. 

I agree partially with Rod about his suspicion that some logic flaw will probably be the cause. However I have seen projects (and debugged them) which started to choke on the amount of variables and advanced actions. I remember one with hundreds of variables and advanced actions, which I reduced to about 20 variables and almost exclusively shared actions to replace the tons of duplicate advanced actions. But it is true that I never have experienced a limit to the number of actions on a slide. From your description it looks like they'd better be multiple instances of one shared action.

If you don't post a preview of the used actions (use the Preview button in the AA dialog box) + a screenshot of the timeline, it is difficult to help you out.

Shared actions take a little shift in mindset. Look at this blog post, where I explain a situation which is a little bit similar:

Tips and Tricks: Advanced to Shared action (intermediate) - Captivate blog (lilybiri.com)

 

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 Beginner ,
Jun 05, 2024 Jun 05, 2024

Copy link to clipboard

Copied

Thank you Rod and Lilybiri!

 

I do have the On Enter Execute Advanced Actions to control the slide opening. But a conditional statement is needed to control a navigation control later. 

 

And to compound things.....part of the desired operation of this slide is:
Click 4 buttons to view content.

If each of the 4 topics buttons are not clicked, and the Continue button is visable,display message.

If each of 4 topics are clicked, go to next slide.

 

I have this constructed with four variables, one for each topic, and that variable is incremented by 1 upon click.

By way of test, if I click on one topic 2 or 3 times, then click a second topic, I get the warning message. This is as expected.

If I click the rest of the topics I still get the warning when the Continue button is clicked and the slide will not advance.

 

That is illustrated in the "Continue.png" screenshot, and ignore the blue rectangle. I have played with using a mask to hide the Continue button until needed, but that isn't working either. There is something amiss with the way the Continue button is evaluating. I suspect it is the PAUSE in the ELSE but Continue sends the project to the next slide, so I am out of ideas for this. See the AA for THIS in the "Continue-AA.png".

 

Youall are wonderful, thank you again for the time and expertise you are sharing. Over the years, I would have been lost without this resource.

 

 

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 ,
Jun 05, 2024 Jun 05, 2024

Copy link to clipboard

Copied

I find the best way to debug complex interactions like this where you have multiple variables that affect multiple conditional decision blocks is to make the current values of all variables visible to you (the developer) at runtime.

 

You just need to find a spare spot on the problem slide to insert a text caption or smart shape in which you display the custom user variables that are influencing the Conditional Advanced Actions. 

 

If the interaction is not working as expected, it will either be due to a flaw in your logic.  And the usual reason for that is that one of the variables you assume will have a certain value does not actually have that value.  So, by making the variable values visible at runtime you can have better visibility of what is happening "under the hood".

 

I would reiterate my earlier instruction that you do not always need to make every decision block have a condition at the top.  If certain objects will always need to be hidden on enter to that slide, just use the first decision block in the Advanced Action to hide them all.  Then if some are going to be unhidden later based on variable values, do that via conditions in the subsequent decision blocks.

 

Lilybiri is correct that Shared Actions can be very useful.  But I would not suggest trying to convert this interaction to Shared Actions until you have debugged the current way it is working.

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 Beginner ,
Jun 05, 2024 Jun 05, 2024

Copy link to clipboard

Copied

Ahh...great ideas, thank you!

Yeah, I was on overkill mode when it came to hiding content. I will thin the herd and see what happens.

Now, how do I display the variable values visible? I had been hoping for this type of feedback but had no idea it was available.

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 ,
Jun 05, 2024 Jun 05, 2024

Copy link to clipboard

Copied

You can insert a variable into a caption or Smart Shape via the icon in the Properties tab.

InsertVariableIcon2.png

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 Beginner ,
Jun 05, 2024 Jun 05, 2024

Copy link to clipboard

Copied

Rod,

BRILLIANT!! Seeing how the variables were being incremented was the key! I had one that was NOT incrementing, had no initial value set, and another action that had the wrong user variable being acted upon. So, I have some details to sort out, but basically you solved my problems!!

 

My deepest appreciation for your assistance!! 🙂

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 ,
Jun 05, 2024 Jun 05, 2024

Copy link to clipboard

Copied

I was away today, see that you already solved the problem.µ

May I offer at least one more tip? Please use grouping of objects when you have to hide so many objects to have less commands in your AA.. If you added a counter which has been incremented only on the first click on a button, the action would have been simplified a lot as well. I already sent you the link to a blog post, where I explained this workflow, and it would probably also enable you to use shared actions instead of multiple advanced 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
Community Beginner ,
Jun 05, 2024 Jun 05, 2024

Copy link to clipboard

Copied

Grouping is a good idea, which I had not considered.... groups and I have an uneasy understanding... once grouped, I can't do anything with the elements, I can't move the group, so I have to unpack the group, move and re-group, all of which creates steps I don't need. But I may be not using groups correctly.

 

Shared Actions and  I also have a strained relationship. If I create an action as a shared action, I spend as much time selecting the object items from dropdowns as I do just creating a new Action, so I am missing the point, unless there is a backend benefit of which I am not aware.

 

I do need to refresh my self on your blog post, thank you!

 

But for all of that, the pesky Continue button, when placed on the slide On Enter > Advanced Actions, is still causing the slide to advance on mouseclick. Working around that, but deuced if I can see the reason... <sigh>

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 ,
Jun 05, 2024 Jun 05, 2024

Copy link to clipboard

Copied

Using a shared action leads to less possibiities to have Captivate choking, it saves also on file size. 

You need to choose the parameters wisely. Groups are viewed as one item, and can be a parameter. You can use a variable as a parameter.

To me the biggest advantage is that the shared action appears in the Library with all its features. Each library can be opened in any project as external library. I have such a library dedicated only to shared actions and that saves me a lot of time. .< shared actions and their parameters have a description, which is not the case for advanced actions. When importing a shared action in a new project, the variables which are not defined as parameter will be created automatically, including their description and initial value. If you want to re-use an advanced action in a new project you need to copy/paste it with all its consequences. I will stop my list, it is such a pity that even the Adobe evangelists never understood shared actions for their worth. The new version dropped them completely. I have clients who are using my shared actions since 5 years in all their projects.

I didn't follow the thread completely because I wasn't home. On the timeline I don't see the Continue button, but see pausing points at the default 1.5 seconds for 5 interactive objects. When is the playhead released? I should have asked for the Advanced Interaction panel (F9) to have a better view of all interactions. I suppose all interactive objects have Infinite Attempts, which means no Last attempt action? If you post a screenshot of that panel, do not forget to expand the columns showing the interactions for all events.

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 Beginner ,
Jun 05, 2024 Jun 05, 2024

Copy link to clipboard

Copied

Correct... no last attempt, all are Infinite Attempts.

 

You clarified the Shared Actions well, I will have to work with this more.

 

The only outstanding quirk I have now is if I put the Continue_btn on the Slide On Enter Advanced Action as HIDE, the slide crashes on the first mouseclick, going to the next slide. I have a kludged work-around which masks the Continue_btn in the first part of the presentation before the other AAs kick in to hide it, but it is really quite odd. 

 

I will post my updated structure tomorrow, need to leave early today.

 

Again, my deepest appreciation!

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 ,
Jun 05, 2024 Jun 05, 2024

Copy link to clipboard

Copied

Is that Continue button at the end of the timeline? Did you understand my question about the pausing points at 1.5sec? 

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 ,
Jun 06, 2024 Jun 06, 2024

Copy link to clipboard

Copied

Just forgot to offer you another link, to help with your 'relationship' to shared actions:

Who is afraid of... Shared Actions? Crash course Lesson 1 (video) - Captivate blog (lilybiri.com)

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 Beginner ,
Jun 06, 2024 Jun 06, 2024

Copy link to clipboard

Copied

So, where were we...

Advanced Interaction Panel is attached, as is a shot of the location of the Continue_btn on the timeline.

 

The Continue_btn is the only object with a Pause on the timeline. The Continue_btn appears at roughly 16.5 seconds into the presentation and disappears around 20 seconds, but this is arbitrary. The whole slide is about 21.5 seconds in duration, so the Continue_btn disappears just before the slide ends. No design purpose for this, just the way it came together. Aside from I wanted the Continue_btn to appear after the narration ends for that segment of the slide.

 

And what I think you are looking for is what is causing the slide to advance to the next simply because a HIDE action has been placed on the Slide On Enter Advanced Action, but I have not tumbled to your correlations yet. I don't see what in my setup would cause the location of a HIDE action would prompt advance to the next slide upon mouseclick. And I mean specificially on mouseclick. The mouse does not have to be on any button-type object. Click anywhere and the slide advances.

 

Remove the Continue_btn from the Slide On Enter Advanced Action and the slide behaves as expected.

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 ,
Jun 06, 2024 Jun 06, 2024

Copy link to clipboard

Copied

Hmmm, in the screenshot of the Timeline you posted before 5 more interactive objects have a pausing point, all at 1.5secs:

TimelinePausingPoint.png

The playhead will remain at 1.5secs, unless all of those interactive objects are hidden. The term Inactive has no meaning anymore, those objects remain active.

The F9 panel doesn't offer me all the information needed, because the On Success column has not the expanded width to see which advanced action is triggered by which event. You expand its width like in a spreadsheet. Some of the objects have 'Continue' as action, which means that the playhead is released. Time_Chk however triggers an advanced action, although it seems similar to the other three images with a similar name.  The Contiue button has an advanced action, but also 4 more Shapes used as button. Did you perhaps have them on top of the images? Why not use the images as button themselves? There are two Hyperlinks with a simple action to open an URL. 

 

Rod told to insert variables to see the values, I always do the same, but in your case I would also insert cpInfoCurrentFrame because I don't have an idea at this moment how and when the playhead (originally paused at 1.5secs) is released and proceeds. That variable ill always be timed for the rest of the project when I am debugging advanced or shared 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
Community Beginner ,
Jun 06, 2024 Jun 06, 2024

Copy link to clipboard

Copied

Ooopsss... I goofed with the F9 panel. I have attached another expanded shot.

Why do I have a button over an image instead of using the img as the button? There is a greyed layer over the img that disappears to "highlight" the image as the narration mentions that topic.  I put an invisible button layer on top of the greyed layer to allow for access to the image as a hot-spot.

 

The *_chk items (Time_chk, Loc-Chk and so forth) are static checkmark graphics. But, until you noticed this, I was not aware that they were set up as buttons. Interesting. I did not develop that part of this template. I don't know why the checkmarks are buttons.  The Time_chk button was set to play an audio clip, have no idea how that got there. I have now disabled the Use As Button option for those checkmark images.

 

The "home_btn" is this guy in the screenshot. Its purpose is to return the user to the first screen after initial completion of the course. Why? I have no idea. It was a request for enhancement send down from above. But the TOC is not enabled in this course so that as a meager justification, but a justification nonetheless. 

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 ,
Jun 06, 2024 Jun 06, 2024

Copy link to clipboard

Copied

I will be back later, just another tip: having a non-interactive layer over an interactive object doesn't prevent the interactivity at all.  Are you aware of that? From this long thread my first conclusion is that this project is unnecessary complicated. Did you try my suggestion about the system variable cpInfoCurrentFrame to follow the pausing and releasing of the playhead?

Is the Continue button also set up with Infinite attempts?

Sorry, have some urgency at this moment.

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 Beginner ,
Jun 06, 2024 Jun 06, 2024

Copy link to clipboard

Copied

In a mtg now so I will be later in responding also. And I may not have described the image status accurately. The images are graphics, not button objects. A "fade" layer is on top of those, then the interactive "button" layer is the icing.

I will work on the cpInfoCurrentFrame tracking after this mtg.

 

Again, my deepest appreciation for all your time on this!!

 

Oh, but you MAY have been talking about the *_chk (checkmark) items that WERE marked as buttons. I have since removed that button feature, so they should now be inert.

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 Beginner ,
Jun 06, 2024 Jun 06, 2024

Copy link to clipboard

Copied

Yes, the project is unecessarily complicated BUT Rod helped me weed out some of the worst redundant actions. 

 

I added back the continue_btn to Slide On Enter Advanced Action and ran the cpInfoCurrentFrame tracker. Having removed the actions from the *_chk images, the presentation plays to about frame 655, which, based on the slide audio playing corresponds to the end of the slide, which is around 22 seconds.

 

Aside from the Continue_btn, there are now no pauses aside from the continue_btn which has been successfully hidden.

 

Removing the continue_btn from the slide On Enter Advanced Action allows the presentation to stop as anticipated....OHHHHhhh... is THAT the problem? With the continue_btn slide HIDDEN, there is nothing to stop the presentation so it rolls onto the next slide....?????

 

My slide On Exit is "No Action".... should that be "Pause"?

 

OK, when I added back the Continue_btn to the slide On Enter Advanced Action, the presentation DID stop at the end of the slide, but now the text content is all hidden and the topic completion checkmarks are not appearing when the topic buttons are clicked.

 

With this configuration now, the slide pauses after the introductory slide audio, and when clicking a topic button, the audio plays, but the text flashes for a brief fraction of a second then disappears. So this is now some type of weird timing hiccup.

 

All text boxes are fully extended to the end of the timeline. I have removed any conditional statements from the topic actions.

 

At this point, I am lost. I don't know what is going on  or why.

 

 

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 ,
Jun 06, 2024 Jun 06, 2024

Copy link to clipboard

Copied

If the only pausing point is for the Continue button, the learner can get past that pausing point if that button is hidden indeed. Why should you hide that button, since you use the timeline to postpone its appearance. You can make its timeline even shorter, move the pausinng point and it start frame more to the end. If you want to use a condition to have it appear, you'll need another interactive object to pause the slide towards the end (click box if it is not a responsive project) while the Continue button is hidden. I suspected from the start that those pausing points played a role in your problems.

You know probably that the frame countere is over the complete project. Your conclusion about the frame shown at the end can be correct provided this is the first slide in the project. I see in the F9 panel that it is indeed the first slide.

Do not use the On Exit event, it is not to be trusted at all, and happens just after the last frame. I avoid to use it like the pest.

I start to see the full workflow almost. The conditional action triggered by the Continue button should not be in that location, but as a second decision in the 4 actions triggered by the four buttons. It is the reason I offered you a while ago a link to the example explained as shared action. I used a user variable for each of the flip cards (logic is exactly the same for your situation and even for more situations). That user variable starts with 0, and is incremented with each click on the flip card (or the button in your case). That is what happens for you as well. I use increment for a reason instead of Assign. The second decision in the action will increment an extra user variable v_counter only when the user variable for the flipcard/button is 1, which means on the first click. There is a third decision which checks only v_counter and shows the Continue button when that counter is equal to the number of buttons that needed to be clicked. In your case that would be 4. What you are doing is taking that last decision out and attribute it to the Continue button. But that button will be hidden, and is not yet clickable. I hope you understand my quick typing. You probably do not even need the ELSE part of the conditions, but to be sure I should really need to explore them in depth. Here is the example in advanced action format:

Counter.png

I use the On Enter action of the slide to hide the Next button (SB_NextSA).

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 Beginner ,
Jun 06, 2024 Jun 06, 2024

Copy link to clipboard

Copied

Making progress here, and gaining knowledge.

 

The reason for hiding the Continue button at the beginning was to have people avoid hitting the Continue button and instead click on the image buttons.  My original scripting then was to have Continue appear after three of four items had been clicked, and the Continue button then validates if the four topics had been clicked, and if not, display a message to view all topics.

 

But, as I have no other clickable objects, I will go back to my original structure of having the Continue button appear, but hidden behind a mask. This stops project long enough for the text to display, and by using user variables, I can unmask the Continue button when needed. A kludge, but at this point, a workable kludge.

 

Yes, this example is a stand-alone, for this experimentation, but it is being incorporated into a larger training project.

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 ,
Jun 07, 2024 Jun 07, 2024

Copy link to clipboard

Copied

Don't forget that the button will remain active, even if you cover it with a mask. Be sure to hide the hand cursor. I never like to use a cover for an interactive object. That was a possibility in older versions but not anymore. This setup needs real streamlining...

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 Beginner ,
Jun 07, 2024 Jun 07, 2024

Copy link to clipboard

Copied

No argument that this slide needs work, but project deadlines loom.

 

Your suggested modifications would be:
Shared Actions

Reduce number of redundant show/hides in the Advanced Actions

 

What else?

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 ,
Jun 08, 2024 Jun 08, 2024

Copy link to clipboard

Copied

You first have indeed to simplify the advanced actions. A lot can be done by using grouping wisely. Show/hide can in some cases be replaced by using state commands on multistate objects. Have a look at:

Tip 3: Show/Hide or Multistate object? (Advanced/Shared actions) - Captivate blog (lilybiri.com)

Splitting up long decisions in multiple decisions can allow simplification. In that case avoid the ELSE parts, with perhaps the exception of the last decision. Sequence is very important, and avoiding ELSE will help to have later decision override former ones when that is unwanted.

Switching to shared actions (I wrote already about the advantages) means reflection about the parameter use. Here is another link:

Tip 5: Parameters (Shared Actions) - Captivate blog (lilybiri.com)

Especially the choice to define some user variables as parameters is critical.

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