Forum Discussion

MelissaMorri856's avatar
MelissaMorri856
Community Member
3 days ago
Solved

Advanced Branching

Hi all,

I have a course that I have setup to branch by customer and internal associate. I have taken the course and simplified it down for posting. Here is my issue. If go down the customer path first, it works fine and returns me to the customer home page. Great. However, when I then go back and select Associate, and go down the associate path, it takes me back to the customer. What am I missing here to get Storyline to be able to send me back to the correct home page.

  • Part of the problem relates to having two competing variables for customer or associate. Storyline will fire the first trigger in the list that matches the set values. If you previously followed the customer path, then the RoleCustomer is set to True. Even if you subsequently select the Associate path, RoleCustomer is still True, and since the triggers to jump to a home page place the customer trigger first, you always return to that page (Slide 2.23).

    A fix could be to explicitly set and unset the Role variables. So, on Slide 1.6, add an extra trigger before each current Set Role trigger. Before setting the RoleCustomer to True, set RoleEcolab to False, and vice versa for the other set of triggers. This way, only one Role variable is true at the same time.

    Alternatively, set the variables to False at the end of each training section to clear them, or if there are just two roles, you could just use a T/F isRoleCustomer variable to differentiate the roles. Just explicitly specifing  both on Slide 1.6 is the easiest though.

    Just watch out for any other areas in your project that may set conflicting variables that you later want to use for conditional decisions.

6 Replies

  • Both roles go through scene 2. Here's the last slide in that: 

    Triggers run in order. If the RoleCustomer variable was changed to True first (i.e., the user went down that path first), the Next button will jump to slide 1.7. The program won't even run the trigger that jumps to slide 1.8.

    I suggest using just one text variable to track the Role. Adjust its value to "associate" or "customer" based on which role the user selects. Then use those values in your triggers.

     

    Also...

    re: slide 1.7, Customer Home

    The Next button trigger jumps to "next slide." What is "next" is determined by the numerical order of the slides. Therefore, this jumps to 1.8, which is the Associate Home slide. 

     

    re: trigger conditions

    With the conditions connected by "and," that action will only happen when all of the variables = False. You need to connect the variables with "or" so the action will happen when any of the variables = False.

     

    re: settings variables

    Trigger order matters. Storyline can't run a trigger if it's already jumped to another slide. You need to change the trigger order so the "jump to" trigger is last. 

     

    re: when variable changes

    A "when variable changes" trigger will only run on the slide where the variable changes. So this and the similar triggers will never run, because the variable changes elsewhere. 

    Also note that any object with a Visited state automatically changes to Visited when it is clicked. So you don't need this trigger at all if you don't mind that happening before the user actually finishes the section (e.g., if they can't return to the Home slide until the section is finished). Otherwise, change it to a custom state when the timeline starts on the slide with a condition that the variable = True. 

     

    For reference: 

    • MelissaMorri856's avatar
      MelissaMorri856
      Community Member

      Thank you for your feedback.

      One slide 1.7 or 1.8 the next button will jump to a quiz once I have added that. The and triggers are set the correct way. All of them need to be completed before the next button will display.

      Thank you for the help on the settings variables and when they change.

      • JudyNollet's avatar
        JudyNollet
        Super Hero

        I understand that you want all of the topics to be completed before enabling Next. I also understand that the associated variable is adjusted to True when a topic is completed.

        However, this trigger for hiding the Next button won't hide Next until all of the topics are completed.

        When conditions are connected with "and," all of the conditions must be met. Otherwise, the trigger won't perform the designated action. So, with that trigger, the Next button will only be Hidden if all of the variables = False. After any variable changes to True, the action won't be performed. The Next button will show when the user revisits the slide after finishing just one topic (that is, one variable = True). 

        That is why my earlier reply said to change the condition connectors to "or." When conditions are connected with "or," the trigger's action will be performed if any of the conditions is met. So if that same trigger used "or" instead of "and," the Next button would be Hidden if any of the variables were still False (that is, if any topic hadn't been completed). 

        This trigger with conditions connected by "and" would also accomplish the same thing: 

  • Part of the problem relates to having two competing variables for customer or associate. Storyline will fire the first trigger in the list that matches the set values. If you previously followed the customer path, then the RoleCustomer is set to True. Even if you subsequently select the Associate path, RoleCustomer is still True, and since the triggers to jump to a home page place the customer trigger first, you always return to that page (Slide 2.23).

    A fix could be to explicitly set and unset the Role variables. So, on Slide 1.6, add an extra trigger before each current Set Role trigger. Before setting the RoleCustomer to True, set RoleEcolab to False, and vice versa for the other set of triggers. This way, only one Role variable is true at the same time.

    Alternatively, set the variables to False at the end of each training section to clear them, or if there are just two roles, you could just use a T/F isRoleCustomer variable to differentiate the roles. Just explicitly specifing  both on Slide 1.6 is the easiest though.

    Just watch out for any other areas in your project that may set conflicting variables that you later want to use for conditional decisions.

  • Hello,

    I have a guess as to what is happening. You might wish to explore this idea.

    If a learner clicks Customer, then you would be using a variable, "RoleCustomer" to be changed to True. With this variable set as True, then the following experience would be triggered to be customer-oriented. However, upon returning to the point where the Associate path is chosen/used, is there anything to turn off the "RoleCustomer" variable to "False"?  If not, then perhaps the project is continuing to send the user back to Customer slides because the "RoleCustomer" variable is still True.

    It seems to me that you can send learners to 2.1 on both the Customer Path and the Associate Path. However, at the last slide in the scene of 2.23, your triggers to send the learner back to either the Customer or Associate home screen are dependent upon whether or not the "RoleCustomer" or "RoleEcolab" variables are true. Wouldn't it be possible to visit 2.23 as a Customer, then visit 2.23 as an Associate, and then be sent back to 1.7 Customer Home because the "RoleCustomer" variable was initially set to True before the first visit to 2.23, and then never turned to False on the second visit to 2.23? 

    If this solves your problem, please mark it as Solved. Otherwise, feel free to ask a follow-up question or post an additional comment.