-
Notifications
You must be signed in to change notification settings - Fork 35
/
properties.schema
306 lines (306 loc) · 13.2 KB
/
properties.schema
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
{
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema",
"id": "http://jsonschema.net",
"required": false,
"properties": {
"pluginLocations": {
"type": "object",
"required": true,
"properties": {
"config": {
"type": "object"
},
"course": {
"type": "object",
"properties": {
"_assessment": {
"type": "object",
"required": false,
"legend": "Assessment",
"properties": {
"_isPercentageBased": {
"type": "boolean",
"required": true,
"default": true,
"title": "Percentage based",
"inputType": "Checkbox",
"help": "Determines whether the values of the 'Pass mark' should be treated as a percentage (default) or as the raw score and correctness.",
"validators": []
},
"_scoreToPass": {
"type": "number",
"required": false,
"title": "Pass mark",
"inputType": "Number",
"default": 60,
"help": "The minimum score required by the learner to pass the assessment or the minimum percentage score if 'Percentage based'.",
"validators": ["number"]
},
"_correctToPass": {
"type": "number",
"required": false,
"title": "Correct pass mark",
"inputType": "Number",
"default": 60,
"help": "The minimum number of correct questions required by the learner to pass the assessment or the minimum percentage correct if 'Percentage based'.",
"validators": ["number"]
}
}
}
}
},
"contentobject": {
"type": "object"
},
"article": {
"type": "object",
"properties": {
"_assessment": {
"type": "object",
"required": false,
"legend": "Assessment",
"properties": {
"_isEnabled": {
"type": "boolean",
"required": true,
"title": "Enabled",
"inputType": "Checkbox",
"validators": []
},
"_id": {
"type": "string",
"required": true,
"title": "Assessment Name",
"default": "",
"inputType": "Text",
"validators": [],
"help": "Unique name for the assessment. This is required by other plugins such as the 'Assessment Results' component to identify the assessment and display its variables."
},
"_attempts": {
"type": "number",
"required": false,
"title": "Attempts Allowed",
"inputType": "Number",
"default": -1,
"validators": ["number"],
"help": "Controls the number of attempts the user is allowed to have on this assessment. Set to -1 (or 0) to allow infinite attempts."
},
"_isPercentageBased": {
"type": "boolean",
"required": true,
"default": true,
"title": "Percentage based",
"inputType": "Checkbox",
"help": "Determines whether the pass mark values should be treated as percentages (default) or as the raw score and correctness.",
"validators": []
},
"_scoreToPass": {
"type": "number",
"required": false,
"title": "Pass mark",
"inputType": "Number",
"default": 60,
"help": "The minimum score required by the learner to pass the assessment or the minimum percentage score if 'Percentage based'.",
"validators": ["number"]
},
"_correctToPass": {
"type": "number",
"required": false,
"title": "Correct pass mark",
"inputType": "Number",
"default": 60,
"help": "The minimum number of correct questions required by the learner to pass the assessment or the minimum percentage correct if 'Percentage based'.",
"validators": ["number"]
},
"_includeInTotalScore": {
"type": "boolean",
"default": true,
"title": "Include in Total Score",
"inputType": "Checkbox",
"help": "Determines if the score from this assessment should be sent to the LMS. The score sent is a percentage according to 'Assessment Weight'.",
"validators": []
},
"_assessmentWeight": {
"type": "number",
"required": false,
"title": "Assessment Weight",
"inputType": "Number",
"default": 1,
"help": "If there are multiple assessments in the course, this value controls the proportion of the LMS score which is attributed to this assessment, i.e. 1 equals 100%, 0.5 is 50%, etc.",
"validators": ["number"]
},
"_suppressMarking": {
"type": "boolean",
"required": true,
"title": "Suppress Marking",
"inputType": "Checkbox",
"help": "Determines whether question marking should be delayed until completion of the assessment or until all attempts have been exhausted.",
"validators": []
},
"_isResetOnRevisit": {
"type": "boolean",
"required": true,
"default": false,
"title": "Reset on Revisit",
"inputType": "Checkbox",
"help": "Controls whether the assessment should be reset automatically (up to the number of available attempts) when a user revisits the page.",
"validators": []
},
"_allowResetIfPassed": {
"type": "boolean",
"required": true,
"default": false,
"title": "Allow retry once passed?",
"inputType": "Checkbox",
"help": "Controls whether the assessment may be reset after it has been passed (whilst there are attempts remaining).",
"validators": []
},
"_scrollToOnReset": {
"type": "boolean",
"required": true,
"default": false,
"title": "Scroll to on reset?",
"inputType": "Checkbox",
"help": "Controls whether to scroll to the assessment after reset or to stay at the top of the assessment page.",
"validators": []
},
"_randomisation": {
"type": "object",
"required": false,
"title": "Randomised Blocks",
"properties": {
"_isEnabled": {
"type": "boolean",
"required": false,
"title": "Enabled",
"inputType": "Checkbox",
"help": "If randomisation is enabled, a specified number of blocks will be displayed to the user in a random order.",
"validators": []
},
"_blockCount": {
"type": "number",
"required": false,
"default": -1,
"title": "Block Count",
"inputType": "Number",
"validators": ["number"],
"help": "The number of blocks to present to the learner. Set to -1 (or 0) to display all blocks."
}
}
},
"_banks": {
"type": "object",
"required": false,
"title": "Question Banks",
"properties": {
"_isEnabled": {
"type": "boolean",
"required": false,
"title": "Enabled",
"inputType": "Checkbox",
"help": "Enables associating blocks of question components with a 'bank', allowing questions to be grouped then rendered via the 'Split' property.",
"validators": []
},
"_split": {
"type": "string",
"required": true,
"title": "Split",
"default": "",
"inputType": "Text",
"validators": [],
"help": "This is a comma-separated list of numbers corresponding to the number of questions to be drawn from each question bank. The position of the number in the list corresponds to the 'Bank ID' assigned, e.g. \"3,2\" would display three questions from Bank 1 and two from Bank 2."
},
"_randomisation": {
"type": "boolean",
"required": false,
"title": "Randomise Question Banks",
"inputType": "Checkbox",
"help": "Controls whether the questions will be displayed in a random order.",
"validators": []
}
}
},
"_questions": {
"type": "object",
"required": false,
"title": "Question Behaviour",
"properties": {
"_resetType": {
"type": "string",
"required": false,
"enum": ["soft", "hard"],
"default": "hard",
"title": "Reset Type",
"inputType": {
"type": "Select",
"options": ["soft", "hard"]
},
"validators": [],
"help": "Determines whether the question will register as completed when reset. When assigned a value of 'soft', the learner may continue to interact with it, but the complete attribute remains set to true. When assigned 'hard', complete is set to false, and the learner will be forced to complete it again if it is reset. For 'soft', when using trickle, please set the trickle Completion Attribute to `_isInteractionComplete'."
},
"_canShowFeedback": {
"type": "boolean",
"required": false,
"title": "Show Feedback",
"inputType": "Checkbox",
"default": false,
"help": "Allows the user to view feedback on their answer.",
"validators": []
},
"_canShowMarking": {
"type": "boolean",
"required": false,
"title": "Show Marking",
"inputType": "Checkbox",
"default": false,
"help": "Displays ticks and crosses on question completion.",
"validators": []
},
"_canShowModelAnswer": {
"type": "boolean",
"required": false,
"title": "Show Model Answer",
"inputType": "Checkbox",
"default": false,
"help": "Allows the user to view the 'model answer' should they answer the question incorrectly.",
"validators": []
}
}
}
}
}
}
},
"block": {
"type": "object",
"properties": {
"_assessment": {
"type": "object",
"required": false,
"legend": "Assessment",
"properties": {
"_quizBankID": {
"type": "number",
"required": false,
"title": "Bank ID",
"inputType": "Number",
"default": 1,
"help": "Used to group blocks of question components into associated banks. This works in conjunction with the 'Split' property when question banks are in use.",
"validators": ["number"],
"editorAttrs": {
"step": 1,
"min": 1
}
}
}
}
}
},
"component": {
"type": "object"
}
}
}
}
}