Obojobo

Obojobo

  • Authors
  • Developers
  • GitHub

› Developers Section Topics

Getting Started

  • OboNode Structure
  • Text Content Conventions
  • Triggers and Actions

Misc Dev Topics

  • Obojobo Glossary
  • Question Selection Algorithm
  • Range Strings

Events Reference

  • Caliper Event Reference
  • Obojobo Event Reference

OboNode & Content Block Reference

  • ActionButton
  • Assessment
  • Assessment > rubric
  • Assessment > rubric > mod
  • Assessment > scoreAction
  • Break
  • Code
  • Content
  • Figure
  • Heading
  • HTML
  • IFrame
  • List
  • List > listStyle
  • List > listStyle > indent
  • Materia
  • MathEquation
  • MCAssessment
  • MCAssessment > MCChoice
  • MCAssessment > MCChoice > MCAnswer
  • MCAssessment > MCChoice > MCFeedback
  • Module
  • NumericAssessment
  • NumericAssessment > NumericChoice
  • NumericAssessment > NumericChoice > NumericAnswer
  • NumericAssessment > NumericChoice > NumericFeedback
  • Page
  • Question
  • QuestionBank
  • Table
  • Table > gridTextGroup
  • Text
  • textGroup
  • textGroup > textItem
  • textGroup > textItem > styleableText
  • textGroup > textItem > styleableText > styleList
  • trigger
  • trigger > action
  • YouTube

Caliper Event Reference

All events are Caliper version 1.1 events.

Standard Event Types

All events (unless otherwise noted) contain these properties:

Property Value
id Generated UUID
edApp System IRI
federatedSession Launch IRI
extensions.internalEventId The id for the associated Obojobo event

NavigationEvent

User navigates to another page

Occurs when Viewer Client sends one of the following Obojobo events:

  • nav:prev
  • nav:next
  • nav:goto
  • nav:gotoPath

Properties:

Property Value
actor User IRI
action NavigatedTo
object OboNode IRI the user is navigating to
referrer OboNode IRI the user is coming from
extensions.navType next, prev, goto or gotoPath

ViewEvent

User views a question

Occurs when Viewer Client sends a question:view Obojobo event.

Property Value
actor User IRI
action Viewed
object OboNode IRI of Question being viewed

User views a question explanation

Occurs when Viewer Client sends a question:showExplanation Obojobo event.

Property Value
actor User IRI
action Viewed
object OboNode IRI of Question being viewed
target OboNode with Context IRI of the Question explanation being viewed. :contextName=explanation

AssessmentItemEvent

User selects a response to a question. Viewer Client sends a question:setResponse event.

Answering a Practice Question

Property Value
actor User IRI
action Completed
target OboNode IRI of Question being responded to
object Practice Question Attempt IRI

Answering an Assessment Question

Property Value
actor User IRI
action Completed
target OboNode IRI of Question being responded to
object Attempt IRI

GradeEvent

A practice question is scored (When Viewer Client sends a question:scoreSet Obojobo event).

Property Value
actor Viewer Client IRI
action Graded
object Practice Question Attempt IRI
generated Practice Question Score

An attempt is scored

Property Value
actor App Server IRI
action Graded
object Attempt IRI
target Assessment IRI
generated Assessment Attempt Score
extensions.attemptCount The count or number of the attempt,
extensions.attemptScore float (0-100),
extensions.assessmentScore null or a float (0-100),
extensions.ltiScoreSent null or a float (0-1)

SessionEvent

User starts a new Visit

Occurs when App Server sends a visit:start Obojobo event

Property Value
actor User IRI
object System IRI
target Draft IRI
action LoggedIn

User leaves a Draft

Occurs when Viewer Client sends a viewer:close Obojobo event

Property Value
actor User IRI
object System IRI
target Draft IRI
action LoggedOut

AssessmentEvent

User has started an assessment attempt

Property Value
actor User IRI
object Assessment IRI
generated Attempt IRI
action Started

User has submitted an assessment attempt

Property Value
actor User IRI
object Assessment IRI
generated Attempt IRI
action Submitted

ToolUseEvent

User launches the lti picker

Property Value
actor User IRI
object System IRI
action Used
target Picker IRI

User visits a Draft

Occurs when App Server sends a viewer:open Obojobo event

Property Value
actor User IRI
object System IRI
action Used
generated Visit IRI
extensions.deactivatedVisitId Id of a Visit that was deactivated by this new visit

Obojobo Specific Types

Additionally some generic events are created where existing Caliper events aren’t appropriate:

Hid

A question is hidden

When Viewer Client sends a question:hide Obojobo event.

Property Value
actor User IRI
action Hid
object OboNode IRI of Question being viewed

A question explanation is hidden

When Viewer Client sends a question:hideExplanation Obojobo event.

Property Value
actor User IRI
action Hid
object OboNode IRI of Question being viewed
target OboNode with Context IRI of the question explanation being viewed. :contextName = explanation)

Nav menu is hidden

When Viewer Client sends a nav:close Obojobo event.

Property Value
actor User IRI or Viewer Client IRI
action Hid
object Viewer Client Enity IRI of the NavMenu item being hidden. :entity = nav

Showed

Nav menu is showed

When Viewer Client sends a nav:open Obojobo event.

Property Value
actor User IRI or Viewer Client IRI
action Showed
object Viewer Client Enity IRI of the NavMenu item being showed. :entity = nav

Activated

####User is no longer loo Nav menu is unlocked

When Viewer Client sends a nav:unlock Obojobo event.

Property Value
actor Viewer Client IRI
action Activated
object Viewer Client Enity IRI of the NavMenu item being unlocked (:entity = nav)

Deactivated

Nav menu is locked

When Viewer Client sends a nav:lock Obojobo event.

Property Value
actor Viewer Client IRI
action Deactivated
object Viewer Client Enity IRI of the NavMenu item being locked. :entity = nav

Submitted

User checks answer for a practice question

When Viewer Client sends a question:checkAnswer Obojobo event.

Property Value
actor User IRI
action Submitted
object Practice Question Attempt IRI

Reset

A practice question is reset

When Viewer Client sends a question:scoreClear Obojobo event

Property Value
action Reset
actor App Server IRI
object Score URN
target Practice Question Attempt IRI

User is retries a practice question

When Viewer Client sends a question:retry Obojobo event

Property Value
action Reset
actor User IRI
object Draft IRI
target Practice Question Attempt IRI

Abandoned

User has gone idle

When Viewer Client sends a viewer:inactive Obojobo event.

Property Value
action Abandoned
actor User IRI
object Draft IRI
extensions.type inactive
extensions.lastActiveTime ECMAScript Date toString value
extensions.inactiveDuration milliseconds

User is no longer looking at the draft

When Viewer Client sends a viewer:leave Obojobo event.

Property Value
action Abandoned
actor User IRI
object Draft IRI
extensions.type leave

Resumed

User has returned from idle

When Viewer Client sends a viewer:returnFromInactive Obojobo event.

Property Value
action Resumed
actor User IRI
object Draft IRI
extensions.type return
extensions.relatedEventId id of Abandoned Event

User is again looking at the draft

When Viewer Client sends a viewer:return Obojobo event

Property Value
action Resumed
actor User IRI
object Draft IRI
extension.type returnFromInactive
extension.lastActiveTime ECMAScript Date toString value
extension.inactiveDuration milliseconds
extension.relatedEventId id of Abandoned Event

VisitCreate

User has loaded a draft page

Property Value
action Created
actor User IRI
object Draft IRI
generated Visit IRI
extensions.deactivatedVisitId id of visit that was deactivated

Caliper Entities and IRIs

Entity Name Type IRI
System IRI SoftwareApplication /api/system
Viewer Client IRI SoftwareApplication /api/viewer/client
Viewer Client Enity IRI Entity /api/viewer/client/:entity?draftId=:draftId
App Server IRI SoftwareApplication /api/server
Session IRI Session /api/session/:sessionId
Launch IRI LtiSession /api/launch/:launchId
User IRI Person /api/user/:userId
Draft IRI WebPage /api/draft/:draftId
OboNode IRI Frame /api/draft/:draftId#:nodeId
OboNode with Context IRI Frame /api/draft:draftId#:nodeId?context=:contextName
Practice Question Attempt IRI Attempt /api/practice/:draftId/:oboNodeId
Assessment IRI Assessment /api/assessment/:draftId/:assessmentId
Attempt IRI Attempt /api/attempt/:attemptId
Picker IRI SoftwareApplication /api/picker
Visit IRI Entity /api/visit/:visitId

Caliper Enity Subtypes

According to Caliper’s Entity description:

A Caliper Entity is a generic type that represents objects that participate in learning-related activities. A variety of Entity subtypes have been defined in order to better describe people, groups, organizations, digital content, courses, software applications, and other objects that constitute the “stuff” of a Caliper Event. Each Entity is provisioned with a modest set of properties or attributes that support discovery and description.

Below are the custom entity subtypes used in Obojobo.

Practice Question Score:

Property Type Description
type Score  
id UUID Generated by Viewer Client
maxScore decimal 100
scoreGiven decimal 0-100
dateCreated DateTime  
attempt Practice Question Attempt IRI  
scoredBy Viewer Client  

Assessment Attempt Score:

Property Type Description
type Score  
id UUID Generated by the app server
maxScore decimal 100
scoreGiven decimal 0-100
dateCreated DateTime  
attempt Attempt IRI  
scoredBy App Server IRI  
  • Standard Event Types
    • NavigationEvent
    • ViewEvent
    • AssessmentItemEvent
    • GradeEvent
    • SessionEvent
    • AssessmentEvent
    • ToolUseEvent
  • Obojobo Specific Types
    • Hid
    • Showed
    • Activated
    • Deactivated
    • Submitted
    • Reset
    • Abandoned
    • Resumed
    • VisitCreate
  • Caliper Entities and IRIs
  • Caliper Enity Subtypes
    • Practice Question Score:
    • Assessment Attempt Score:
Visit Obojobo on GitHub
Obojobo
Obojobo™ ©2021 University of Central Florida