Skip to content

1.1. Configuring repository structure

abasic edited this page Mar 5, 2020 · 1 revision

Introduction

The following page explains how to configure the general course structure. That includes creating all used activity types (Goals, Learning Objectives, Practice Exercises, etc.), setting up their relation to one another, as well as what type of content will each activity contain (Introduction, Perspective, Assessments, Exams, etc.) and various activity meta data.

Preview

course structure

Code example

.activities-rc.json

{
  "SCHEMAS": [{
    "id": "COURSE",
    "name": "Example schema",
    "contentContainers": [{
      "type": "INTRO",
      "label": "Introduction",
      "types": ["HTML", "AUDIO", "VIDEO", "EMBED"],
      "displayHeading": true
    }, {
      "type": "PERSPECTIVE",
      "label": "Content",
      "multiple": true,
      "displayHeading": true,
      "layout": true
    }],
    "structure": [{
      "level": 1,
      "type": "GOAL",
      "subLevels": ["OBJECTIVE", "INTERACTIVE_EXERCISE"],
      "label": "Goal",
      "color": "#42A5F5",
      "contentContainers": ["INTRO"],
      "hasAssessments": false,
      "meta": [{
        "key": "inputKey",
        "type": "INPUT",
        "label": "Name",
        "placeholder": "Click to add...",
        "validate": { "rules": { "max": 250 } }
      }, {
        "key": "textareaKey",
        "type": "TEXTAREA",
        "label": "Description",
        "placeholder": "Click to add...",
        "validate": {
          "rules": {
            "max": 250
          }
        }
      }, {
        "key": "checkboxKey",
        "type": "CHECKBOX",
        "label": "Generic checkbox label",
        "description": "Description for a checkbox"
      }, {
        "key": "switchKey",
        "type": "SWITCH",
        "label": "Generic switch label",
        "description": "Description for a switch"
      }, {
        "key": "colorKey",
        "type": "COLOR",
        "label": "Pick a color"
      }, {
        "key": "duration",
        "type": "SELECT",
        "label": "Select From List",
        "placeholder": "Select...",
        "options": [{
          "label": "selection 1",
          "value": 5
        }, {
          "label": "selection 2",
          "value": 10
        }, {
          "label": "selection 3",
          "value": 15
        }]
      }, {
        "key": "datePicker",
        "type": "DATETIME",
        "label": "date picker"
      }]
    }, {
      "level": 2,
      "type": "OBJECTIVE",
      "subLevels": ["TOPIC"],
      "label": "Learning Objective",
      "color": "#66BB6A",
      "contentContainers": [],
      "hasAssessments": false,
      "meta": [{
        "key": "description",
        "type": "TEXTAREA",
        "label": "Description",
        "placeholder": "Click to add...",
        "validate": {
          "rules": {
            "required": false,
            "max": 250
          }
        }
      }, {
        "key": "inactive",
        "type": "SWITCH",
        "label": "Inactive"
      }]
    }, {
      "level": 2,
      "type": "INTERACTIVE_EXERCISE",
      "subLevels": [],
      "label": "Interactive Exercise",
      "color": "#78909C",
      "isEditable": true,
      "contentContainers": ["PERSPECTIVE"],
      "meta": []
    }, {
      "level": 3,
      "type": "TOPIC",
      "label": "Topic",
      "color": "#EC407A",
      "isObjective": true,
      "contentContainers": ["PERSPECTIVE"],
      "hasAssessments": true,
      "meta": [{
        "key": "description",
        "type": "TEXTAREA",
        "label": "Description",
        "placeholder": "Click to add...",
        "validate": {
          "rules": {
            "required": false,
            "max": 250
          }
        }
      }],
      "relationships": [{
        "type": "prerequisites",
        "label": "Prerequisites",
        "placeholder": "Select prerequisites"
       }, {
        "type": "replacements",
        "label": "Replacements",
        "placeholder": "Select replacements"
       }]
    }]
  }]
}

OUTLINE_LEVELS properties

Property Description Values
level Defines the activity level in the structure Number
type Defines the type of the Activity 'GOAL', 'OBJECTIVE', 'INTERACTIVE_EXERCISE', 'TOPIC' or any other available activity type
subLevels Defines which activities are sub-levels for the current activity.
IMPORTANT: Level property for all sub-activities has to be current_activity.level + 1
Example: If 'GOAL' has level set to 1, and 'OBJECTIVE' is a sublevel of 'GOAL', then 'OBJECTIVE' level has to be set to 2. Entering the wrong subLevel value may cause issues with the course structure.
Array containing 'GOAL', 'OBJECTIVE', 'INTERACTIVE_EXERCISE', 'TOPIC' or any other available activity type
label Label for the currently selected activity String
color Color for the background on the activity ordinal number HEX, RGB, color name,...
hasAssessments Defines whether the activity has an 'Assessments' section (Topic level assessments) Boolean
meta Used to add metadata to the activity (visible from the activity sidebar). More details on metadata can be found here.
contentContainers Used to add content containers with specified elements in each structure type. More details on defining content container structure can be found here.
relationships Used to add specified types of relationships between structure types. More details on relationships can be found here.