qti 0.7.5 → 0.7.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 6686af9d58d90589b2baea3b71df64c5756f0005
|
|
4
|
+
data.tar.gz: ca77e3ec61770d76abc97f2845c20be2691c4bb2
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 27ed10aecd6266e80bcec275f339e7efda8297342ff4f99bf7c9552f5d5f6e821be8e3a33d63ad97e2f8c17ee455bca69eddf382f720b7a8c18d1e94af20377c
|
|
7
|
+
data.tar.gz: 4c117a998c662c7220304991de3524b50f8c75de05e7461c48eadbd514a74147035958a5bf2d9495dff687405bdf8aa8bb2f4d09d2514e6097373ca650346661
|
|
@@ -47,11 +47,16 @@ module Qti
|
|
|
47
47
|
points_possible_label = qti_metadata_children.children.find {|node| node.text == "points_possible"}
|
|
48
48
|
points_possible_node = points_possible_label.next.text
|
|
49
49
|
else
|
|
50
|
-
|
|
50
|
+
decvar_maxvalue
|
|
51
51
|
end
|
|
52
52
|
end
|
|
53
53
|
end
|
|
54
54
|
|
|
55
|
+
def decvar_maxvalue
|
|
56
|
+
@doc.at_xpath('.//xmlns:decvar/@maxvalue')&.value&.to_i ||
|
|
57
|
+
@doc.at_xpath('.//xmlns:decvar/@defaultval')&.value&.to_i || 0
|
|
58
|
+
end
|
|
59
|
+
|
|
55
60
|
def rcardinality
|
|
56
61
|
@rcardinality ||= @doc.at_xpath('.//xmlns:response_lid/@rcardinality').value
|
|
57
62
|
end
|
|
@@ -1,105 +1,100 @@
|
|
|
1
1
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
|
2
|
-
|
|
3
2
|
<questestinterop xmlns="http://www.imsglobal.org/xsd/ims_qtiasiv1p2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.imsglobal.org/xsd/ims_qtiasiv1p2 http://www.imsglobal.org/xsd/ims_qtiasiv1p2p1.xsd">
|
|
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
|
-
</section>
|
|
103
|
-
</assessment>
|
|
104
|
-
|
|
3
|
+
<assessment title="Quiz" ident="A1001">
|
|
4
|
+
<section title="Main" ident="S1002">
|
|
5
|
+
<item title="Discussion - content." ident="QUE_1022">
|
|
6
|
+
<presentation>
|
|
7
|
+
<material>
|
|
8
|
+
<mattext texttype="text/html"><![CDATA[A good discussion posting includes which of the following (select all that apply):]]></mattext>
|
|
9
|
+
</material>
|
|
10
|
+
<response_lid ident="QUE_1023_RL" rcardinality="Multiple" rtiming="No">
|
|
11
|
+
<render_choice>
|
|
12
|
+
<response_label ident="QUE_1024_A1">
|
|
13
|
+
<material>
|
|
14
|
+
<mattext texttype="text/html"><![CDATA[Poses a question or invites additional comment from others]]></mattext>
|
|
15
|
+
</material>
|
|
16
|
+
</response_label>
|
|
17
|
+
<response_label ident="QUE_1025_A2">
|
|
18
|
+
<material>
|
|
19
|
+
<mattext texttype="text/html"><![CDATA[Attacks another's post to generate controversy]]></mattext>
|
|
20
|
+
</material>
|
|
21
|
+
</response_label>
|
|
22
|
+
<response_label ident="QUE_1026_A3">
|
|
23
|
+
<material>
|
|
24
|
+
<mattext texttype="text/html"><![CDATA[Expresses an opinion which may be controversial so that others can agree or disagree]]></mattext>
|
|
25
|
+
</material>
|
|
26
|
+
</response_label>
|
|
27
|
+
<response_label ident="QUE_1027_A4">
|
|
28
|
+
<material>
|
|
29
|
+
<mattext texttype="text/html"><![CDATA[Adds information, ideas or suggestions that expand everyone's thinking about the topic]]></mattext>
|
|
30
|
+
</material>
|
|
31
|
+
</response_label>
|
|
32
|
+
<response_label ident="QUE_1028_A5">
|
|
33
|
+
<material>
|
|
34
|
+
<mattext texttype="text/html"><![CDATA[Reiterates the consensus or restates the ideas of others without adding independent thought]]></mattext>
|
|
35
|
+
</material>
|
|
36
|
+
</response_label>
|
|
37
|
+
<response_label ident="QUE_1029_A6">
|
|
38
|
+
<material>
|
|
39
|
+
<mattext texttype="text/html"><![CDATA[Provides non-specific praise for fellow learners like "good job" or "I loved your idea"]]></mattext>
|
|
40
|
+
</material>
|
|
41
|
+
</response_label>
|
|
42
|
+
<response_label ident="QUE_1030_A7">
|
|
43
|
+
<material>
|
|
44
|
+
<mattext texttype="text/html"><![CDATA[Responds positively to a person's comment and includes their name or quote from the original posting that supports your expanded idea]]></mattext>
|
|
45
|
+
</material>
|
|
46
|
+
</response_label>
|
|
47
|
+
</render_choice>
|
|
48
|
+
</response_lid>
|
|
49
|
+
</presentation>
|
|
50
|
+
<resprocessing>
|
|
51
|
+
<outcomes>
|
|
52
|
+
<decvar vartype="Decimal" defaultval="0" varname="que_score" minvalue="0"/>
|
|
53
|
+
</outcomes>
|
|
54
|
+
<respcondition>
|
|
55
|
+
<conditionvar>
|
|
56
|
+
<varequal respident="QUE_1023_RL">QUE_1024_A1</varequal>
|
|
57
|
+
</conditionvar>
|
|
58
|
+
<setvar varname="que_score" action="Add">25.00</setvar>
|
|
59
|
+
</respcondition>
|
|
60
|
+
<respcondition>
|
|
61
|
+
<conditionvar>
|
|
62
|
+
<varequal respident="QUE_1023_RL">QUE_1025_A2</varequal>
|
|
63
|
+
</conditionvar>
|
|
64
|
+
<setvar varname="que_score" action="Add">-10.00</setvar>
|
|
65
|
+
</respcondition>
|
|
66
|
+
<respcondition>
|
|
67
|
+
<conditionvar>
|
|
68
|
+
<varequal respident="QUE_1023_RL">QUE_1026_A3</varequal>
|
|
69
|
+
</conditionvar>
|
|
70
|
+
<setvar varname="que_score" action="Add">25.00</setvar>
|
|
71
|
+
</respcondition>
|
|
72
|
+
<respcondition>
|
|
73
|
+
<conditionvar>
|
|
74
|
+
<varequal respident="QUE_1023_RL">QUE_1027_A4</varequal>
|
|
75
|
+
</conditionvar>
|
|
76
|
+
<setvar varname="que_score" action="Add">25.00</setvar>
|
|
77
|
+
</respcondition>
|
|
78
|
+
<respcondition>
|
|
79
|
+
<conditionvar>
|
|
80
|
+
<varequal respident="QUE_1023_RL">QUE_1028_A5</varequal>
|
|
81
|
+
</conditionvar>
|
|
82
|
+
<setvar varname="que_score" action="Add">-10.00</setvar>
|
|
83
|
+
</respcondition>
|
|
84
|
+
<respcondition>
|
|
85
|
+
<conditionvar>
|
|
86
|
+
<varequal respident="QUE_1023_RL">QUE_1029_A6</varequal>
|
|
87
|
+
</conditionvar>
|
|
88
|
+
<setvar varname="que_score" action="Add">-10.00</setvar>
|
|
89
|
+
</respcondition>
|
|
90
|
+
<respcondition>
|
|
91
|
+
<conditionvar>
|
|
92
|
+
<varequal respident="QUE_1023_RL">QUE_1030_A7</varequal>
|
|
93
|
+
</conditionvar>
|
|
94
|
+
<setvar varname="que_score" action="Add">25.00</setvar>
|
|
95
|
+
</respcondition>
|
|
96
|
+
</resprocessing>
|
|
97
|
+
</item>
|
|
98
|
+
</section>
|
|
99
|
+
</assessment>
|
|
105
100
|
</questestinterop>
|
|
@@ -1,50 +1,45 @@
|
|
|
1
1
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
|
2
|
-
|
|
3
2
|
<questestinterop xmlns="http://www.imsglobal.org/xsd/ims_qtiasiv1p2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.imsglobal.org/xsd/ims_qtiasiv1p2 http://www.imsglobal.org/xsd/ims_qtiasiv1p2p1.xsd">
|
|
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
|
-
</section>
|
|
48
|
-
</assessment>
|
|
49
|
-
|
|
3
|
+
<assessment title="1.2 Import Quiz" ident="A1001">
|
|
4
|
+
<section title="Main" ident="S1002">
|
|
5
|
+
<item title="Grading - specific - 3 pt score" ident="QUE_1003">
|
|
6
|
+
<presentation>
|
|
7
|
+
<material>
|
|
8
|
+
<mattext texttype="text/html"><![CDATA[If I get a 3, I must have done something wrong. <img align="bottom" alt="image.png" src="org0/images/image.png" border="0"/>]]></mattext>
|
|
9
|
+
</material>
|
|
10
|
+
<response_lid ident="QUE_1004_RL" rcardinality="Single" rtiming="No">
|
|
11
|
+
<render_choice shuffle="Yes">
|
|
12
|
+
<response_label ident="QUE_1005_A1">
|
|
13
|
+
<material>
|
|
14
|
+
<mattext texttype="text/html"><![CDATA[True]]></mattext>
|
|
15
|
+
</material>
|
|
16
|
+
</response_label>
|
|
17
|
+
<response_label ident="QUE_1006_A2">
|
|
18
|
+
<material>
|
|
19
|
+
<mattext texttype="text/html"><![CDATA[False]]></mattext>
|
|
20
|
+
</material>
|
|
21
|
+
</response_label>
|
|
22
|
+
</render_choice>
|
|
23
|
+
</response_lid>
|
|
24
|
+
</presentation>
|
|
25
|
+
<resprocessing>
|
|
26
|
+
<outcomes>
|
|
27
|
+
<decvar vartype="Decimal" defaultval="0" varname="que_score"/>
|
|
28
|
+
</outcomes>
|
|
29
|
+
<respcondition>
|
|
30
|
+
<conditionvar>
|
|
31
|
+
<varequal respident="QUE_1004_RL">QUE_1005_A1</varequal>
|
|
32
|
+
</conditionvar>
|
|
33
|
+
<setvar varname="que_score" action="Add">0</setvar>
|
|
34
|
+
</respcondition>
|
|
35
|
+
<respcondition>
|
|
36
|
+
<conditionvar>
|
|
37
|
+
<varequal respident="QUE_1004_RL">QUE_1006_A2</varequal>
|
|
38
|
+
</conditionvar>
|
|
39
|
+
<setvar varname="que_score" action="Set">10.00</setvar>
|
|
40
|
+
</respcondition>
|
|
41
|
+
</resprocessing>
|
|
42
|
+
</item>
|
|
43
|
+
</section>
|
|
44
|
+
</assessment>
|
|
50
45
|
</questestinterop>
|
|
@@ -22,8 +22,25 @@ describe Qti::V1::Models::AssessmentItem do
|
|
|
22
22
|
expect(loaded_class.item_body).to include 'If I get a 3, I must have done something wrong.'
|
|
23
23
|
end
|
|
24
24
|
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
describe '#points_possible' do
|
|
26
|
+
it 'grabs the points possible' do
|
|
27
|
+
expect(loaded_class.points_possible).to eq 0
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
it 'returns 0 by default' do
|
|
31
|
+
doc =
|
|
32
|
+
<<-XML.strip_heredoc
|
|
33
|
+
<?xml version="1.0" encoding="ISO-8859-1"?>
|
|
34
|
+
<questestinterop xmlns="http://www.imsglobal.org/xsd/ims_qtiasiv1p2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.imsglobal.org/xsd/ims_qtiasiv1p2 http://www.imsglobal.org/xsd/ims_qtiasiv1p2p1.xsd">
|
|
35
|
+
<outcomes>
|
|
36
|
+
<decvar vartype="Decimal" varname="que_score"/>
|
|
37
|
+
</outcomes>
|
|
38
|
+
</questestinterop>
|
|
39
|
+
XML
|
|
40
|
+
node = Nokogiri.XML(doc, &:noblanks)
|
|
41
|
+
assessment_item = described_class.new(node)
|
|
42
|
+
expect(assessment_item.points_possible). to eq 0
|
|
43
|
+
end
|
|
27
44
|
end
|
|
28
45
|
|
|
29
46
|
describe '#scoring_data_structs' do
|
|
@@ -59,7 +76,7 @@ describe Qti::V1::Models::AssessmentItem do
|
|
|
59
76
|
it 'collects all the correct answers' do
|
|
60
77
|
struct = loaded_class.scoring_data_structs
|
|
61
78
|
expect(struct.size).to eq 3
|
|
62
|
-
expect(struct.map(&:values)).to eq [
|
|
79
|
+
expect(struct.map(&:values)).to eq %w[4155 6991 1939]
|
|
63
80
|
end
|
|
64
81
|
end
|
|
65
82
|
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: qti
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.7.
|
|
4
|
+
version: 0.7.6
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Hannah Bottalla
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2017-
|
|
12
|
+
date: 2017-08-09 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: activesupport
|
|
@@ -483,7 +483,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
483
483
|
version: '0'
|
|
484
484
|
requirements: []
|
|
485
485
|
rubyforge_project:
|
|
486
|
-
rubygems_version: 2.
|
|
486
|
+
rubygems_version: 2.6.11
|
|
487
487
|
signing_key:
|
|
488
488
|
specification_version: 4
|
|
489
489
|
summary: QTI 1.2 and 2.1 import and export models
|