Tech Team Twitter Feed

Tuesday, May 8, 2012

Lectora: Creating Dynamic Navigation for Back Buttons

Goal
A student can navigate to a page from multiple other pages, including from the Table of Contents (TOC). Create a solution of actions, which is easy to implement and re-use,  for the back button to send the student either to the page they came from or if navigation was from the TOC then define a specific page for the back button to navigate to.
Directions from the Instructional Designer (ISD) to the programmer come in the form of a detailed storyboard. A flow chart identifies each topic’s flow within a lesson.
The flow chart segment below (figure 1) shows page L22T01075 can be navigated to directly from three pages: L22T01060, L22T01065, and L22T01070.  Since this course has a TOC, L22T01075 can also be navigated to from any other page using the TOC.
Figure 1
Our storyboard captures the logic to be used for the back button (table 1).
Button
Go to Actions
Back
L22T01060, L22T01065, or L22T01070, or (if coming from the TOC) L22T01055

Table 1

A naming convention identifies each page and element on that page.  LxxTyyzzz where “L” and “T” stand for Lesson and Topic respectively and the xx,yy, and zzz values identify the lesson, topic and page numbers.  For ease of rework and possible additional pages being required during the review cycle, page numbers are incremented by a value of five.  L22T01075 then is Lesson 22, Topic 01, page 075.
Listing of actions, action groups, user defined variables and system variables used (table 2).

Action name
Action Group Name
User Defined Variable
System Variable
setL22T01075_visited
Back button actions
theReferrerPage
CurrentPageName
set sendBackToPage var

sendBackToPage

set theReffererPage var








Table 2
Overview of Steps
1)      Collect, identify and store, in a variable the page you are coming from
2)      Set back button onClick to “Back Button actions” action group.
3)      Evaluate the variable and set actions accordingly.
Step 1
A) Set variable “theReferrerPage” with a delay of two seconds to the value VAR(CurrentPageName).  This resets this variable to the name of the page you are currently at. The delay ensures Step 1B happens first and the page you came from is set before being overwritten.  While this action must happen on each page it should not be a global action.  The reason for this is the delay.  The delay is ONLY needed in this scenario when you need to set the sendBackToPage variable.

Figure 2
No conditions set in this action.
B) Create action “set theReferrerPage”.  Set  variable “sendBackToPage” to the variable “theReferrerPage”.  Note that this variable is set on every content page upon “Showing” that page.  The variable “sendBackToPage” now holds the name of the page you come from. This is shown in figure 3.


 Figure 3
No conditions set in this action.
The value of the variables once these two actions have completed if the user navigated to L22T01075 from L22T01060 is as follows:
sendBackToPage = L22T01060
theReferrerPage = L22T01075

The Back Button “on Click” action should be set to run the action group ‘back button actions” as shown in figure 4.
 Figure 4
The action group “back button actions” should have four unique actions to handle the four different actions associated with this specific scenario.
The four actions for this scenario are shown in table 3.

If coming from
Then go back to
L22T01060
L22T01060
L22T01065
L22T01065
L22T01070
L22T01070
TOC

Ie not coming from L22T01060, L22T01065, or L22T01070
L22T01055

Table 3
Figure 5
If coming from the TOC (I.e. not coming from L22T01060, L22T01065, or L22T01070)
Action: Go To
Target: Chapter, Section, or Page
Name: L22T01055
Condition
Perform action ONLY if the following is true (Checked)
Any of the Following (selected)   Set up the three conditions as shown in table 4.


Variable
Relationship
Value
sendBackToPage
Not Equal To
L22T01060
sendBackToPage
Not Equal To
L22T01065
sendBackToPage
Not Equal To
L22T01070

Table 4

Figure 6


Condition
Figure 7

Each of the specific pages do the following for L22T01060, L22T01065, and L2201070 changing the Name and condition value as appropriate
Figure 8


Condition
Figure 9

Why not the JavaScript history: back() method? The logic of identifying one specific page to navigate to in the scenario when coming from the TOC negates using this.

Wednesday, March 28, 2012

Setting SCORM completion values in Lectora

I recently helped a colleague who was having problems getting a SCORM 1.2 course created with Lectora to be marked as completed on the LMS.  The colleague stated “Everything seems to work, but the course is not sending a "completed" signal to the LMS, which keeps the course "spinning" in an incomplete mode. The problem seems to be in how I ask the student to exit the course, which is set as an "on click" to exit the course and close the title. This action is not sending a message of complete to the LMS and I am wondering if there needs to be any additional conditions/variables set on the exit button. “
After several e-mails back and forth I realized that they had not ever instructed Lectora to send the “completed” message to the LMS.  They had mistakenly thought that be setting the course up to be SCORM 1.2 compliant nothing else needed to be done. Lectora has built in variables that will assist you greatly in sending the correct LMS messages but you still need to create the action in the appropriate spot in your course.
Additionally, a test had been created that needed to be passed in order to pass or complete the course. The test score to be passed to the LMS. Communication with the LMS message needed to happen in several spots.  I provided the following information for both SCORM 1.2 (and SCORM 2004 for future reference).   Notice that you can send different vocabulary values in the message based on what your LMS requires i.e. passed, failed, completed, or incomplete.  You need to work with your LMS administrator to see which exact vocabulary values must be used with the specific LMS. This particular instance required “passed” and “failed”.
The exam directs the user to different pages based on passing or failing the exam. Each of these pages then navigates to the last page of the course.
Because the test score was required to be sent to the LMS, following action needs to be on both the “passed” and “failed” test result pages.
Action Name: send score to AICC_Score
On: Show
Action: Modify Variable
Target: AICC_Score (a preset target)
Value: VAR(Test_Score)
Modification Type: Set Variable Contents

Then send the “lesson_status” of the course to the LMS.
SCORM 2004 course
1) Action Name: set lesson status
On: Show
Action: Modify Variable
Target: AICC_Lesson_Status (this is a system variable when your course was first set up as a SCORM course)
Value: passed (on passed page) or failed (on failed page).  
Modification Type: Set Variable Contents


SCORM 1.2 course
1) Action Name: set lesson status
On: Show
Action: Modify Variable
Target: AICC_Lesson_Status (this is a system variable when your course was first set up as a SCORM course)
Value: passed (on passed page) or failed (on failed page).  
Modification Type: Set Variable Contents

Finally, for a SCORM 2004 course add this action
Action Name: set completion status
On: Show
Action: Modify Variable
Target: CMI_Completion_Status (this is a system variable when your course was first set up as a SCORM course)
Value: passed or failed (or completed if that is what your LMS requires)
Modification Type: Set Variable Contents

The differences between SCORM 1.2 and 2004 are subtle but it is important to know what they are in order to be able to use either successfully.

Friday, March 16, 2012

mLearning anywhere

mLearning has been described as "pull" learnig when you need it, when you want it or anytime, anywhere. For example, I am attending a hockey tournament but I have my 3GS iPad2 with. During periods I am watching classroom videos from Stanford University for iOS programming. I get these from iTunesU. For me this is a great use of my time.

Thursday, March 15, 2012

Using Photoshop Actions for Rapid, Quality E-Learning Images

When developing eLearning courses, particularly those of a longer variety, we often create re-usable page templates that include elements such as the GUI, a content area, and a designated space for graphics.  A simple picture (and its thousand words) often is the best visual tool for supporting the content, but just plopping down a raw image typically will jar the overall look-and-feel (especially if your GUI is up to modern standards) and can throw off the entire course (think of a Porsche with primer paint...).

Giving the image an appropriate border treatment or other graphic enhancement (whether we’re talking altering the photo itself or adding things like drop shadows or reflections) will allow your image to work like a part of the team, rather than a distraction that should be benched.

Of course, image treatment takes work and time...and remember my reference to courses "of a longer variety?" What to do when you need treated images on several pages?

You could spend all your time replicating the same graphic design technique over and over...Or you could do it once while recording your technique in Photoshop as an action and then apply that action to your stack of images, potentially saving you countless hours otherwise spent in a PS rut.

http://www.republicofcode.com/tutorials/photoshop/mass_resize/

Wednesday, February 29, 2012

Speaking at eLearning DevCon 2012 in June 2012

Team members Greg Gardner, Michael Sheyahshe, and Damian Liska are speaking at eLearning DevCon 2012 in Salt Lake City this June.  Congratulations!

Michael Sheyahshe is presenting "Hi-5! Leveraging HTML5’s Power for Gaming/Simulation in Online Learning."

Damian Liska is presenting "Souping up Unison: Customizing your Own Templates."

Damian Liska and Michael Sheyahshe will co-present:
  1.  "Here’s the Scenario: Using SmartBuilder to Create Smart Scenario-based Learning," and
  2. "Augment your eLearning with Augmented Reality."
Greg Gardner will be presenting:
  1. "Techniques in SCORM 2004,"
  2. "Skinning mLearning Content with Your Own CSS,"
  3. "The eLearning Programmer’s Toolbox: Choosing the Right Tool," and 
  4. "Maximizing SCORM 1.2 courseware for an LMS." 
Additional information can be found at:

http://elearningdevcon.com/

Speaking at Lectora User's Conference

Team members Mike Raines, Michael Sheyahshe, and Damian Liska are speaking at the 2012 Lectora Users Conference in Chicago this May.  Congratulations!

Michael Sheyahshe is presenting "KAPOW!!! Comic Book-Styled Exercises to Increase Interactivity and Engagement."

Damian Liska and Mike Raines will co-present "Leveraging Lectora’s Objects and Interfaces to Communicate with Embedded Objects."

Additional information can be found at:

http://www.icfi.com/events/conferences-and-trade-shows/2012/05/luc

and

http://www.trivantis.com/lectora-user-conference-2012