Beware: Adding new variables to an existing live course in an update will break the suspend data

Hi,

I have come across another quite serious bug within Storyline. If you update a course where another variable is added, it breaks all the existing variables in a live course if you click "continue".

As another variable is added, it looks like the suspend data string becomes incorrect and therefore variable values are appearing in the wrong order. For example, my string variables which contain text, now contain zeros.

This means I have to be very careful about future updates which will inevitably need to happen. This will no doubt prove quite a problem for future proofing my courses.

Clicking "no" does fix the issue, but clicking continue needs to happen as progress needs to be saved.

Can anyone shed some light on how the variables are stored within the encrypted string? I am wondering if adding new variables ending in Z will not reorder them?

Thanks

9 Replies
chiefy .

So, what you're saying is...

You have a course, you get half way through that course. Then you make changes to the course, adding a new variable. When the user then goes back into the course, all the existing/old variables no longer work as expected.

Obviously you don't want users to have to restart a course just because you've made a small change somewhere.

This does sound like a very serious bug, I shall do my own testing now.

Thanks for bringing this issue to the attention of the community Elliot.

Ell O

Sorry Ashely I cannot share my files unfortunately.

Apologies if I was confusing but yes Gary that is exactly right, updating an existing course with new variables breaks the course when you resume as the variables become out of sync. As I mentioned I suspect it is to do with the suspend data field breaking as it is having to add a new variable.

If it wasn't encryped it would be a lot easier to see where the problem was.

I have messaged the support engineers.

Many thanks

Ell O

Hi Ashley,

I did not get a case number or a confirmation email. I did get a popup saying that my message has been sent to support but that is it.

We have done a lot of testing on it while looking at the suspend data string. We have tested it on a new build version and it does break the moment a new variable changes within a resumed course. There is no specific order to the variables, they just get moved about at random so every variable is wrong.

We have found a workaround by adding spare variables within the course. For example, we have added 5 spare text variables and 5 spare number variables. Just having them in the variables box is not enough though, they have to be used within the course. We added some text boxes off screen with the spare variables in them. So just a text box with %sparetextvar1% in it.

As long as they are present, they can be renamed and reused without breaking an existing course.

This is not the best way of future proofing a course so it would be great to get a proper fix.

Thanks.

Ashley Terwilliger

Hi Elliot,

I don't find a case associated with your name as listed here - and without a case number, I don't have any other way of tracking it down but you should have received a reply within a day - so if you didn't get one, I'd start by looking in your junk/spam folder. If you still don't find anything, please go through the submission form again here or email support@articulate.com directly. 

Ell O

Hi Russ and Ashley,

Thanks for the replies.

I spent a while looking at a very simple course with variables and checking the suspend data string as new variables were added and updated. Long story short it basically proved that updating any variables when new ones had been added did indeed break an existing course.

I like the idea of rebuilding the suspend data each time as it would definitely give me more control. I havent tested doing this much (basically because I am not sure how yet) but I don't see why it wouldn't work.

I am currently using interaction complete variables where the next page button is unlocked on completion so I am using a lot of variables. If the client asks for a page to be locked down, a variable needs to be added.

It shoudn't happen, but if it does, I have created 5 spare number and 5 spare text variables that are set off screen in text boxes aka "%spareTextVar1%" off screen on the first page. As long as they are set (which adding a text box seems to do), editing the name and using them on a new interaction seems to work OK.

Any more variables than 5 should really, as you say, be a new version.

Cheers!