Tracking Progress and menu state w custom login

Use templates to standardize and re-use content functionality

Moderator: Nav

Tracking Progress and menu state w custom login

Postby jbasore » Mon Jul 12, 2010 10:48 am

Background: This questions is for how to keep track of individuals course progress and menu state when multiple people use the same computer. ALSO: This is for a course that is not deployed into an LMS and tracked via SCORM.
I have a Master Page template that Bookmark's a users progress and menu state so that when they leave the course, they can use the Bookmark to return to where they left off (30 day expiration). However, if ten people use the same computer, after the first person completes the course everyone that follows will be able to use the previous person's Bookmark and jump straight to the end of the course.

Question: I would like to have a start screen that has the learner login by typing their First Name into a text field "James" . I would like to store this value "James" in a global variable and then somehow associate it with Bookmarking.

Here's what I want to happen:
1) The person logs in by typing their name in the text filed "James" 2) When they return to the course, their progress will have been Bookmarked and they will be presented with a Welcome Back screen. AT this point, "James" will be able to continue where he left off or start over. If "James" selects to continue his progress he will go to the Bookmarked page. IN addition, the menu will show all of the pages that only "James" has completed (with a green checkmark in the menu).

Thanks - james
Posts: 3
Joined: Mon Dec 21, 2009 7:31 am

Re: Tracking Progress and menu state w custom login

Postby Nav » Tue Jul 13, 2010 5:42 pm

Hi James,
This is relatively complicated stuff here. Thanks for the challenge! There is a sample lesson in the Shared Library > Examples folder called "cookie user bookmark + menu experiment".

Basically you need to two cookies, one for the menuState, and one for the bookmark, and you'll them for every user that comes in. I think we were using ID numbers before, and not names, so let's stick with that.

You'll need to capture the learner's ID number, so you need a display to get that. Then you can use that text, let's say it's "1234", to name your cookies. But those cookies have to have different names, so you can tell them apart. "1234bookmark" might contain a value of "Page 8", and "1234menu" might contain information regarding the state of the menu.

First thing you need is 2 variables, one called bookmarkCookieName, the other called menuCookieName. For this example, we'll want bookmarkCookieName to equal "1234bookmark". So you set the Variable bookmarkCookieName to the value of the Input Text ("1234"). And then just append the string "bookmark":

Trigger: ID entered Continue button > onClick // this is right after they input their ID number and click the Submit button
Response: bookmarkCookieName > setValue > Function > Input Text > getText
Response: bookmarkCookieName > append > "bookmark" // leaves you with "1234bookmark"

And then as part of this same action, you do the same thing for menuCookieName
Response: menuCookieName > setValue > Function > Input Text > getText
Response: menuCookieName > append > "menu" // leaves you with "1234menu"

Now you have 2 names that you can use over and over again for setting the bookmarks and retrieving them. For example, to save the data, you'd do this:

Trigger: Page Controller > onPageChange
Response: Cookie object > setCookie > name = Function > Variables > bookmarkCookieName ; value = Page Controller > getPageName
Response: Cookie object > setCookie > name = Function > Variables > menuCookieName ; value = Menu object > getVisitedPages

And to get it back you'd do the opposite:

Trigger: ID entered Continue button > onClick // basically after you validate who you are.
Response: bookmark output > setText > Function > Cookie object > getCookie > name = Function > Variables > bookmarkCookieName > getValue
Response: Menu object > setVisitedPages > Function > Cookie object > getCookie > name = Function > Variables > menuCookieName > getValue

That's the guts of the interaction. In fact, there's more to those actions than that (you may want to check to make sure people actually enter an ID). For all the structure stuff, please see the example lesson, located in the Examples folder. Let me know if anything is unclear!

- Nav
Posts: 866
Joined: Mon Nov 05, 2007 2:58 pm

Return to Templates

Who is online

Users browsing this forum: No registered users and 1 guest

Not able to open ./cache/data_global.php