Specific Drag and Drop Interaction


I have a specific need for an interaction, and not a single article or YouTube video has been able to help me.  I have a drag and drop interaction that needs to allow for these interactions: user gets it right and moves on through the module, the user gets it wrong once and is allowed to rety by resetting the slide, and finally the user gets it wrong a second time and is redirected to an earlier point in the module in order to review the content.  This is for a graduate class, so it must do those three things.

I have the slide working perfectly for the first two interactions.  If I get it right, it lets me move on, and when I get it wrong the first time, it lets me retry.  But when I get it wrong the second time, instead of sending me to a specific slide for remediation, which I have a trigger telling it to do, it simply resets the slide.  I have also limited the number of attempts to 2, and I have a total of four layers on the slide: base, correct, try again, re-teach.  Please, please help me.  I think this has to be done with a variable, but I do not know how to make the variable, I do not know which layer of the slide to put it on, and I don't know how to execute a trigger using that variable.  I'm sure if I start looking for videos, my specific use case is not going to come up, and I am having a lot of difficulty in applying solutions from different use cases to fix my individual problems.

15 Replies
Ned Whiteley

Hi Ross,

When the user fails the quiz for the second time they will be automatically directed to the Incorrect layer (I assume this is the one you have renamed "Re-teach"). All you need to do is to set your trigger attached to clicking the Continue button, to jump the user back to the required point in the course:

In the attached example, I have set up a very basic outline of a four slide course. After completing the first two slides, the user is jumped to the quiz. A correct answer in the quiz results in the user being jumped to the final slide (Next Slide). One failure sends the user back to the quiz and a second failure sends the user back to Slide 2 via the Incorrect layer.

Ned Whiteley

Hi Ross,

From the image you have provided it looks like you are using triggers and variables to set up the number of attempts a user can have, which is making your life far too complicated. All the functionality you need is built into the Storyline quiz slides as per the example I posted above.

You have the ability to set the number of attempts for a quiz, which will cause the user to be sent to the Try Again layer when they get the question wrong, until the reach the number of attempts that you set. At this point, if they fail again, they will be automatically sent to the Incorrect layer. The only trigger you need to set is for where you want the user sent when they click the Continue button on the Incorrect layer. By default, that should be set to "Next Slide" and so all you need to do is to change the destination to suit your requirements.

Ross Mulligan

This was a drag and drop interaction that had to limit the user to 2 tries.  On the first try, reset the slide and let the user try again.  On the second try, redirect the user back to a previous slide, which was about 5 slides deeper into the project.  The logic to do all that was not intuitively built into the DnD interaction, or at least I couldn't pick up on it.  Originally, it had no variables, only triggers.  this is what the slide looked like after I finally found a YouTube video from a random person who had a project going with two attempts within a DnD:

Ross Mulligan

Yea, this time the project works as I needed it to, but with a few less triggers I guess.  I have some showing and hiding going on, which he doesn't have, so I'm not sure if that's something I actually need, or if it's extra.  The "add" trigger using a variable is what I wish the program could do without needing to go to the next level of coding, but I guess that's wishful thinking.  I don't instinctively know how difficult that is for a program to keep track of without the developer needing to put in a special trigger/line of code.

Someone suggested all I needed to do was add a third level of feedback at the bottom of the form view screen, so I added that for you guys to see.  Does this part of the DnD interaction look right? The incorrect line looks off to me...

Walt Hamilton

SL will keep track of attempts for you without triggers or variables. After every incorrect attempt, it will show the Try Again layer, up until the last attempt. When you answer incorrectly on the last attempt (as set by maximum attempts), then it shows the incorrect layer.  What SL doesn't do is to reset the drag and drop interaction back to its original state. There are lots of quite complicated ways to do that, but by far the simplest is to use a variable and keep track yourself of the number of attempts. That way, you can start the quiz slide over at the beginning, and the  objects are in their original spots.

The reason the Incorrect feedback looks like it does is that the layer you are showing after the last incorrect attempt is named something other than "Incorrect".  For layers that use the standard naming convention, the system uses a set master. There it can expect to find a specific text box, and populate it with the contents of the Feedback box. It correctly identifies your layer as a custom layer, and writes itself a not not to look for the text box.

Ross Mulligan

So did I even need the "try" variable I added?  If all I had to do was set the attempts to 2 at the top, and program a trigger for the first failed attempt to reset the slide, could I have just programmed another trigger to take the learner back to "x" slide upon the second fail?  part of my graduate class' assignment was to program a variable inside a branched scenario, but I was able to make a branched scenario without a variable.  I'm not sure if it will get me full points or not, but i'm not too worried-it won't fail me.  So to try and get full points, when this interaction needed a variable, I wasn't too upset when I had to program one in.  I just couldn't figure it out for a long time...  I finally stumbled upon a YouTube video with a title "drag and drop interaction with 2 attempts," which is what mine was.

Walt Hamilton

It depends on the prof's definition of branched and scenario.

If by branched he means the narrative changes depending on the learner's choices, you are probably all right. It may not be exactly what he envisioned. He may be thinking something like: You have the choice to get the vaccine. If you choose no, you die. If you choose yes, you live. I would argue that what you have does that. If you give a right answer, you get to go on, and if you don't, you have to be remediated.  However, Objective 3 is clearly branched - different answers, different results.

If by scenario, he intends "You are faced with these circumstances, what do you do?", then this may not be a scenario. Had I given the assignment, that would have been my intention, but he may just mean a project. Again, you will probably be able to argue that Objective 3 meets his criteria for a scenario.

I noticed on the Drag and Drop that if you have to go to remediation, when you return to the Drag and Drop, you only get one chance. If you get that one chance wrong, you have to go to to remediation. If that's your intention, fine. If you intended for two chances the second time, then the Try variable needs to be reset to 0 when the learner clicks Review. That trigger must appear in the list of triggers above the one to jump to slide 1.6

Ross Mulligan

"A branching scenario OR software simulation. This scenario or simulation should include:
At least 3 decisions points (e.g. challenge questions) if choosing a branched scenario, or at least 3 user-supplied responses if choosing a software simulation.  Use Variables & Conditional Actions to provide at least one branch that is based off of the response to a challenge question not only from the current slide, but also from a previous slide (e.g. you will have to store a previous user response/action in a variable and use it as part of a conditional action later)."

I copied that directly from the project assignment/rubric.  Does my variable used at the end of Scene 1 seem to fit the bill for the overall use of a variable according to what I quoted?  He's a pretty lenient grader; all of my Captivate work has scored a 100%, and he was fine with me switching to SL since that's what the e-learning department at my company uses.  I just can't imagine incorporating a difficult variable situation like I had to do at the end of scene 1 into a branching scenario...and my project isn't even that big!  I have heard some number in the hundreds of slides...

Thank you for fixing that DnD too! I did not intend for the remediation to occur after just 1 try on the second and subsequent loops through; I always want the learner to have 2 tries before the forced remediation regardless of the number of times the remediation has occurred.  I will fix it with your trigger.

How far off am I to having a scenario as you suggested, and if you were the one giving the assignment?  I have a little bit of time left.  If I can understand the coding, I will fix my scenario to be truly what he's looking for, if for no other reason than my own knowledge.

Edit 1: This is the trigger assignment I am adding to the remediation layer above the trigger sending the learner to 1.6: attached.

Edit 2: I am really proud that I was able to create the correct trigger based on that variable my first try, based on what you recommended first.  The slide performs 100% perfectly as I would intend for a slide like that.  My only other issue was with how I presented the information in my scene.  I wanted the learner to not have to click through the T/F questions over and over if they continued to need remediation.  I wonder if this is possible?  Can SL remember the T/F questions were already answered once, whether they were right or wrong, and have the learner revisit slide 1.6 for remediation, but when clicking the next button at the bottom, it takes them right to 1.10 or 1.11, whatever the DnD is?  Sounds like it needs another variable?

Walt Hamilton

Sorry, I've been out of touch a bit. If you still have time, I was going to suggest that one way to fulfill the requirement to have a decision on one page influence the action on another page would be with the remediation, just as I see you are suggesting. It would probably involve another variable along with the try variable (call it try2). Set it to true at the same time you set try back to 0 in the trigger in the picture. (Be sure both of them are before the jump to 1.6.) At the next button on 1.6, jump to next slide if try2 is not true, and jump to quiz if it is true.

The reason you need two variables is that if you don't set try to 0 before the jump to the second quiz attempt, the number of attempts isn't counted correctly. But if you do set it before the jump, then you can't use it as a condition to skip the T/F questions.