[
  {
    "name": "presentation",
    "type": "group",
    "importance": "high",
    "widget": "coursepresentation",
    "fields": [
      {
        "name": "slides",
        "importance": "high",
        "type": "list",
        "field": {
          "name": "slide",
          "importance": "high",
          "type": "group",
          "fields": [
            {
              "name": "elements",
              "importance": "high",
              "type": "list",
              "field": {
                "name": "element",
                "importance": "high",
                "type": "group",
                "fields": [
                  {
                    "name": "x",
                    "importance": "low",
                    "type": "number",
                    "widget": "none"
                  },
                  {
                    "name": "y",
                    "importance": "low",
                    "type": "number",
                    "widget": "none"
                  },
                  {
                    "name": "width",
                    "importance": "low",
                    "type": "number",
                    "widget": "none",
                    "optional": true
                  },
                  {
                    "name": "height",
                    "importance": "low",
                    "type": "number",
                    "widget": "none",
                    "optional": true
                  },
                  {
                    "name": "action",
                    "type": "library",
                    "importance": "high",
                    "options": [
                      "H5P.AdvancedText 1.1",
                      "H5P.Link 1.3",
                      "H5P.Image 1.1",
                      "H5P.Shape 1.0",
                      "H5P.Video 1.5",
                      "H5P.Audio 1.3",
                      "H5P.Blanks 1.11",
                      "H5P.SingleChoiceSet 1.11",
                      "H5P.MultiChoice 1.13",
                      "H5P.TrueFalse 1.5",
                      "H5P.DragQuestion 1.13",
                      "H5P.Summary 1.10",
                      "H5P.DragText 1.8",
                      "H5P.MarkTheWords 1.9",
                      "H5P.Dialogcards 1.7",
                      "H5P.ContinuousText 1.2",
                      "H5P.ExportableTextArea 1.3",
                      "H5P.Table 1.1",
                      "H5P.InteractiveVideo 1.20",
                      "H5P.TwitterUserFeed 1.0"
                    ],
                    "optional": true
                  },
                  {
                    "name": "solution",
                    "type": "text",
                    "widget": "html",
                    "optional": true,
                    "label": "Comments",
                    "importance": "low",
                    "description": "The comments are shown when the user displays the suggested answers for all slides.",
                    "enterMode": "p",
                    "tags": [
                      "strong",
                      "em",
                      "del",
                      "a",
                      "ul",
                      "ol",
                      "h2",
                      "h3",
                      "hr"
                    ]
                  },
                  {
                    "name": "alwaysDisplayComments",
                    "type": "boolean",
                    "label": "Always display comments",
                    "importance": "low",
                    "optional": true
                  },
                  {
                    "name": "backgroundOpacity",
                    "type": "number",
                    "label": "Background Opacity",
                    "importance": "low",
                    "min": 0,
                    "max": 100,
                    "step": 5,
                    "default": 0,
                    "optional": true
                  },
                  {
                    "name": "displayAsButton",
                    "type": "boolean",
                    "label": "Display as button",
                    "importance": "medium",
                    "default": false,
                    "optional": true
                  },
                  {
                    "name": "buttonSize",
                    "type": "select",
                    "label": "Button size",
                    "importance": "low",
                    "optional": false,
                    "default": "big",
                    "options": [
                      {
                        "value": "small",
                        "label": "Small"
                      },
                      {
                        "value": "big",
                        "label": "Big"
                      }
                    ]
                  },
                  {
                    "name": "title",
                    "type": "text",
                    "optional": true,
                    "label": "Title",
                    "importance": "medium"
                  },
                  {
                    "name": "goToSlideType",
                    "type": "select",
                    "label": "Go to",
                    "importance": "medium",
                    "optional": false,
                    "options": [
                      {
                        "value": "specified",
                        "label": "Specific slide number"
                      },
                      {
                        "value": "next",
                        "label": "Next slide"
                      },
                      {
                        "value": "previous",
                        "label": "Previous slide"
                      }
                    ],
                    "default": "specified"
                  },
                  {
                    "name": "goToSlide",
                    "type": "number",
                    "label": "Specific slide number",
                    "description": "Only applicable when 'Specific slide number' is selected",
                    "importance": "low",
                    "min": 1,
                    "optional": true
                  },
                  {
                    "name": "invisible",
                    "type": "boolean",
                    "label": "Invisible",
                    "importance": "low",
                    "description": "Default cursor, no title and no tab index. Warning: Users with disabilities or keyboard only users will have trouble using this element.",
                    "default": false
                  }
                ]
              }
            },
            {
              "name": "keywords",
              "importance": "low",
              "type": "list",
              "optional": true,
              "field": {
                "name": "keyword",
                "importance": "low",
                "type": "group",
                "optional": true,
                "fields": [
                  {
                    "name": "main",
                    "importance": "low",
                    "type": "text",
                    "optional": true
                  },
                  {
                    "name": "subs",
                    "importance": "low",
                    "type": "list",
                    "optional": true,
                    "field": {
                      "name": "keyword",
                      "importance": "low",
                      "type": "text"
                    }
                  }
                ]
              }
            },
            {
              "name": "slideBackgroundSelector",
              "importance": "medium",
              "type": "group",
              "widget": "radioSelector",
              "fields": [
                {
                  "name": "imageSlideBackground",
                  "type": "image",
                  "label": "Image",
                  "importance": "medium",
                  "optional": true,
                  "description": "Image background should have a 2:1 width to height ratio to avoid stretching. High resolution images will display better on larger screens."
                },
                {
                  "name": "fillSlideBackground",
                  "importance": "medium",
                  "type": "text",
                  "widget": "colorSelector",
                  "label": "Pick a color",
                  "spectrum": {
                    "flat": true,
                    "showInput": true,
                    "allowEmpty": true,
                    "showButtons": false
                  },
                  "default": null,
                  "optional": true
                }
              ]
            }
          ]
        }
      },
      {
        "name": "ct",
        "importance": "low",
        "type": "text",
        "widget": "none",
        "optional": true,
        "tags": [
          "strong",
          "em",
          "del",
          "br",
          "p",
          "a",
          "h2",
          "h3"
        ]
      },
      {
        "name": "keywordListEnabled",
        "type": "boolean",
        "label": "Keyword list",
        "importance": "low",
        "default": true
      },
      {
        "name": "keywordListAlwaysShow",
        "type": "boolean",
        "label": "Always show",
        "importance": "low",
        "default": false
      },
      {
        "name": "keywordListAutoHide",
        "type": "boolean",
        "label": "Auto hide",
        "importance": "low",
        "default": false
      },
      {
        "name": "keywordListOpacity",
        "type": "number",
        "label": "Opacity",
        "importance": "low",
        "min": 0,
        "max": 100,
        "default": 90
      },
      {
        "name": "globalBackgroundSelector",
        "importance": "medium",
        "type": "group",
        "widget": "radioSelector",
        "fields": [
          {
            "name": "imageGlobalBackground",
            "type": "image",
            "label": "Image",
            "importance": "medium",
            "optional": true,
            "description": "Image background should have a 2:1 width to height ratio to avoid stretching. High resolution images will display better on larger screens."
          },
          {
            "name": "fillGlobalBackground",
            "type": "text",
            "widget": "colorSelector",
            "label": "Pick a color",
            "importance": "medium",
            "spectrum": {
              "flat": true,
              "showInput": true,
              "allowEmpty": true,
              "showButtons": false
            },
            "default": null,
            "optional": true
          }
        ]
      }
    ]
  },
  {
    "name": "l10n",
    "type": "group",
    "label": "Localize",
    "importance": "low",
    "common": true,
    "fields": [
      {
        "name": "slide",
        "type": "text",
        "label": "Translation for \"Slide\"",
        "importance": "low",
        "default": "Slide"
      },
      {
        "name": "score",
        "type": "text",
        "label": "Translation for \"Score\"",
        "importance": "low",
        "default": "Score"
      },
      {
        "name": "yourScore",
        "type": "text",
        "label": "Translation for \"Your Score\"",
        "importance": "low",
        "default": "Your Score"
      },
      {
        "name": "maxScore",
        "type": "text",
        "label": "Translation for \"Max Score\"",
        "importance": "low",
        "default": "Max Score"
      },
      {
        "name": "total",
        "type": "text",
        "label": "Translation for \"Total\"",
        "importance": "low",
        "default": "Total"
      },
      {
        "name": "totalScore",
        "type": "text",
        "label": "Translation for \"Total Score\"",
        "importance": "low",
        "default": "Total Score"
      },
      {
        "name": "showSolutions",
        "type": "text",
        "label": "Title for show solutions button",
        "importance": "low",
        "default": "Show solutions"
      },
      {
        "name": "retry",
        "type": "text",
        "label": "Text for the retry button",
        "importance": "low",
        "default": "Retry",
        "optional": true
      },
      {
        "name": "exportAnswers",
        "type": "text",
        "label": "Text for the export text button",
        "importance": "low",
        "default": "Export text"
      },
      {
        "name": "hideKeywords",
        "type": "text",
        "label": "Hide keywords list button title",
        "importance": "low",
        "default": "Hide keywords list"
      },
      {
        "name": "showKeywords",
        "type": "text",
        "label": "Show keywords list button title",
        "importance": "low",
        "default": "Show keywords list"
      },
      {
        "name": "fullscreen",
        "type": "text",
        "label": "Fullscreen label",
        "importance": "low",
        "default": "Fullscreen"
      },
      {
        "name": "exitFullscreen",
        "type": "text",
        "label": "Exit fullscreen label",
        "importance": "low",
        "default": "Exit fullscreen"
      },
      {
        "name": "prevSlide",
        "type": "text",
        "label": "Previous slide label",
        "importance": "low",
        "default": "Previous slide"
      },
      {
        "name": "nextSlide",
        "type": "text",
        "label": "Next slide label",
        "importance": "low",
        "default": "Next slide"
      },
      {
        "name": "currentSlide",
        "type": "text",
        "label": "Current slide label",
        "importance": "low",
        "default": "Current slide"
      },
      {
        "name": "lastSlide",
        "type": "text",
        "label": "Last slide label",
        "importance": "low",
        "default": "Last slide"
      },
      {
        "name": "solutionModeTitle",
        "type": "text",
        "label": "Exit solution mode text",
        "importance": "low",
        "default": "Exit solution mode"
      },
      {
        "name": "solutionModeText",
        "type": "text",
        "label": "Solution mode text",
        "importance": "low",
        "default": "Solution Mode"
      },
      {
        "name": "summaryMultipleTaskText",
        "type": "text",
        "label": "Text when multiple tasks on a page",
        "importance": "low",
        "default": "Multiple tasks"
      },
      {
        "name": "scoreMessage",
        "type": "text",
        "label": "Score message text",
        "importance": "low",
        "default": "You achieved:"
      },
      {
        "name": "shareFacebook",
        "type": "text",
        "label": "Share to Facebook text",
        "importance": "low",
        "default": "Share on Facebook"
      },
      {
        "name": "shareTwitter",
        "type": "text",
        "label": "Share to Twitter text",
        "importance": "low",
        "default": "Share on Twitter"
      },
      {
        "name": "shareGoogle",
        "type": "text",
        "label": "Share to Google text",
        "importance": "low",
        "default": "Share on Google+"
      },
      {
        "name": "summary",
        "type": "text",
        "label": "Title for summary slide",
        "importance": "low",
        "default": "Summary"
      },
      {
        "name": "solutionsButtonTitle",
        "type": "text",
        "label": "Title for the comments icon",
        "importance": "low",
        "default": "Show comments"
      },
      {
        "name": "printTitle",
        "type": "text",
        "label": "Title for print button",
        "importance": "low",
        "default": "Print"
      },
      {
        "name": "printIngress",
        "type": "text",
        "label": "Print dialog ingress",
        "importance": "low",
        "default": "How would you like to print this presentation?"
      },
      {
        "name": "printAllSlides",
        "type": "text",
        "label": "Label for \"Print all slides\" button",
        "importance": "low",
        "default": "Print all slides"
      },
      {
        "name": "printCurrentSlide",
        "type": "text",
        "label": "Label for \"Print current slide\" button",
        "importance": "low",
        "default": "Print current slide"
      },
      {
        "name": "noTitle",
        "type": "text",
        "label": "Label for slides without a title",
        "importance": "low",
        "default": "No title"
      },
      {
        "name": "accessibilitySlideNavigationExplanation",
        "type": "text",
        "label": "Explanation of slide navigation for assistive technologies",
        "importance": "low",
        "default": "Use left and right arrow to change slide in that direction whenever canvas is selected."
      },
      {
        "name": "accessibilityCanvasLabel",
        "type": "text",
        "label": "Canvas label for assistive technologies",
        "importance": "low",
        "default": "Presentation canvas. Use left and right arrow to move between slides."
      },
      {
        "name": "containsNotCompleted",
        "type": "text",
        "label": "Label for uncompleted interactions",
        "importance": "low",
        "default": "@slideName contains not completed interaction"
      },
      {
        "name": "containsCompleted",
        "type": "text",
        "label": "Label for completed interactions",
        "importance": "low",
        "default": "@slideName contains completed interaction"
      },
      {
        "name": "slideCount",
        "type": "text",
        "label": "Label for slide counter. Variables are @index, @total",
        "importance": "low",
        "default": "Slide @index of @total"
      },
      {
        "name": "containsOnlyCorrect",
        "type": "text",
        "label": "Label for slides that only contains correct answers",
        "importance": "low",
        "default": "@slideName only has correct answers"
      },
      {
        "name": "containsIncorrectAnswers",
        "type": "text",
        "label": "Label for slides that has incorrect answers",
        "importance": "low",
        "default": "@slideName has incorrect answers"
      },
      {
        "name": "shareResult",
        "type": "text",
        "label": "Label for social sharing bar",
        "importance": "low",
        "default": "Share Result"
      },
      {
        "name": "accessibilityTotalScore",
        "type": "text",
        "label": "Total score announcement for assistive technologies",
        "default": "You got @score of @maxScore points in total",
        "description": "Available variables are @score and @maxScore"
      }
    ]
  },
  {
    "name": "override",
    "type": "group",
    "label": "Behaviour settings.",
    "importance": "low",
    "description": "These options will let you override behaviour settings.",
    "optional": true,
    "fields": [
      {
        "name": "activeSurface",
        "type": "boolean",
        "widget": "disposableBoolean",
        "label": "Activate Active Surface Mode",
        "importance": "low",
        "description": "Removes navigation controls for the end user. Use Go To Slide to navigate.",
        "default": false
      },
      {
        "name": "hideSummarySlide",
        "type": "boolean",
        "label": "Hide Summary Slide",
        "importance": "low",
        "description": "Hides the summary slide.",
        "default": false
      },
      {
        "name": "showSolutionButton",
        "type": "select",
        "label": "Override \"Show Solution\" button",
        "importance": "low",
        "description": "This option determines if the \"Show Solution\" button will be configured for each question individually (default) shown for all questions (Enabled) or disabled for all questions (Disabled) ",
        "optional": true,
        "options": [
          {
            "value": "on",
            "label": "Enabled"
          },
          {
            "value": "off",
            "label": "Disabled"
          }
        ]
      },
      {
        "name": "retryButton",
        "type": "select",
        "label": "Override \"Retry\" button",
        "importance": "low",
        "description": "This option determines if the \"Retry\" button will be configured for each question individually (default) shown for all questions (Enabled) or disabled for all questions (Disabled)",
        "optional": true,
        "options": [
          {
            "value": "on",
            "label": "Enabled"
          },
          {
            "value": "off",
            "label": "Disabled"
          }
        ]
      },
      {
        "name": "enablePrintButton",
        "type": "boolean",
        "label": "Enable print button",
        "importance": "low",
        "description": "Enables the print button.",
        "default": false
      },
      {
        "name": "social",
        "type": "group",
        "label": "Social Settings",
        "widget": "showWhen",
        "showWhen": {
          "rules": [
            {
              "field": "hideSummarySlide",
              "equals": false
            }
          ]
        },
        "importance": "low",
        "description": "These options will let you override social behaviour settings. Empty values will be filled in automatically if a link is provided, otherwise all values will be generated.",
        "optional": true,
        "fields": [
          {
            "name": "showFacebookShare",
            "type": "boolean",
            "label": "Display Facebook share icon",
            "importance": "low",
            "default": false
          },
          {
            "name": "facebookShare",
            "importance": "low",
            "type": "group",
            "expanded": true,
            "label": "Facebook share settings",
            "widget": "showWhen",
            "showWhen": {
              "rules": [
                {
                  "field": "showFacebookShare",
                  "equals": true
                }
              ]
            },
            "fields": [
              {
                "name": "url",
                "type": "text",
                "label": "Share to Facebook link",
                "importance": "low",
                "default": "@currentpageurl"
              },
              {
                "name": "quote",
                "type": "text",
                "label": "Share to Facebook quote",
                "importance": "low",
                "default": "I scored @score out of @maxScore on a task at @currentpageurl."
              }
            ]
          },
          {
            "name": "showTwitterShare",
            "type": "boolean",
            "label": "Display Twitter share icon",
            "importance": "low",
            "default": false
          },
          {
            "name": "twitterShare",
            "importance": "low",
            "type": "group",
            "expanded": true,
            "label": "Twitter share settings",
            "widget": "showWhen",
            "showWhen": {
              "rules": [
                {
                  "field": "showTwitterShare",
                  "equals": true
                }
              ]
            },
            "fields": [
              {
                "name": "statement",
                "type": "text",
                "label": "Share to Twitter statement",
                "importance": "low",
                "default": "I scored @score out of @maxScore on a task at @currentpageurl."
              },
              {
                "name": "url",
                "type": "text",
                "label": "Share to Twitter link",
                "importance": "low",
                "default": "@currentpageurl"
              },
              {
                "name": "hashtags",
                "type": "text",
                "label": "Share to Twitter hashtags",
                "importance": "low",
                "default": "h5p, course"
              }
            ]
          },
          {
            "name": "showGoogleShare",
            "type": "boolean",
            "label": "Display Google+ share icon",
            "importance": "low",
            "default": false
          },
          {
            "name": "googleShareUrl",
            "type": "text",
            "label": "Share to Google link",
            "importance": "low",
            "default": "@currentpageurl",
            "widget": "showWhen",
            "showWhen": {
              "rules": [
                {
                  "field": "showGoogleShare",
                  "equals": true
                }
              ]
            }
          }
        ]
      }
    ]
  }
]
