moodle2cc 0.2.16 → 0.2.17
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 +8 -8
- data/Changelog +3 -0
- data/lib/moodle2cc/canvas_cc/discussion_writer.rb +8 -0
- data/lib/moodle2cc/canvas_cc/models/discussion.rb +1 -1
- data/lib/moodle2cc/moodle2/models/forum.rb +1 -1
- data/lib/moodle2cc/moodle2/parsers/forum_parser.rb +9 -0
- data/lib/moodle2cc/moodle2converter/discussion_converter.rb +4 -0
- data/lib/moodle2cc/version.rb +1 -1
- data/spec/moodle2cc/canvas_cc/discussion_writer_spec.rb +2 -0
- data/spec/moodle2cc/moodle2/parsers/forum_parser_spec.rb +1 -1
- data/test/fixtures/moodle2/backup/activities/hsuforum_1/grades.xml +3 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
MmUyNmJjNWUxYzEwOGRiYTBlNDljMTc3ZjNlMWQyY2Y0ZjA1MTAxNQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
NjE0OWI3Y2JlNGI3ZjJhNmJlOThkOGU0YWJlNTI5NzZjMzE2MGUwYQ==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
NjU4NmEzZTA5ZDJlNzRiOTJmZjlkMzVkMThiNmViNTVhNzZlNzcwNzhmNDhm
|
10
|
+
OWFjOTRlNjI4Y2I0N2UwYzViMWJkZmJlNWI2YzJmOGViNTFhOTVjMjk0Y2Ni
|
11
|
+
OTkwMWZiOTNjMTcwNzZjOTczMTdjM2M0NDAxZDM5Y2ZlYjMxZmI=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
NzBiNTk5OWMxYmExYmM2NTdmNGQwOGUwZWUxNGE5YzI2YzFkZDA3OWQxZDA2
|
14
|
+
NTdiZDFlMTkxMmZkNjRiZWM1MjFiMmEzNzA5OTE4N2QwMDE0NzZkYjY2ZmFl
|
15
|
+
MGI0NWNjYzRjZDhhYjcxOWFiZTRjYjFlOWFhNTNhZjZhZGE3NWE=
|
data/Changelog
CHANGED
@@ -44,6 +44,14 @@ module Moodle2CC::CanvasCC
|
|
44
44
|
xml.discussion_type discussion.discussion_type
|
45
45
|
xml.require_initial_post discussion.require_initial_post
|
46
46
|
xml.workflow_state discussion.workflow_state
|
47
|
+
if discussion.points_possible
|
48
|
+
xml.assignment('identifier' => "#{meta_resource.identifier}_assignment" ) do |a|
|
49
|
+
a.title discussion.title
|
50
|
+
a.submission_types 'discussion_topic'
|
51
|
+
a.grading_type 'points'
|
52
|
+
a.points_possible discussion.points_possible
|
53
|
+
end
|
54
|
+
end
|
47
55
|
}
|
48
56
|
end.to_xml
|
49
57
|
File.open(File.join(@work_dir, meta_resource.href), 'w') { |f| f.write(xml) }
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module Moodle2CC::CanvasCC::Models
|
2
2
|
class Discussion
|
3
|
-
attr_accessor :identifier, :title, :text, :discussion_type, :workflow_state, :require_initial_post
|
3
|
+
attr_accessor :identifier, :title, :text, :discussion_type, :workflow_state, :require_initial_post, :points_possible
|
4
4
|
DISCUSSION_ID_POSTFIX = '_DISCUSSION'
|
5
5
|
DISCUSSION_META_POSTFIX = '_meta'
|
6
6
|
IMSDT_TYPE = 'imsdt_xmlv1p1'
|
@@ -4,7 +4,7 @@ module Moodle2CC::Moodle2::Models
|
|
4
4
|
attr_accessor :id, :module_id, :type, :name, :intro, :intro_format, :assessed, :assess_time_start, :assess_time_finish, :scale,
|
5
5
|
:max_bytes, :max_attachments, :force_subsscribe, :tracking_type, :rss_type, :rss_articles,
|
6
6
|
:time_modified, :warn_after, :block_after, :block_period, :completion_discussions, :completion_replies,
|
7
|
-
:completion_posts, :visible
|
7
|
+
:completion_posts, :visible, :points_possible
|
8
8
|
|
9
9
|
end
|
10
10
|
end
|
@@ -46,6 +46,15 @@ module Moodle2CC::Moodle2::Parsers
|
|
46
46
|
forum.completion_replies = parse_text(forum_xml, "/activity/#{module_name}/completionreplies")
|
47
47
|
forum.completion_posts = parse_text(forum_xml, "/activity/#{module_name}/completionposts")
|
48
48
|
end
|
49
|
+
grade_file = File.join(activity_dir, "grades.xml")
|
50
|
+
if File.exists?(grade_file)
|
51
|
+
File.open(grade_file) do |f|
|
52
|
+
grade_xml = Nokogiri::XML(f)
|
53
|
+
if node = grade_xml.at_xpath("activity_gradebook/grade_items/grade_item/grademax")
|
54
|
+
forum.points_possible = node.text
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
49
58
|
parse_module(activity_dir, forum)
|
50
59
|
forum
|
51
60
|
end
|
@@ -11,6 +11,10 @@ module Moodle2CC::Moodle2Converter
|
|
11
11
|
discussion.discussion_type = 'threaded'
|
12
12
|
discussion.workflow_state = workflow_state(forum.visible)
|
13
13
|
discussion.require_initial_post = (forum.type == 'qanda')
|
14
|
+
|
15
|
+
points = forum.points_possible.to_i
|
16
|
+
discussion.points_possible = points if points > 0
|
17
|
+
|
14
18
|
discussion
|
15
19
|
end
|
16
20
|
|
data/lib/moodle2cc/version.rb
CHANGED
@@ -25,6 +25,7 @@ describe Moodle2CC::CanvasCC::DiscussionWriter do
|
|
25
25
|
discussion.title = 'Discussion Title'
|
26
26
|
discussion.text = '<p>discussion_text</p>'
|
27
27
|
discussion.discussion_type = 'threaded'
|
28
|
+
discussion.points_possible = 99
|
28
29
|
writer.write
|
29
30
|
xml = Nokogiri::XML(File.read(File.join(work_dir, discussion.meta_resource.href)))
|
30
31
|
expect(xml.at_xpath('xmlns:topicMeta/@identifier').value).to eq('discussion_id_meta')
|
@@ -33,6 +34,7 @@ describe Moodle2CC::CanvasCC::DiscussionWriter do
|
|
33
34
|
expect(xml.%('topicMeta/type').text).to eq 'topic'
|
34
35
|
expect(xml.%('topicMeta/position').text).to eq ''
|
35
36
|
expect(xml.%('topicMeta/discussion_type').text).to eq 'threaded'
|
37
|
+
expect(xml.%('topicMeta/assignment/points_possible').text).to eq '99'
|
36
38
|
end
|
37
39
|
|
38
40
|
end
|
@@ -3,7 +3,6 @@ require 'spec_helper'
|
|
3
3
|
describe Moodle2CC::Moodle2::Parsers::ForumParser do
|
4
4
|
subject(:parser) { Moodle2CC::Moodle2::Parsers::ForumParser.new(fixture_path(File.join('moodle2', 'backup')))}
|
5
5
|
|
6
|
-
|
7
6
|
it 'parses a moodle forum' do
|
8
7
|
forums = parser.parse
|
9
8
|
expect(forums.count).to eq 2
|
@@ -32,6 +31,7 @@ describe Moodle2CC::Moodle2::Parsers::ForumParser do
|
|
32
31
|
expect(forum.completion_replies).to eq '0'
|
33
32
|
expect(forum.completion_posts).to eq '0'
|
34
33
|
expect(forum.visible).to eq true
|
34
|
+
expect(forum.points_possible).to eq "42"
|
35
35
|
end
|
36
36
|
|
37
37
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: moodle2cc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.17
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Christopher Durtschi
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2015-03-04 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rubyzip
|
@@ -822,7 +822,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
822
822
|
version: '0'
|
823
823
|
requirements: []
|
824
824
|
rubyforge_project:
|
825
|
-
rubygems_version: 2.4.
|
825
|
+
rubygems_version: 2.4.5
|
826
826
|
signing_key:
|
827
827
|
specification_version: 4
|
828
828
|
summary: Migrates Moodle backup ZIP to IMS Common Cartridge package
|