528 lines
12 KiB
JSON
528 lines
12 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"title": "Źródło karty pracy",
|
|
"description": "Schemat wspólnego źródła treści generowanego do TeX i HTML.",
|
|
"type": "object",
|
|
"required": [
|
|
"schema",
|
|
"card",
|
|
"generated",
|
|
"template",
|
|
"learning_effects",
|
|
"assessment_criteria",
|
|
"educational_requirements",
|
|
"sections",
|
|
"tasks",
|
|
"tasks_order"
|
|
],
|
|
"properties": {
|
|
"$schema": {
|
|
"type": "string"
|
|
},
|
|
"schema": {
|
|
"const": "esc-card-source.v1"
|
|
},
|
|
"card": {
|
|
"$ref": "#/$defs/card"
|
|
},
|
|
"generated": {
|
|
"$ref": "#/$defs/generated"
|
|
},
|
|
"template": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"dictionary_refs": {
|
|
"type": "object",
|
|
"properties": {
|
|
"pp_json_root": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": true
|
|
},
|
|
"side_margin_tree_layout": {
|
|
"$ref": "#/$defs/sideMarginLayout"
|
|
},
|
|
"learning_effects": {
|
|
"type": "object",
|
|
"minProperties": 1,
|
|
"additionalProperties": {
|
|
"$ref": "#/$defs/learningEffect"
|
|
}
|
|
},
|
|
"assessment_criteria": {
|
|
"type": "object",
|
|
"minProperties": 1,
|
|
"additionalProperties": {
|
|
"$ref": "#/$defs/assessmentCriterion"
|
|
}
|
|
},
|
|
"educational_requirements": {
|
|
"type": "object",
|
|
"minProperties": 1,
|
|
"additionalProperties": {
|
|
"$ref": "#/$defs/educationalRequirement"
|
|
}
|
|
},
|
|
"sections": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/$defs/section"
|
|
}
|
|
},
|
|
"tasks": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"$ref": "#/$defs/task"
|
|
}
|
|
},
|
|
"tasks_order": {
|
|
"type": "array",
|
|
"uniqueItems": true,
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"model_block": {
|
|
"type": "object",
|
|
"properties": {
|
|
"steps": {
|
|
"$ref": "#/$defs/stringList"
|
|
}
|
|
},
|
|
"additionalProperties": true
|
|
},
|
|
"code_block": {
|
|
"type": "object",
|
|
"properties": {
|
|
"blocks": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string"
|
|
},
|
|
"slug": {
|
|
"type": "string"
|
|
},
|
|
"goal": {
|
|
"type": "string"
|
|
},
|
|
"web_steps": {
|
|
"$ref": "#/$defs/stringList"
|
|
},
|
|
"web_commands": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"required": ["label", "command"],
|
|
"properties": {
|
|
"label": {
|
|
"type": "string"
|
|
},
|
|
"command": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": true
|
|
}
|
|
}
|
|
},
|
|
"additionalProperties": true
|
|
}
|
|
}
|
|
},
|
|
"additionalProperties": true
|
|
},
|
|
"hardware_procedure": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/$defs/procedureStep"
|
|
}
|
|
}
|
|
},
|
|
"$defs": {
|
|
"stringList": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"card": {
|
|
"type": "object",
|
|
"required": [
|
|
"id",
|
|
"series",
|
|
"number",
|
|
"count",
|
|
"slug",
|
|
"title",
|
|
"version",
|
|
"uuid"
|
|
],
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"series": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"number": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"count": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"slug": {
|
|
"type": "string",
|
|
"pattern": "^[a-z0-9][a-z0-9-]*$"
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"version": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"uuid": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
},
|
|
"additionalProperties": true
|
|
},
|
|
"generated": {
|
|
"type": "object",
|
|
"required": ["tex", "html"],
|
|
"properties": {
|
|
"tex": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"html": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"html_css": {
|
|
"type": "string"
|
|
},
|
|
"html_tree_inspector": {
|
|
"type": "boolean"
|
|
},
|
|
"bibliography": {
|
|
"type": "string"
|
|
},
|
|
"report_tasks_json": {
|
|
"type": "string"
|
|
},
|
|
"report_tasks_tex": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"sideMarginLayout": {
|
|
"type": "object",
|
|
"required": ["columns"],
|
|
"properties": {
|
|
"columns": {
|
|
"type": "array",
|
|
"minItems": 2,
|
|
"items": {
|
|
"type": "object",
|
|
"required": ["id", "label", "side", "tree"],
|
|
"properties": {
|
|
"id": {
|
|
"enum": ["ogolne", "zawodowe"]
|
|
},
|
|
"label": {
|
|
"type": "string"
|
|
},
|
|
"side": {
|
|
"enum": ["left", "right"]
|
|
},
|
|
"tree": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": true
|
|
}
|
|
}
|
|
},
|
|
"additionalProperties": true
|
|
},
|
|
"learningEffect": {
|
|
"type": "object",
|
|
"required": ["text"],
|
|
"properties": {
|
|
"text": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"label": {
|
|
"type": "string"
|
|
},
|
|
"bloom_level": {
|
|
"type": "string"
|
|
},
|
|
"assessment_criteria": {
|
|
"$ref": "#/$defs/stringList"
|
|
}
|
|
},
|
|
"additionalProperties": true
|
|
},
|
|
"assessmentCriterion": {
|
|
"type": "object",
|
|
"required": ["text", "learning_effects"],
|
|
"properties": {
|
|
"text": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"learning_effects": {
|
|
"$ref": "#/$defs/stringList"
|
|
}
|
|
},
|
|
"additionalProperties": true
|
|
},
|
|
"educationalRequirement": {
|
|
"type": "object",
|
|
"required": ["text", "learning_effects", "learning_tree"],
|
|
"properties": {
|
|
"text": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"label": {
|
|
"type": "string"
|
|
},
|
|
"learning_effects": {
|
|
"$ref": "#/$defs/stringList"
|
|
},
|
|
"learning_tree": {
|
|
"type": "object",
|
|
"required": ["ogolne", "zawodowe"],
|
|
"properties": {
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"policy": {
|
|
"type": "string"
|
|
},
|
|
"ogolne": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/$defs/treeItem"
|
|
}
|
|
},
|
|
"zawodowe": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/$defs/treeItem"
|
|
}
|
|
}
|
|
},
|
|
"additionalProperties": true
|
|
}
|
|
},
|
|
"additionalProperties": true
|
|
},
|
|
"treeItem": {
|
|
"type": "object",
|
|
"required": ["tree_id", "effect_ref", "display", "text", "kw"],
|
|
"properties": {
|
|
"tree_id": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"effect_ref": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"display": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"text": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"source": {
|
|
"type": "string"
|
|
},
|
|
"official": {
|
|
"type": "string"
|
|
},
|
|
"local": {
|
|
"type": "string"
|
|
},
|
|
"kind": {
|
|
"type": "string"
|
|
},
|
|
"kw": {
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"items": {
|
|
"$ref": "#/$defs/treeCriterion"
|
|
}
|
|
}
|
|
},
|
|
"additionalProperties": true
|
|
},
|
|
"treeCriterion": {
|
|
"type": "object",
|
|
"required": ["criterion_ref", "display", "text"],
|
|
"properties": {
|
|
"criterion_ref": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"display": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"text": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"source": {
|
|
"type": "string"
|
|
},
|
|
"official": {
|
|
"type": "string"
|
|
},
|
|
"local": {
|
|
"type": "string"
|
|
},
|
|
"kind": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": true
|
|
},
|
|
"section": {
|
|
"type": "object",
|
|
"required": ["title"],
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"content_kind": {
|
|
"type": "string"
|
|
},
|
|
"content_tex": {
|
|
"type": "string"
|
|
},
|
|
"area_tree_refs": {
|
|
"$ref": "#/$defs/stringList"
|
|
},
|
|
"educational_requirement_refs": {
|
|
"$ref": "#/$defs/stringList"
|
|
},
|
|
"learning_effect_refs": {
|
|
"$ref": "#/$defs/stringList"
|
|
},
|
|
"assessment_criterion_refs": {
|
|
"$ref": "#/$defs/stringList"
|
|
},
|
|
"steps": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/$defs/sectionStep"
|
|
}
|
|
}
|
|
},
|
|
"additionalProperties": true
|
|
},
|
|
"sectionStep": {
|
|
"type": "object",
|
|
"required": ["id", "title", "tree_refs"],
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"tree_refs": {
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"educational_requirement_refs": {
|
|
"$ref": "#/$defs/stringList"
|
|
},
|
|
"learning_effect_refs": {
|
|
"$ref": "#/$defs/stringList"
|
|
},
|
|
"assessment_criterion_refs": {
|
|
"$ref": "#/$defs/stringList"
|
|
},
|
|
"equation_refs": {
|
|
"$ref": "#/$defs/stringList"
|
|
},
|
|
"figure_refs": {
|
|
"$ref": "#/$defs/stringList"
|
|
}
|
|
},
|
|
"additionalProperties": true
|
|
},
|
|
"task": {
|
|
"type": "object",
|
|
"required": ["prompt_tex", "criterion"],
|
|
"properties": {
|
|
"prompt_tex": {
|
|
"type": "string"
|
|
},
|
|
"criterion": {
|
|
"type": "string"
|
|
},
|
|
"assessment_criterion_ref": {
|
|
"type": "string"
|
|
},
|
|
"educational_requirement_refs": {
|
|
"$ref": "#/$defs/stringList"
|
|
},
|
|
"learning_effect_refs": {
|
|
"$ref": "#/$defs/stringList"
|
|
}
|
|
},
|
|
"additionalProperties": true
|
|
},
|
|
"procedureStep": {
|
|
"type": "object",
|
|
"required": ["step", "action", "condition"],
|
|
"properties": {
|
|
"step": {
|
|
"type": "string"
|
|
},
|
|
"action": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"condition": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": true
|
|
}
|