Objects

To insert an object:

  1. Select the object to be inserted from the Object Toolbar on the left of the Authoring Stage.
  2. Drag and drop the object to the desired location on the page.

-or-

  1. Click on an object on the Object Toolbar.  It will be added to the Stage at a default location.
  2. Position the object to the desired location on the page.

Note: If a Subset is currently selected when adding a new object, that object will be added inside that Subset.  If you desire to add an object to the Stage, be sure to click on the Stage.  Similarly, if you wish to add an object to a Subset, be sure to click on the Subset to make it your current selection.

Note: Sets cannot be added to Subsets, only at the Stage level.  If you wish to create another Subset in a Set, you can use the controls on the Set

Common Properties

A number of Properties are shared by many objects.

Descriptions are used by screen reading software for certain objects.  Also for Graphics, Audio and Video, the description will be used for the exported media list.

The Object Menu

The Object menu shortcut allows you to quickly create a trigger action using that object or find all actions associated with that object.

Create an Action using the Object Menu

  1. Select the object you want to act as the trigger object.
  2. Click the Object menu icon.
  3. Select "Create action".
  4. Select the desired trigger method.
  5. Click the Object selection button.
  6. Choose the desired response object.
  7. Click the Method selection button.
  8. Choose the desired method.
  9. Click OK.
  10. When the summary window appears, you may change the action as desired.
  11. Click OK.

Find actions referencing a particular object

  1. Select the object you want to act as the trigger object.
  2. Click the Object Menu icon.
  3. Select "Actions Using This Object".
  4. Select the desired action category.
  5. If the action is being referenced in the way you specified, it will appear highlighted in the Action List or Flow Chart.

Select the object on the stage and use the Object Menu to select "Actions Using this Object > All"

Or, if you're using Variables, select the Variable (click the Variable's type) and use the "Where Used" Icon.

Where used

 

This will result in the action(s) getting highlighted in orange in the Action List...

...or highlighted in orange in the Flow Chart.

Audio object

The Audio object holds MP3s.

Note: Although SmartBuilder will play any .MP3 format, it is beneficial to encode your .MP3s at a size that is optimal for online viewing.  We suggest:

  • Layer-3, 44100Hz
  • 128 Kbps, mono

You can choose whether or not to preload your audio.

You can choose whether the audio starts to play when it is shown or not. Even with Autoplay checked, if an audio object is hidden, or placed in a non-visible Display, it will not play until it is shown.  Uncheck autoplay only if you want to start the audio with an action, or a user's click.

User tip: Putting an Audio object in a feedback display with {Autoplay = on} and {Display Controller = off} is a great way to add audio without having to add new actions.

You can choose whether the controller is displayed or not.

You can also choose which type of controller you wish to display.

You can also determine whether the audio loops or not.  A loop count of 0 will play through the audio 1 time and then stop.

You can set the volume for this specific Audio object.

Note: You can set the audio for the entire lesson dynamically using the Page Controller > setAudioVolume response method.  You can also use the volume controller widget to further expose this control to the end learner.

Button object

Buttons are one of the most common interactive objects that you will use when authoring in SmartBuilder.

You can have multiple Buttons that are linked in a group, meaning that when you click on one Button, it will remain in the selected state and all other Buttons in that group will become unselected.  This is similar to the idea behind Radio Buttons.

If you want similar functionality, but with only one Button, you can declare whether you want the Button to toggle (stay selected when clicked, and unselected when clicked again) and whether you want it to start selected or not.

You can also change the appearance of the Button, either choosing from some preset styles, or importing different button states as graphics or SWFs.  Buttons have three states: Normal, On Rollover, and On Press.

Note: To change the appearance of the text, please see the section on Text Formatting.

You can also change the accent color for the default styles.  Some styles display this accent more prominently than others.

Additionally, you can add a sound to the button to provide an audio cue that the button has been clicked.

CheckBox Group and RadioButton

CheckBox and RadioButton Groups are almost identical.

CheckBox Groups can have 0, 1, or more selected choices.

RadioButton Groups typically have one and only one choice selected.  Clicking on another choice will clear the previous choice.  They can have 0 choices selected, but this is usually the initial state of a multiple choice question.  They cannot have more than 1 choice selected.

To edit, add, or reorder the answers:
  1. Select a CheckBox or RadioButton Group on the stage.
  2. In the Properties panel, click the Edit Answers button.
    -or-
    Double click on the object.
  3. In the Edit Answers window, you can:
  • Add new answers by clicking the Add button.
  • Delete answers by selecting the undesired answer and clicking the Delete button.
  • Reorder answers by selecting the desried answer and using the Move Arrows.
  • Edit answers by selecting the desired answer and clicking the Edit button.
    -or by-
    Double clicking on the desired answer.

Edit the answers by double clicking on what you want to change

Edit the answers by double clicking on what you want to change.  Double click on the object to open the answers, double click on the answer to edit the text.

    You can randomize answers if you want to deter learners from simply learning the positions of correct answers, rather than learning the .  Randomization only occurs when previewing or viewing published content, and is only cosmetic.  This means it does not effect the order of the answers when viewing them on the Authoring Stage, or in any actions.

    You can also customize the look of the CheckBox Groups or RadioButton Groups in a number of ways.

    Display Sets

    It is often useful to show or hide a number of objects at the same time.  For instance, you might want to show feedback for a question that includes a text object, a graphic, a background shape, and an audio clip.  Rather than creating four separate actions to show these objects, you can group these objects and then create a single action to simply show the entire group.

    Display sets control when each subset is shown or hidden.  Here, the term "subset" refers to a display in the set.

    Group of objects = display = subset

    Set = group of subsets

    The image below shows that "Display Set 1" contains three displays, and "Display 1" contains three objects.

    Sets can save you time in the following ways:

    • You can show and hide multiple objects with one action method (eg. show Display 1 will show all the elements inside the set).
    • When you show a subset, you don't have to bother hiding the other subsets (you con't need to tell the system to hide Q1 when Q2 is shown).
    • You can move ALL the subsets in a set with just one move
    • You can apply transitions to ALL the subsets in a set in one step.
    • You can easily/visually create conditional branching by linking subsets to the Flow Chart.

    The Display toolbar can be used to navigate, add or remove displays from the set.

    Drag and Drop object

    A drag-and-drop interaction is good for classification, association, and identification interactions. Typically, a user drags multiple objects onto one or more drop objects.

    The drag-and-drop object is considered a master object which means that it takes control of other objects on the page. There are three types of objects that can be used as drag objects: text, shapes, and graphics.  The drag-and-drop object can only control objects located in the same peer group as itself. For example, if the drag-and-drop object is within a display, it can only control objects also in that display.

    Drop Down list

    Drop Down Lists are another way to collect data from learners.

    Graphic object

    Graphic objects can hold the following image types:

    • JPGs
    • GIFs
    • PNGs
    • SWFs

    Because they can hold SWFs, Graphics can contain animations.  If using animated SWFs, please refer to the SWF Best Practices page.

    Note: Graphic placeholders will display their Name and Description properties, which can be useful for rapid prototyping.

    When Graphics are loading, they display a loading image, which can be changed in the Preferences.  If you wish for the page to not display until the image has been loaded, you will want to preload that image.  Really, it is a matter of whether you want your learner to see a loading screen for a while, or one that loads piece by piece.  By default preloading is set to off for each new Graphic.

    When scaling graphics, sometimes you don't want to change the size at all (say it is a raster image), or you want to make sure it scales proportionally.

    You can also flip a Graphic horizontally and/or vertically.  You cannot rotate graphics.

    Hotspot object

    The Hotspot is an object that is typically used in conjunction with graphics.  It is very similar to a Button object, but often is invisible to the learner to simulate them clicking on the image below the Hotspot.  However, the appearance of Hotspots can be configured to allow for a multitude of different interaction styles.

    You can change the fill color and transparency individually for each of the three interaction states: Initial, Rollover, and Clicked.

    You can give the Hotspot a border, which will change to be the current state's Color property, but will always be completely opaque, regardless of the state's Transparency property.

    You can make the Hotspot stay in its clicked state when selected by setting the Toggle property.  This can be useful if you want the learner to be able to select, or highlight, aspects of the learning interaction.

    Input Text object

    The input text object  is generally used to capture data from the user.

    For instance, input text objects can be used to create a fill-in-the-blank quiz where the learner types answers into blank input boxes.  The answers can then be compared to the correct answers for scoring.

    How to set up a Conditional Action

    More Objects

    SmartBuilder allows you to import your own custom objects that were created in Flash, and use them in your SmartBuilder lesson.  These SDK objects must follow the Widget Documentation located in the Shared Library > SmartBuilder Widgets > Documentation folder in the Home Tree.

    The terms SDK object and Widget are interchangeable.

    Widgets are essentially treated the same as other SmartBuilder objects, except that they are usually more specific in their functions.  SmartBuilder offers a number of these specialty objects for your use.

    Each Widget looks and acts a little differently.  All will have a placeholder of some sort on the Authoring Stage, and context specific methods for Triggers, Conditions, and Responses.

    Widgets cannot automatically control other objects or the lesson.  In addition to being placed in a lesson, they will often need to be "hooked up" to the lesson or other objects in order to provide the desired functionality.  Luckily, properly designed Widgets will provide "hooks" (methods) that allow them to be useful via actions in the Action List.

    Cookie Object

    This object will allow you to save and retrieve cookies on a user's computer, provided that that user's security settings will allow cookies.

    You can use this object to store a bookmark, a student name, or even a score, on the user's computer.  There is a template in the Template > - Master Page: Resources folder that deals with bookmarking using cookies, and it is best to take a look at it if you're planning on implementing that functionality.

    You must set the name and the value of the cookie as well as how long you want to keep the cookie (in days).

    Note: You will most likely leave the Path section blank.  If you are an advanced user, and want to save and retrieve cookies from different lessons, you may wish to choose a path to the shared cookies.  Be aware that cookies can only be retrieved/saved from a directory that is in their path.  For example, if the lesson is located at "example.com/section4/lesson2" (making your default path for the cookie "/section4/lesson2"), then you cannot choose "/section4/lesson10" as your path.  You must choose "/section4" or just "/" and it will work.

    cookie setCookie

    Email object

    This object is used to launch the learner's default email client.  It can pass information directly into the new email, including the following fields:

    • To
    • CC
    • BCC
    • Subject
    • Body

    This widget will NOT automatically send an email from a server.  Every server handles emails differently, and since there are no standards, it would be impossible for SmartBuilder to try to execute any server-side scripting.  If you wish to send emails directly from the server, you can use the URL Data object to communicate with a PHP or other language script executing the actions, which would have to be built completely outside of SmartBuilder.

    Note, that you don't have to fill in all the fields, only the ones that you care about.

    Google Analytics Object

    This object allows you to track or report status to Google Analytics.

    You must specify your Google Analytics ID in the Account ID Property of the object.

    Then you can use the methods to communicate information.

    The 2 object-specific response methods are:

    For more information on Google Analytics, please view their website here:

    http://code.google.com/apis/analytics/docs/

    HTML Frame

    This widget allows you to control URLs of other html frames that are possibly outside of SmartBuilder.

    The HTML Frame object is a very unique object for when you have a SmartBuilder lesson embedded inside a larger website.  For example, a help site, where you are using frames (e.g., a frame on the left for the Table of Contents, one at the top for the header, and one in the center for the content).  The HTML Frame objects allows the SmartBuilder object to control those other frames, for example changing the Table of Contents to another section.

    It was created for a specific organization, and we made it available to everyone, but chances are, most users will never have a situation that warrants using the HTML Frame object.

    It has 2 methods.

    setURL(url) - To change the target frame url. Internally, it calls "setFrameTarget" through the Flash interface, which takes the window path and the url.

    setFramePath(path) - This is just another way to dynamically change frame path during runtime.

    The object has no visiblity on the stage during runtime.

    IFrame object

    This object will allow you to embed HTML in your SmartBuilder lesson.

    An example of this would be a lesson that has instructions on navigating a company's resource website.  It has the real website embedded in the middle of the lesson, and instructions on where to go below it.  It could also have a question based on that embedded content.

    Below is a lesson with a menu, page navigation, and instructions with the Flash Help site embedded in the middle.

    Some other possible examples of using the IFrame effectively are:
    • Embedding YouTube videos (follow the instructions in this video to see how).
    • Displaying external resources (such as help or a website).
    • Displaying internal resources that are easier to build en masse in a different technology (e.g., a glossary built in HTML, or a PDF resource).
    • Getting around embedding things directly in SmartBuilder, such as AS3-based Flash content, or content from other tools (like Articulate).
    The IFrame object has a few limitations, but often these are not significant barriers.  They are:
    • IFrame always shows up on top of other content.  Since it is technically a popup window without borders or bars, it will always float to the top, even if you layer other objects on top of it on the Authoring Stage.
    • Your lesson cannot scale proportionally.  It must be fixed size.  IFrame does not scale with the content, so it will look strange if the background can change size, but the IFrame does not.
    • IFrame is only visible after publishing.
    • IFrame is also incompatible with some of the 508 functionality, and both cannot be used in the same lesson.

    You can resize the IFrame object on the stage, or specify the size in the Properties panel.

    To point the IFrame to the content of your choice, you have 2 options - one to point to a live URL on the web, or to point to an asset that has been uploaded to SmartBuilder that will be bundled with your lesson.

    • You can specify the URL in the Properties panel.  You can set the URL via the action list as well.
    • Similarly, you can use the Embed code provided by YouTube, Jing, and hundreds of other web-based tools (you could even put a SmartBuilder lesson inside a SmartBuilder lesson!).
    • You can specify the Asset in the Properties panel only.  For more on uploading Assets, see the page here.

    Icon Tracker

    This object is similar to the Percent Tracker, however instead of reporting a value between 0 and 100 based on a smooth gradation, it allows an author to provide feedback based on a whole number.  It is useful for telling how many points are possible, and also how many points the learner has earned.  An example might be a quiz with 10 questions.

    You can customize the Spacing between icons property to change the look of the Icon Tracker.  You cannot change the graphic.  However, if you have a need for a custom graphic, you can request the source file of the widget or a customized widget from Suddenly Smart.

    Menu with Pages

    This object will automatically create a list of the pages from the Lesson.  You can customize the look and feel of this object using the Properties panel and Text Toolbar.

    More often than not, this menu will be located on the Master Page.

    Setting up the Menu Widget:

    After placing the menu object on the Master Page, you will need to set up the following actions:

    Trigger: Page Controller > onPageChange
    Response: Menu Widget > setSelectedPageIndex > Page Controller > getPageIndex

    This will update the Menu Widget, even if a means other than itself is used to change pages.  If a "next" button is used to advance the lesson then we still want to Menu Widget to show a checkmark.

    Trigger: Menu Widget > onSelection
    Response: Page Controller > gotoPage > Function > Menu Widget > getSelectedPageIndex

    This will allow the user to click on the items in the menu to go directly to that page.

    Note: You can check the Allow skip ahead checkbox in the Properties panel if you want your learner to be able to use the menu to go to pages ahead of their current page, or clear the checkbox if you want to only allow them to use the menu to get to previously viewed pages.

    A more customizable menu that allows topics, customizable skins, and selecting which pages are part of the menu can be found here.

    Menu with Topics and Pages

    This object is similar to the Menu Object, but allows you to create topics or folder to organize your menu pages.

    You can customize the look and feel by modifying and loading a specially created SWF into the "Custom skin" Property.  You can obtain the FLA needed to generate the SWF by contacting support -at- suddenlysmart.com.

    More often than not, this menu will be located on the Master Page.

    Before you can use this object, you must specify which pages are part of the menu, by clicking on the Edit Structure property.  The following actions are required for the menu object to operate properly.

     

     

     

     

     

     

    Choosing which pages to show in the Menu:

    Setting up the Menu actions:

    After placing the menu object on the Master Page, you will need to set up the following actions:

    Trigger: Page Controller > onPageChange
    Response: Menu Widget > setSelectedPageIndex > Page Controller > getPageIndex

    This will update the Menu Widget, even if a means other than itself is used to change pages.  If a "next" button is used to advance the lesson then we still want to Menu Widget to show a checkmark.

    Trigger: Menu Widget > onSelection
    Response: Page Controller > gotoPage > Function > Menu Widget > getSelectedPageIndex

    This will allow the user to click on the items in the menu to go directly to that page.

    Note: You can check the Allow skip ahead checkbox in the Properties panel if you want your learner to be able to use the menu to go to pages ahead of their current page, or clear the checkbox if you want to only allow them to use the menu to get to previously viewed pages.

    You can also store and retrieve the state of the object by following the directions here.

    RTMP Streaming Video Object

    This object allows you to use a streaming media service to host your video content (usually a paid service provided by a 3rd party), and to bring that video into SmartBuilder.  You can even use cue points like the regular video object to trigger events in SmartBuilder.

    To use this object, you need to know both the URL and the Stream.  These are placed in the appropriate property fields in the Properties panel.  Here is an example URL and Stream that you can use for testing.

    URL: rtmp://dk2isqp3f.rtmphost.com/flowplayer
    Stream: honda_accord

    SWF Messenger

    This object is similar to the Streaming SWF object.  The widget is placed on the Authoring Stage and a SWF is loaded into it, allowing SWFs to embedded in SmartBuilder lessons.  Using this SWF Messenger widget will allow you to:

    • Fire an event from a SWF that SmartBuilder can catch and use as a trigger.
    • Send a message from SmartBuilder to the SWF, which can be used to change the state of the SWF.

    Scalable Shapes

    This object is similar to both Graphic objects and Shape objects.  Like a Graphic object, it is just a placeholder that can load SWFs.  When the SWF is loaded, it is displayed, and (like a Shape) can be resized without distorting the corners and a Color Property can be set to customize the way it looks.

    Scaling proportionally without Widget Scaling with Scalable Shape Widget

    Notice how the elements on the left and the bottom do not distort.

    After choosing the Scalable Shape, you will have to choose the SWF that you want to load.

    You can preview these object in the Media Select window and see how they look and scale in a similar manner to the examples above.

    These SWFs have to be specially created in Flash and contain ActionScript to work properly.  There are a number located in the Shared Library > SmartBuilder Media & Assets > Design Elements subfolders.  Mostly in the Scalable Shapes subfolder.  They can be used to make backgrounds for displays, and often go well with Graphic Effects.

    If you wish to learn how to create your own Scalable Shapes we can send you the source files, or you have an idea that you would like to see created, please email us with the design and we can build it and share it with everyone.

     

    Search object

    This object will allow you to run searches on the text in your entire lesson, and then go to the page with that text.  Because of this, it makes the most sense to place this object on the Master Page.

    The search object itself is the search results box, and requires an Input Text object and a Button or Hotspot to work properly.

    The following outline will show you how to set up a Search widget.  Depending on the layout and functionality of your lesson, you can change the actions as you see fit.  For example, you may want to have the search results always be visible if the search functionality is located inside a popup display that is built into the interface.  Or you may want to set the trigger to Input Text > onValueChange instead of having a search button.

    URL Data Object

    This object is used to send data to a server.  It is similar to the Server Communication object built into SmartBuilder, except for the following differences:

    • It can send data across domains, and
    • the lesson does not wait for a response from said server.

    Typical uses for a URL Data object include sending information to a server where server-side script will capture it, or launching a certain page or search results based on data captured in SmartBuilder.  See this forum post for more information on how to use it.

    Samples using the URL Data object

    Here is a sample action that will send an update command with a value being passed along.  Of course, there needs to exist some sort of server-side script that can store this in a database.  Essentially this is the same as entering http://www.website.com/serverScript.php?query=update&q1=45&q2=2009 into the address bar of your browser.

    Trigger: Submit Button > onClick
    Response: URL widget > addParam > "query" = "update"
    Response: URL widget > addParam > "q1" = "45"
    Response: URL widget > addParam > "q2" = InputText 1 > getText
    Response: URL widget > setURL > "http://www.website.com/serverScript.php"
    Response: URL widget > invoke

    Here is an example of sending a search query to google, essentially the equivalent of entering "http://www.google.com/search?q=e-learning" into the address bar of your browser.  Since it automatically shows a bunch of search results and changes the webpage, it would make sense to invoke this in a new window so that it doesn't navigate away from your lesson.

    Trigger: Submit Button > onClick
    Response: URL widget > addParam > "q" = "e-learning"
    Response: URL widget > setURL > "http://www.google.com/search"
    Response: URL widget > invokeInNewWindow

    Note: When using the "invoke" method, another name value pair is appended at the end of the url.  This is "&rand=1111111111111", where the string of 1s is a randomly generated number.  This is to prevent caching and the same value being ignored if sent multiple times.  Your server-side script should allow for this value to be received, but it can disregard it (basically, just make sure that your script can handle this extra data without breaking).  This is currently not the case with "invokeInNewWindow" method, but this method may be updated in the near future as well to keep everything consistent.

    Volume Controller

    This is an object that provides a volume controller to your lesson.  It controls the lesson volume, which will include any background audio, voice over narration, sound effects, etc.  It will not pause or play any audio.

    There are several of these objects with different skins.  They operate identically.

    Widget Download Page

    For those of you that do not have a separate, installed environment that we do not have access to, you can ignore this post. For those that do, since Suddenly Smart does not have access to your environment, you must upgrade your widgets. Luckily, this is as easy as uploading or replacing graphics!

    Right-click to do a ‘Save As’ on the widget file.  Remember that you will need to upload it to SmartBuilder as ‘widget.zip’, so do not rename this package.  If you want to download multiple widgets at once we suggest storing them in separate folders.  However, once uploaded into SmartBuilder, you will be able to edit the meta-data for this widget.  We suggest naming the widget according to function (eg. ‘Cookie Object’) to mirror the names on the widget list.

    If you do not already have any widgets, or a certain widget, you will need to upload these into the "Shared Library > SmartBuilder Widgets" folder. Choose "Upload Media & Assets", and then pick "A SmartBuilder Widget" from the radio buttons. Upload the widget.zip and remember to rename the meta-data.

    If you are updating an existing widget, then you need to find the widget (usually located in the "Shared Library > SmartBuilder Widgets" folder.)  Select that widget in your list, and use the ‘Replace’ function to update the widget package.  Upload the widget.zip and remember to rename the meta-data.  By using the ‘Replace’ function, you ensure that all existing instances of that widget in your learning content will automatically be updated the next time it is referenced from a work in progress lesson.

    When you bring a widget into SmartBuilder, it needs to be called "widget.zip". That is why they all have the same name.  If you plan to download all of them, keep them separated in subfolders. When you upload each one, and it prompts you to enter Meta Data, you can change the name from "widget" to the name given on this page, or the subfolder name where you found the widget. Keeping these widgets named the same as the folder will help if support issues arise later.

    Let us know if you have any issues during the process. You can reach me at 760.635.5700x207 or via email ndhillon at suddenly smart dot com.

    Widget Name Date updated  
    Cookie Object  April 15, 2010 Download
    Email Object  August 19, 2009 Download
    Google Analytics Object  February 28, 2011 Download
    IFrame Object  November 02, 2010 Download
    Icon Tracker  August 19, 2009 Download
    Menu with Pages  February 28, 2011 Download
    Menu with Topics and Pages  November 13, 2013 Download
    RTMP Streaming Video Object  March 7, 2012 Download
    SWF Messenger  August 21, 2009 Download
    Scalable Shapes  April 15, 2010 Download
    Search Objects  August 21, 2009 Download
    Tabs Object  April 24, 2012 Download
    URL Data Object  February 28, 2011 Download
    Volume Controller - Blue  August 21, 2009 Download
    Volume Controller - Grey  August 21, 2009 Download
    Volume Controller - BlueIce  November 4, 2009 Download

     

    MultiState Button

    The multistate button allows the learner to flip through a sequential series of images in order to make a selection. For example, in an interaction where the learner must select a screw size, you can use a multistate button containing graphics for each screw. The learner would click on the multistate button until the desired screw was displayed. (NOTE: Only one of the button states can be the correct choice.)

    The size of the multistate button is based on the first graphic being referenced. Similarly, the Lock Aspect Ratio, and Lock Original Size properties will reference the first graphic to compute those settings.

    Page Controller

    The Page Controller is only visible on the Master Page.

    It is available in the action menus on every page.

    The Page Controller has access to page level methods such as onPageLoad, nextPage, previousPage, reload, and others.  On the Master Page, the Page Controller has additional methods available to it.

    You can use the Page Controller to communicate between pages.  Because SmartBuilder lesson pages are reset to their initial status when loaded, communicating between pages only really makes sense when it happens between the current page and the Master Page, which is always visible.  Communication between regular pages is typically handled by storing data in variables.

    Note: Only one Global Event can be sent at any one time.

    Sending a Global Event

    This is an example where when a quiz page loads, it will fire a Global Event to disable the menu button, which exists on the Master Page.  When the quiz has been passed, it will fire another Global Event to hide the next mask.  The names of Global Events can be any string.

    On the Quiz Page:

    Trigger: Page Controller > onPageLoad
    Response: Page Controller > fireGlobalEvent = "disableMenu"

    Trigger: Question Set 1 > onComplete
    Condition: Question Set 1 > isPassed == true
    True Response: Page Controller > fireGlobalEvent = "enableMenu"
    False Response: [leave blank]

    On the Master Page:

    Trigger: Page Controller > onEvent
    Condition: Page Controller > getEvent == "disableMenu"
    True Response: Menu Button > disable
    False Response: [leave blank]

     

    Trigger: Page Controller > onEvent
    Condition: Page Controller > getEvent == "enableMenu"
    True Response: Menu Button > enable
    False Response: [leave blank]

    Percent Tracker

    The Percent Tracker object gives you a way to visually represent a value on a scale from 0 - 100.

    For instance, imagine the learning objective was to teach someone how to manipulate sensitive production machinery, and a negative outcome of doing the proper safety checks incorrectly was that the machinery would overheat. You might use the gauge style tracker, and label it to appear to have a safe, warning, and danger level. As the user made mistakes in the learning interaction, the gauge would increment from safe, to warning, to danger. If the gauge reached the danger level, you could end the interaction, and display negative final feedback.

    Select a tracker style
    There are several different tracker styles including a bar tracker  and a gauge .

    1. Select the Percent Tracker object.
    2. Open the Properties panel.
    3. Click the Style dropdown list.
    4. Select the desired style.

    Question Sets

    A Question Set is the same as a Display Set, but includes the following addtional functionality when it is linked to the Flow Chart:

    For clarification on this functionality, read about Reporting a Score when using a question set in the Flow Chart.

    SCORM / AICC

    SCORM stands for Sharable Content Object Reference Model.  It is a standardized set of calls that allow lessons and courses (Sharable Content Objects, or SCOs) to communicate with a Learning Management System (LMS), such as Moodle or BlackBoard.

    SmartBuilder has a number of preconfigured SCORM calls that can be sent on appropriate triggers, as well as the ability to send any other recognized SCORM call.

    The SCORM / AICC is an object that only exists in action menus, and not on the Authoring Stage at all.

    scorm aicc

    There are two versions of SCORM, SCORM v1.2 and SCORM 2004.  It is not the place of this help documentation to question why a collection of standards does not choose to standardize their own version numbering system, but SCORM 2004 is more recent and has a number of improvements and additional methods available to it than v1.2 does.  However, v1.2 is more widely used.

    Upon downloading a lesson, one must specify if they want their content to be SCORM compliant, along with the version.  SmartBuilder will automatically convert its SCORM calls to the appropriate version, if those calls are available in that version (for example, there is no v1.2 equivalent of setInteractionResponse).

    SmartBuilder is not an LMS, and as such SCORM calls will not work when previewing or viewing content from SmartBuilder.  The best way to test a lesson's SCORM calling functionality is to download it and upload it into your LMS.  If you are troubleshooting, and want detailed logs of what is being transmitted to your LMS, www.scorm.com's TestTrack is an extremely useful (and free) tool for testing your SCORM compliant content.  You must still download your content from SmartBuilder and then upload it into TestTrack.

    Question Sets can automatically submit their raw score to the LMS without having to set up an action.  If you wish to get or set a SCORM call that is not prebuilt, use the LMSSetValue or LMSGetValue to manually enter the SCORM call you wish to send.

    You can use the LMS to store information such as a bookmark, user notes, or the status of a menu object, all of which can be retrieved later.  For bookmarking, please see the Template > Master Page: Resources folder, and refer to the example in the above collapsed section on how to store data.

    Server Communication

    This object will allow you to communicate directly with a server-side script.  See this forum post for more information.  The SmartBuilder lesson must be located on the same server as the server-side script it is trying to communicate with.  SmartBuilder will wait until it gets a response from the server before continuing.

    Important: This means that if SmartBuilder does not receive a response, it will "break" the lesson (it will become unresponsive).

    Use the URL Data widget if you wish to communicate across domains and/or do not want your lesson to wait for a response from the server.

    This object is often used when an organization doesn't want to use an LMS, but still wants to track learners' progress.

    Sample action using the Server Communication object

    Here is a sample action that will send an update command with a value being passed along.  Of course, there needs to exist some sort of server-side script that can store this in a database.  Essentially this is the same as entering http://www.website.com/serverScript.php?query=update&q1=45&q2=2009 into the address bar of your browser.

    Trigger: Submit Button > onClick
    Response: Server Communication > setParameter > "query" = "update"
    Response: Server Communication > setParameter > "q1" = "45"
    Response: Server Communication > setParameter > "q2" = InputText 1 > getText
    Response: Server Communication > sendToURL > "http://www.website.com/serverScript.php"

    Note: Another name value pair is appended at the end of the url.  This is "&rand=1111111111111", where the string of 1s is a randomly generated number.  This is to prevent caching and the same value being ignored if sent multiple times.  Your server-side script should allow for this value to be received, but it can disregard it (basically, just make sure that your script can handle this extra data without breaking).

    The postToURL method is used in SmartBuilder the same way as sendToURL method.  However, there are these differences:

    • sendToURL uses the GET form submission method (appends the data to the URL that is called).  This means that the data is less secure, but easier to manipulate.
    • postToURL uses the POST form submission method (sends the data in the message body of the HTTP request).  This means the data is more secure and more data can be sent, but it is generally more difficult to create a server-side script to make use of this data.

    To learn more about the differences between these methods, please refer to this external resource - http://www.diffen.com/difference/Get_vs_Post

    Shape object

    Shapes are basic building blocks for SmartBuilder lessons.  They can be used to give feedback, provide backgrounds for Displays, mask interactions, and be used as drop areas or drag objects, just to name a few of their uses.

    By default, a shape is a rectangle.

    You can also flip a Shape horizontally and/or vertically.  You cannot rotate Shapes.

    Streaming SWF

    Streaming SWF object highlighted on the Object PalletThis object is used for SWF animations, such as Captivate movies.  If using animated SWFs built in Flash, please refer to the SWF Best Practices page.

    It is identical to the Graphic object, except for the following:

    • It does not display on the Authoring Stage (so it does not take computer resources when authoring).
    • It will start playing before it is fully loaded during Preview and Published views (useful for longer movies that you wish to stream).
    • When using Captivate movies, it resizes more crisply than the graphic object.

    Please refer to the Graphic object page for common actions.

    Text object

    The text object in SmartBuilder is quite flexible, and all text editing and formatting can be done directly to the text object on the page. What's more is that each text object can include an unlimited amount of different text formats.

    Text formatting can be applied to the entire text object, or just a selected portion of it.  To see how to format text, see the page on Formatting.

    For more on creating hyperlinks, see the page on hyperlinks.

    In addition, you can change the following properties:

    keywords: scrollbar scroll bar

    Timeline object

    The Timeline object  allows a user to organize and control the appearance of objects over time.  It can be used to control the showing and hiding of objects in relation to a timeline or to an audio file.  It also controls animations and transition effects associated with the showing and hiding of objects.

    The Timeline is considered a master object, which means that it takes control of other objects.  It can only control objects located in the same peer group as the timeline.  For example, if the timeline object is within a display, it can only control objects also in that display.

    User tip: Double click the Timeline object on the Authoring Stage to view its properties for editing.

    Timer object

    The timer object  allows you to time an interaction in two ways:

    • Count down time, forcing a user to finish an interaction in a specified amount of time
    • Count up, which gives you the ability to track the total completion time of an interaction.

    The Start and Cue points of the timer object can be set in the properties panel, as well as Trigger Intervals, all of which can be used as triggers for actions.

    Additionally, the visual characteristics (size, color, font family) of the timer object can be configured using the text control toolbar.

     

    Video object

    The video object in SmartBuilder requires a FLV file type.

    If you have an MP4 video, you can change the file extension to FLV and it will upload into SmartBuilder

    If you have a video file type other than MP4 or FLV, it is possible to upload that video as an asset, and launch the video in a separate window.  There are also a number of free FLV converters that you can find online.

    The optimal encoding settings for your FLV object will depend on the size, and nature of the video. The best resource for determining these settings will be to use the Flash website. Here is a very good article in their developers forum for this exact topic.

    For larger videos, you can upload your video to an external server, and use the FLV URL property. As soon as you enter the URL, the video will show on your page, and will behave the same as if you were loading from inside SmartBuilder. This is beneficial because you will not have to download large lessons that contain the videos - it is always dynamically pulling the video from that external server. This also makes updating the video or the lesson easier, because they are separate.

    You can use either FLVs or MP4s with this process.  Make sure that the URL thatyou are using ends in either MP4 or FLV, if you just point to a page, like a Vimeo url or YouTube url, or another page hosting a streaming video, that will not work.  You would want to use the IFrame for those situations.

    You can choose whether the video starts to play when it is shown or not. Even with Autoplay checked, if an video object is hidden, or placed in a non-visible Display, it will not play until it is shown.  Uncheck autoplay only if you want to start the video with an action, or a user's click.

    When scaling videos, sometimes you don't want to change the size at all, or you want to make sure it scales proportionally.

    You can choose whether the controller is displayed or not.

    You can also choose which type of controller you wish to display.

    You can also determine whether the video loops or not.  A loop count of 0 will play through the video 1 time and then stop.

    You can set the volume for this specific Video object.