Bookmarking and Time Spent

For issues related to delivery of content to end-learners e.g. LMS tracking via SCORM and delivery of content offline.

Moderator: Nav

Bookmarking and Time Spent

Postby jzoeller » Tue Sep 18, 2007 11:13 am

Are bookmarking and time spent in a lesson the function of Smartbuilder, as a couresebuilder, or of the LMS? If it is the function of the coursebuilder, how is this done in Smartbuilder?
Jim Zoeller
UPS Airlines
jzoeller@ups.com
jzoeller
 
Posts: 44
Joined: Mon Apr 02, 2007 5:56 am
Location: Louisville, KY

Re: Bookmarking and Time Spent

Postby kentxu » Mon Sep 24, 2007 6:49 pm

jzoeller wrote:Are bookmarking and time spent in a lesson the function of Smartbuilder, as a couresebuilder, or of the LMS? If it is the function of the coursebuilder, how is this done in Smartbuilder?


Creating a bookmark
Bookmarking functionality is not pre-coded into SmartBuilder lessons. Instead, it is up to the author to decide how the bookmark should function, and when to set and retrieve the bookmark.
Bookmarking is created by storing a text, a.k.a. string, variable on an LMS, and then retrieving it and taking some action based on the variable. The most common usage is to base the variable on the last page visited, and return to that page when the lesson is re-launched. However, bookmarking could also be used to “remember” other content viewed by the learner. For example, to indicate the last display viewed and return to that display.
Example of how to create a bookmark tracking the last visited page:
1. On load of page 1, jump to the page with the same name as the bookmarked page:
a. Create an action with a trigger: Page Controller > onPageLoad
b. Create a response: Page Controller > gotoPageByName (SCORM API >getSCOLocation)


2. On all pages except page 1, create an action to update the bookmark with the current page’s name:
a. Create an action with a trigger of Page Controller > onPageLoad
b. Create a response: SCORM API > setSCOLocation (Page Controller >getPageName)


Tracking session time
Tracking how long a learner spends in a lesson is automated in SmartBuilder content. The lesson must be launched from a SCORM compliant LMS for this information to be tracked.
When the lesson is closed, whether by using the Page Controller > closePage method, or by clicking the browser close “X” button , a SCORM call, session_time, is automatically sent to the server.
How this data is used by the LMS is outside the scope of this documentation. For example, some LMS’s may display the session time exactly as reported by the SmartBuilder lesson. Other LMSs may calculate their own session time by subtracting the time of the LMSInitialize call from the LMSfinish call. Other LMSs may aggregate the session time from multiple sessions to create a “total session time”.
Development Team
kentxu
 
Posts: 33
Joined: Tue Mar 13, 2007 3:08 pm

Re: Bookmarking and Time Spent

Postby jzoeller » Fri Aug 08, 2008 7:28 am

OK, I have finally implemented bookmarks in one of my lessons. However, I have run into a problem. Because the "Go to Bookmark" action is on page 1, every time I try to navigate back to page 1, it jumps back to the previous page, since that is where the last setSCOlocation was set. I am running into an endless loop. Is there a way to work around this?
Jim Zoeller
UPS Airlines
jzoeller@ups.com
jzoeller
 
Posts: 44
Joined: Mon Apr 02, 2007 5:56 am
Location: Louisville, KY

Re: Bookmarking and Time Spent

Postby SB Support » Sun Aug 10, 2008 9:52 pm

It sounds like you want the following logic: The first time page 1 is loaded, check the LMS (or other admin database) and get the bookmark, then jump to the page stored in the bookmark. (Many authors will set up a display to ask the learner if they want to use the bookmark or not, but of course that's your design choice and not relevant to your question). However, for subsequent times page 1 is loaded in the session you want to ignore the bookmark. If that's accurate, then try using a t/f to track if its the first time the page1 is loaded, and only if it is then jump to the bookmarked page, otherwise do nothing:

1) Create a True/False variable, let's call it "first load"
2) In your action where you jump to the bookmarked page, add a condition: first load.getValue == true
3) In your true response section, add another response that sets "first load" to false. Make sure this response comes before (above) the response where you jump to the bookmarked page.

Hope that helps
SB Support
 
Posts: 79
Joined: Tue Aug 21, 2007 4:37 pm

Re: Bookmarking and Time Spent

Postby dawn.dickinson » Thu May 07, 2009 4:16 pm

Hi -

I have a question regarding how to set up the below you mention...
Many authors will set up a display to ask the learner if they want to use the bookmark or not, but of course that's your design choice and not relevant to your question.
I do want to set my course up this way and have placed a display set on page 1 asking this question. I have the actions set up as follows:
pg controller - on page load
pg controller - go to page by name
scorm api.getSCOLocation
Bookmark display set - show
scorm API LMSSetValue cmi.exit, suspend

When I upload my course to the LMS, take it, exit, and go back into it my display set with the do you want to start over or go to where you left off does not display. The bookmark does pop me to the page I was on.

where have I gone wrong?
Thanks,
Dawn
dawn.dickinson
 
Posts: 11
Joined: Tue Mar 10, 2009 10:36 am

Re: Bookmarking and Time Spent

Postby Nav » Mon May 11, 2009 10:39 am

Hi Dawn,
I think this thread is more complete: viewtopic.php?f=4&t=168&p=444

In any case, there is a template located in the Templates > - Master Page Resources folder. It is called "Bookmarking using SCORM". I would recommend saving a copy of that, or applying it to a lesson and picking apart the actions while you are reading through this explanation. Also take a look at the Introduction and the Bookmark displays, as they will help clarify things.

There are multiple parts to this functionality. First, you need to tell the LMS which page has been loaded (SCO Location). This means that you either have to set up an action on every page, or simply set up one action on the Master Page (which is better). I won't reproduce the code here since it exists in the template, but I'll explain it. So every time the page is changed, the lesson tells the LMS the name of the page.

Why doesn't it do so on Page 1? Lets look at an example - You go from Page 1 to Page 2, and the lesson says "I'm on page 2!". Then you go to page 5 (let's say using a menu), and the lesson says "I'm on page 5!". Well, then you close the lesson and re-open it. As soon as you open the lesson it says, "I'm on Page 1!", which will overwrite your useful data of page 5.

Now there's another action on the Master Page, onPageLoad, that looks to see if there is a bookmarked value. If there is none, it means that this is the learner's first time through the lesson, and it will popup a message taht welcomes the learner. You can also delete this part of the action if you don't want a 1st-time-through introduction. The other condition, if there is a bookmarked value, pops up a "you left off on page x" message and gives the learner the option to jump to that page or start the lesson over.

Finally there are some other actions that take the learner to the bookmarked page or hide the displays, but the tricky stuff is located above.

The only thing that you have to remember is to set the lesson to suspend (basically tell the LMS that you intend to come back to this lesson, so don't dump the data that you've stored up). In the template, there are two actions, one for SCORM v1.2 and one for 2004. Disable and un-Disable (enable) the actions to match your LMS. If you have the wrong one, it will give you an error message when you launch the lesson in your LMS.

So that's an explanation of the template. It's actually a pretty complicated little piece of functionality. If my explanation wasn't clear (a very real possibility), we can set up a meeting and take a look at the functionality together. You can call me at 760.635.5700x207 or let me know the best time to call you.

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


Return to Delivery (LMS Tracking / SCORM / Offline Delivery)

Who is online

Users browsing this forum: No registered users and 2 guests

cron
Not able to open ./cache/data_global.php