Commit Graph

103 Commits

Author SHA1 Message Date
Chris Dodge
22802a4d29 change from_xml class method on video class to make sure we honor the fact that the xml string could actually be a pointer to another file on disk which actually contains the attributes 2013-07-19 13:54:22 -04:00
Don Mitchell
3722685e1a No longer persist XModule templates
Instead, we use XModule field default values when creating an empty
XModule. Driven by this use case, we also allow for XModules to be
created in memory without being persisted to the database at all. This
necessitates a change to the Modulestore api, replacing clone_item with
create_draft and save_xmodule.
2013-07-16 14:33:58 -04:00
Chris Dodge
ac4e20b4f3 change serialize_field to check for type. If value is a string, simply return that, otherwise do a json.dumps 2013-07-12 15:27:36 -04:00
Chris Dodge
958ecdb053 raise a more appropriate Exception 2013-07-12 12:47:51 -04:00
Chris Dodge
50bea28d75 Add a 'string literal' serialization method and use it in the lambda function mapping table when the value to xml serialize is of basestring type. Also a couple of drive-by pep8 fixes. 2013-07-12 11:13:59 -04:00
Don Mitchell
1c5706fb1f Add JSON encoder for datetimes to xml export
During policy export, we want to write any python datetime objects found
as iso timestamps, rather than throwing exceptions.
2013-06-28 14:19:10 -04:00
Don Mitchell
8b23eeca7e Minor pylint/whitespace changes 2013-06-25 22:34:29 -04:00
Don Mitchell
1ff022e181 Incidental pep8 changes 2013-06-18 17:25:06 -04:00
Calen Pennington
82606a062c Make XModuleDescriptor use __init__ from XBlock
Fixes JIRA LMS-203
2013-06-17 13:38:57 -04:00
cahrens
6e92ddf3dd Cannot set String field to a dict anymore! 2013-06-12 17:07:41 -04:00
cahrens
89d0003603 Be strict about ModelType expected types, rename Object as Dict. 2013-06-12 14:59:17 -04:00
cahrens
86d952bf91 Change to putting serialize/de-serialize directly in xml_module. 2013-06-12 13:34:38 -04:00
cahrens
0baec0a164 Move string fields, get rid of hard-coded list of booleans. 2013-06-07 15:45:34 -04:00
Chris Dodge
b6090952da randomize_module.py was missing 'import lxml' to support definition_to_xml(). Also, fix serialization of show_timezone to expect a bool 2013-05-23 14:24:36 -04:00
cahrens
37d594ce37 Get rid of non-editable scope. 2013-05-03 14:58:33 -04:00
cahrens
94e41319ee Unit test, remove display_name for now so there is no visible change. 2013-05-01 09:09:33 -04:00
cahrens
8705ff8805 Remove system_metadata_fields. 2013-04-29 16:41:07 -04:00
Chris Dodge
d7b148d0d9 Merge branch 'master' of github.com:MITx/mitx into fix/cdodge/export-draft-modules
Conflicts:
	common/lib/xmodule/xmodule/modulestore/draft.py
2013-04-08 15:02:47 -04:00
ichuang
8cafadc03b make "edit" links work - fixes giturl (was broken by xblocks migration)
Conflicts:

	lms/templates/staff_problem_info.html
	lms/xmodule_namespace.py
2013-04-07 00:03:36 +00:00
Chris Dodge
3727edabf2 Merge branch 'master' of github.com:MITx/mitx into fix/cdodge/export-draft-modules
Conflicts:
	cms/djangoapps/contentstore/views.py
	common/lib/xmodule/xmodule/modulestore/draft.py
	common/lib/xmodule/xmodule/modulestore/xml_importer.py
	common/lib/xmodule/xmodule/xml_module.py
2013-04-02 09:09:45 -04:00
Calen Pennington
dc2dbb3412 Do metadata name translation in json import as well as xml import 2013-03-13 07:42:14 -04:00
Calen Pennington
8ace7eeb2d Translate metadata names that are coming in from the policy file as well as from xml attributes 2013-03-13 07:42:14 -04:00
Victor Shnayder
84f05f9f61 Merge remote-tracking branch 'origin/master' into feature/alex/poll-merged
Conflicts:
	common/lib/xmodule/xmodule/capa_module.py
	common/lib/xmodule/xmodule/foldit_module.py
	common/lib/xmodule/xmodule/tests/__init__.py
	common/lib/xmodule/xmodule/tests/test_capa_module.py
	common/lib/xmodule/xmodule/tests/test_combined_open_ended.py
	common/lib/xmodule/xmodule/tests/test_conditional.py
	common/lib/xmodule/xmodule/tests/test_self_assessment.py
2013-03-08 00:40:18 -05:00
Chris Dodge
9ba759802c make export a bit more resilient. If there's a piece of metadata that we can't serialize - i.e. someone wrote a new bool attribute and didn't put it in the type mapping table - then we log the exception and continue. 2013-03-07 10:43:36 -05:00
Calen Pennington
1bfb933518 Merge remote-tracking branch 'origin/master' into feature/alex/poll-merged
Conflicts:
	cms/djangoapps/contentstore/tests/test_contentstore.py
	cms/djangoapps/contentstore/views.py
	cms/templates/edit_subsection.html
	cms/templates/overview.html
	cms/templates/unit.html
	cms/templates/widgets/header.html
	common/djangoapps/course_groups/tests/tests.py
	common/lib/xmodule/setup.py
	common/lib/xmodule/xmodule/capa_module.py
	common/lib/xmodule/xmodule/combined_open_ended_module.py
	common/lib/xmodule/xmodule/course_module.py
	common/lib/xmodule/xmodule/js/src/.gitignore
	common/lib/xmodule/xmodule/mako_module.py
	common/lib/xmodule/xmodule/modulestore/mongo.py
	common/lib/xmodule/xmodule/modulestore/store_utilities.py
	common/lib/xmodule/xmodule/modulestore/xml_exporter.py
	common/lib/xmodule/xmodule/open_ended_grading_classes/combined_open_ended_modulev1.py
	common/lib/xmodule/xmodule/open_ended_grading_classes/controller_query_service.py
	common/lib/xmodule/xmodule/open_ended_grading_classes/open_ended_module.py
	common/lib/xmodule/xmodule/open_ended_grading_classes/openendedchild.py
	common/lib/xmodule/xmodule/open_ended_grading_classes/self_assessment_module.py
	common/lib/xmodule/xmodule/peer_grading_module.py
	common/lib/xmodule/xmodule/tests/__init__.py
	common/lib/xmodule/xmodule/tests/test_capa_module.py
	common/lib/xmodule/xmodule/tests/test_self_assessment.py
	common/lib/xmodule/xmodule/x_module.py
	lms/djangoapps/courseware/grades.py
	lms/djangoapps/courseware/models.py
	lms/djangoapps/courseware/views.py
	lms/djangoapps/open_ended_grading/tests.py
2013-03-04 16:33:40 -05:00
Chris Dodge
68a8587ed2 don't serialize weight out as an int - use a string. The code in capa-module.py expects a string and tries to convert to a float. So this impedence mismatch is causing a crash on import when importing empty strings for 'weight' or 'attempts' 2013-02-21 11:02:47 -05:00
Chris Dodge
66c91b704a init work. Export the 'draft' store under a distinct folder in the export. TBD: do the import from that directory as well. 2013-02-15 17:16:05 -05:00
Calen Pennington
4f555f6480 Merge remote-tracking branch 'origin/master' into feature/cale/xmodule-storage-model
Conflicts:
	cms/djangoapps/contentstore/course_info_model.py
	cms/djangoapps/contentstore/module_info_model.py
	cms/djangoapps/contentstore/tests/factories.py
	cms/djangoapps/contentstore/tests/test_course_settings.py
	cms/djangoapps/contentstore/views.py
	cms/djangoapps/models/settings/course_details.py
	cms/djangoapps/models/settings/course_grading.py
	cms/templates/edit_subsection.html
	common/djangoapps/mitxmako/shortcuts.py
	common/djangoapps/static_replace.py
	common/djangoapps/util/converters.py
	common/djangoapps/xmodule_modifiers.py
	common/lib/xmodule/setup.py
	common/lib/xmodule/xmodule/abtest_module.py
	common/lib/xmodule/xmodule/capa_module.py
	common/lib/xmodule/xmodule/course_module.py
	common/lib/xmodule/xmodule/discussion_module.py
	common/lib/xmodule/xmodule/error_module.py
	common/lib/xmodule/xmodule/html_module.py
	common/lib/xmodule/xmodule/js/src/video/display.coffee
	common/lib/xmodule/xmodule/mako_module.py
	common/lib/xmodule/xmodule/modulestore/mongo.py
	common/lib/xmodule/xmodule/modulestore/store_utilities.py
	common/lib/xmodule/xmodule/modulestore/xml.py
	common/lib/xmodule/xmodule/modulestore/xml_importer.py
	common/lib/xmodule/xmodule/raw_module.py
	common/lib/xmodule/xmodule/self_assessment_module.py
	common/lib/xmodule/xmodule/seq_module.py
	common/lib/xmodule/xmodule/template_module.py
	common/lib/xmodule/xmodule/tests/__init__.py
	common/lib/xmodule/xmodule/tests/test_export.py
	common/lib/xmodule/xmodule/tests/test_import.py
	common/lib/xmodule/xmodule/video_module.py
	common/lib/xmodule/xmodule/x_module.py
	common/lib/xmodule/xmodule/xml_module.py
	lms/djangoapps/courseware/access.py
	lms/djangoapps/courseware/courses.py
	lms/djangoapps/courseware/grades.py
	lms/djangoapps/courseware/models.py
	lms/djangoapps/courseware/module_render.py
	lms/djangoapps/courseware/tests/tests.py
	lms/djangoapps/courseware/views.py
	lms/djangoapps/django_comment_client/utils.py
	lms/templates/staff_problem_info.html
	lms/templates/video.html
	rakefile
2013-02-07 15:12:30 -05:00
Calen Pennington
cfae1cdf62 Pep8 autofixes 2013-02-06 11:13:50 -05:00
Chris Dodge
22695d80c7 Merge branch 'master' into feature/cdodge/cms-master-merge4
Conflicts:
	common/djangoapps/student/models.py
	common/lib/capa/capa/responsetypes.py
	common/lib/xmodule/setup.py
	common/lib/xmodule/xmodule/course_module.py
	common/lib/xmodule/xmodule/xml_module.py
	jenkins/test.sh
	lms/djangoapps/courseware/access.py
	lms/djangoapps/courseware/tests/tests.py
	lms/djangoapps/django_comment_client/models.py
	requirements.txt
2013-01-17 09:15:37 -05:00
Brian Wilson
3b28e328c4 disable export of testcenter_exam from course module (and add test). 2013-01-15 17:54:10 -05:00
Chris Dodge
dc8f23d6ae the parent directory might not already exist, so we have to call makedir with recursive=true to auto-create any parent folders 2013-01-10 14:41:19 -05:00
Calen Pennington
789ac3fc87 Use the XBlock library as the base for XModule, so that we can incrementally rely on more and more of the XBlock api 2013-01-04 16:19:58 -05:00
Chris Dodge
e70db062b2 Merge branch 'feature/cale/cms-master' into feature/cale/cms-master-merge
Conflicts:
	requirements.txt
2013-01-03 10:46:24 -05:00
Calen Pennington
0bed19648e Remove filename and giturl references 2013-01-02 15:08:27 -05:00
Calen Pennington
344cb133aa Make import/export tests pass 2013-01-02 09:05:49 -05:00
Calen Pennington
84cb0ce99b Move inheritance logic out into a separate file in the modulestore 2012-12-28 14:56:42 -05:00
Calen Pennington
8693d288c8 Fix errors from running unit tests (some tests still fail) 2012-12-28 14:51:50 -05:00
Calen Pennington
01411ae66e WIP: Trying to get tests working 2012-12-28 14:48:47 -05:00
Calen Pennington
8ba4163557 WIP. Data loads, but not all of it 2012-12-28 14:39:13 -05:00
Chris Dodge
c0f12e69f7 fixes on the export. There's some attributes not being handled correctly 2012-12-27 16:15:52 -05:00
Chris Dodge
10b417c85e initial checkin of export 2012-12-13 11:53:52 -05:00
Chris Dodge
95c6719447 initial commit. Add 'import_path' field to the GridFS so that when we export, we know where it originated from 2012-12-12 10:57:06 -05:00
Calen Pennington
c917725ff0 Merge remote-tracking branch 'origin/master' into feature/cale/cms-master
Conflicts:
	common/lib/xmodule/xmodule/seq_module.py
	common/lib/xmodule/xmodule/template_module.py
	common/lib/xmodule/xmodule/x_module.py
	lms/djangoapps/courseware/tests/tests.py
	lms/djangoapps/courseware/views.py
	lms/static/sass/course.scss
	requirements.txt
2012-12-07 11:17:41 -05:00
Brian Wilson
dfb9913100 clean up lms tests, and fix export/import 2012-12-04 11:52:35 -05:00
Brian Wilson
4ebd70dcc4 add support for utf8 in sequences, verticals and custom modules. 2012-12-04 03:54:36 -05:00
Brian Wilson
6a24ecebe7 decode utf-8 when reading html, and encode when writing. 2012-11-28 17:54:18 -05:00
Chris Dodge
87ff18dc56 Merge branch 'feature/cale/cms-master' of github.com:MITx/mitx into feature/cdodge/import-course-info 2012-11-07 09:35:21 -05:00
Victor Shnayder
55a0cada7b Fix a bug with pointer-tag detection on load
if a tag has text but no children, wasn't properly detected as an inline definition.
2012-11-02 16:59:41 -04:00
Chris Dodge
b788b9d659 add to existing test cases to exercise the 'course extras as modules' work in the CMS import. Also add to the existing 'full' test data collection to include policy, tabs, etc. 2012-11-01 15:08:26 -04:00