Copy link to clipboard
Copied
I have created a library of small training units using with Captivate 7 and published as swfs. I created a hub project in Captivate that is also a swf from which all published training units can be accessed.
This hub project has a Welcome page, and from there the project branches into pages for several functional groups, via buttons. For each functional group there is a page with set of group-specific buttons that link to their training units. Each button uses the Action>OnSucess>Go to URL or file option to point to, and launch, a unique training swf. It works really well, except for one problem.
If a user is watching one of the swfs and wants to return to their group-specific page to choose a different unit to watch, I cannot seem to make that work. I know how create a button on a master page, for "go back" and use Action>OnSucess>Go to URL or file and can return the user to the hub's Welcome page, which is not where the users want to return to. They want to return to the page with the buttons for their group's training units—that is, where they were before the swf started—and not have to re-navigate back to that page from the Welcome page. So, not only do I want to send users to the hub, I want to send them back to a specific page in the hub. Is there a way to do that?
thanks,
Janice
Copy link to clipboard
Copied
So on return to the 'hub' piece, you need some way for that piece to know that it is being returned-to by a specific sub-unit, so it can skip the main menu and proceed to the proper submenu...right?
First, the easiest way by far would be to just merge all pieces into one overall Captivate project...but 'easier' in the sense of being able to jump to where you want, not necessarily easier from a maintenance or manageable sense.
You need to somehow pass a value from the selected>exited training piece to the Hub piece, so it knows it's being returned-to and can act accordingly (i.e. jump you to the correct subsection). The only way I imagine that's possible is custom javascript...
(The selected>exited piece would set a JS variable value which the Hub piece would read once it loads and determine, from the value of that variable, where to navigate to)
Unfortunately, while always an intention to play with, I've never done it.
These may help:
Adobe Captivate 6 & The JavaScript API - CaptivateDev.com
Re: Using the Execute JavaScript Window
Can we pass parameters back and forth between Captivate 4 and a homegrown LMS?
http://captivatedev.com/2014/09/22/javascript-video-series-adobe-captivate-8/
Copy link to clipboard
Copied
@Erik - I agree with you that the easiest way to accomplish what I want to do is to bring all the content into one larger Captivate project and use branching. It will be a lot of work, but better than figuring out how to make the passing parameters features work properly.
Thanks!
Janice
Copy link to clipboard
Copied
Reading a URL parameter is baked into v8 & 9, but you can use some javascript to do it in v7. See this page:
How to pull URL parameters into my Captivate 6 flash
So, in each group, add a param to each link in that group with the name of the group - something like:
www.mysite.com/mycourse.htm?groupname=Accounting
Then, in each course, create a groupname variable, read the groupname param on the first slide using the script, and change your current object from an Open URL action to an Advanced Action that checks the value of the groupname variable and opens the appropriate URL.