I think I'm finally wrapping my head around shared actions. There's one thing that's puzzling me, though, and I haven't been able to find an answer online. I'm hoping someone can help.
On the Advanced Actions dialog, when I click Save As Shared Action, I get a list of parameters. The parameters are items from the advanced action which I'm saving, including variables, literals, and objects such as buttons and smartshapes. See screenshot below.
If I don't need to use a variable or a literal, I can deselect it (for example, I've deselected the literals 16 and 1 as shown above).
But I don't seem to be able to deselect any objects: nothing happens when I click the checkbox for the object.
In this example, I want Success_msg1 parameterized. But I don't want q1_illegal parameterized, because it's always going to be the same (the just script shows and hides it, based on conditional logic). There are about 8 other objects I don't want parameterized.
How can I deselect these objects or better yet, keep them from showing up in the first place?
Copy link to clipboard
You cannot remove objects from the compulsory type,. This has been one of my feature requests since quite a while, but never has been heard. I have written and presented a lot of blog posts about shared actions. Maybe you ignore that you can group objects, which may be a way to limit the number of parameters. One of my 'thumb ruels' is not to use shared actions with more than 5-6 parameters, because in that case duplicate advanced actions are more efficient.
@lilybiri, you are amazing. Thank you so much for your quick reply, and for continuing to share your expertise.
You know, I read your blog post that mentioned compulsory types, and I didn't make the connection with what I was doing--probably because just today I finally wrapped my head around shared actions. Thanks for the reminder.
I did consider grouping, but in this particular project I felt it would be more trouble than it was worth.
And I really like your rule of thumb about no more than 6 parameters. I had a total of 9 or 10 parameters in my shared action which was used on 16 buttons. Because Captivate doesn't let us edit shared actions, I lost 45 minutes to an hour each time I found a mistake in the shared action and had to create a new one and specify parameters again for all the buttons.
Maybe one good thing came of this, though: I logged a feature request with Adobe today, pleading with them (in a nice way, of course 🙂 ) to make shared actions editable. That would have saved me hours today.
In the meantime, I'm going to follow your advice and just duplicate and tweak advanced actions for this particular project. It's a shame, because I really would have preferred to use shared actions. Now I'll have to update 16 separate scripts if I never need to make a change that affects all of them.
Thank you for starting with those amazing shared actions which are ignored by the majority of users and also never demonstrated in webinars, nor presentations at the summits. I am glad my posts did help, have mentioned that rule (and more rules) I created for myself when designing shared actions. My intuition tells me that making shared actions editable is not an easy request to fulfill but making it possible to convert compulsory static parameters to free parameters should be a great improvement, gave up however to see it happen.
Have also described workarounds for editing shared actions: use them as template for an advanced action....
Since for every action I need (and I do use them all the time) I always wonder if it should be shared or advanced, learned that you need a slightly different set of mind when designing a shared action. Totally understand in your use case that you found it to be an excellent one for shared actions, but maybe it would have been possible to think out of the box and have it work nevertheless. I have improbed a lot of actions for clients based on the many hours I spend trying and failing to optimize both advanced and shared actions.
Wished Adobe would invite me (like years ago) to offer webinars and/or presentations meant for non-newbies. Their focus at this moment is only to newbie users.
Copy link to clipboard
Just wanted to follow up with a happy turn of events. Thanks to @Lilybiri's comments, I tried a shared action on a different slide in the same project (this one has 6 icons--the learner clicks each one to show an associated textbox). In the process, I discovered a way to mitigate the problem that shared actions can't be edited.
Previously for the icons I'd just used images/smartshapes as buttons. This time, I used a clickbox. I placed the first clickbox over the icon and specified the shared action to use when it was clicked. (And, Lilybiri, you'll be happy to know I followed your advice and only have four parameters this time 🙂 )
Here's the cool thing. I set the parameters for the first clickbox. Then I copied the clickbox to use over the second icon. It retained the name of the shared action and the previous parameter settings. I just had to alter one parameter out of the four (the clickbox was one of the parameters, and when I copied it, the new clickbox automatically used the new clickbox name for the clickbox parameter--pretty cool!).
Of course as I was testing, I found an error in my shared action <wry grin>. I had to update it. But I didn't update all the click boxes. Instead, I deleted all but the first clickbox, updated that one with the new shared action and parameters, then copied and tweaked it for the other five icons. SO much faster than specifying the updated shared action for each icon and reselecting ALL the parameters for each one (which is what I did yesterday).
I hope this information is helpful to anyone else who's struggling with shared actions. I'm a lot more likely to use them now that I've found a way to update them without a huge investment of time.
I should add that clickboxes were needed in the scenario described in my last post because the icons were all different and so couldn't be copied.
But I just used the same shared action on a page where all the icons were the same, and I didn't need to use clickboxes. I just attached the shared action to the first icon, then copied it as needed.
Kathryn, it is great that you found this workaround, but for the sake of other users want to add some comments (and warnings):
You may not have understood when I spoke about using the shared action as template to edit a shared action. Need to find the blog post where I explained this in detail.
Thanks for these helpful insights and recommendations! Your knowledge is worth gold.
So thanks to your insights, here's my new process if I have to update a shared action on a page that uses the shared action on multiple different images:
This is still overly complex and could be avoided if Adobe would allow updating of shared actions (speaking as a developer, I honestly can't imagine that it's too technically complex--but of course I have never worked in Captivate's development environment, so I'm just assuming from my own experience). Anyway, this new process saves a lot of time over my old process described in a previous post 🙂
Thanks again, Lilybiri. I welcome any additional advice you have. And I hope this conversation is helpful to others who are struggling with shared actions. They are powerful if you can deal with the clunky update process.