Unit

The launchable learning content containing a collection of ordered containers that the user can navigate through.

Parameters

All units have the following parameters:

Name

Type

Description

Required

version

string

Version of the unit definition

Yes

name

LanguageMap

Name of the unit

Yes

description

LanguageMap

Description of the unit

Yes

activity

Activity

Activity of the unit

Yes

image

Image

Image of the unit

Yes

primaryColor

string

Primary color of the unit

Yes

accentColor

string

Accent color of the unit

Yes

warnColor

string

Warn color of the unit

Yes

sectionTitle

LanguageMap

Title of the main path

No

containers

Containerarray

Containers of the unit

Yes

help

Containerarray

Help path of the unit

No

paths

Patharray

Additional paths of the unit

No

Restrictions

There must be at least one Container in the containers array.

At least one of the Container objects must have the unitCompletion property set to true.

Details

A unit is considered completed when at least one of the Container objects which has the unitCompletion property set to true is done.

A unit is considered passed if a QuestionnairePart has the unitPass property set to true and the user has passed the questionnaire part.

If a unit has a help path, an implementation should provide a way for the user to access it.

Path

A path is a collection of ordered containers that a learner can navigate through.

Parameters

All paths have the following parameters:

Name

Type

Description

Required

id

PathID

Identifier of the Path

Yes

name

LanguageMap

Name of the path

No

activity

Activity

Activity of the path

No

containers

Containerarray

Containers of the path

Yes

Restrictions

A path must contain at least one Container.

Details

If name is defined, an implementation should provide a way for the learner to navigate to the path. If name is undefined, an implementation should only allow navigation to the path via a Button.

If activity is undefined, no statements about the path will be sent to the LRS, however, containers and blocks may still send statements.

An implementation should display the containers in the order they are defined in the containers array.

PathId

A human readable string ID that uniquely identifies a path.

Restrictions

The pathId must:

  • be a URI prefixed with paths/

  • be unique in the unit

  • only contain characters that are allowed in a URI but do not have a reserved purpose (as defined in RFC 3986)

Container

A collection of ordered blocks that the learner can navigate through.

Parameters

Name

Type

Description

Required

id

PathContainerId

Identifier of the container

Yes

name

LanguageMap

Name of the container

Yes

activity

Activity

Activity of the container

No

unitCompletion

boolean

If true, the unit will be considered complete when the container is done

No

blocks

Block array

Blocks of the container

Yes

Restrictions

There must be at least one Block in the blocks array.

In the Unit, there must be at least one Container with unitCompletion set to true.

Details

A container can be directly within the unit or within a path.

If the container is directly within the unit, an implementation should display the name of the container in the navigation. If the container is within a path which is displayed in the navigation, the name of the container should be displayed as a sub-item of the path.

If activity is undefined, no statements about the container will be sent to the LRS, however, blocks within the container may still send statements.

A container is considered done when all of its blocks are done. Once a container is done it cannot be undone.

Once a container is done, an implementation must allow the learner to navigate to the next container in the unit. An implementation may also allow the learner to navigate to the next container before the current container is done.

PathContainerId

A human readable string ID that uniquely identifies a container.

Restrictions

The pathContainerId must:

  • be a URI prefixed with containers/

  • be unique in the unit

  • only contain characters that are allowed in a URI but do not have a reserved purpose (as defined in RFC 3986)

Block

A unit of content, there are different types each with their own parameters.

Parameters

All blocks have the following parameters:

Name

Type

Description

Required

type

string

Type of the Block

Yes

activity

Activity

Activity of the block

No

doneCriteria

string

Criteria to determine if the block is done

No

Restrictions

The type property must be set to one of the following string values:

  • accordion

  • audio

  • button-group

  • flashcard-group

  • html

  • labeled-image

  • process

  • questionnaire

  • tabs

  • video

  • youtube

Different block types may have additional restrictions.

Details

If activity is undefined, no statements about the block are sent to the LRS.

If doneCriteria is defined, the block is considered done when the criteria is met. If doneCriteria is undefined, the block is considered done.

The type property is used to determine the type of the Block. The type of the Block determines the parameters of the block.

Once a block is done it cannot be undone.

Accordion

Contains a number of panels that can be expanded and collapsed.

Parameters

Name

Type

Description

Required

type

string

Type of the Block

Yes

doneCriteria

string

Criteria to determine if the accordion is done

No

minimumPanelsDone

number

Minimum number of panels required to be done to consider the accordion done

No

panels

AccordionPanel array

Panels of the accordion

Yes

Restrictions

The type property must be set to accordion.

The doneCriteria property can be one of the following string values:

  • experienced

  • completed

  • interacted

The minimumPanelsDone property must be greater than 0 and *must not* be greater than the size of the panels array. Only applicable if the doneCriteria is set to completed.

The panels array must contain at least one AccordionPanel object.

Details

If the doneCriteria is set to experienced, then the accordion is considered done when the accordion is visible. If the doneCriteria is set to completed, then the accordion is considered done when the minimum number of accordion panels have been done. If the doneCriteria is set to interacted, then the accordion is considered done when at least one accordion panel is opened.

If minimumPanelsDone is undefined, then the accordion is considered done when all the panels are done.

An implementation should display the panels of the accordion in the order they are defined in the panels array.

AccordionPanel

A collection of ordered blocks.

Parameters

Name

Type

Description

Required

name

LanguageMap

Name of the accordion panel

Yes

activity

Activity

Activity of the container

No

blocks

Block array

Blocks of the accordion panel

Yes

Restrictions

The blocks array must contain at least one HTML or YouTubePlayer object.

Details

If activity is undefined, no statements about the panel will be sent to the LRS.

An accordion panel is considered done when all the blocks of the accordion panel are done. It cannot be done until it is visible.

AudioPlayer

Can play an audio file.

Parameters

Name

Type

Description

Required

type

string

Type of the Block

Yes

doneCriteria

string

Criteria to determine if the audio player is done

No

url

string

URL of the audio file

Yes

Restrictions

The type property must be set to audio-player.

If set, the doneCriteria property can be one of the following string values:

  • experienced

  • completed

  • interacted

The url property must be a valid URL.

Details

If the doneCriteria is set to experienced, then the audio player is considered done when the audio player is visible. If the doneCriteria is set to completed, then the audio player is considered done when the audio is played until the end. If the doneCriteria is set to interacted, then the audio player is considered done when the audio is played.

ButtonGroup

A collection of buttons.

Parameters

Name

Type

Description

Required

type

string

Type of the Block

Yes

doneCriteria

string

Criteria to determine if the button group is done

No

minimumButtonsDone

number

Minimum number of buttons required to be done to consider the button group done

No

single

boolean

If true, only one button can be actioned

No

buttons

Button array

Buttons of the button group

Yes

Restrictions

The type property must be set to button-group.

The doneCriteria property can be one of the following string values:

  • experienced

  • completed

  • interacted

The minimumButtonsDone property must be greater than 0 and must not be greater than the size of the buttons array. Only applicable if the doneCriteria is set to completed.

The single property must only be set to true if minimumButtonsDone is 1 or if the doneCriteria is interacted, experienced or undefined.

The buttons array must contain at least one Button object.

Details

If the doneCriteria is set to experienced, then the button group is considered done when the button group is visible. If the doneCriteria is set to completed, then the button group is considered done when the minimum number of buttons have been done. If the doneCriteria is set to interacted, then the button group is considered done when at least one button is actioned.

If minimumButtonsDone is undefined, then the button group is considered done when all the buttons are done.

An implementation should display the buttons in the order they are defined in the buttons array.

Button

Opens a URL, Path or Container.

Parameters

Name

Type

Description

Required

action

string

Action of the button

Yes

text

LanguageMap

Text of the button

No

title

LanguageMap

Title of the button

No

description

LanguageMap

Description of the button

No

image

Image

Image of the button

No

Restrictions

The action property must be a valid URL, PathId or PathContainerId.

A button must have at least one of the following properties: text or image.

Details

If the action property is a URL, then the button will open the URL. If the action property is a PathId, then the button will redirect the learner to the Path. When the Path is completed, the learner will be redirected back to the original Path. If the action property is a PathContainerId, then the button will redirect the learner to the Container. The Container may be in a different Path. When the Container is completed, it is the responsibility of the implementation to determine what to do next. If the action is a URL then the button is considered done when it is actioned. If the action is a PathId then the button is considered done when the Path is done. If the action is a PathContainerId then the button is considered done when it is actioned.

FlashcardGroup

Contains a number of flashcards that can be actioned to show alternative content.

Parameters

Name

Type

Description

Required

type

string

Type of the Block

Yes

doneCriteria

string

Criteria to determine if the flashcard group is done

No

cards

Flashcard array

Flashcards of the flashcard group

Yes

Restrictions

The type property must be set to flashcard-group.

The doneCriteria property can be one of the following string values:

  • experienced

  • completed

  • interacted

The cards array must contain at least one Flashcard object.

Details

If the doneCriteria is set to experienced, then the flashcard group is considered done when the flashcard group is visible. If the doneCriteria is set to completed, then the flashcard group is considered done when all the flashcards are done If the doneCriteria is set to interacted, then the flashcard group is considered done when at least one flashcard is done.

An implementation should display the flashcards in the order they are defined in the cards array.

Flashcard

A card which can be actioned to display alternative content.

Parameters

Name

Type

Description

Required

front

CardSide

Front of the card

Yes

back

CardSide

Back of the card

Yes

CardSide

The front or back of a flashcard.

Name

Type

Description

Required

text

LanguageMap

Text of the card side

No

description

LanguageMap

Description of the card side

No

image

Image

Image of the card side

No

audio

string

Audio of the card side

No

Restrictions

The audio property must be a valid URL.

A card side must have at least one of the following properties: text, description, image or audio.

Details

A flashcard is considered done when it is actioned.

HTML

Contains HTML content.

Parameters

Name

Type

Description

Required

type

string

Type of the Block

Yes

doneCriteria

string

Criteria to determine if the HTML content is done

No

url

string

URL of the HTML file

Yes

Restrictions

The type property must be set to html.

If set, the doneCriteria property must be experienced.

The url property must be a valid URL.

Details

If the doneCriteria is set to experienced, then the HTML content is considered done when the HTML content is visible.

LabeledImage

A image with positioned icons which each open a label when actioned.

Parameters

Name

Type

Description

Required

type

string

Type of the Block

Yes

image

Image

Background image of the labelled image

Yes

doneCriteria

string

Criteria to determine if the labeled image is done

No

minimumLabelsOpened

number

Minimum number of labels that are required to be opened to consider the labeled image done

No

labels

Label array

Labels of the labeled image

Yes

Restrictions

The type property must be set to labeled-image.

If set, the doneCriteria property can be one of the following string values:

  • experienced

  • completed

  • interacted

The minimumLabelsOpened property must be greater than 0 and must not be greater than the size of the labels array. Only applicable if the doneCriteria is set to completed.

The labels property must contain at least one Label object.

Details

If the doneCriteria is set to experienced, then the labeled image is considered done when the labeled image is visible. If the doneCriteria is set to completed, then the labeled image is considered done when the minimum number of labels have been opened. If the doneCriteria is set to interacted, then the labeled image is considered done when at least one label is opened.

If undefined, then the labelled image is considered done when all the labels are opened.

Label

A positioned label to open when its icon is actioned.

Parameters

Name

Type

Description

Required

name

LanguageMap

Name of the label

Yes

description

LanguageMap

Description of the label

No

x

number

X coordinate of the label icon

Yes

y

number

Y coordinate of the label icon

Yes

Restrictions
  • The x property must be greater than or equal to 0 and less than or equal to 100.

  • The y property must be greater than or equal to 0 and less than or equal to 100.

Details

A label is considered done when it is opened. It cannot be done until it is visible.

Process

Contains a series of steps, only one step is visible at a time.

Parameters

Name

Type

Description

Required

type

string

Type of the Block

Yes

doneCriteria

string

Criteria to determine if the process is done

No

steps

Step array

Steps of the process

Yes

Restrictions

The type property must be set to process.

The doneCriteria property can be one of the following string values:

  • experienced

  • completed

  • interacted

The steps property must contain at least two Step objects.

Details

If the doneCriteria is set to experienced, then the process is considered done when the process is visible. If the doneCriteria is set to completed, then the process is considered done when all the steps have been done. If the doneCriteria is set to interacted, then the process is considered done when the next step is opened.

An implementation should display the steps in the order they are defined in the steps array.

Step

A collection of ordered blocks.

Parameters

Name

Type

Description

Required

activity

Activity

Activity of the container

No

blocks

Block`array`

Blocks of the step

Yes

Restrictions

If activity is undefined, no statements about the step will be sent to the LRS.

The blocks array must contain at least one HTML or YouTubePlayer object.

Details

A step is considered done when all the blocks of the step are done. It cannot be done until it is visible.

Questionnaire

A series of questions, where if the questions are scored, the learner can be asked an additional series of questions based on their score.

Parameters

Name

Type

Description

Required

type

string

Type of the Block

Yes

doneCriteria

string

Criteria to determine if the questionnaire is done

No

review

boolean

If true, the learner can review the questionnaire and their answers

No

attempts

number

Number of attempts permitted for the questionnaire

No

feedback

object

Text to display on the questionnaire feedback

Yes

firstQuestionnairePart

QuestionnairePart

First set of questions of the questionnaire

Yes

Restrictions

The type property must be set to questionnaire.

The doneCriteria property can be one of the following string values:

  • experienced

  • completed

  • interacted

  • passed

If defined, the attempts property must be greater than 0.

If the doneCriteria is set to passed, then the firstQuestionnairePart must have a passCriteria.

Details

If the doneCriteria is set to experienced, then the questionnaire is considered done when the questionnaire is visible. If the doneCriteria is set to completed, then the questionnaire is considered done when the firstQuestionnairePart is finished and there is an undefined next property or there is no QuestionnairePart defined for the learner’s score. If there is a next QuestionnairePart for the learner’s score, the questionnaire is considered done when the next questionnaire part is finished and all subsequent questionnaire parts (if any) are finished. If the doneCriteria is set to interacted, then the questionnaire is considered done when the learner answers at least one question. If the doneCriteria is set to passed, then the questionnaire is considered done when the firstQuestionnairePart has met its passCriteria and all subsequent questionnaire parts for the learners score (if any) have also met their passCriteria.

If review is true, then the learner can review the questionnaire and their answers. If review is false, then the learner cannot review the questionnaire and their answers. The answers cannot be changed during the review. An implementation should only allow the learner to review the questionnaire when it is completed. If review is false or undefined, then the learner cannot review the questionnaire.

If attempts is undefined, the number of attempts is unlimited. Note: If the doneCriteria is passed and the learner reaches the number of attempts without passing, the questionnaire cannot be passed.

An implementation should only display the feedback when the questionnaire is completed.

The feedback should include:

  • the number of remaining attempts if the attempts property is defined.

  • a review button if the review property is true.

  • a retry button if the attempts property is defined and the learner has remaining attempts.

  • the feedback for each questionnaire part that has feedback defined.

QuestionnairePart

A series of questions which can be scored, passed, failed and have conditional next questionnaire parts.

Name

Type

Description

Required

activity

Activity

Activity of the questionnaire part

No

passCriteria

PassCriteria

Pass criteria of the questionnaire part

No

numberOfQuestions

number

Number of questions to be randomly selected from the questions array

No

timeLimit

number

Time limit of the questionnaire part in seconds

No

introduction

Introduction

Introduction to the questionnaire part

No

feedback

QuestionnairePartFeedback

Feedback of the questionnaire part

No

questions

Question array

Questions of the questionnaire part

Yes

next

NextMap map

Next questionnaire part based on the learner’s score

Yes

Restrictions

If numberOfQuestions property is defined it must be greater than 0 and must not be greater than the size of the questions array.

If defined, the timeLimit property must be greater than 0.

The questions array must contain at least one Question.

Details

A scored questionnaire part has at least one question or answer with a score. An unscored questionnaire part has no questions or answers with a score.

A scored questionnaire part can have a conditional next QuestionnairePart based on the learner’s score.

A scored questionnaire part with a passCriteria can be passed or failed. A scored questionnaire part without a passCriteria can only be scored. An unscored questionnaire part cannot be passed, failed or scored.

A questionnaire part is finished when no more questions can be answered. No more questions can be answered when the learner has:

  • answered all the questions in the questionnaire part.

  • answered the required number of questions as defined by the numberOfQuestions property.

  • reached the time limit as defined by the timeLimit property.

If activity is undefined, no statements about the questionnaire part will be sent to the LRS.

passCriteria is only applicable if the questionnaire part is a scored questionnaire part. If undefined, the questionnaire part cannot be passed.

If the numberOfQuestions property is undefined, then all the questions are asked and an implementation should display the questions in the order they are defined in the questions array.

If the timeLimit property is undefined, then there is no time limit. If defined, an implementation should display a questionnaire part introduction with the time limit and a start button. The time limit should be measured from when the start button is pressed. If the time limit is reached, the learner cannot answer any more questions in the questionnaire part. Note: If the questionnaire doneCriteria is passed and the learner reaches time limit without passing, the questionnaire part cannot be passed and the questionnaire cannot be passed.

If an introduction is defined, an implementation should should display it before the questions, an introduction will always include a start button. If the introduction is undefined, then no introduction is displayed.

If feedback is defined for a questionnaire part an implementation should display the feedback for the questionnaire part on the questionnaire feedback when the questionnaire is completed. If feedback is undefined, then no feedback is displayed for the questionnaire part on the questionnaire feedback.

next is only applicable if the questionnaire part is a scored questionnaire part. If undefined, the learner is not asked any more questions. If defined, the learner is asked the next questionnaire part based on their score. The QuestionnairePart with the highest score key that is less than or equal to the learner’s score is selected. If passCriteria.inverse is true, the QuestionnairePart with the lowest score key that is greater than or equal to the learner’s score is selected. If the selected value is null, then the learner is not asked any more questions.`

PassCriteria

The pass criteria of a questionnaire part.

Name

Type

Description

Required

score

number

Passing score

Yes

inverse

boolean

If true, the score is the maximum score to pass the questionnaire

No

passUnit

boolean

If true, passing the questionnaire part will pass the unit

No

Restrictions

The score property must not be greater than the sum of the scores of the questions.

There must not be more than one passUnit property set to true in the entire unit.

Details

If the inverse property is false or undefined, then the score is the minimum score required to pass the questionnaire part. If the inverse property is true, then the score is the maximum score allowed to pass the questionnaire part.

If the passUnit property is true, then the questionnaire is used to score the unit. A Passed statement with the unit activity is sent to the LRS when the questionnaire is passed. A Failed statement with the unit activity is sent to the LRS when the questionnaire is failed.

Introduction

The introduction to a questionnaire part.

Name

Type

Description

Required

text

LanguageMap

Text to display

No

showPassCriteria

boolean

If true, the pass criteria is displayed

No

showNumberOfQuestions

boolean

If true, the number of questions that the learner is required to answer is displayed.

No

showTimeLimit

boolean

If true, the time limit is displayed

No

Question

A question of a questionnaire block.

Name

Type

Description

Required

id

string

Id of the question

no

definition

QuestionDefinition

Definition of the question

yes

Restrictions

The id property must be a valid URI.

Details

The id property is used to identify the question. If undefined, then no Answered statement is sent to the LRS.

QuestionDefinition

The definition of a question.

Name

Type

Description

Required

name

LanguageMap

Name of the question

yes

description

LanguageMap

Text of the question

yes

feedback

QuestionFeedback

Feedback settings of the question

no

interactionType

Interaction Type

Interaction type of the question

yes

multipleChoices

boolean

If true, the learner can select multiple options.

no

score

number

Score of the question

no

correctResponsesPattern

string array

A pattern representing the correct response to the interaction

no

exitResponsesPattern

string array

A pattern representing the exit response to the interaction

no

choices

QuestionInteractionComponent array

Choices of the question

no

scale

QuestionInteractionComponent array

Scale of the question

no

source

QuestionInteractionComponent array

Source of the question

no

target

QuestionInteractionComponent array

Target of the question

no

steps

QuestionInteractionComponent array

Steps of the question

no

Restrictions

If score is defined, then the correctResponsesPattern property must be defined. An implementation must give the score property precedence over the QuestionInteractionComponent.score property.

The correctResponsesPattern property must be an array of valid strings.

The exitResponsesPattern property must be an array of valid strings.

Details

The correctResponsesPattern property is used to determine if the learner has answered the question correctly. If undefined, then the question cannot be answered correctly. The structure of the correctResponsesPattern property is dependent on the interactionType property.

The exitResponsesPattern property is used to exit the questionnaire part. The structure of the exitResponsesPattern property is dependent on the interactionType property. If the learner’s response matches the exitResponsesPattern property, the remaining questions in the questionnaire part are not asked. The response should be evaluated before skipping any remaining questions.

choices is only applicable if the interactionType property is choice or sequencing.

scale is only applicable if the interactionType property is likert.

source and target are only applicable if the interactionType property is matching.

steps is only applicable if the interactionType property is performance.

QuestionFeedback

The feedback to display for an individual question after submitting an answer or when reviewing the questionnaire.

Name

Type

Description

Required

immediate

boolean

If true, the feedback is displayed immediately after submitting an answer

no

showCorrectResponse

boolean

If true, the correct response is displayed

no

correctResponseText

LanguageMap

Text to display when the answer is correct

no

incorrectResponseText

LanguageMap

Text to display when the answer is incorrect

no

`successIcon

boolean

If true, an icon is displayed to indicate the answer is correct or incorrect

no

text

LanguageMap

Text to display

no

Restrictions

showCorrectResponse, correctResponseText, incorrectResponseText and successIcon are only applicable if:

  • 'correctResponsePattern' is defined

  • immediate is true or 'questionnaire.review' is true

text is only applicable if immediate is true or questionnaire.review is true.

Details

If immediate is true, then the feedback is displayed immediately after submitting an answer. If immediate is false, then the feedback is only displayed when reviewing the questionnaire.

If showCorrectResponse is true, then the correct response is displayed. If showCorrectResponse is false, then the correct response is not displayed.

If correctResponseText is defined, then the text is displayed when the answer is correct. If correctResponseText is undefined, then no text is displayed when the answer is correct.

If incorrectResponseText is defined, then the text is displayed when the answer is incorrect. If incorrectResponseText is undefined, then no text is displayed when the answer is incorrect.

If successIcon is true, then an icon is displayed to indicate the answer is correct or incorrect. If successIcon is false, then no icon is displayed to indicate the answer is correct or incorrect.

If text is defined, then the text is displayed after submitting an answer.

QuestionnairePartFeedback

The feedback of a questionnaire part.

Name

Type

Description

Required

text

LanguageMap

Text to display for the part

no

showScore

boolean

If true, the score is shown

no

showIcon

boolean

If true, an icon is displayed to indicate the part is passed or failed

no

scoreText

ScoreTextMap

Text to display based on the learners score

no

Restrictions
`showScore` and `scoreText` are only applicable if the questionnaire part is a scored questionnaire part.

showIcon is only applicable if the questionnaire part is a scored questionnaire part with a passCriteria.

Details

An implementation should display the feedback for the questionnaire part on the questionnaire feedback when the questionnaire is completed. If feedback is undefined, then no feedback is displayed for the questionnaire part on the questionnaire feedback.

ScoreTextMap

The text to display based on the score.

Score Text is a map of score to text where the score is the key and the text is the value. The text is a LanguageMap.

Name

Type

Description

Required

score

number

Score of the text

Yes

text

LanguageMap

Text to display

No

Restrictions

Only applicable if the questionnaire part is a scored questionnaire part.

Details

The LanguageMap with the highest score key that is less than or equal to the learner’s score is selected.

if passCriteria.inverse is true, the LanguageMap with the lowest score key that is greater than or equal to the learner’s score is selected.

If the selected value is null, then no text is displayed.

QuestionInteractionComponent

A question interaction component is a component of a question interaction type.

Name

Type

Description

Required

id

string

Id of the question interaction component

no

description

LanguageMap

Description of the question interaction component

no

score

number

Score of the question interaction component

no

Restrictions

The id property must be a valid URI.

NextMap

The next questionnaire part to ask the learner based on their score.

Name

Type

Description

Required

score

number

Score of the next questionnaire part

Yes

questionnairePart

QuestionnairePart

Next questionnaire part to ask the learner

No

Restrictions

Only applicable if the questionnaire part is a scored questionnaire part.

Details

The QuestionnairePart with the highest score key that is less than or equal to the learner’s score is selected.

if passCriteria.inverse is true, the QuestionnairePart with the lowest score key that is greater than or equal to the learner’s score is selected.

If the selected value is null, then the learner is not asked any more questions.

If the next property is undefined, then the learner is not asked any more questions.

Tabs

Contains a series of tabs, a single tab is always visible.

Parameters

Name

Type

Description

Required

type

string

Type of the Block

Yes

doneCriteria

string

Criteria to determine if the tabs are done

No

minimumTabsDone

number

Minimum number of tabs that are required to be done to consider the tabs done

No

numberOfQuestions

number

Number of questions to be randomly selected from the questions array

No

tabs

Tab array

Tabs of the tabs

Yes

next

NextMap

Next step of the questionnaire

Yes

Restrictions

The type property must be set to tabs.

The doneCriteria property can be one of the following string values:

  • experienced

  • completed

  • interacted

The minimumTabsDone property must be greater than 1 and should not be greater than the size of the tabs array. Only applicable if the doneCriteria is set to completed.

The tabs property must contain at least two Tab objects.

Details

If the doneCriteria is set to experienced, then the tabs are considered done when the tabs are visible. If the doneCriteria is set to completed, then the tabs are considered done when the minimum number of tabs have been done. If the doneCriteria is set to interacted, then the tabs are considered done when at least one tab is opened.

If the minimumTabsDone property is undefined, then the tabs considered done when all the tabs are done.

An implementation should display the tabs in the order they are defined in the tabs array.

Tab

A collection of ordered blocks.

Parameters

Name

Type

Description

Required

name

LanguageMap

Name of the tab

Yes

activity

Activity

Activity of the container

No

blocks

Block array

Blocks of the tab

Yes

Restrictions

The blocks property must contain at least one HTML or YouTubePlayer object.

Details

If activity is undefined, no statements about the tab will be sent to the LRS.

A tab is considered done when all the blocks of the tab are done. It cannot be done until it is visible.

VideoPlayer

Can play a video file.

Parameters

Name

Type

Description

Required

type

string

Type of the Block

Yes

doneCriteria

string

Criteria to determine if the video player is done

No

url

string

URL of the video file

Yes

Restrictions

The type property must be set to video.

If set the doneCriteria property can be one of the following string values:

  • experienced

  • completed

  • interacted

The url property must be a valid URL.

Details

If the doneCriteria is set to experienced, then the video player is considered done when the video player is visible. If the doneCriteria is set to completed, then the video player is considered done when the video is played until the end. If the doneCriteria is set to interacted, then the video player is considered done when the video is played.

YouTubePlayer

Can play a YouTube video.

Parameters

Name

Type

Description

Required

type

string

Type of the Block

Yes

doneCriteria

string

Criteria to determine if the YouTube player is done

No

id

string

ID of the YouTube video

Yes

Restrictions

The type property must be set to youtube.

If set the 'doneCriteria' property can be one of the following string values:

  • experienced

  • completed

  • interacted

The id property must be a valid YouTube video ID.

Details

If the doneCriteria is set to experienced, then the YouTube player is considered done when the YouTube player is visible. If the doneCriteria is set to completed, then the YouTube player is considered done when the video is played until the end. If the doneCriteria is set to interacted, then the YouTube player is considered done when the video is played.

Image

An image to display for the unit or within an HTML block.

Parameters

Name

Type

Description

Required

url

string

The URL of the image

Yes

description

string

The description of the image

No

author.name

string

The name of the author

No

author.homepage

string

The homepage of the author

No

provider.name

string

The name of the provider

No

provider.homepage

string

The homepage of the provider

No

blurhash

string

The blurhash of the image

No

Restrictions

The url property must be a valid URL.