About storyline encryption issue

Dec 10, 2012

Dear Sir:
I am wondering if your company can provide a software or technique to restrict the usage of a storyline file. 

For example, a content provider may use such technique to setup a deadline for its storyline files, so that those files will be deactivated after the deadline.

Thanks.

5 Replies
Steve Flowers

Using JavaScript, it is possible to parse the date/time into a variable or to process for date logic and flag a variable "expired". You could then use this value to lock certain parts of a course or alter the behavior of a course. Note that if the user changes their clock / date, this method can fail to detect the change.

Here's an example:

  • Within your course you create a variable called isExpired with a default value of false.
  • Create a JavaScript trigger to process your date logic (see below)
  • On your first slide (or your master slide) you create a trigger to jump to a slide with "Sorry, this course has expired" (with no navigation on the slide) when the timeline starts if isExpired=True.

JavaScript Trigger:

// Get the current date 

var now = new Date(); 

var currentDate = new Date(now.getFullYear(), now.getMonth(), now.getDate());

// Set your expiration date

var specificDate = new Date("9/25/2012");

var player=GetPlayer();

if(currentDate>specificDate){

//set the storyline variable to true if the date has passed

player.SetVar("isExpired","true");

}

yuting chien

Dear Steve:

Thank you very much for the instruction.  I put the trigger in the master slide so that every slide of the course will jump to the warning screen after the deadline arrives. So far, it works perfectly.  However, here comes a problem:

If I need to change the deadline variable, I will have to replace all the triggers in the course.  Is there a way in storyLine that I can store the deadline somewhere as a global variable so that I only need to change one variable instead of all triggers?

Thanks.

Steve Flowers

If you create a variable called something like expiresOn as a text variable within your story you should be able to employ this variable throughout. I commented on the new lines and moves from the previous script.

var player=GetPlayer(); //moved this up

var expires=player.GetVar("expiresOn"); //this is new

/ Get the current date 

var now = new Date(); 

var currentDate = new Date(now.getFullYear(), now.getMonth(), now.getDate());

// Set your expiration date

var specificDate = new Date(expires); //this is new

if(currentDate>specificDate){

//set the storyline variable to true if the date has passed

player.SetVar("isExpired","true");

}

John Pieterse

Hi Steve,

I have just posted my question below as a new post when i ran into your comment on Yutings question. Mine is somewhat different but has also to do with protection.

Perhaps you have a suggestion (Thanks for reading it by the way)

I would like to distrubute several projects via a downloadlink to Win pc's. I know I can do this with WinZip combined with selfextract but virusscanners go into alert and it is also more work to install for the client.

What I am looking for is a sort of file packager like the commonly used InstallShield (also used by distributing SL). I can then add a key to it and avoid illegal copies.

Does anyone has any ideas how to tackle this? InstallShield seems to be very expensive of what I have heared.

For example, here you see the publish possibilities of Lectora. The single exe file is just the thing I would like to see for SL. It is well protected and zipped very easy to download.

Any suggestion is welcome!

Best regards,

John

This discussion is closed. You can start a new discussion or contact Articulate Support.