Adds a split_test_module XModule, that can choose one of its children
to display, based on a get_condition_for_user API added to the runtime.
To test, add something like this to an xml course, or make equivalent
tweaks in mongo.
<vertical url_name="split_test_vert">
<split_test url_name="split1" experiment_id="0" condition_id_to_child='{"0": "i4x://MITx/6.00x/html/split_test_cond0", "1": "i4x://MITx/6.00x/html/split_test_cond1"}'>
<html url_name="split_test_cond0">condition 0</html>
<html url_name="split_test_cond1">condition 1</html>
</split_test>
</vertical>
Also needs an experiment configured in the course policy json: e.g.
"user_partitions": [{"id": 0,
"name": "Experiment 0",
"description": "Unicorns?",
"version": 1,
"groups": [{"id": 0,
"name": "group 0",
"version": 1},
{"id": 1,
"name": "group 1",
"version": 1}]}]
(This particular snippet will work inside a course with org MITx
and course name 6.00x)
Co-Author: Sarina Canelake <sarina@edx.org>
Co-Author: Julia Hansbrough <julia@edx.org>
Co-Author: Diana Huang <diana@edx.org>
Co-Author: Calen Pennington <cale@edx.org>
[LMS-2095]
72 lines
3.2 KiB
Python
72 lines
3.2 KiB
Python
from setuptools import setup, find_packages
|
|
|
|
XMODULES = [
|
|
"abtest = xmodule.abtest_module:ABTestDescriptor",
|
|
"book = xmodule.backcompat_module:TranslateCustomTagDescriptor",
|
|
"chapter = xmodule.seq_module:SequenceDescriptor",
|
|
"combinedopenended = xmodule.combined_open_ended_module:CombinedOpenEndedDescriptor",
|
|
"conditional = xmodule.conditional_module:ConditionalDescriptor",
|
|
"course = xmodule.course_module:CourseDescriptor",
|
|
"customtag = xmodule.template_module:CustomTagDescriptor",
|
|
"discuss = xmodule.backcompat_module:TranslateCustomTagDescriptor",
|
|
"html = xmodule.html_module:HtmlDescriptor",
|
|
"image = xmodule.backcompat_module:TranslateCustomTagDescriptor",
|
|
"error = xmodule.error_module:ErrorDescriptor",
|
|
"peergrading = xmodule.peer_grading_module:PeerGradingDescriptor",
|
|
"poll_question = xmodule.poll_module:PollDescriptor",
|
|
"problem = xmodule.capa_module:CapaDescriptor",
|
|
"problemset = xmodule.seq_module:SequenceDescriptor",
|
|
"randomize = xmodule.randomize_module:RandomizeDescriptor",
|
|
"split_test = xmodule.split_test_module:SplitTestDescriptor",
|
|
"section = xmodule.backcompat_module:SemanticSectionDescriptor",
|
|
"sequential = xmodule.seq_module:SequenceDescriptor",
|
|
"slides = xmodule.backcompat_module:TranslateCustomTagDescriptor",
|
|
"vertical = xmodule.vertical_module:VerticalDescriptor",
|
|
"video = xmodule.video_module:VideoDescriptor",
|
|
"videoalpha = xmodule.video_module:VideoDescriptor",
|
|
"videodev = xmodule.backcompat_module:TranslateCustomTagDescriptor",
|
|
"videosequence = xmodule.seq_module:SequenceDescriptor",
|
|
"discussion = xmodule.discussion_module:DiscussionDescriptor",
|
|
"course_info = xmodule.html_module:CourseInfoDescriptor",
|
|
"static_tab = xmodule.html_module:StaticTabDescriptor",
|
|
"custom_tag_template = xmodule.raw_module:RawDescriptor",
|
|
"about = xmodule.html_module:AboutDescriptor",
|
|
"wrapper = xmodule.wrapper_module:WrapperDescriptor",
|
|
"graphical_slider_tool = xmodule.gst_module:GraphicalSliderToolDescriptor",
|
|
"annotatable = xmodule.annotatable_module:AnnotatableDescriptor",
|
|
"textannotation = xmodule.textannotation_module:TextAnnotationDescriptor",
|
|
"videoannotation = xmodule.videoannotation_module:VideoAnnotationDescriptor",
|
|
"foldit = xmodule.foldit_module:FolditDescriptor",
|
|
"word_cloud = xmodule.word_cloud_module:WordCloudDescriptor",
|
|
"hidden = xmodule.hidden_module:HiddenDescriptor",
|
|
"raw = xmodule.raw_module:RawDescriptor",
|
|
"crowdsource_hinter = xmodule.crowdsource_hinter:CrowdsourceHinterDescriptor",
|
|
"lti = xmodule.lti_module:LTIDescriptor",
|
|
]
|
|
|
|
setup(
|
|
name="XModule",
|
|
version="0.1",
|
|
packages=find_packages(exclude=["tests"]),
|
|
install_requires=[
|
|
'distribute',
|
|
'docopt',
|
|
'capa',
|
|
'path.py',
|
|
'webob',
|
|
],
|
|
package_data={
|
|
'xmodule': ['js/module/*'],
|
|
},
|
|
|
|
# See http://guide.python-distribute.org/creation.html#entry-points
|
|
# for a description of entry_points
|
|
entry_points={
|
|
'xblock.v1': XMODULES,
|
|
'xmodule.v1': XMODULES,
|
|
'console_scripts': [
|
|
'xmodule_assets = xmodule.static_content:main',
|
|
],
|
|
},
|
|
)
|