Commit 9201699b by Brian Wilson Committed by Carol Tong

update docs from master

parent 2e585470
**********************************************
Xml format of conditional module [xmodule]
**********************************************
.. module:: conditional_module
Format description
==================
The main tag of Conditional module input is:
.. code-block:: xml
<conditional> ... </conditional>
``conditional`` can include any number of any xmodule tags (``html``, ``video``, ``poll``, etc.) or ``show`` tags.
conditional tag
---------------
The main container for a single instance of Conditional module. The following attributes can
be specified for this tag::
sources - location id of required modules, separated by ';'
[message | ""] - message for case, where one or more are not passed. Here you can use variable {link}, which generate link to required module.
[completed] - map to `is_completed` module method
[attempted] - map to `is_attempted` module method
[poll_answer] - map to `poll_answer` module attribute
[voted] - map to `voted` module attribute
show tag
--------
Symlink to some set of xmodules. The following attributes can
be specified for this tag::
sources - location id of modules, separated by ';'
Example
=======
Examples of conditional depends on poll
-------------------------------------------
.. code-block:: xml
<conditional sources="i4x://MITx/0.000x/poll_question/first_real_poll_seq_with_reset" poll_answer="man"
message="{link} must be answered for this to become visible.">
<html>
<h2>You see this, cause your vote value for "First question" was "man"</h2>
</html>
</conditional>
Examples of conditional depends on poll (use <show> tag)
-------------------------------------------
.. code-block:: xml
<conditional sources="i4x://MITx/0.000x/poll_question/first_real_poll_seq_with_reset" poll_answer="man"
message="{link} must be answered for this to become visible.">
<html>
<show sources="i4x://MITx/0.000x/problem/test_1; i4x://MITx/0.000x/Video/Avi_resources; i4x://MITx/0.000x/problem/test_1"/>
</html>
</conditional>
Examples of conditional depends on problem
-------------------------------------------
.. code-block:: xml
<conditional sources="i4x://MITx/0.000x/problem/Conditional:lec27_Q1" attempted="True">
<html display_name="HTML for attempted problem">You see this, cause "lec27_Q1" is attempted.</html>
</conditional>
<conditional sources="i4x://MITx/0.000x/problem/Conditional:lec27_Q1" attempted="False">
<html display_name="HTML for not attempted problem">You see this, cause "lec27_Q1" is not attempted.</html>
</conditional>
\ No newline at end of file
......@@ -357,6 +357,10 @@ Supported fields at the course level
* `cohorted_discussions`: list of discussions that should be cohorted. Any not specified in this list are not cohorted.
* `auto_cohort`: Truthy.
* `auto_cohort_groups`: `["group name 1", "group name 2", ...]` If `cohorted` and `auto_cohort` is true, automatically put each student into a random group from the `auto_cohort_groups` list, creating the group if needed.
* - `pdf_textbooks`
- have pdf-based textbooks on tabs in the courseware. See below for details on config.
* - `html_textbooks`
- have html-based textbooks on tabs in the courseware. See below for details on config.
Available metadata
......@@ -508,13 +512,17 @@ If you want to customize the courseware tabs displayed for your course, specify
"url_slug": "news",
"name": "Exciting news"
},
{"type": "textbooks"}
{"type": "textbooks"},
{"type": "html_textbooks"},
{"type": "pdf_textbooks"}
]
* If you specify any tabs, you must specify all tabs. They will appear in the order given.
* The first two tabs must have types `"courseware"` and `"course_info"`, in that order, or the course will not load.
* The `courseware` tab never has a name attribute -- it's always rendered as "Courseware" for consistency between courses.
* The `textbooks` tab will actually generate one tab per textbook, using the textbook titles as names.
* The `html_textbooks` tab will actually generate one tab per html_textbook. The tab name is found in the html textbook definition.
* The `pdf_textbooks` tab will actually generate one tab per pdf_textbook. The tab name is found in the pdf textbook definition.
* For static tabs, the `url_slug` will be the url that points to the tab. It can not be one of the existing courseware url types (even if those aren't used in your course). The static content will come from `tabs/{course_url_name}/{url_slug}.html`, or `tabs/{url_slug}.html` if that doesn't exist.
* An Instructor tab will be automatically added at the end for course staff users.
......@@ -527,13 +535,17 @@ If you want to customize the courseware tabs displayed for your course, specify
* - `course_info`
- Parameter `name`.
* - `wiki`
- arameter `name`.
- Parameter `name`.
* - `discussion`
- Parameter `name`.
* - `external_link`
- Parameters `name`, `link`.
* - `textbooks`
- No parameters--generates tab names from book titles.
* - `html_textbooks`
- No parameters--generates tab names from html book definition. (See discussion below for configuration.)
* - `pdf_textbooks`
- No parameters--generates tab names from pdf book definition. (See discussion below for configuration.)
* - `progress`
- Parameter `name`.
* - `static_tab`
......@@ -541,6 +553,195 @@ If you want to customize the courseware tabs displayed for your course, specify
* - `staff_grading`
- No parameters. If specified, displays the staff grading tab for instructors.
*********
Textbooks
*********
Support is currently provided for image-based, HTML-based and PDF-based textbooks. In addition to enabling the display of textbooks in tabs (see above), specific information about the location of textbook content must be configured.
Image-based Textbooks
=====================
Configuration
-------------
Image-based textbooks are configured at the course level in the XML markup. Here is an example:
.. code-block:: xml
<course>
<textbook title="Textbook 1" book_url="https://www.example.com/textbook_1/" />
<textbook title="Textbook 2" book_url="https://www.example.com/textbook_2/" />
<chapter url_name="Overview">
<chapter url_name="First week">
</course>
Each `textbook` element is displayed on a different tab. The `title` attribute is used as the tab's name, and the `book_url` attribute points to the remote directory that contains the images of the text. Note the trailing slash on the end of the `book_url` attribute.
The images must be stored in the same directory as the `book_url`, with filenames matching `pXXX.png`, where `XXX` is a three-digit number representing the page number (with leading zeroes as necessary). Pages start at `p001.png`.
Each textbook must also have its own table of contents. This is read from the `book_url` location, by appending `toc.xml`. This file contains a `table_of_contents` parent element, with `entry` elements nested below it. Each `entry` has attributes for `name`, `page_label`, and `page`, as well as an optional `chapter` attribute. An arbitrary number of levels of nesting of `entry` elements within other `entry` elements is supported, but you're likely to only want two levels. The `page` represents the actual page to link to, while the `page_label` matches the displayed page number on that page. Here's an example:
.. code-block:: xml
<table_of_contents>
<entry page="1" page_label="i" name="Title" />
<entry page="2" page_label="ii" name="Preamble">
<entry page="2" page_label="ii" name="Copyright"/>
<entry page="3" page_label="iii" name="Brief Contents"/>
<entry page="5" page_label="v" name="Contents"/>
<entry page="9" page_label="1" name="About the Authors"/>
<entry page="10" page_label="2" name="Acknowledgments"/>
<entry page="11" page_label="3" name="Dedication"/>
<entry page="12" page_label="4" name="Preface"/>
</entry>
<entry page="15" page_label="7" name="Introduction to edX" chapter="1">
<entry page="15" page_label="7" name="edX in the Modern World"/>
<entry page="18" page_label="10" name="The edX Method"/>
<entry page="18" page_label="10" name="A Description of edX"/>
<entry page="29" page_label="21" name="A Brief History of edX"/>
<entry page="51" page_label="43" name="Introduction to edX"/>
<entry page="56" page_label="48" name="Endnotes"/>
</entry>
<entry page="73" page_label="65" name="Art and Photo Credits" chapter="30">
<entry page="73" page_label="65" name="Molecular Models"/>
<entry page="73" page_label="65" name="Photo Credits"/>
</entry>
<entry page="77" page_label="69" name="Index" />
</table_of_contents>
Linking from Content
--------------------
It is possible to add links to specific pages in a textbook by using a URL that encodes the index of the textbook and the page number. The URL is of the form `/course/book/${bookindex}/$page}`. If the page is omitted from the URL, the first page is assumed.
You can use a `customtag` to create a template for such links. For example, you can create a `book` template in the `customtag` directory, containing:
.. code-block:: xml
<img src="/static/images/icons/textbook_icon.png"/> More information given in <a href="/course/book/${book}/${page}">the text</a>.
The course content can then link to page 25 using the `customtag` element:
.. code-block:: xml
<customtag book="0" page="25" impl="book"/>
HTML-based Textbooks
====================
Configuration
-------------
HTML-based textbooks are configured at the course level in the policy file. The JSON markup consists of an array of maps, with each map corresponding to a separate textbook. There are two styles to presenting HTML-based material. The first way is as a single HTML on a tab, which requires only a tab title and a URL for configuration. A second way permits the display of multiple HTML files that should be displayed together on a single view. For this view, a side panel of links is available on the left, allowing selection of a particular HTML to view.
.. code-block:: json
"html_textbooks": [
{"tab_title": "Textbook 1",
"url": "https://www.example.com/thiscourse/book1/book1.html" },
{"tab_title": "Textbook 2",
"chapters": [
{ "title": "Chapter 1", "url": "https://www.example.com/thiscourse/book2/Chapter1.html" },
{ "title": "Chapter 2", "url": "https://www.example.com/thiscourse/book2/Chapter2.html" },
{ "title": "Chapter 3", "url": "https://www.example.com/thiscourse/book2/Chapter3.html" },
{ "title": "Chapter 4", "url": "https://www.example.com/thiscourse/book2/Chapter4.html" },
{ "title": "Chapter 5", "url": "https://www.example.com/thiscourse/book2/Chapter5.html" },
{ "title": "Chapter 6", "url": "https://www.example.com/thiscourse/book2/Chapter6.html" },
{ "title": "Chapter 7", "url": "https://www.example.com/thiscourse/book2/Chapter7.html" }
]
}
]
Some notes:
* It is not a good idea to include a top-level URL and chapter-level URLs in the same textbook configuration.
Linking from Content
--------------------
It is possible to add links to specific pages in a textbook by using a URL that encodes the index of the textbook, the chapter (if chapters are used), and the page number. For a book with no chapters, the URL is of the form `/course/htmlbook/${bookindex}`. For a book with chapters, use `/course/htmlbook/${bookindex}/chapter/${chapter}` for a specific chapter, or `/course/htmlbook/${bookindex}` will default to the first chapter.
For example, for the book with no chapters configured above, the textbook can be reached using the URL `/course/htmlbook/0`. Reaching the third chapter of the second book is accomplished with `/course/htmlbook/1/chapter/3`.
You can use a `customtag` to create a template for such links. For example, you can create a `htmlbook` template in the `customtag` directory, containing:
.. code-block:: xml
<img src="/static/images/icons/textbook_icon.png"/> More information given in <a href="/course/htmlbook/${book}">the text</a>.
And a `htmlchapter` template containing:
.. code-block:: xml
<img src="/static/images/icons/textbook_icon.png"/> More information given in <a href="/course/htmlbook/${book}/chapter/${chapter}">the text</a>.
The example pages can then be linked using the `customtag` element:
.. code-block:: xml
<customtag book="0" impl="htmlbook"/>
<customtag book="1" chapter="3" impl="htmlchapter"/>
PDF-based Textbooks
===================
Configuration
-------------
PDF-based textbooks are configured at the course level in the policy file. The JSON markup consists of an array of maps, with each map corresponding to a separate textbook. There are two styles to presenting PDF-based material. The first way is as a single PDF on a tab, which requires only a tab title and a URL for configuration. A second way permits the display of multiple PDFs that should be displayed together on a single view. For this view, a side panel of links is available on the left, allowing selection of a particular PDF to view.
.. code-block:: json
"pdf_textbooks": [
{"tab_title": "Textbook 1",
"url": "https://www.example.com/thiscourse/book1/book1.pdf" },
{"tab_title": "Textbook 2",
"chapters": [
{ "title": "Chapter 1", "url": "https://www.example.com/thiscourse/book2/Chapter1.pdf" },
{ "title": "Chapter 2", "url": "https://www.example.com/thiscourse/book2/Chapter2.pdf" },
{ "title": "Chapter 3", "url": "https://www.example.com/thiscourse/book2/Chapter3.pdf" },
{ "title": "Chapter 4", "url": "https://www.example.com/thiscourse/book2/Chapter4.pdf" },
{ "title": "Chapter 5", "url": "https://www.example.com/thiscourse/book2/Chapter5.pdf" },
{ "title": "Chapter 6", "url": "https://www.example.com/thiscourse/book2/Chapter6.pdf" },
{ "title": "Chapter 7", "url": "https://www.example.com/thiscourse/book2/Chapter7.pdf" }
]
}
]
Some notes:
* It is not a good idea to include a top-level URL and chapter-level URLs in the same textbook configuration.
Linking from Content
--------------------
It is possible to add links to specific pages in a textbook by using a URL that encodes the index of the textbook, the chapter (if chapters are used), and the page number. For a book with no chapters, the URL is of the form `/course/pdfbook/${bookindex}/$page}`. For a book with chapters, use `/course/pdfbook/${bookindex}/chapter/${chapter}/${page}`. If the page is omitted from the URL, the first page is assumed.
For example, for the book with no chapters configured above, page 25 can be reached using the URL `/course/pdfbook/0/25`. Reaching page 19 in the third chapter of the second book is accomplished with `/course/pdfbook/1/chapter/3/19`.
You can use a `customtag` to create a template for such links. For example, you can create a `pdfbook` template in the `customtag` directory, containing:
.. code-block:: xml
<img src="/static/images/icons/textbook_icon.png"/> More information given in <a href="/course/pdfbook/${book}/${page}">the text</a>.
And a `pdfchapter` template containing:
.. code-block:: xml
<img src="/static/images/icons/textbook_icon.png"/> More information given in <a href="/course/pdfbook/${book}/chapter/${chapter}/${page}">the text</a>.
The example pages can then be linked using the `customtag` element:
.. code-block:: xml
<customtag book="0" page="25" impl="pdfbook"/>
<customtag book="1" chapter="3" page="19" impl="pdfchapter"/>
*************************************
Other file locations (info and about)
*************************************
......
####################################
CustomResponse XML and Python Script
####################################
This document explains how to write a CustomResponse problem. CustomResponse
problems execute Python script to check student answers and provide hints.
There are two general ways to create a CustomResponse problem:
*****************
Answer tag format
*****************
One format puts the Python code in an ``<answer>`` tag:
.. code-block:: xml
<problem>
<p>What is the sum of 2 and 3?</p>
<customresponse expect="5">
<textline math="1" />
</customresponse>
<answer>
# Python script goes here
</answer>
</problem>
The Python script interacts with these variables in the global context:
* ``answers``: An ordered list of answers the student provided.
For example, if the student answered ``6``, then ``answers[0]`` would
equal ``6``.
* ``expect``: The value of the ``expect`` attribute of ``<customresponse>``
(if provided).
* ``correct``: An ordered list of strings indicating whether the
student answered the question correctly. Valid values are
``"correct"``, ``"incorrect"``, and ``"unknown"``. You can set these
values in the script.
* ``messages``: An ordered list of message strings that will be displayed
beneath each input. You can use this to provide hints to users.
For example ``messages[0] = "The capital of California is Sacramento"``
would display that message beneath the first input of the response.
* ``overall_message``: A string that will be displayed beneath the
entire problem. You can use this to provide a hint that applies
to the entire problem rather than a particular input.
Example of a checking script:
.. code-block:: python
if answers[0] == expect:
correct[0] = 'correct'
overall_message = 'Good job!'
else:
correct[0] = 'incorrect'
messages[0] = 'This answer is incorrect'
overall_message = 'Please try again'
**Important**: Python is picky about indentation. Within the ``<answer>`` tag,
you must begin your script with no indentation.
*****************
Script tag format
*****************
The other way to create a CustomResponse is to put a "checking function"
in a ``<script>`` tag, then use the ``cfn`` attribute of the
``<customresponse>`` tag:
.. code-block:: xml
<problem>
<p>What is the sum of 2 and 3?</p>
<customresponse cfn="check_func" expect="5">
<textline math="1" />
</customresponse>
<script type="loncapa/python">
def check_func(expect, ans):
# Python script goes here
</script>
</problem>
**Important**: Python is picky about indentation. Within the ``<script>`` tag,
the ``def check_func(expect, ans):`` line must have no indentation.
The check function accepts two arguments:
* ``expect`` is the value of the ``expect`` attribute of ``<customresponse>``
(if provided)
* ``answer`` is either:
* The value of the answer the student provided, if there is only one input.
* An ordered list of answers the student provided, if there
are multiple inputs.
There are several ways that the check function can indicate whether the student
succeeded. The check function can return any of the following:
* ``True``: Indicates that the student answered correctly for all inputs.
* ``False``: Indicates that the student answered incorrectly.
All inputs will be marked incorrect.
* A dictionary of the form: ``{ 'ok': True, 'msg': 'Message' }``
If the dictionary's value for ``ok`` is set to ``True``, all inputs are
marked correct; if it is set to ``False``, all inputs are marked incorrect.
The ``msg`` is displayed beneath all inputs, and it may contain
XHTML markup.
* A dictionary of the form
.. code-block:: xml
{ 'overall_message': 'Overall message',
'input_list': [
{ 'ok': True, 'msg': 'Feedback for input 1'},
{ 'ok': False, 'msg': 'Feedback for input 2'},
... ] }
The last form is useful for responses that contain multiple inputs.
It allows you to provide feedback for each input individually,
as well as a message that applies to the entire response.
Example of a checking function:
.. code-block:: python
def check_func(expect, answer_given):
check1 = (int(answer_given[0]) == 1)
check2 = (int(answer_given[1]) == 2)
check3 = (int(answer_given[2]) == 3)
return {'overall_message': 'Overall message',
'input_list': [
{ 'ok': check1, 'msg': 'Feedback 1'},
{ 'ok': check2, 'msg': 'Feedback 2'},
{ 'ok': check3, 'msg': 'Feedback 3'} ] }
The function checks that the user entered ``1`` for the first input,
``2`` for the second input, and ``3`` for the third input.
It provides feedback messages for each individual input, as well
as a message displayed beneath the entire problem.
......@@ -83,9 +83,58 @@ the slider.
If no targets are provided, then a draggable can be dragged and placed anywhere
on the base image.
correct answer format
Targets on draggables
---------------------
Sometimes it is not enough to have targets only on the base image, and all of the
draggables on these targets. If a complex problem exists where a draggable must
become itself a target (or many targets), then the following extended syntax
can be used: ::
<draggable {attribute list}>
<target {attribute list} />
<target {attribute list} />
<target {attribute list} />
...
</draggable>
The attribute list in the tags above ('draggable' and 'target') is the same as for
normal 'draggable' and 'target' tags. The only difference is when you will be
specifying inner target position coordinates. Using the 'x' and 'y' attributes you
are setting the offset of the inner target from the upper-left corner of the
parent draggable (that contains the inner target).
Limitations of targets on draggables
------------------------------------
1.) Currently there is a limitation to the level of nesting of targets.
Even though you can pile up a large number of draggables on targets that themselves
are on draggables, the Drag and Drop instance will be graded only in the case if
there is a maximum of two levels of targets. The first level are the "base" targets.
They are attached to the base image. The second level are the targets defined on
draggables.
2.) Another limitation is that the target bounds are not checked against
other targets.
For now, it is the responsibility of the person who is constructing the course
material to make sure that there is no overlapping of targets. It is also preferable
that targets on draggables are smaller than the actual parent draggable. Technically
this is not necessary, but from the usability perspective it is desirable.
3.) You can have targets on draggables only in the case when there are base targets
defined (base targets are attached to the base image).
If you do not have base targets, then you can only have a single level of nesting
(draggables on the base image). In this case the client side will be reporting (x,y)
positions of each draggables on the base image.
Correct answer format
---------------------
(NOTE: For specifying answers for targets on draggables please see next section.)
There are two correct answer formats: short and long
If short from correct answer is mapping of 'draggable_id' to 'target_id'::
......@@ -180,7 +229,7 @@ Rules are: exact, anyof, unordered_equal, anyof+number, unordered_equal+number
'rule': 'unordered_equal'
}]
- And sometimes you want to allow drag only two 'b' draggables, in these case you sould use 'anyof+number' of 'unordered_equal+number' rule::
- And sometimes you want to allow drag only two 'b' draggables, in these case you should use 'anyof+number' of 'unordered_equal+number' rule::
correct_answer = [
{
......@@ -204,6 +253,54 @@ for same number of draggables, anyof is equal to unordered_equal
If we have can_reuse=true, than one must use only long form of correct answer.
Answer format for targets on draggables
---------------------------------------
As with the cases described above, an answer must provide precise positioning for
each draggable (on which targets it must reside). In the case when a draggable must
be placed on a target that itself is on a draggable, then the answer must contain
the chain of target-draggable-target. It is best to understand this on an example.
Suppose we have three draggables - 'up', 's', and 'p'. Draggables 's', and 'p' have targets
on themselves. More specifically, 'p' has three targets - '1', '2', and '3'. The first
requirement is that 's', and 'p' are positioned on specific targets on the base image.
The second requirement is that draggable 'up' is positioned on specific targets of
draggable 'p'. Below is an excerpt from a problem.::
<draggable id="up" icon="/static/images/images_list/lcao-mo/up.png" can_reuse="true" />
<draggable id="s" icon="/static/images/images_list/lcao-mo/orbital_single.png" label="s orbital" can_reuse="true" >
<target id="1" x="0" y="0" w="32" h="32"/>
</draggable>
<draggable id="p" icon="/static/images/images_list/lcao-mo/orbital_triple.png" can_reuse="true" label="p orbital" >
<target id="1" x="0" y="0" w="32" h="32"/>
<target id="2" x="34" y="0" w="32" h="32"/>
<target id="3" x="68" y="0" w="32" h="32"/>
</draggable>
...
correct_answer = [
{
'draggables': ['p'],
'targets': ['p-left-target', 'p-right-target'],
'rule': 'unordered_equal'
},
{
'draggables': ['s'],
'targets': ['s-left-target', 's-right-target'],
'rule': 'unordered_equal'
},
{
'draggables': ['up'],
'targets': ['p-left-target[p][1]', 'p-left-target[p][2]', 'p-right-target[p][2]', 'p-right-target[p][3]',],
'rule': 'unordered_equal'
}
]
Note that it is a requirement to specify rules for all draggables, even if some draggable gets included
in more than one chain.
Grading logic
-------------
......@@ -321,3 +418,8 @@ Draggables can be reused
------------------------
.. literalinclude:: drag-n-drop-demo2.xml
Examples of targets on draggables
------------------------
.. literalinclude:: drag-n-drop-demo3.xml
**********************************************
Xml format of poll module [xmodule]
**********************************************
.. module:: poll_module
Format description
==================
The main tag of Poll module input is:
.. code-block:: xml
<poll_question> ... </poll_question>
``poll_question`` can include any number of the following tags:
any xml and ``answer`` tag. All inner xml, except for ``answer`` tags, we call "question".
poll_question tag
-----------------
Xmodule for creating poll functionality - voting system. The following attributes can
be specified for this tag::
name - Name of xmodule.
[display_name| AUTOGENERATE] - Display name of xmodule. When this attribute is not defined - display name autogenerate with some hash.
[reset | False] - Can reset/revote many time (value = True/False)
answer tag
----------
Define one of the possible answer for poll module. The following attributes can
be specified for this tag::
id - unique identifier (using to identify the different answers)
Inner text - Display text for answer choice.
Example
=======
Examples of poll
----------------
.. code-block:: xml
<poll_question name="second_question" display_name="Second question">
<h3>Age</h3>
<p>How old are you?</p>
<answer id="less18">&lt; 18</answer>
<answer id="10_25">from 10 to 25</answer>
<answer id="more25">&gt; 25</answer>
</poll_question>
Examples of poll with unable reset functionality
------------------------------------------------
.. code-block:: xml
<poll_question name="first_question_with_reset" display_name="First question with reset"
reset="True">
<h3>Your gender</h3>
<p>You are man or woman?</p>
<answer id="man">Man</answer>
<answer id="woman">Woman</answer>
</poll_question>
\ No newline at end of file
#################
Symbolic Response
#################
This document plans to document features that the current symbolic response
supports. In general it allows the input and validation of math expressions,
up to commutativity and some identities.
********
Features
********
This is a partial list of features, to be revised as we go along:
* sub and superscripts: an expression following the ``^`` character
indicates exponentiation. To use superscripts in variables, the syntax
is ``b_x__d`` for the variable ``b`` with subscript ``x`` and super
``d``.
An example of a problem::
<symbolicresponse expect="a_b^c + b_x__d" size="30">
<textline math="1"
preprocessorClassName="SymbolicMathjaxPreprocessor"
preprocessorSrc="/static/js/capa/symbolic_mathjax_preprocessor.js"/>
</symbolicresponse>
It's a bit of a pain to enter that.
* The script-style math variant. What would be outputted in latex if you
entered ``\mathcal{N}``. This is used in some variables.
An example::
<symbolicresponse expect="scriptN_B + x" size="30">
<textline math="1"/>
</symbolicresponse>
There is no fancy preprocessing needed, but if you had superscripts or
something, you would need to include that part.
......@@ -24,6 +24,9 @@ Specific Problem Types
course_data_formats/drag_and_drop/drag_and_drop_input.rst
course_data_formats/graphical_slider_tool/graphical_slider_tool.rst
course_data_formats/poll_module/poll_module.rst
course_data_formats/conditional_module/conditional_module.rst
course_data_formats/custom_response.rst
Internal Data Formats
......
......@@ -313,14 +313,18 @@ There is an important split in demographic data gathered for the students who si
- This student signed up before this information was collected
* - `''` (blank)
- User did not specify level of education.
* - `'p'`
- Doctorate
* - `'p_se'`
- Doctorate in science or engineering
- Doctorate in science or engineering (no longer used)
* - `'p_oth'`
- Doctorate in another field
- Doctorate in another field (no longer used)
* - `'m'`
- Master's or professional degree
* - `'b'`
- Bachelor's degree
* - `'a'`
- Associate's degree
* - `'hs'`
- Secondary/high school
* - `'jhs'`
......@@ -624,4 +628,4 @@ The generatedcertificate table tracks certificate state for students who have be
`grade`
-------
The grade of the student recorded at the time the certificate was generated. This may be different than the current grade since grading is only done once for a course when it ends.
\ No newline at end of file
The grade of the student recorded at the time the certificate was generated. This may be different than the current grade since grading is only done once for a course when it ends.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Xml format of conditional module [xmodule] &mdash; edX Data 0.1 documentation</title>
<link rel="stylesheet" href="../../_static/sphinxdoc.css" type="text/css" />
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../',
VERSION: '0.1',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
};
</script>
<script type="text/javascript" src="../../_static/jquery.js"></script>
<script type="text/javascript" src="../../_static/underscore.js"></script>
<script type="text/javascript" src="../../_static/doctools.js"></script>
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
<link rel="top" title="edX Data 0.1 documentation" href="../../index.html" />
<link rel="next" title="CustomResponse XML and Python Script" href="../custom_response.html" />
<link rel="prev" title="Xml format of poll module [xmodule]" href="../poll_module/poll_module.html" />
</head>
<body>
<div class="related">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../../genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
<a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="right" >
<a href="../custom_response.html" title="CustomResponse XML and Python Script"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="../poll_module/poll_module.html" title="Xml format of poll module [xmodule]"
accesskey="P">previous</a> |</li>
<li><a href="../../index.html">edX Data 0.1 documentation</a> &raquo;</li>
</ul>
</div>
<div class="sphinxsidebar">
<div class="sphinxsidebarwrapper">
<h3><a href="../../index.html">Table Of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">Xml format of conditional module [xmodule]</a><ul>
<li><a class="reference internal" href="#format-description">Format description</a><ul>
<li><a class="reference internal" href="#conditional-tag">conditional tag</a></li>
<li><a class="reference internal" href="#show-tag">show tag</a></li>
</ul>
</li>
<li><a class="reference internal" href="#example">Example</a><ul>
<li><a class="reference internal" href="#examples-of-conditional-depends-on-poll">Examples of conditional depends on poll</a></li>
<li><a class="reference internal" href="#examples-of-conditional-depends-on-poll-use-show-tag">Examples of conditional depends on poll (use &lt;show&gt; tag)</a></li>
<li><a class="reference internal" href="#examples-of-conditional-depends-on-problem">Examples of conditional depends on problem</a></li>
</ul>
</li>
</ul>
</li>
</ul>
<h4>Previous topic</h4>
<p class="topless"><a href="../poll_module/poll_module.html"
title="previous chapter">Xml format of poll module [xmodule]</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="../custom_response.html"
title="next chapter">CustomResponse XML and Python Script</a></p>
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="../../_sources/course_data_formats/conditional_module/conditional_module.txt"
rel="nofollow">Show Source</a></li>
</ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="../../search.html" method="get">
<input type="text" name="q" />
<input type="submit" value="Go" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
<p class="searchtip" style="font-size: 90%">
Enter search terms or a module, class or function name.
</p>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
</div>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body">
<div class="section" id="module-conditional_module">
<span id="xml-format-of-conditional-module-xmodule"></span><h1>Xml format of conditional module [xmodule]<a class="headerlink" href="#module-conditional_module" title="Permalink to this headline"></a></h1>
<div class="section" id="format-description">
<h2>Format description<a class="headerlink" href="#format-description" title="Permalink to this headline"></a></h2>
<p>The main tag of Conditional module input is:</p>
<div class="highlight-xml"><div class="highlight"><pre><span class="nt">&lt;conditional&gt;</span> ... <span class="nt">&lt;/conditional&gt;</span>
</pre></div>
</div>
<p><tt class="docutils literal"><span class="pre">conditional</span></tt> can include any number of any xmodule tags (<tt class="docutils literal"><span class="pre">html</span></tt>, <tt class="docutils literal"><span class="pre">video</span></tt>, <tt class="docutils literal"><span class="pre">poll</span></tt>, etc.) or <tt class="docutils literal"><span class="pre">show</span></tt> tags.</p>
<div class="section" id="conditional-tag">
<h3>conditional tag<a class="headerlink" href="#conditional-tag" title="Permalink to this headline"></a></h3>
<p>The main container for a single instance of Conditional module. The following attributes can
be specified for this tag:</p>
<div class="highlight-python"><pre>sources - location id of required modules, separated by ';'
[message | ""] - message for case, where one or more are not passed. Here you can use variable {link}, which generate link to required module.
[completed] - map to `is_completed` module method
[attempted] - map to `is_attempted` module method
[poll_answer] - map to `poll_answer` module attribute
[voted] - map to `voted` module attribute</pre>
</div>
</div>
<div class="section" id="show-tag">
<h3>show tag<a class="headerlink" href="#show-tag" title="Permalink to this headline"></a></h3>
<p>Symlink to some set of xmodules. The following attributes can
be specified for this tag:</p>
<div class="highlight-python"><pre>sources - location id of modules, separated by ';'</pre>
</div>
</div>
</div>
<div class="section" id="example">
<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline"></a></h2>
<div class="section" id="examples-of-conditional-depends-on-poll">
<h3>Examples of conditional depends on poll<a class="headerlink" href="#examples-of-conditional-depends-on-poll" title="Permalink to this headline"></a></h3>
<div class="highlight-xml"><div class="highlight"><pre><span class="nt">&lt;conditional</span> <span class="na">sources=</span><span class="s">&quot;i4x://MITx/0.000x/poll_question/first_real_poll_seq_with_reset&quot;</span> <span class="na">poll_answer=</span><span class="s">&quot;man&quot;</span>
<span class="na">message=</span><span class="s">&quot;{link} must be answered for this to become visible.&quot;</span><span class="nt">&gt;</span>
<span class="nt">&lt;html&gt;</span>
<span class="nt">&lt;h2&gt;</span>You see this, cause your vote value for &quot;First question&quot; was &quot;man&quot;<span class="nt">&lt;/h2&gt;</span>
<span class="nt">&lt;/html&gt;</span>
<span class="nt">&lt;/conditional&gt;</span>
</pre></div>
</div>
</div>
<div class="section" id="examples-of-conditional-depends-on-poll-use-show-tag">
<h3>Examples of conditional depends on poll (use &lt;show&gt; tag)<a class="headerlink" href="#examples-of-conditional-depends-on-poll-use-show-tag" title="Permalink to this headline"></a></h3>
<div class="highlight-xml"><div class="highlight"><pre><span class="nt">&lt;conditional</span> <span class="na">sources=</span><span class="s">&quot;i4x://MITx/0.000x/poll_question/first_real_poll_seq_with_reset&quot;</span> <span class="na">poll_answer=</span><span class="s">&quot;man&quot;</span>
<span class="na">message=</span><span class="s">&quot;{link} must be answered for this to become visible.&quot;</span><span class="nt">&gt;</span>
<span class="nt">&lt;html&gt;</span>
<span class="nt">&lt;show</span> <span class="na">sources=</span><span class="s">&quot;i4x://MITx/0.000x/problem/test_1; i4x://MITx/0.000x/Video/Avi_resources; i4x://MITx/0.000x/problem/test_1&quot;</span><span class="nt">/&gt;</span>
<span class="nt">&lt;/html&gt;</span>
<span class="nt">&lt;/conditional&gt;</span>
</pre></div>
</div>
</div>
<div class="section" id="examples-of-conditional-depends-on-problem">
<h3>Examples of conditional depends on problem<a class="headerlink" href="#examples-of-conditional-depends-on-problem" title="Permalink to this headline"></a></h3>
<div class="highlight-xml"><div class="highlight"><pre><span class="nt">&lt;conditional</span> <span class="na">sources=</span><span class="s">&quot;i4x://MITx/0.000x/problem/Conditional:lec27_Q1&quot;</span> <span class="na">attempted=</span><span class="s">&quot;True&quot;</span><span class="nt">&gt;</span>
<span class="nt">&lt;html</span> <span class="na">display_name=</span><span class="s">&quot;HTML for attempted problem&quot;</span><span class="nt">&gt;</span>You see this, cause &quot;lec27_Q1&quot; is attempted.<span class="nt">&lt;/html&gt;</span>
<span class="nt">&lt;/conditional&gt;</span>
<span class="nt">&lt;conditional</span> <span class="na">sources=</span><span class="s">&quot;i4x://MITx/0.000x/problem/Conditional:lec27_Q1&quot;</span> <span class="na">attempted=</span><span class="s">&quot;False&quot;</span><span class="nt">&gt;</span>
<span class="nt">&lt;html</span> <span class="na">display_name=</span><span class="s">&quot;HTML for not attempted problem&quot;</span><span class="nt">&gt;</span>You see this, cause &quot;lec27_Q1&quot; is not attempted.<span class="nt">&lt;/html&gt;</span>
<span class="nt">&lt;/conditional&gt;</span>
</pre></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../../genindex.html" title="General Index"
>index</a></li>
<li class="right" >
<a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="right" >
<a href="../custom_response.html" title="CustomResponse XML and Python Script"
>next</a> |</li>
<li class="right" >
<a href="../poll_module/poll_module.html" title="Xml format of poll module [xmodule]"
>previous</a> |</li>
<li><a href="../../index.html">edX Data 0.1 documentation</a> &raquo;</li>
</ul>
</div>
<div class="footer">
&copy; Copyright 2013, edX Team.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
</div>
</body>
</html>
\ No newline at end of file
......@@ -92,6 +92,24 @@
</li>
<li><a class="reference internal" href="#static-links">Static links</a></li>
<li><a class="reference internal" href="#tabs">Tabs</a></li>
<li><a class="reference internal" href="#textbooks">Textbooks</a><ul>
<li><a class="reference internal" href="#image-based-textbooks">Image-based Textbooks</a><ul>
<li><a class="reference internal" href="#configuration">Configuration</a></li>
<li><a class="reference internal" href="#linking-from-content">Linking from Content</a></li>
</ul>
</li>
<li><a class="reference internal" href="#html-based-textbooks">HTML-based Textbooks</a><ul>
<li><a class="reference internal" href="#id2">Configuration</a></li>
<li><a class="reference internal" href="#id3">Linking from Content</a></li>
</ul>
</li>
<li><a class="reference internal" href="#pdf-based-textbooks">PDF-based Textbooks</a><ul>
<li><a class="reference internal" href="#id4">Configuration</a></li>
<li><a class="reference internal" href="#id5">Linking from Content</a></li>
</ul>
</li>
</ul>
</li>
<li><a class="reference internal" href="#other-file-locations-info-and-about">Other file locations (info and about)</a></li>
<li><a class="reference internal" href="#tips-for-content-developers">Tips for content developers</a></li>
</ul>
......@@ -502,6 +520,12 @@
</ul>
</td>
</tr>
<tr class="row-even"><td><cite>pdf_textbooks</cite></td>
<td>have pdf-based textbooks on tabs in the courseware. See below for details on config.</td>
</tr>
<tr class="row-odd"><td><cite>html_textbooks</cite></td>
<td>have html-based textbooks on tabs in the courseware. See below for details on config.</td>
</tr>
</tbody>
</table>
</div></blockquote>
......@@ -650,7 +674,9 @@
"url_slug": "news",
"name": "Exciting news"
},
{"type": "textbooks"}
{"type": "textbooks"},
{"type": "html_textbooks"},
{"type": "pdf_textbooks"}
]</pre>
</div>
<ul class="simple">
......@@ -658,6 +684,8 @@
<li>The first two tabs must have types <cite>&#8220;courseware&#8221;</cite> and <cite>&#8220;course_info&#8221;</cite>, in that order, or the course will not load.</li>
<li>The <cite>courseware</cite> tab never has a name attribute &#8211; it&#8217;s always rendered as &#8220;Courseware&#8221; for consistency between courses.</li>
<li>The <cite>textbooks</cite> tab will actually generate one tab per textbook, using the textbook titles as names.</li>
<li>The <cite>html_textbooks</cite> tab will actually generate one tab per html_textbook. The tab name is found in the html textbook definition.</li>
<li>The <cite>pdf_textbooks</cite> tab will actually generate one tab per pdf_textbook. The tab name is found in the pdf textbook definition.</li>
<li>For static tabs, the <cite>url_slug</cite> will be the url that points to the tab. It can not be one of the existing courseware url types (even if those aren&#8217;t used in your course). The static content will come from <cite>tabs/{course_url_name}/{url_slug}.html</cite>, or <cite>tabs/{url_slug}.html</cite> if that doesn&#8217;t exist.</li>
<li>An Instructor tab will be automatically added at the end for course staff users.</li>
</ul>
......@@ -675,7 +703,7 @@
<td>Parameter <cite>name</cite>.</td>
</tr>
<tr class="row-odd"><td><cite>wiki</cite></td>
<td>arameter <cite>name</cite>.</td>
<td>Parameter <cite>name</cite>.</td>
</tr>
<tr class="row-even"><td><cite>discussion</cite></td>
<td>Parameter <cite>name</cite>.</td>
......@@ -686,6 +714,12 @@
<tr class="row-even"><td><cite>textbooks</cite></td>
<td>No parameters&#8211;generates tab names from book titles.</td>
</tr>
<tr class="row-odd"><td><cite>html_textbooks</cite></td>
<td>No parameters&#8211;generates tab names from html book definition. (See discussion below for configuration.)</td>
</tr>
<tr class="row-even"><td><cite>pdf_textbooks</cite></td>
<td>No parameters&#8211;generates tab names from pdf book definition. (See discussion below for configuration.)</td>
</tr>
<tr class="row-odd"><td><cite>progress</cite></td>
<td>Parameter <cite>name</cite>.</td>
</tr>
......@@ -698,6 +732,157 @@
</tbody>
</table>
</div>
<div class="section" id="textbooks">
<h2>Textbooks<a class="headerlink" href="#textbooks" title="Permalink to this headline"></a></h2>
<p>Support is currently provided for image-based, HTML-based and PDF-based textbooks. In addition to enabling the display of textbooks in tabs (see above), specific information about the location of textbook content must be configured.</p>
<div class="section" id="image-based-textbooks">
<h3>Image-based Textbooks<a class="headerlink" href="#image-based-textbooks" title="Permalink to this headline"></a></h3>
<div class="section" id="configuration">
<h4>Configuration<a class="headerlink" href="#configuration" title="Permalink to this headline"></a></h4>
<p>Image-based textbooks are configured at the course level in the XML markup. Here is an example:</p>
<div class="highlight-xml"><div class="highlight"><pre><span class="nt">&lt;course&gt;</span>
<span class="nt">&lt;textbook</span> <span class="na">title=</span><span class="s">&quot;Textbook 1&quot;</span> <span class="na">book_url=</span><span class="s">&quot;https://www.example.com/textbook_1/&quot;</span> <span class="nt">/&gt;</span>
<span class="nt">&lt;textbook</span> <span class="na">title=</span><span class="s">&quot;Textbook 2&quot;</span> <span class="na">book_url=</span><span class="s">&quot;https://www.example.com/textbook_2/&quot;</span> <span class="nt">/&gt;</span>
<span class="nt">&lt;chapter</span> <span class="na">url_name=</span><span class="s">&quot;Overview&quot;</span><span class="nt">&gt;</span>
<span class="nt">&lt;chapter</span> <span class="na">url_name=</span><span class="s">&quot;First week&quot;</span><span class="nt">&gt;</span>
<span class="nt">&lt;/course&gt;</span>
</pre></div>
</div>
<p>Each <cite>textbook</cite> element is displayed on a different tab. The <cite>title</cite> attribute is used as the tab&#8217;s name, and the <cite>book_url</cite> attribute points to the remote directory that contains the images of the text. Note the trailing slash on the end of the <cite>book_url</cite> attribute.</p>
<p>The images must be stored in the same directory as the <cite>book_url</cite>, with filenames matching <cite>pXXX.png</cite>, where <cite>XXX</cite> is a three-digit number representing the page number (with leading zeroes as necessary). Pages start at <cite>p001.png</cite>.</p>
<p>Each textbook must also have its own table of contents. This is read from the <cite>book_url</cite> location, by appending <cite>toc.xml</cite>. This file contains a <cite>table_of_contents</cite> parent element, with <cite>entry</cite> elements nested below it. Each <cite>entry</cite> has attributes for <cite>name</cite>, <cite>page_label</cite>, and <cite>page</cite>, as well as an optional <cite>chapter</cite> attribute. An arbitrary number of levels of nesting of <cite>entry</cite> elements within other <cite>entry</cite> elements is supported, but you&#8217;re likely to only want two levels. The <cite>page</cite> represents the actual page to link to, while the <cite>page_label</cite> matches the displayed page number on that page. Here&#8217;s an example:</p>
<div class="highlight-xml"><div class="highlight"><pre><span class="nt">&lt;table_of_contents&gt;</span>
<span class="nt">&lt;entry</span> <span class="na">page=</span><span class="s">&quot;1&quot;</span> <span class="na">page_label=</span><span class="s">&quot;i&quot;</span> <span class="na">name=</span><span class="s">&quot;Title&quot;</span> <span class="nt">/&gt;</span>
<span class="nt">&lt;entry</span> <span class="na">page=</span><span class="s">&quot;2&quot;</span> <span class="na">page_label=</span><span class="s">&quot;ii&quot;</span> <span class="na">name=</span><span class="s">&quot;Preamble&quot;</span><span class="nt">&gt;</span>
<span class="nt">&lt;entry</span> <span class="na">page=</span><span class="s">&quot;2&quot;</span> <span class="na">page_label=</span><span class="s">&quot;ii&quot;</span> <span class="na">name=</span><span class="s">&quot;Copyright&quot;</span><span class="nt">/&gt;</span>
<span class="nt">&lt;entry</span> <span class="na">page=</span><span class="s">&quot;3&quot;</span> <span class="na">page_label=</span><span class="s">&quot;iii&quot;</span> <span class="na">name=</span><span class="s">&quot;Brief Contents&quot;</span><span class="nt">/&gt;</span>
<span class="nt">&lt;entry</span> <span class="na">page=</span><span class="s">&quot;5&quot;</span> <span class="na">page_label=</span><span class="s">&quot;v&quot;</span> <span class="na">name=</span><span class="s">&quot;Contents&quot;</span><span class="nt">/&gt;</span>
<span class="nt">&lt;entry</span> <span class="na">page=</span><span class="s">&quot;9&quot;</span> <span class="na">page_label=</span><span class="s">&quot;1&quot;</span> <span class="na">name=</span><span class="s">&quot;About the Authors&quot;</span><span class="nt">/&gt;</span>
<span class="nt">&lt;entry</span> <span class="na">page=</span><span class="s">&quot;10&quot;</span> <span class="na">page_label=</span><span class="s">&quot;2&quot;</span> <span class="na">name=</span><span class="s">&quot;Acknowledgments&quot;</span><span class="nt">/&gt;</span>
<span class="nt">&lt;entry</span> <span class="na">page=</span><span class="s">&quot;11&quot;</span> <span class="na">page_label=</span><span class="s">&quot;3&quot;</span> <span class="na">name=</span><span class="s">&quot;Dedication&quot;</span><span class="nt">/&gt;</span>
<span class="nt">&lt;entry</span> <span class="na">page=</span><span class="s">&quot;12&quot;</span> <span class="na">page_label=</span><span class="s">&quot;4&quot;</span> <span class="na">name=</span><span class="s">&quot;Preface&quot;</span><span class="nt">/&gt;</span>
<span class="nt">&lt;/entry&gt;</span>
<span class="nt">&lt;entry</span> <span class="na">page=</span><span class="s">&quot;15&quot;</span> <span class="na">page_label=</span><span class="s">&quot;7&quot;</span> <span class="na">name=</span><span class="s">&quot;Introduction to edX&quot;</span> <span class="na">chapter=</span><span class="s">&quot;1&quot;</span><span class="nt">&gt;</span>
<span class="nt">&lt;entry</span> <span class="na">page=</span><span class="s">&quot;15&quot;</span> <span class="na">page_label=</span><span class="s">&quot;7&quot;</span> <span class="na">name=</span><span class="s">&quot;edX in the Modern World&quot;</span><span class="nt">/&gt;</span>
<span class="nt">&lt;entry</span> <span class="na">page=</span><span class="s">&quot;18&quot;</span> <span class="na">page_label=</span><span class="s">&quot;10&quot;</span> <span class="na">name=</span><span class="s">&quot;The edX Method&quot;</span><span class="nt">/&gt;</span>
<span class="nt">&lt;entry</span> <span class="na">page=</span><span class="s">&quot;18&quot;</span> <span class="na">page_label=</span><span class="s">&quot;10&quot;</span> <span class="na">name=</span><span class="s">&quot;A Description of edX&quot;</span><span class="nt">/&gt;</span>
<span class="nt">&lt;entry</span> <span class="na">page=</span><span class="s">&quot;29&quot;</span> <span class="na">page_label=</span><span class="s">&quot;21&quot;</span> <span class="na">name=</span><span class="s">&quot;A Brief History of edX&quot;</span><span class="nt">/&gt;</span>
<span class="nt">&lt;entry</span> <span class="na">page=</span><span class="s">&quot;51&quot;</span> <span class="na">page_label=</span><span class="s">&quot;43&quot;</span> <span class="na">name=</span><span class="s">&quot;Introduction to edX&quot;</span><span class="nt">/&gt;</span>
<span class="nt">&lt;entry</span> <span class="na">page=</span><span class="s">&quot;56&quot;</span> <span class="na">page_label=</span><span class="s">&quot;48&quot;</span> <span class="na">name=</span><span class="s">&quot;Endnotes&quot;</span><span class="nt">/&gt;</span>
<span class="nt">&lt;/entry&gt;</span>
<span class="nt">&lt;entry</span> <span class="na">page=</span><span class="s">&quot;73&quot;</span> <span class="na">page_label=</span><span class="s">&quot;65&quot;</span> <span class="na">name=</span><span class="s">&quot;Art and Photo Credits&quot;</span> <span class="na">chapter=</span><span class="s">&quot;30&quot;</span><span class="nt">&gt;</span>
<span class="nt">&lt;entry</span> <span class="na">page=</span><span class="s">&quot;73&quot;</span> <span class="na">page_label=</span><span class="s">&quot;65&quot;</span> <span class="na">name=</span><span class="s">&quot;Molecular Models&quot;</span><span class="nt">/&gt;</span>
<span class="nt">&lt;entry</span> <span class="na">page=</span><span class="s">&quot;73&quot;</span> <span class="na">page_label=</span><span class="s">&quot;65&quot;</span> <span class="na">name=</span><span class="s">&quot;Photo Credits&quot;</span><span class="nt">/&gt;</span>
<span class="nt">&lt;/entry&gt;</span>
<span class="nt">&lt;entry</span> <span class="na">page=</span><span class="s">&quot;77&quot;</span> <span class="na">page_label=</span><span class="s">&quot;69&quot;</span> <span class="na">name=</span><span class="s">&quot;Index&quot;</span> <span class="nt">/&gt;</span>
<span class="nt">&lt;/table_of_contents&gt;</span>
</pre></div>
</div>
</div>
<div class="section" id="linking-from-content">
<h4>Linking from Content<a class="headerlink" href="#linking-from-content" title="Permalink to this headline"></a></h4>
<p>It is possible to add links to specific pages in a textbook by using a URL that encodes the index of the textbook and the page number. The URL is of the form <cite>/course/book/${bookindex}/$page}</cite>. If the page is omitted from the URL, the first page is assumed.</p>
<p>You can use a <cite>customtag</cite> to create a template for such links. For example, you can create a <cite>book</cite> template in the <cite>customtag</cite> directory, containing:</p>
<div class="highlight-xml"><div class="highlight"><pre><span class="nt">&lt;img</span> <span class="na">src=</span><span class="s">&quot;/static/images/icons/textbook_icon.png&quot;</span><span class="nt">/&gt;</span> More information given in <span class="nt">&lt;a</span> <span class="na">href=</span><span class="s">&quot;/course/book/${book}/${page}&quot;</span><span class="nt">&gt;</span>the text<span class="nt">&lt;/a&gt;</span>.
</pre></div>
</div>
<p>The course content can then link to page 25 using the <cite>customtag</cite> element:</p>
<div class="highlight-xml"><div class="highlight"><pre><span class="nt">&lt;customtag</span> <span class="na">book=</span><span class="s">&quot;0&quot;</span> <span class="na">page=</span><span class="s">&quot;25&quot;</span> <span class="na">impl=</span><span class="s">&quot;book&quot;</span><span class="nt">/&gt;</span>
</pre></div>
</div>
</div>
</div>
<div class="section" id="html-based-textbooks">
<h3>HTML-based Textbooks<a class="headerlink" href="#html-based-textbooks" title="Permalink to this headline"></a></h3>
<div class="section" id="id2">
<h4>Configuration<a class="headerlink" href="#id2" title="Permalink to this headline"></a></h4>
<p>HTML-based textbooks are configured at the course level in the policy file. The JSON markup consists of an array of maps, with each map corresponding to a separate textbook. There are two styles to presenting HTML-based material. The first way is as a single HTML on a tab, which requires only a tab title and a URL for configuration. A second way permits the display of multiple HTML files that should be displayed together on a single view. For this view, a side panel of links is available on the left, allowing selection of a particular HTML to view.</p>
<div class="highlight-json"><pre>"html_textbooks": [
{"tab_title": "Textbook 1",
"url": "https://www.example.com/thiscourse/book1/book1.html" },
{"tab_title": "Textbook 2",
"chapters": [
{ "title": "Chapter 1", "url": "https://www.example.com/thiscourse/book2/Chapter1.html" },
{ "title": "Chapter 2", "url": "https://www.example.com/thiscourse/book2/Chapter2.html" },
{ "title": "Chapter 3", "url": "https://www.example.com/thiscourse/book2/Chapter3.html" },
{ "title": "Chapter 4", "url": "https://www.example.com/thiscourse/book2/Chapter4.html" },
{ "title": "Chapter 5", "url": "https://www.example.com/thiscourse/book2/Chapter5.html" },
{ "title": "Chapter 6", "url": "https://www.example.com/thiscourse/book2/Chapter6.html" },
{ "title": "Chapter 7", "url": "https://www.example.com/thiscourse/book2/Chapter7.html" }
]
}
]</pre>
</div>
<p>Some notes:</p>
<ul class="simple">
<li>It is not a good idea to include a top-level URL and chapter-level URLs in the same textbook configuration.</li>
</ul>
</div>
<div class="section" id="id3">
<h4>Linking from Content<a class="headerlink" href="#id3" title="Permalink to this headline"></a></h4>
<p>It is possible to add links to specific pages in a textbook by using a URL that encodes the index of the textbook, the chapter (if chapters are used), and the page number. For a book with no chapters, the URL is of the form <cite>/course/htmlbook/${bookindex}</cite>. For a book with chapters, use <cite>/course/htmlbook/${bookindex}/chapter/${chapter}</cite> for a specific chapter, or <cite>/course/htmlbook/${bookindex}</cite> will default to the first chapter.</p>
<p>For example, for the book with no chapters configured above, the textbook can be reached using the URL <cite>/course/htmlbook/0</cite>. Reaching the third chapter of the second book is accomplished with <cite>/course/htmlbook/1/chapter/3</cite>.</p>
<p>You can use a <cite>customtag</cite> to create a template for such links. For example, you can create a <cite>htmlbook</cite> template in the <cite>customtag</cite> directory, containing:</p>
<div class="highlight-xml"><div class="highlight"><pre><span class="nt">&lt;img</span> <span class="na">src=</span><span class="s">&quot;/static/images/icons/textbook_icon.png&quot;</span><span class="nt">/&gt;</span> More information given in <span class="nt">&lt;a</span> <span class="na">href=</span><span class="s">&quot;/course/htmlbook/${book}&quot;</span><span class="nt">&gt;</span>the text<span class="nt">&lt;/a&gt;</span>.
</pre></div>
</div>
<p>And a <cite>htmlchapter</cite> template containing:</p>
<div class="highlight-xml"><div class="highlight"><pre><span class="nt">&lt;img</span> <span class="na">src=</span><span class="s">&quot;/static/images/icons/textbook_icon.png&quot;</span><span class="nt">/&gt;</span> More information given in <span class="nt">&lt;a</span> <span class="na">href=</span><span class="s">&quot;/course/htmlbook/${book}/chapter/${chapter}&quot;</span><span class="nt">&gt;</span>the text<span class="nt">&lt;/a&gt;</span>.
</pre></div>
</div>
<p>The example pages can then be linked using the <cite>customtag</cite> element:</p>
<div class="highlight-xml"><div class="highlight"><pre><span class="nt">&lt;customtag</span> <span class="na">book=</span><span class="s">&quot;0&quot;</span> <span class="na">impl=</span><span class="s">&quot;htmlbook&quot;</span><span class="nt">/&gt;</span>
<span class="nt">&lt;customtag</span> <span class="na">book=</span><span class="s">&quot;1&quot;</span> <span class="na">chapter=</span><span class="s">&quot;3&quot;</span> <span class="na">impl=</span><span class="s">&quot;htmlchapter&quot;</span><span class="nt">/&gt;</span>
</pre></div>
</div>
</div>
</div>
<div class="section" id="pdf-based-textbooks">
<h3>PDF-based Textbooks<a class="headerlink" href="#pdf-based-textbooks" title="Permalink to this headline"></a></h3>
<div class="section" id="id4">
<h4>Configuration<a class="headerlink" href="#id4" title="Permalink to this headline"></a></h4>
<p>PDF-based textbooks are configured at the course level in the policy file. The JSON markup consists of an array of maps, with each map corresponding to a separate textbook. There are two styles to presenting PDF-based material. The first way is as a single PDF on a tab, which requires only a tab title and a URL for configuration. A second way permits the display of multiple PDFs that should be displayed together on a single view. For this view, a side panel of links is available on the left, allowing selection of a particular PDF to view.</p>
<div class="highlight-json"><pre>"pdf_textbooks": [
{"tab_title": "Textbook 1",
"url": "https://www.example.com/thiscourse/book1/book1.pdf" },
{"tab_title": "Textbook 2",
"chapters": [
{ "title": "Chapter 1", "url": "https://www.example.com/thiscourse/book2/Chapter1.pdf" },
{ "title": "Chapter 2", "url": "https://www.example.com/thiscourse/book2/Chapter2.pdf" },
{ "title": "Chapter 3", "url": "https://www.example.com/thiscourse/book2/Chapter3.pdf" },
{ "title": "Chapter 4", "url": "https://www.example.com/thiscourse/book2/Chapter4.pdf" },
{ "title": "Chapter 5", "url": "https://www.example.com/thiscourse/book2/Chapter5.pdf" },
{ "title": "Chapter 6", "url": "https://www.example.com/thiscourse/book2/Chapter6.pdf" },
{ "title": "Chapter 7", "url": "https://www.example.com/thiscourse/book2/Chapter7.pdf" }
]
}
]</pre>
</div>
<p>Some notes:</p>
<ul class="simple">
<li>It is not a good idea to include a top-level URL and chapter-level URLs in the same textbook configuration.</li>
</ul>
</div>
<div class="section" id="id5">
<h4>Linking from Content<a class="headerlink" href="#id5" title="Permalink to this headline"></a></h4>
<p>It is possible to add links to specific pages in a textbook by using a URL that encodes the index of the textbook, the chapter (if chapters are used), and the page number. For a book with no chapters, the URL is of the form <cite>/course/pdfbook/${bookindex}/$page}</cite>. For a book with chapters, use <cite>/course/pdfbook/${bookindex}/chapter/${chapter}/${page}</cite>. If the page is omitted from the URL, the first page is assumed.</p>
<p>For example, for the book with no chapters configured above, page 25 can be reached using the URL <cite>/course/pdfbook/0/25</cite>. Reaching page 19 in the third chapter of the second book is accomplished with <cite>/course/pdfbook/1/chapter/3/19</cite>.</p>
<p>You can use a <cite>customtag</cite> to create a template for such links. For example, you can create a <cite>pdfbook</cite> template in the <cite>customtag</cite> directory, containing:</p>
<div class="highlight-xml"><div class="highlight"><pre><span class="nt">&lt;img</span> <span class="na">src=</span><span class="s">&quot;/static/images/icons/textbook_icon.png&quot;</span><span class="nt">/&gt;</span> More information given in <span class="nt">&lt;a</span> <span class="na">href=</span><span class="s">&quot;/course/pdfbook/${book}/${page}&quot;</span><span class="nt">&gt;</span>the text<span class="nt">&lt;/a&gt;</span>.
</pre></div>
</div>
<p>And a <cite>pdfchapter</cite> template containing:</p>
<div class="highlight-xml"><div class="highlight"><pre><span class="nt">&lt;img</span> <span class="na">src=</span><span class="s">&quot;/static/images/icons/textbook_icon.png&quot;</span><span class="nt">/&gt;</span> More information given in <span class="nt">&lt;a</span> <span class="na">href=</span><span class="s">&quot;/course/pdfbook/${book}/chapter/${chapter}/${page}&quot;</span><span class="nt">&gt;</span>the text<span class="nt">&lt;/a&gt;</span>.
</pre></div>
</div>
<p>The example pages can then be linked using the <cite>customtag</cite> element:</p>
<div class="highlight-xml"><div class="highlight"><pre><span class="nt">&lt;customtag</span> <span class="na">book=</span><span class="s">&quot;0&quot;</span> <span class="na">page=</span><span class="s">&quot;25&quot;</span> <span class="na">impl=</span><span class="s">&quot;pdfbook&quot;</span><span class="nt">/&gt;</span>
<span class="nt">&lt;customtag</span> <span class="na">book=</span><span class="s">&quot;1&quot;</span> <span class="na">chapter=</span><span class="s">&quot;3&quot;</span> <span class="na">page=</span><span class="s">&quot;19&quot;</span> <span class="na">impl=</span><span class="s">&quot;pdfchapter&quot;</span><span class="nt">/&gt;</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="section" id="other-file-locations-info-and-about">
<h2>Other file locations (info and about)<a class="headerlink" href="#other-file-locations-info-and-about" title="Permalink to this headline"></a></h2>
<p>With different course runs, we may want different course info and about materials. This is now supported by putting files in as follows:</p>
......
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>CustomResponse XML and Python Script &mdash; edX Data 0.1 documentation</title>
<link rel="stylesheet" href="../_static/sphinxdoc.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../',
VERSION: '0.1',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
};
</script>
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
<link rel="top" title="edX Data 0.1 documentation" href="../index.html" />
<link rel="next" title="Student Info and Progress Data" href="../internal_data_formats/sql_schema.html" />
<link rel="prev" title="Xml format of conditional module [xmodule]" href="conditional_module/conditional_module.html" />
</head>
<body>
<div class="related">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
<a href="../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="right" >
<a href="../internal_data_formats/sql_schema.html" title="Student Info and Progress Data"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="conditional_module/conditional_module.html" title="Xml format of conditional module [xmodule]"
accesskey="P">previous</a> |</li>
<li><a href="../index.html">edX Data 0.1 documentation</a> &raquo;</li>
</ul>
</div>
<div class="sphinxsidebar">
<div class="sphinxsidebarwrapper">
<h3><a href="../index.html">Table Of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">CustomResponse XML and Python Script</a><ul>
<li><a class="reference internal" href="#answer-tag-format">Answer tag format</a></li>
<li><a class="reference internal" href="#script-tag-format">Script tag format</a></li>
</ul>
</li>
</ul>
<h4>Previous topic</h4>
<p class="topless"><a href="conditional_module/conditional_module.html"
title="previous chapter">Xml format of conditional module [xmodule]</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="../internal_data_formats/sql_schema.html"
title="next chapter">Student Info and Progress Data</a></p>
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="../_sources/course_data_formats/custom_response.txt"
rel="nofollow">Show Source</a></li>
</ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="../search.html" method="get">
<input type="text" name="q" />
<input type="submit" value="Go" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
<p class="searchtip" style="font-size: 90%">
Enter search terms or a module, class or function name.
</p>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
</div>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body">
<div class="section" id="customresponse-xml-and-python-script">
<h1>CustomResponse XML and Python Script<a class="headerlink" href="#customresponse-xml-and-python-script" title="Permalink to this headline"></a></h1>
<p>This document explains how to write a CustomResponse problem. CustomResponse
problems execute Python script to check student answers and provide hints.</p>
<p>There are two general ways to create a CustomResponse problem:</p>
<div class="section" id="answer-tag-format">
<h2>Answer tag format<a class="headerlink" href="#answer-tag-format" title="Permalink to this headline"></a></h2>
<p>One format puts the Python code in an <tt class="docutils literal"><span class="pre">&lt;answer&gt;</span></tt> tag:</p>
<div class="highlight-xml"><div class="highlight"><pre><span class="nt">&lt;problem&gt;</span>
<span class="nt">&lt;p&gt;</span>What is the sum of 2 and 3?<span class="nt">&lt;/p&gt;</span>
<span class="nt">&lt;customresponse</span> <span class="na">expect=</span><span class="s">&quot;5&quot;</span><span class="nt">&gt;</span>
<span class="nt">&lt;textline</span> <span class="na">math=</span><span class="s">&quot;1&quot;</span> <span class="nt">/&gt;</span>
<span class="nt">&lt;/customresponse&gt;</span>
<span class="nt">&lt;answer&gt;</span>
# Python script goes here
<span class="nt">&lt;/answer&gt;</span>
<span class="nt">&lt;/problem&gt;</span>
</pre></div>
</div>
<dl class="docutils">
<dt>The Python script interacts with these variables in the global context:</dt>
<dd><ul class="first last simple">
<li><tt class="docutils literal"><span class="pre">answers</span></tt>: An ordered list of answers the student provided.
For example, if the student answered <tt class="docutils literal"><span class="pre">6</span></tt>, then <tt class="docutils literal"><span class="pre">answers[0]</span></tt> would
equal <tt class="docutils literal"><span class="pre">6</span></tt>.</li>
<li><tt class="docutils literal"><span class="pre">expect</span></tt>: The value of the <tt class="docutils literal"><span class="pre">expect</span></tt> attribute of <tt class="docutils literal"><span class="pre">&lt;customresponse&gt;</span></tt>
(if provided).</li>
<li><tt class="docutils literal"><span class="pre">correct</span></tt>: An ordered list of strings indicating whether the
student answered the question correctly. Valid values are
<tt class="docutils literal"><span class="pre">&quot;correct&quot;</span></tt>, <tt class="docutils literal"><span class="pre">&quot;incorrect&quot;</span></tt>, and <tt class="docutils literal"><span class="pre">&quot;unknown&quot;</span></tt>. You can set these
values in the script.</li>
<li><tt class="docutils literal"><span class="pre">messages</span></tt>: An ordered list of message strings that will be displayed
beneath each input. You can use this to provide hints to users.
For example <tt class="docutils literal"><span class="pre">messages[0]</span> <span class="pre">=</span> <span class="pre">&quot;The</span> <span class="pre">capital</span> <span class="pre">of</span> <span class="pre">California</span> <span class="pre">is</span> <span class="pre">Sacramento&quot;</span></tt>
would display that message beneath the first input of the response.</li>
<li><tt class="docutils literal"><span class="pre">overall_message</span></tt>: A string that will be displayed beneath the
entire problem. You can use this to provide a hint that applies
to the entire problem rather than a particular input.</li>
</ul>
</dd>
</dl>
<p>Example of a checking script:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="k">if</span> <span class="n">answers</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">==</span> <span class="n">expect</span><span class="p">:</span>
<span class="n">correct</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="s">&#39;correct&#39;</span>
<span class="n">overall_message</span> <span class="o">=</span> <span class="s">&#39;Good job!&#39;</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">correct</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="s">&#39;incorrect&#39;</span>
<span class="n">messages</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="s">&#39;This answer is incorrect&#39;</span>
<span class="n">overall_message</span> <span class="o">=</span> <span class="s">&#39;Please try again&#39;</span>
</pre></div>
</div>
<p><strong>Important</strong>: Python is picky about indentation. Within the <tt class="docutils literal"><span class="pre">&lt;answer&gt;</span></tt> tag,
you must begin your script with no indentation.</p>
</div>
<div class="section" id="script-tag-format">
<h2>Script tag format<a class="headerlink" href="#script-tag-format" title="Permalink to this headline"></a></h2>
<p>The other way to create a CustomResponse is to put a &#8220;checking function&#8221;
in a <tt class="docutils literal"><span class="pre">&lt;script&gt;</span></tt> tag, then use the <tt class="docutils literal"><span class="pre">cfn</span></tt> attribute of the
<tt class="docutils literal"><span class="pre">&lt;customresponse&gt;</span></tt> tag:</p>
<div class="highlight-xml"><div class="highlight"><pre><span class="nt">&lt;problem&gt;</span>
<span class="nt">&lt;p&gt;</span>What is the sum of 2 and 3?<span class="nt">&lt;/p&gt;</span>
<span class="nt">&lt;customresponse</span> <span class="na">cfn=</span><span class="s">&quot;check_func&quot;</span> <span class="na">expect=</span><span class="s">&quot;5&quot;</span><span class="nt">&gt;</span>
<span class="nt">&lt;textline</span> <span class="na">math=</span><span class="s">&quot;1&quot;</span> <span class="nt">/&gt;</span>
<span class="nt">&lt;/customresponse&gt;</span>
<span class="nt">&lt;script</span> <span class="na">type=</span><span class="s">&quot;loncapa/python&quot;</span><span class="nt">&gt;</span>
def check_func(expect, ans):
# Python script goes here
<span class="nt">&lt;/script&gt;</span>
<span class="nt">&lt;/problem&gt;</span>
</pre></div>
</div>
<p><strong>Important</strong>: Python is picky about indentation. Within the <tt class="docutils literal"><span class="pre">&lt;script&gt;</span></tt> tag,
the <tt class="docutils literal"><span class="pre">def</span> <span class="pre">check_func(expect,</span> <span class="pre">ans):</span></tt> line must have no indentation.</p>
<dl class="docutils">
<dt>The check function accepts two arguments:</dt>
<dd><ul class="first last">
<li><p class="first"><tt class="docutils literal"><span class="pre">expect</span></tt> is the value of the <tt class="docutils literal"><span class="pre">expect</span></tt> attribute of <tt class="docutils literal"><span class="pre">&lt;customresponse&gt;</span></tt>
(if provided)</p>
</li>
<li><p class="first"><tt class="docutils literal"><span class="pre">answer</span></tt> is either:</p>
<blockquote>
<div><ul class="simple">
<li>The value of the answer the student provided, if there is only one input.</li>
<li>An ordered list of answers the student provided, if there
are multiple inputs.</li>
</ul>
</div></blockquote>
</li>
</ul>
</dd>
</dl>
<p>There are several ways that the check function can indicate whether the student
succeeded. The check function can return any of the following:</p>
<blockquote>
<div><ul class="simple">
<li><tt class="docutils literal"><span class="pre">True</span></tt>: Indicates that the student answered correctly for all inputs.</li>
<li><tt class="docutils literal"><span class="pre">False</span></tt>: Indicates that the student answered incorrectly.
All inputs will be marked incorrect.</li>
<li>A dictionary of the form: <tt class="docutils literal"><span class="pre">{</span> <span class="pre">'ok':</span> <span class="pre">True,</span> <span class="pre">'msg':</span> <span class="pre">'Message'</span> <span class="pre">}</span></tt>
If the dictionary&#8217;s value for <tt class="docutils literal"><span class="pre">ok</span></tt> is set to <tt class="docutils literal"><span class="pre">True</span></tt>, all inputs are
marked correct; if it is set to <tt class="docutils literal"><span class="pre">False</span></tt>, all inputs are marked incorrect.
The <tt class="docutils literal"><span class="pre">msg</span></tt> is displayed beneath all inputs, and it may contain
XHTML markup.</li>
<li>A dictionary of the form</li>
</ul>
</div></blockquote>
<div class="highlight-xml"><div class="highlight"><pre>{ &#39;overall_message&#39;: &#39;Overall message&#39;,
&#39;input_list&#39;: [
{ &#39;ok&#39;: True, &#39;msg&#39;: &#39;Feedback for input 1&#39;},
{ &#39;ok&#39;: False, &#39;msg&#39;: &#39;Feedback for input 2&#39;},
... ] }
</pre></div>
</div>
<p>The last form is useful for responses that contain multiple inputs.
It allows you to provide feedback for each input individually,
as well as a message that applies to the entire response.</p>
<p>Example of a checking function:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="k">def</span> <span class="nf">check_func</span><span class="p">(</span><span class="n">expect</span><span class="p">,</span> <span class="n">answer_given</span><span class="p">):</span>
<span class="n">check1</span> <span class="o">=</span> <span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="n">answer_given</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> <span class="o">==</span> <span class="mi">1</span><span class="p">)</span>
<span class="n">check2</span> <span class="o">=</span> <span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="n">answer_given</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span> <span class="o">==</span> <span class="mi">2</span><span class="p">)</span>
<span class="n">check3</span> <span class="o">=</span> <span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="n">answer_given</span><span class="p">[</span><span class="mi">2</span><span class="p">])</span> <span class="o">==</span> <span class="mi">3</span><span class="p">)</span>
<span class="k">return</span> <span class="p">{</span><span class="s">&#39;overall_message&#39;</span><span class="p">:</span> <span class="s">&#39;Overall message&#39;</span><span class="p">,</span>
<span class="s">&#39;input_list&#39;</span><span class="p">:</span> <span class="p">[</span>
<span class="p">{</span> <span class="s">&#39;ok&#39;</span><span class="p">:</span> <span class="n">check1</span><span class="p">,</span> <span class="s">&#39;msg&#39;</span><span class="p">:</span> <span class="s">&#39;Feedback 1&#39;</span><span class="p">},</span>
<span class="p">{</span> <span class="s">&#39;ok&#39;</span><span class="p">:</span> <span class="n">check2</span><span class="p">,</span> <span class="s">&#39;msg&#39;</span><span class="p">:</span> <span class="s">&#39;Feedback 2&#39;</span><span class="p">},</span>
<span class="p">{</span> <span class="s">&#39;ok&#39;</span><span class="p">:</span> <span class="n">check3</span><span class="p">,</span> <span class="s">&#39;msg&#39;</span><span class="p">:</span> <span class="s">&#39;Feedback 3&#39;</span><span class="p">}</span> <span class="p">]</span> <span class="p">}</span>
</pre></div>
</div>
<p>The function checks that the user entered <tt class="docutils literal"><span class="pre">1</span></tt> for the first input,
<tt class="docutils literal"><span class="pre">2</span></tt> for the second input, and <tt class="docutils literal"><span class="pre">3</span></tt> for the third input.
It provides feedback messages for each individual input, as well
as a message displayed beneath the entire problem.</p>
</div>
</div>
</div>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
>index</a></li>
<li class="right" >
<a href="../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="right" >
<a href="../internal_data_formats/sql_schema.html" title="Student Info and Progress Data"
>next</a> |</li>
<li class="right" >
<a href="conditional_module/conditional_module.html" title="Xml format of conditional module [xmodule]"
>previous</a> |</li>
<li><a href="../index.html">edX Data 0.1 documentation</a> &raquo;</li>
</ul>
</div>
<div class="footer">
&copy; Copyright 2013, edX Team.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
</div>
</body>
</html>
\ No newline at end of file
......@@ -58,7 +58,10 @@
<li><a class="reference internal" href="#drag-and-drop-input-tag">drag_and_drop_input tag</a></li>
<li><a class="reference internal" href="#draggable-tag">draggable tag</a></li>
<li><a class="reference internal" href="#target-tag">target tag</a></li>
<li><a class="reference internal" href="#correct-answer-format">correct answer format</a></li>
<li><a class="reference internal" href="#targets-on-draggables">Targets on draggables</a></li>
<li><a class="reference internal" href="#limitations-of-targets-on-draggables">Limitations of targets on draggables</a></li>
<li><a class="reference internal" href="#correct-answer-format">Correct answer format</a></li>
<li><a class="reference internal" href="#answer-format-for-targets-on-draggables">Answer format for targets on draggables</a></li>
<li><a class="reference internal" href="#grading-logic">Grading logic</a><ul>
<li><a class="reference internal" href="#set-and-number-cases">Set and &#8216;+number&#8217; cases</a></li>
</ul>
......@@ -69,6 +72,7 @@
<li><a class="reference internal" href="#example">Example</a><ul>
<li><a class="reference internal" href="#examples-of-draggables-that-can-t-be-reused">Examples of draggables that can&#8217;t be reused</a></li>
<li><a class="reference internal" href="#draggables-can-be-reused">Draggables can be reused</a></li>
<li><a class="reference internal" href="#examples-of-targets-on-draggables">Examples of targets on draggables</a></li>
</ul>
</li>
</ul>
......@@ -177,8 +181,48 @@ the slider.</p>
<p>If no targets are provided, then a draggable can be dragged and placed anywhere
on the base image.</p>
</div>
<div class="section" id="targets-on-draggables">
<h3>Targets on draggables<a class="headerlink" href="#targets-on-draggables" title="Permalink to this headline"></a></h3>
<p>Sometimes it is not enough to have targets only on the base image, and all of the
draggables on these targets. If a complex problem exists where a draggable must
become itself a target (or many targets), then the following extended syntax
can be used:</p>
<div class="highlight-python"><pre>&lt;draggable {attribute list}&gt;
&lt;target {attribute list} /&gt;
&lt;target {attribute list} /&gt;
&lt;target {attribute list} /&gt;
...
&lt;/draggable&gt;</pre>
</div>
<p>The attribute list in the tags above (&#8216;draggable&#8217; and &#8216;target&#8217;) is the same as for
normal &#8216;draggable&#8217; and &#8216;target&#8217; tags. The only difference is when you will be
specifying inner target position coordinates. Using the &#8216;x&#8217; and &#8216;y&#8217; attributes you
are setting the offset of the inner target from the upper-left corner of the
parent draggable (that contains the inner target).</p>
</div>
<div class="section" id="limitations-of-targets-on-draggables">
<h3>Limitations of targets on draggables<a class="headerlink" href="#limitations-of-targets-on-draggables" title="Permalink to this headline"></a></h3>
<p>1.) Currently there is a limitation to the level of nesting of targets.</p>
<p>Even though you can pile up a large number of draggables on targets that themselves
are on draggables, the Drag and Drop instance will be graded only in the case if
there is a maximum of two levels of targets. The first level are the &#8220;base&#8221; targets.
They are attached to the base image. The second level are the targets defined on
draggables.</p>
<p>2.) Another limitation is that the target bounds are not checked against
other targets.</p>
<p>For now, it is the responsibility of the person who is constructing the course
material to make sure that there is no overlapping of targets. It is also preferable
that targets on draggables are smaller than the actual parent draggable. Technically
this is not necessary, but from the usability perspective it is desirable.</p>
<p>3.) You can have targets on draggables only in the case when there are base targets
defined (base targets are attached to the base image).</p>
<p>If you do not have base targets, then you can only have a single level of nesting
(draggables on the base image). In this case the client side will be reporting (x,y)
positions of each draggables on the base image.</p>
</div>
<div class="section" id="correct-answer-format">
<h3>correct answer format<a class="headerlink" href="#correct-answer-format" title="Permalink to this headline"></a></h3>
<h3>Correct answer format<a class="headerlink" href="#correct-answer-format" title="Permalink to this headline"></a></h3>
<p>(NOTE: For specifying answers for targets on draggables please see next section.)</p>
<p>There are two correct answer formats: short and long
If short from correct answer is mapping of &#8216;draggable_id&#8217; to &#8216;target_id&#8217;:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="n">correct_answer</span> <span class="o">=</span> <span class="p">{</span><span class="s">&#39;grass&#39;</span><span class="p">:</span> <span class="p">[[</span><span class="mi">300</span><span class="p">,</span> <span class="mi">200</span><span class="p">],</span> <span class="mi">200</span><span class="p">],</span> <span class="s">&#39;ant&#39;</span><span class="p">:</span> <span class="p">[[</span><span class="mi">500</span><span class="p">,</span> <span class="mi">0</span><span class="p">],</span> <span class="mi">200</span><span class="p">]}</span>
......@@ -269,7 +313,7 @@ must be dragged to with considering rule. Rule is string.</p>
</pre></div>
</div>
</li>
<li><p class="first">And sometimes you want to allow drag only two &#8216;b&#8217; draggables, in these case you sould use &#8216;anyof+number&#8217; of &#8216;unordered_equal+number&#8217; rule:</p>
<li><p class="first">And sometimes you want to allow drag only two &#8216;b&#8217; draggables, in these case you should use &#8216;anyof+number&#8217; of &#8216;unordered_equal+number&#8217; rule:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="n">correct_answer</span> <span class="o">=</span> <span class="p">[</span>
<span class="p">{</span>
<span class="s">&#39;draggables&#39;</span><span class="p">:</span> <span class="p">[</span><span class="s">&#39;a&#39;</span><span class="p">,</span> <span class="s">&#39;a&#39;</span><span class="p">,</span> <span class="s">&#39;a&#39;</span><span class="p">],</span>
......@@ -294,6 +338,52 @@ must be dragged to with considering rule. Rule is string.</p>
for same number of draggables, anyof is equal to unordered_equal</p>
<p>If we have can_reuse=true, than one must use only long form of correct answer.</p>
</div>
<div class="section" id="answer-format-for-targets-on-draggables">
<h3>Answer format for targets on draggables<a class="headerlink" href="#answer-format-for-targets-on-draggables" title="Permalink to this headline"></a></h3>
<p>As with the cases described above, an answer must provide precise positioning for
each draggable (on which targets it must reside). In the case when a draggable must
be placed on a target that itself is on a draggable, then the answer must contain
the chain of target-draggable-target. It is best to understand this on an example.</p>
<p>Suppose we have three draggables - &#8216;up&#8217;, &#8216;s&#8217;, and &#8216;p&#8217;. Draggables &#8216;s&#8217;, and &#8216;p&#8217; have targets
on themselves. More specifically, &#8216;p&#8217; has three targets - &#8216;1&#8217;, &#8216;2&#8217;, and &#8216;3&#8217;. The first
requirement is that &#8216;s&#8217;, and &#8216;p&#8217; are positioned on specific targets on the base image.
The second requirement is that draggable &#8216;up&#8217; is positioned on specific targets of
draggable &#8216;p&#8217;. Below is an excerpt from a problem.:</p>
<div class="highlight-python"><pre>&lt;draggable id="up" icon="/static/images/images_list/lcao-mo/up.png" can_reuse="true" /&gt;
&lt;draggable id="s" icon="/static/images/images_list/lcao-mo/orbital_single.png" label="s orbital" can_reuse="true" &gt;
&lt;target id="1" x="0" y="0" w="32" h="32"/&gt;
&lt;/draggable&gt;
&lt;draggable id="p" icon="/static/images/images_list/lcao-mo/orbital_triple.png" can_reuse="true" label="p orbital" &gt;
&lt;target id="1" x="0" y="0" w="32" h="32"/&gt;
&lt;target id="2" x="34" y="0" w="32" h="32"/&gt;
&lt;target id="3" x="68" y="0" w="32" h="32"/&gt;
&lt;/draggable&gt;
...
correct_answer = [
{
'draggables': ['p'],
'targets': ['p-left-target', 'p-right-target'],
'rule': 'unordered_equal'
},
{
'draggables': ['s'],
'targets': ['s-left-target', 's-right-target'],
'rule': 'unordered_equal'
},
{
'draggables': ['up'],
'targets': ['p-left-target[p][1]', 'p-left-target[p][2]', 'p-right-target[p][2]', 'p-right-target[p][3]',],
'rule': 'unordered_equal'
}
]</pre>
</div>
<p>Note that it is a requirement to specify rules for all draggables, even if some draggable gets included
in more than one chain.</p>
</div>
<div class="section" id="grading-logic">
<h3>Grading logic<a class="headerlink" href="#grading-logic" title="Permalink to this headline"></a></h3>
<ol class="arabic">
......@@ -1295,6 +1385,273 @@ else:
</pre>
</div>
</div>
<div class="section" id="examples-of-targets-on-draggables">
<h3>Examples of targets on draggables<a class="headerlink" href="#examples-of-targets-on-draggables" title="Permalink to this headline"></a></h3>
<div class="highlight-python"><pre>&lt;problem display_name="Drag and drop demos chem features: drag and drop icons or labels
to proper positions." attempts="10"&gt;
&lt;customresponse&gt;
&lt;text&gt;
&lt;h4&gt;[Simple grading example: draggables on draggables]&lt;/h4&gt;&lt;br/&gt;
&lt;h4&gt;Describe carbon molecule in LCAO-MO.&lt;/h4&gt;&lt;br/&gt;
&lt;br/&gt;
&lt;/text&gt;
&lt;drag_and_drop_input img="/static/images/images_list/lcao-mo/lcao-mo.jpg" target_outline="true" &gt;
&lt;!-- filled bond --&gt;
&lt;draggable id="up_and_down" icon="/static/images/images_list/lcao-mo/u_d.png" can_reuse="true" /&gt;
&lt;!-- up bond --&gt;
&lt;draggable id="up" icon="/static/images/images_list/lcao-mo/up.png" can_reuse="true" /&gt;
&lt;draggable id="s" icon="/static/images/images_list/lcao-mo/orbital_single.png" label="s orbital" can_reuse="true" &gt;
&lt;target id="1" x="0" y="0" w="32" h="32"/&gt;
&lt;/draggable&gt;
&lt;draggable id="p" icon="/static/images/images_list/lcao-mo/orbital_triple.png" can_reuse="true" &gt;
&lt;target id="1" x="0" y="0" w="32" h="32"/&gt;
&lt;target id="2" x="34" y="0" w="32" h="32"/&gt;
&lt;target id="3" x="68" y="0" w="32" h="32"/&gt;
&lt;/draggable&gt;
&lt;!-- positions of electrons and electron pairs --&gt;
&lt;target id="s_l" x="130" y="360" w="32" h="32"/&gt;
&lt;target id="s_r" x="505" y="360" w="32" h="32"/&gt;
&lt;target id="p_l" x="80" y="100" w="100" h="32"/&gt;
&lt;target id="p_r" x="465" y="100" w="100" h="32"/&gt;
&lt;/drag_and_drop_input&gt;
&lt;answer type="loncapa/python"&gt;&lt;![CDATA[
correct_answer = [
{
'draggables': ['p'],
'targets': ['p_l', 'p_r'],
'rule': 'unordered_equal'
},
{
'draggables': ['s'],
'targets': ['s_l', 's_r'],
'rule': 'unordered_equal'
},
{
'draggables': ['up_and_down'],
'targets': [
's_l[s][1]', 's_r[s][1]'
],
'rule': 'unordered_equal'
},
{
'draggables': ['up'],
'targets': [
'p_l[p][1]', 'p_l[p][3]', 'p_r[p][1]', 'p_r[p][3]'
],
'rule': 'unordered_equal'
}
]
if draganddrop.grade(submission[0], correct_answer):
correct = ['correct']
else:
correct = ['incorrect']
]]&gt;&lt;/answer&gt;
&lt;/customresponse&gt;
&lt;customresponse&gt;
&lt;text&gt;
&lt;h4&gt;[Complex grading example: draggables on draggables]&lt;/h4&gt;&lt;br/&gt;
&lt;h4&gt;Describe carbon molecule in LCAO-MO.&lt;/h4&gt;
&lt;br/&gt;
&lt;/text&gt;
&lt;drag_and_drop_input img="/static/images/images_list/lcao-mo/lcao-mo-clean.jpg" target_outline="true" &gt;
&lt;!-- filled bond --&gt;
&lt;draggable id="up_and_down" icon="/static/images/images_list/lcao-mo/u_d.png" can_reuse="true" /&gt;
&lt;!-- up bond --&gt;
&lt;draggable id="up" icon="/static/images/images_list/lcao-mo/up.png" can_reuse="true" /&gt;
&lt;!-- images that should not be dragged --&gt;
&lt;draggable id="down" icon="/static/images/images_list/lcao-mo/d.png" can_reuse="true" /&gt;
&lt;draggable id="s" icon="/static/images/images_list/lcao-mo/orbital_single.png" label="s orbital" can_reuse="true" &gt;
&lt;target id="1" x="0" y="0" w="32" h="32"/&gt;
&lt;/draggable&gt;
&lt;draggable id="p" icon="/static/images/images_list/lcao-mo/orbital_triple.png" can_reuse="true" label="p orbital" &gt;
&lt;target id="1" x="0" y="0" w="32" h="32"/&gt;
&lt;target id="2" x="34" y="0" w="32" h="32"/&gt;
&lt;target id="3" x="68" y="0" w="32" h="32"/&gt;
&lt;/draggable&gt;
&lt;draggable id="s-sigma" icon="/static/images/images_list/lcao-mo/orbital_single.png" label="s-sigma orbital" can_reuse="true" &gt;
&lt;target id="1" x="0" y="0" w="32" h="32"/&gt;
&lt;/draggable&gt;
&lt;draggable id="s-sigma*" icon="/static/images/images_list/lcao-mo/orbital_single.png" label="s-sigma* orbital" can_reuse="true" &gt;
&lt;target id="1" x="0" y="0" w="32" h="32"/&gt;
&lt;/draggable&gt;
&lt;draggable id="p-pi" icon="/static/images/images_list/lcao-mo/orbital_double.png" label="p-pi orbital" can_reuse="true" &gt;
&lt;target id="1" x="0" y="0" w="32" h="32"/&gt;
&lt;target id="2" x="34" y="0" w="32" h="32"/&gt;
&lt;/draggable&gt;
&lt;draggable id="p-sigma" icon="/static/images/images_list/lcao-mo/orbital_single.png" label="p-sigma orbital" can_reuse="true" &gt;
&lt;target id="1" x="0" y="0" w="32" h="32"/&gt;
&lt;/draggable&gt;
&lt;draggable id="p-pi*" icon="/static/images/images_list/lcao-mo/orbital_double.png" label="p-pi* orbital" can_reuse="true" &gt;
&lt;target id="1" x="0" y="0" w="32" h="32"/&gt;
&lt;target id="2" x="34" y="0" w="32" h="32"/&gt;
&lt;/draggable&gt;
&lt;draggable id="p-sigma*" icon="/static/images/images_list/lcao-mo/orbital_single.png" label="p-sigma* orbital" can_reuse="true" &gt;
&lt;target id="1" x="0" y="0" w="32" h="32"/&gt;
&lt;/draggable&gt;
&lt;!-- positions of electrons and electron pairs --&gt;
&lt;target id="s-left-target" x="130" y="360" w="32" h="32"/&gt;
&lt;target id="s-right-target" x="505" y="360" w="32" h="32"/&gt;
&lt;target id="s-sigma-target" x="315" y="425" w="32" h="32"/&gt;
&lt;target id="s-sigma*-target" x="315" y="290" w="32" h="32"/&gt;
&lt;target id="p-left-target" x="80" y="100" w="100" h="32"/&gt;
&lt;target id="p-right-target" x="480" y="100" w="100" h="32"/&gt;
&lt;target id="p-pi-target" x="300" y="220" w="66" h="32"/&gt;
&lt;target id="p-sigma-target" x="315" y="170" w="32" h="32"/&gt;
&lt;target id="p-pi*-target" x="300" y="40" w="66" h="32"/&gt;
&lt;target id="p-sigma*-target" x="315" y="0" w="32" h="32"/&gt;
&lt;/drag_and_drop_input&gt;
&lt;answer type="loncapa/python"&gt;&lt;![CDATA[
correct_answer = [
{'draggables': ['p'], 'targets': ['p-left-target', 'p-right-target'], 'rule': 'unordered_equal'},
{'draggables': ['s'], 'targets': ['s-left-target', 's-right-target'], 'rule': 'unordered_equal'},
{'draggables': ['s-sigma'], 'targets': ['s-sigma-target'], 'rule': 'exact'},
{'draggables': ['s-sigma*'], 'targets': ['s-sigma*-target'], 'rule': 'exact'},
{'draggables': ['p-pi'], 'targets': ['p-pi-target'], 'rule': 'exact'},
{'draggables': ['p-sigma'], 'targets': ['p-sigma-target'], 'rule': 'exact'},
{'draggables': ['p-pi*'], 'targets': ['p-pi*-target'], 'rule': 'exact'},
{'draggables': ['p-sigma*'], 'targets': ['p-sigma*-target'], 'rule': 'exact'},
{
'draggables': ['up_and_down'],
'targets': ['s-left-target[s][1]', 's-right-target[s][1]', 's-sigma-target[s-sigma][1]', 's-sigma*-target[s-sigma*][1]', 'p-pi-target[p-pi][1]', 'p-pi-target[p-pi][2]'],
'rule': 'unordered_equal'
},
{
'draggables': ['up'],
'targets': ['p-left-target[p][1]', 'p-left-target[p][2]', 'p-right-target[p][2]', 'p-right-target[p][3]',],
'rule': 'unordered_equal'
}
]
if draganddrop.grade(submission[0], correct_answer):
correct = ['correct']
else:
correct = ['incorrect']
]]&gt;&lt;/answer&gt;
&lt;/customresponse&gt;
&lt;customresponse&gt;
&lt;text&gt;
&lt;h4&gt;[Complex grading example: no draggables on draggables]&lt;/h4&gt;&lt;br/&gt;
&lt;h4&gt;Describe carbon molecule in LCAO-MO.&lt;/h4&gt;
&lt;br/&gt;
&lt;/text&gt;
&lt;drag_and_drop_input img="/static/images/images_list/lcao-mo/lcao-mo.jpg" target_outline="true"&gt;
&lt;!-- filled bond --&gt;
&lt;draggable id="1" icon="/static/images/images_list/lcao-mo/u_d.png" can_reuse="true" /&gt;
&lt;!-- up bond --&gt;
&lt;draggable id="7" icon="/static/images/images_list/lcao-mo/up.png" can_reuse="true" /&gt;
&lt;!-- sigma --&gt;
&lt;draggable id="11" icon="/static/images/images_list/lcao-mo/sigma.png" can_reuse="true" /&gt;
&lt;!-- sigma* --&gt;
&lt;draggable id="13" icon="/static/images/images_list/lcao-mo/sigma_s.png" can_reuse="true" /&gt;
&lt;!-- pi --&gt;
&lt;draggable id="15" icon="/static/images/images_list/lcao-mo/pi.png" can_reuse="true" /&gt;
&lt;!-- pi* --&gt;
&lt;draggable id="16" icon="/static/images/images_list/lcao-mo/pi_s.png" can_reuse="true" /&gt;
&lt;!-- images that should not be dragged --&gt;
&lt;draggable id="17" icon="/static/images/images_list/lcao-mo/d.png" can_reuse="true" /&gt;
&lt;!-- positions of electrons and electron pairs --&gt;
&lt;target id="s_left" x="130" y="360" w="32" h="32"/&gt;
&lt;target id="s_right" x="505" y="360" w="32" h="32"/&gt;
&lt;target id="s_sigma" x="320" y="425" w="32" h="32"/&gt;
&lt;target id="s_sigma_star" x="320" y="290" w="32" h="32"/&gt;
&lt;target id="p_left_1" x="80" y="100" w="32" h="32"/&gt;
&lt;target id="p_left_2" x="125" y="100" w="32" h="32"/&gt;
&lt;target id="p_left_3" x="175" y="100" w="32" h="32"/&gt;
&lt;target id="p_right_1" x="465" y="100" w="32" h="32"/&gt;
&lt;target id="p_right_2" x="515" y="100" w="32" h="32"/&gt;
&lt;target id="p_right_3" x="560" y="100" w="32" h="32"/&gt;
&lt;target id="p_pi_1" x="290" y="220" w="32" h="32"/&gt;
&lt;target id="p_pi_2" x="335" y="220" w="32" h="32"/&gt;
&lt;target id="p_sigma" x="315" y="170" w="32" h="32"/&gt;
&lt;target id="p_pi_star_1" x="290" y="40" w="32" h="32"/&gt;
&lt;target id="p_pi_star_2" x="340" y="40" w="32" h="32"/&gt;
&lt;target id="p_sigma_star" x="315" y="0" w="32" h="32"/&gt;
&lt;!-- positions of names of energy levels --&gt;
&lt;target id="s_sigma_name" x="400" y="425" w="32" h="32"/&gt;
&lt;target id="s_sigma_star_name" x="400" y="290" w="32" h="32"/&gt;
&lt;target id="p_pi_name" x="400" y="220" w="32" h="32"/&gt;
&lt;target id="p_sigma_name" x="400" y="170" w="32" h="32"/&gt;
&lt;target id="p_pi_star_name" x="400" y="40" w="32" h="32"/&gt;
&lt;target id="p_sigma_star_name" x="400" y="0" w="32" h="32"/&gt;
&lt;/drag_and_drop_input&gt;
&lt;answer type="loncapa/python"&gt;&lt;![CDATA[
correct_answer = [
{
'draggables': ['1'],
'targets': [
's_left', 's_right', 's_sigma', 's_sigma_star', 'p_pi_1', 'p_pi_2'
],
'rule': 'exact'
}, {
'draggables': ['7'],
'targets': ['p_left_1', 'p_left_2', 'p_right_2','p_right_3'],
'rule': 'exact'
}, {
'draggables': ['11'],
'targets': ['s_sigma_name', 'p_sigma_name'],
'rule': 'exact'
}, {
'draggables': ['13'],
'targets': ['s_sigma_star_name', 'p_sigma_star_name'],
'rule': 'exact'
}, {
'draggables': ['15'],
'targets': ['p_pi_name'],
'rule': 'exact'
}, {
'draggables': ['16'],
'targets': ['p_pi_star_name'],
'rule': 'exact'
}]
if draganddrop.grade(submission[0], correct_answer):
correct = ['correct']
else:
correct = ['incorrect']
]]&gt;&lt;/answer&gt;
&lt;/customresponse&gt;
&lt;/problem&gt;
</pre>
</div>
</div>
</div>
</div>
......
......@@ -27,7 +27,7 @@
<script type="text/javascript" src="../../_static/doctools.js"></script>
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
<link rel="top" title="edX Data 0.1 documentation" href="../../index.html" />
<link rel="next" title="Student Info and Progress Data" href="../../internal_data_formats/sql_schema.html" />
<link rel="next" title="Xml format of poll module [xmodule]" href="../poll_module/poll_module.html" />
<link rel="prev" title="XML format of drag and drop input [inputtypes]" href="../drag_and_drop/drag_and_drop_input.html" />
</head>
<body>
......@@ -41,7 +41,7 @@
<a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="right" >
<a href="../../internal_data_formats/sql_schema.html" title="Student Info and Progress Data"
<a href="../poll_module/poll_module.html" title="Xml format of poll module [xmodule]"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="../drag_and_drop/drag_and_drop_input.html" title="XML format of drag and drop input [inputtypes]"
......@@ -87,8 +87,8 @@
<p class="topless"><a href="../drag_and_drop/drag_and_drop_input.html"
title="previous chapter">XML format of drag and drop input [inputtypes]</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="../../internal_data_formats/sql_schema.html"
title="next chapter">Student Info and Progress Data</a></p>
<p class="topless"><a href="../poll_module/poll_module.html"
title="next chapter">Xml format of poll module [xmodule]</a></p>
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="../../_sources/course_data_formats/graphical_slider_tool/graphical_slider_tool.txt"
......@@ -908,7 +908,7 @@ asymptote:
<a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="right" >
<a href="../../internal_data_formats/sql_schema.html" title="Student Info and Progress Data"
<a href="../poll_module/poll_module.html" title="Xml format of poll module [xmodule]"
>next</a> |</li>
<li class="right" >
<a href="../drag_and_drop/drag_and_drop_input.html" title="XML format of drag and drop input [inputtypes]"
......
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Xml format of poll module [xmodule] &mdash; edX Data 0.1 documentation</title>
<link rel="stylesheet" href="../../_static/sphinxdoc.css" type="text/css" />
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../',
VERSION: '0.1',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
};
</script>
<script type="text/javascript" src="../../_static/jquery.js"></script>
<script type="text/javascript" src="../../_static/underscore.js"></script>
<script type="text/javascript" src="../../_static/doctools.js"></script>
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
<link rel="top" title="edX Data 0.1 documentation" href="../../index.html" />
<link rel="next" title="Xml format of conditional module [xmodule]" href="../conditional_module/conditional_module.html" />
<link rel="prev" title="XML format of graphical slider tool [xmodule]" href="../graphical_slider_tool/graphical_slider_tool.html" />
</head>
<body>
<div class="related">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../../genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
<a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="right" >
<a href="../conditional_module/conditional_module.html" title="Xml format of conditional module [xmodule]"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="../graphical_slider_tool/graphical_slider_tool.html" title="XML format of graphical slider tool [xmodule]"
accesskey="P">previous</a> |</li>
<li><a href="../../index.html">edX Data 0.1 documentation</a> &raquo;</li>
</ul>
</div>
<div class="sphinxsidebar">
<div class="sphinxsidebarwrapper">
<h3><a href="../../index.html">Table Of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">Xml format of poll module [xmodule]</a><ul>
<li><a class="reference internal" href="#format-description">Format description</a><ul>
<li><a class="reference internal" href="#poll-question-tag">poll_question tag</a></li>
<li><a class="reference internal" href="#answer-tag">answer tag</a></li>
</ul>
</li>
<li><a class="reference internal" href="#example">Example</a><ul>
<li><a class="reference internal" href="#examples-of-poll">Examples of poll</a></li>
<li><a class="reference internal" href="#examples-of-poll-with-unable-reset-functionality">Examples of poll with unable reset functionality</a></li>
</ul>
</li>
</ul>
</li>
</ul>
<h4>Previous topic</h4>
<p class="topless"><a href="../graphical_slider_tool/graphical_slider_tool.html"
title="previous chapter">XML format of graphical slider tool [xmodule]</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="../conditional_module/conditional_module.html"
title="next chapter">Xml format of conditional module [xmodule]</a></p>
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="../../_sources/course_data_formats/poll_module/poll_module.txt"
rel="nofollow">Show Source</a></li>
</ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="../../search.html" method="get">
<input type="text" name="q" />
<input type="submit" value="Go" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
<p class="searchtip" style="font-size: 90%">
Enter search terms or a module, class or function name.
</p>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
</div>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body">
<div class="section" id="module-poll_module">
<span id="xml-format-of-poll-module-xmodule"></span><h1>Xml format of poll module [xmodule]<a class="headerlink" href="#module-poll_module" title="Permalink to this headline"></a></h1>
<div class="section" id="format-description">
<h2>Format description<a class="headerlink" href="#format-description" title="Permalink to this headline"></a></h2>
<p>The main tag of Poll module input is:</p>
<div class="highlight-xml"><div class="highlight"><pre><span class="nt">&lt;poll_question&gt;</span> ... <span class="nt">&lt;/poll_question&gt;</span>
</pre></div>
</div>
<p><tt class="docutils literal"><span class="pre">poll_question</span></tt> can include any number of the following tags:
any xml and <tt class="docutils literal"><span class="pre">answer</span></tt> tag. All inner xml, except for <tt class="docutils literal"><span class="pre">answer</span></tt> tags, we call &#8220;question&#8221;.</p>
<div class="section" id="poll-question-tag">
<h3>poll_question tag<a class="headerlink" href="#poll-question-tag" title="Permalink to this headline"></a></h3>
<p>Xmodule for creating poll functionality - voting system. The following attributes can
be specified for this tag:</p>
<div class="highlight-python"><pre>name - Name of xmodule.
[display_name| AUTOGENERATE] - Display name of xmodule. When this attribute is not defined - display name autogenerate with some hash.
[reset | False] - Can reset/revote many time (value = True/False)</pre>
</div>
</div>
<div class="section" id="answer-tag">
<h3>answer tag<a class="headerlink" href="#answer-tag" title="Permalink to this headline"></a></h3>
<p>Define one of the possible answer for poll module. The following attributes can
be specified for this tag:</p>
<div class="highlight-python"><pre>id - unique identifier (using to identify the different answers)</pre>
</div>
<p>Inner text - Display text for answer choice.</p>
</div>
</div>
<div class="section" id="example">
<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline"></a></h2>
<div class="section" id="examples-of-poll">
<h3>Examples of poll<a class="headerlink" href="#examples-of-poll" title="Permalink to this headline"></a></h3>
<div class="highlight-xml"><div class="highlight"><pre><span class="nt">&lt;poll_question</span> <span class="na">name=</span><span class="s">&quot;second_question&quot;</span> <span class="na">display_name=</span><span class="s">&quot;Second question&quot;</span><span class="nt">&gt;</span>
<span class="nt">&lt;h3&gt;</span>Age<span class="nt">&lt;/h3&gt;</span>
<span class="nt">&lt;p&gt;</span>How old are you?<span class="nt">&lt;/p&gt;</span>
<span class="nt">&lt;answer</span> <span class="na">id=</span><span class="s">&quot;less18&quot;</span><span class="nt">&gt;</span><span class="ni">&amp;lt;</span> 18<span class="nt">&lt;/answer&gt;</span>
<span class="nt">&lt;answer</span> <span class="na">id=</span><span class="s">&quot;10_25&quot;</span><span class="nt">&gt;</span>from 10 to 25<span class="nt">&lt;/answer&gt;</span>
<span class="nt">&lt;answer</span> <span class="na">id=</span><span class="s">&quot;more25&quot;</span><span class="nt">&gt;</span><span class="ni">&amp;gt;</span> 25<span class="nt">&lt;/answer&gt;</span>
<span class="nt">&lt;/poll_question&gt;</span>
</pre></div>
</div>
</div>
<div class="section" id="examples-of-poll-with-unable-reset-functionality">
<h3>Examples of poll with unable reset functionality<a class="headerlink" href="#examples-of-poll-with-unable-reset-functionality" title="Permalink to this headline"></a></h3>
<div class="highlight-xml"><div class="highlight"><pre><span class="nt">&lt;poll_question</span> <span class="na">name=</span><span class="s">&quot;first_question_with_reset&quot;</span> <span class="na">display_name=</span><span class="s">&quot;First question with reset&quot;</span>
<span class="na">reset=</span><span class="s">&quot;True&quot;</span><span class="nt">&gt;</span>
<span class="nt">&lt;h3&gt;</span>Your gender<span class="nt">&lt;/h3&gt;</span>
<span class="nt">&lt;p&gt;</span>You are man or woman?<span class="nt">&lt;/p&gt;</span>
<span class="nt">&lt;answer</span> <span class="na">id=</span><span class="s">&quot;man&quot;</span><span class="nt">&gt;</span>Man<span class="nt">&lt;/answer&gt;</span>
<span class="nt">&lt;answer</span> <span class="na">id=</span><span class="s">&quot;woman&quot;</span><span class="nt">&gt;</span>Woman<span class="nt">&lt;/answer&gt;</span>
<span class="nt">&lt;/poll_question&gt;</span>
</pre></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../../genindex.html" title="General Index"
>index</a></li>
<li class="right" >
<a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="right" >
<a href="../conditional_module/conditional_module.html" title="Xml format of conditional module [xmodule]"
>next</a> |</li>
<li class="right" >
<a href="../graphical_slider_tool/graphical_slider_tool.html" title="XML format of graphical slider tool [xmodule]"
>previous</a> |</li>
<li><a href="../../index.html">edX Data 0.1 documentation</a> &raquo;</li>
</ul>
</div>
<div class="footer">
&copy; Copyright 2013, edX Team.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
</div>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Symbolic Response &mdash; edX Data 0.1 documentation</title>
<link rel="stylesheet" href="../_static/sphinxdoc.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../',
VERSION: '0.1',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
};
</script>
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
<link rel="top" title="edX Data 0.1 documentation" href="../index.html" />
</head>
<body>
<div class="related">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
<a href="../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../index.html">edX Data 0.1 documentation</a> &raquo;</li>
</ul>
</div>
<div class="sphinxsidebar">
<div class="sphinxsidebarwrapper">
<h3><a href="../index.html">Table Of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">Symbolic Response</a><ul>
<li><a class="reference internal" href="#features">Features</a></li>
</ul>
</li>
</ul>
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="../_sources/course_data_formats/symbolic_response.txt"
rel="nofollow">Show Source</a></li>
</ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="../search.html" method="get">
<input type="text" name="q" />
<input type="submit" value="Go" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
<p class="searchtip" style="font-size: 90%">
Enter search terms or a module, class or function name.
</p>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
</div>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body">
<div class="section" id="symbolic-response">
<h1>Symbolic Response<a class="headerlink" href="#symbolic-response" title="Permalink to this headline"></a></h1>
<p>This document plans to document features that the current symbolic response
supports. In general it allows the input and validation of math expressions,
up to commutativity and some identities.</p>
<div class="section" id="features">
<h2>Features<a class="headerlink" href="#features" title="Permalink to this headline"></a></h2>
<dl class="docutils">
<dt>This is a partial list of features, to be revised as we go along:</dt>
<dd><ul class="first last">
<li><p class="first">sub and superscripts: an expression following the <tt class="docutils literal"><span class="pre">^</span></tt> character
indicates exponentiation. To use superscripts in variables, the syntax
is <tt class="docutils literal"><span class="pre">b_x__d</span></tt> for the variable <tt class="docutils literal"><span class="pre">b</span></tt> with subscript <tt class="docutils literal"><span class="pre">x</span></tt> and super
<tt class="docutils literal"><span class="pre">d</span></tt>.</p>
<p>An example of a problem:</p>
<div class="highlight-python"><pre>&lt;symbolicresponse expect="a_b^c + b_x__d" size="30"&gt;</pre>
</div>
<blockquote>
<div><dl class="docutils">
<dt>&lt;textline math=&#8221;1&#8221;</dt>
<dd><p class="first last">preprocessorClassName=&#8221;SymbolicMathjaxPreprocessor&#8221;
preprocessorSrc=&#8221;/static/js/capa/symbolic_mathjax_preprocessor.js&#8221;/&gt;</p>
</dd>
</dl>
</div></blockquote>
<p>&lt;/symbolicresponse&gt;</p>
<p>It&#8217;s a bit of a pain to enter that.</p>
</li>
<li><p class="first">The script-style math variant. What would be outputted in latex if you
entered <tt class="docutils literal"><span class="pre">\mathcal{N}</span></tt>. This is used in some variables.</p>
<p>An example:</p>
<div class="highlight-python"><pre>&lt;symbolicresponse expect="scriptN_B + x" size="30"&gt;
&lt;textline math="1"/&gt;
&lt;/symbolicresponse&gt;</pre>
</div>
<p>There is no fancy preprocessing needed, but if you had superscripts or
something, you would need to include that part.</p>
</li>
</ul>
</dd>
</dl>
</div>
</div>
</div>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
>index</a></li>
<li class="right" >
<a href="../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../index.html">edX Data 0.1 documentation</a> &raquo;</li>
</ul>
</div>
<div class="footer">
&copy; Copyright 2013, edX Team.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
</div>
</body>
</html>
\ No newline at end of file
......@@ -73,10 +73,22 @@
<h1 id="index">Index</h1>
<div class="genindex-jumpbox">
<a href="#D"><strong>D</strong></a>
<a href="#C"><strong>C</strong></a>
| <a href="#D"><strong>D</strong></a>
| <a href="#P"><strong>P</strong></a>
| <a href="#X"><strong>X</strong></a>
</div>
<h2 id="C">C</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%" valign="top"><dl>
<dt><a href="course_data_formats/conditional_module/conditional_module.html#module-conditional_module">conditional_module (module)</a>
</dt>
</dl></td>
</tr></table>
<h2 id="D">D</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%" valign="top"><dl>
......@@ -87,6 +99,16 @@
</dl></td>
</tr></table>
<h2 id="P">P</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%" valign="top"><dl>
<dt><a href="course_data_formats/poll_module/poll_module.html#module-poll_module">poll_module (module)</a>
</dt>
</dl></td>
</tr></table>
<h2 id="X">X</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%" valign="top"><dl>
......
......@@ -109,6 +109,7 @@
<li class="toctree-l2"><a class="reference internal" href="course_data_formats/course_xml.html#id1">Policy Files</a></li>
<li class="toctree-l2"><a class="reference internal" href="course_data_formats/course_xml.html#static-links">Static links</a></li>
<li class="toctree-l2"><a class="reference internal" href="course_data_formats/course_xml.html#tabs">Tabs</a></li>
<li class="toctree-l2"><a class="reference internal" href="course_data_formats/course_xml.html#textbooks">Textbooks</a></li>
<li class="toctree-l2"><a class="reference internal" href="course_data_formats/course_xml.html#other-file-locations-info-and-about">Other file locations (info and about)</a></li>
<li class="toctree-l2"><a class="reference internal" href="course_data_formats/course_xml.html#tips-for-content-developers">Tips for content developers</a></li>
</ul>
......@@ -128,6 +129,9 @@
<ul>
<li class="toctree-l1"><a class="reference internal" href="course_data_formats/drag_and_drop/drag_and_drop_input.html">XML format of drag and drop input [inputtypes]</a></li>
<li class="toctree-l1"><a class="reference internal" href="course_data_formats/graphical_slider_tool/graphical_slider_tool.html">XML format of graphical slider tool [xmodule]</a></li>
<li class="toctree-l1"><a class="reference internal" href="course_data_formats/poll_module/poll_module.html">Xml format of poll module [xmodule]</a></li>
<li class="toctree-l1"><a class="reference internal" href="course_data_formats/conditional_module/conditional_module.html">Xml format of conditional module [xmodule]</a></li>
<li class="toctree-l1"><a class="reference internal" href="course_data_formats/custom_response.html">CustomResponse XML and Python Script</a></li>
</ul>
</div>
</div>
......
......@@ -28,7 +28,7 @@
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
<link rel="top" title="edX Data 0.1 documentation" href="../index.html" />
<link rel="next" title="Discussion Forums Data" href="discussion_data.html" />
<link rel="prev" title="XML format of graphical slider tool [xmodule]" href="../course_data_formats/graphical_slider_tool/graphical_slider_tool.html" />
<link rel="prev" title="CustomResponse XML and Python Script" href="../course_data_formats/custom_response.html" />
</head>
<body>
<div class="related">
......@@ -44,7 +44,7 @@
<a href="discussion_data.html" title="Discussion Forums Data"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="../course_data_formats/graphical_slider_tool/graphical_slider_tool.html" title="XML format of graphical slider tool [xmodule]"
<a href="../course_data_formats/custom_response.html" title="CustomResponse XML and Python Script"
accesskey="P">previous</a> |</li>
<li><a href="../index.html">edX Data 0.1 documentation</a> &raquo;</li>
</ul>
......@@ -130,8 +130,8 @@
</ul>
<h4>Previous topic</h4>
<p class="topless"><a href="../course_data_formats/graphical_slider_tool/graphical_slider_tool.html"
title="previous chapter">XML format of graphical slider tool [xmodule]</a></p>
<p class="topless"><a href="../course_data_formats/custom_response.html"
title="previous chapter">CustomResponse XML and Python Script</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="discussion_data.html"
title="next chapter">Discussion Forums Data</a></p>
......@@ -546,18 +546,24 @@
<tr class="row-odd"><td><cite>&#8216;&#8217;</cite> (blank)</td>
<td>User did not specify level of education.</td>
</tr>
<tr class="row-even"><td><cite>&#8216;p_se&#8217;</cite></td>
<td>Doctorate in science or engineering</td>
<tr class="row-even"><td><cite>&#8216;p&#8217;</cite></td>
<td>Doctorate</td>
</tr>
<tr class="row-odd"><td><cite>&#8216;p_oth&#8217;</cite></td>
<td>Doctorate in another field</td>
<tr class="row-odd"><td><cite>&#8216;p_se&#8217;</cite></td>
<td>Doctorate in science or engineering (no longer used)</td>
</tr>
<tr class="row-even"><td><cite>&#8216;m&#8217;</cite></td>
<tr class="row-even"><td><cite>&#8216;p_oth&#8217;</cite></td>
<td>Doctorate in another field (no longer used)</td>
</tr>
<tr class="row-odd"><td><cite>&#8216;m&#8217;</cite></td>
<td>Master&#8217;s or professional degree</td>
</tr>
<tr class="row-odd"><td><cite>&#8216;b&#8217;</cite></td>
<tr class="row-even"><td><cite>&#8216;b&#8217;</cite></td>
<td>Bachelor&#8217;s degree</td>
</tr>
<tr class="row-odd"><td><cite>&#8216;a&#8217;</cite></td>
<td>Associate&#8217;s degree</td>
</tr>
<tr class="row-even"><td><cite>&#8216;hs&#8217;</cite></td>
<td>Secondary/high school</td>
</tr>
......@@ -940,7 +946,7 @@
<a href="discussion_data.html" title="Discussion Forums Data"
>next</a> |</li>
<li class="right" >
<a href="../course_data_formats/graphical_slider_tool/graphical_slider_tool.html" title="XML format of graphical slider tool [xmodule]"
<a href="../course_data_formats/custom_response.html" title="CustomResponse XML and Python Script"
>previous</a> |</li>
<li><a href="../index.html">edX Data 0.1 documentation</a> &raquo;</li>
</ul>
......
No preview for this file type
......@@ -75,12 +75,22 @@
<h1>Python Module Index</h1>
<div class="modindex-jumpbox">
<a href="#cap-c"><strong>c</strong></a> |
<a href="#cap-d"><strong>d</strong></a> |
<a href="#cap-p"><strong>p</strong></a> |
<a href="#cap-x"><strong>x</strong></a>
</div>
<table class="indextable modindextable" cellspacing="0" cellpadding="2">
<tr class="pcap"><td></td><td>&nbsp;</td><td></td></tr>
<tr class="cap" id="cap-c"><td></td><td>
<strong>c</strong></td><td></td></tr>
<tr>
<td></td>
<td>
<a href="course_data_formats/conditional_module/conditional_module.html#module-conditional_module"><tt class="xref">conditional_module</tt></a></td><td>
<em></em></td></tr>
<tr class="pcap"><td></td><td>&nbsp;</td><td></td></tr>
<tr class="cap" id="cap-d"><td></td><td>
<strong>d</strong></td><td></td></tr>
<tr>
......@@ -89,6 +99,14 @@
<a href="course_data_formats/drag_and_drop/drag_and_drop_input.html#module-drag_and_drop_input"><tt class="xref">drag_and_drop_input</tt></a></td><td>
<em></em></td></tr>
<tr class="pcap"><td></td><td>&nbsp;</td><td></td></tr>
<tr class="cap" id="cap-p"><td></td><td>
<strong>p</strong></td><td></td></tr>
<tr>
<td></td>
<td>
<a href="course_data_formats/poll_module/poll_module.html#module-poll_module"><tt class="xref">poll_module</tt></a></td><td>
<em></em></td></tr>
<tr class="pcap"><td></td><td>&nbsp;</td><td></td></tr>
<tr class="cap" id="cap-x"><td></td><td>
<strong>x</strong></td><td></td></tr>
<tr>
......
Search.setIndex({objects:{"":{xml_format_gst:[5,0,1,""],drag_and_drop_input:[7,0,1,""]}},terms:{s_left:7,yellow:5,four:[0,7,3],num_point:5,whose:4,educ:2,under:6,sha256:2,worth:[0,3],digit:[4,2],everi:[6,7,2,3],consecutive_days_visit_count:2,affect:[0,2],certificates_generatedcertif:2,school:2,red:5,direct:3,second:[5,4,7,2,6],street:2,follow:[0,1,2,3,6,7],blue:[6,5],discussion_blackout:6,hide:[6,4],calcul:5,target10:7,conduct:1,"new":[0,5,4,2,6],net:0,ever:0,told:3,abov:[6,5,3],comment_thread_id:0,never:[0,6,2],here:[0,5,2,6],created_d:2,studio:[1,6],boron:7,untreated_men:5,path:7,enrol:[6,2],interpret:3,forum:[0,1,2,6],spotti:2,precis:[5,2],datetim:2,studi:[1,6],user_dragg:7,substr:5,unix:2,total:[0,1,2,3,5],unit:[6,5],dnd:7,describ:[1,7,2,6],would:[0,5,2,3,6],with_icon:7,date_join:2,call:[5,2,6],recommend:6,old_nam:2,type:[0,1,2,3,4,5,6,7],until:[6,2],show_calcul:6,relat:[6,2],award:3,warn:2,hold:[0,2],must:[5,7,2,3,6],join:6,"30t04":6,work:[1,7,2,5,6],"2012_fall":[6,2],conceptu:6,root:6,overrid:6,give:[6,2,3],gotopag:4,indic:[0,1,4,2,6],unavail:2,want:[0,2,3,5,6,7],keep:[6,2],end:[5,7,2,6],v_fb_2:7,how:[1,2,3,5,6],v_fb_1:7,answer:[0,6,4,7,2],widespread:2,ancestor:0,config:6,updat:[5,2],recogn:7,t7_h:7,after:[5,7,2,6],lab:3,befor:[5,2,6],wrong:[7,2],sample_problem:2,averag:3,askbot:2,attempt:[6,4],third:[5,7,2],obsolet:[6,2],imposs:5,environ:6,enter:2,order:[5,7,2,6],origin:[0,6,4],feedback:4,bar_width:5,over:[5,7,2,6],attr1:6,becaus:[0,5,7,2],privileg:[0,2],vari:6,textbox:5,smallint:2,uuid:2,img:7,fix:[5,7,2],better:[6,2],wddi6qw:6,easier:6,split:[5,2,3,6],count:[0,6],them:[0,5,2,6],anim:6,thei:[0,2,4,5,6,7],safe:5,rectangl:7,"break":[6,2],"1yk1a8":6,oxygen:7,accommod:2,each:[0,2,3,4,5,6],debug:2,volcano:7,went:2,side:[0,7],bone:5,mean:[0,2,3,5,6,7],allow_certif:2,email_kei:2,oppos:6,p_right_3:7,p_right_2:7,p_right_1:7,goe:[5,2],content:[0,1,2,5,6],got:2,add_apples_and_orang:6,navig:[6,2],free:2,standard:[6,5],inok:5,untreat:5,fairli:6,confus:2,rang:5,render:[5,2,6],grade:[1,7,2,3,6],independ:5,restrict:2,instruct:2,alreadi:[6,4],primari:[0,2],cartesian:5,rewritten:6,problem_show:4,top:[0,5,7,2,6],sometim:[5,7,2],stack:2,toi:6,master:2,too:[6,7,2],similarli:6,namespac:6,signup:2,took:2,i4x:[4,2],technic:[6,2],target:[1,7,2],warmup:6,provid:[6,7,5],tree:2,matter:6,minut:[6,2],fashion:5,ran:2,mind:2,raw:1,increment:7,seen:[0,6],lbl:5,latter:2,client:7,course_survei:6,draggable_id:7,even:[0,5,2,6],though:[0,6,2],usernam:[4,2],object:[0,6,7,5],letter:[2,3],phase:[2,3],email_tag_filter_strategi:2,don:[5,7,2,6],dom:5,professor:3,flow:7,doe:[0,6,7,2,3],dummi:6,declar:[5,3],notion:3,dot:[6,5],random:[6,2],"_show_problem":4,radiu:5,syntax:6,freeform:2,"0000ff":5,p_pi_1:7,p_pi_2:7,absolut:5,vnmrbpvwhu4:6,submit:2,configur:[6,5],peer_grad:4,haven:6,folder:[6,7],selfassess:2,url_slug:6,succinct:6,label2:7,label3:7,target_id:7,recalcul:5,youtub:[6,4],earn:3,pearson:2,bar:[5,2,6],draggable_2:7,draggable_1:7,emb:6,bad:2,ban:2,metadata:[6,2],l3_o:7,mandatori:5,result:[6,5],respons:[4,2,3],update_on:5,themselv:2,hammer:6,best:6,awar:6,nytrogen:7,hopefulli:6,databas:[0,2],university_comparison:2,score:[2,3],"587z":0,drawn:[7,5],awai:[1,6],approach:2,attribut:[0,1,2,5,6,7],men:5,xrang:5,carbon:7,easi:[6,5],cow:7,sumprob:6,howev:[0,5,2,6],against:[5,2],logic:[6,7],uni:2,login:2,seri:6,height:[7,5],guid:6,assum:3,"17t12":6,three:[0,7,2],been:[5,2,3,6],much:[0,6,2],cereal:0,videodev:6,basic:[6,2],p_se:2,deeper:6,unordered_equ:7,uncommon:2,ani:[0,2,3,5,6,7],"25x":6,child:[0,2,3],"catch":6,dash:7,ident:[6,7],explanatori:6,servic:6,properti:5,ffff00:5,calcium:7,weren:2,dashboard:2,need:[5,7,2,6],module_nam:2,sever:[5,3],mako:6,future_upd:2,receiv:0,suggest:6,make:[0,5,2,3,6],complex:[5,7,2],descend:2,complet:[6,2,3],fragil:6,hand:6,action:2,unicorn:6,require_complet:6,thu:6,inherit:6,simple_random_sampl:4,thi:[0,1,2,3,5,6,7],everyth:[6,5],left:[6,7,5],identifi:[6,4,7,2],gbw_wqe7rdc:6,just:[0,5,2,6],ordin:7,grader:[6,7,3],human:7,yet:[6,2],languag:2,expos:[6,2],had:[0,2],els:[5,7,2,6],save:2,hat:6,applic:2,u_d:7,quirk:2,filesytem:6,measur:2,specif:[0,1,2,4,5,6],arbitrari:2,manual:2,remind:2,course_url_nam:6,www:6,right:[5,7,2,6],old:[6,4],interv:6,maxim:5,percentag:3,intern:[1,2,5,6],download_uuid:2,indirect:6,bottom:5,t10:7,days_early_for_beta:6,foo:6,mydiscuss:6,plot:5,confer:2,repositori:6,peer:2,post:[0,6],chapter:[6,2,3],hide_from_toc:6,eat:0,surround:5,ddthh:4,produc:[1,6],aha:6,"float":[5,4,2,6],profession:2,down:[0,3],wrap:5,a_readonli:5,wai:[0,5,7,2,6],rerandom:6,download_url:2,why:6,avail:[5,4,2,3,6],width:[7,5],analysi:2,form:[5,4,7,2,6],altogeth:2,"true":[0,2,3,5,6,7],reset:6,your_course_dir:6,tell:[7,5],"20px":5,unrel:2,"abstract":[1,6],textbook:6,inputtyp:[1,7],exist:[0,6],subforum:6,label_bg_color:7,check:[6,4,2],readonli:5,tip:[1,6],refactor:2,role:2,test:[6,2],node:2,intend:6,consid:[7,3],helperfunc:5,femal:2,longer:[0,2],pbkdf2:2,tinyint:2,ignor:2,time:[0,2,4,5,6,7],backward:6,mathrm:5,consum:1,is_act:2,sould:7,row:2,hierarch:6,decid:[5,2,6],middl:[7,2],depend:[0,5,4,2],zone:6,graph:[6,5],readabl:7,yunit:5,bar_align:5,sourc:[1,4],string:[0,2,4,5,6,7],asymptot:5,customrespons:7,condit:[6,2],exact:7,cohorted_discuss:6,valuabl:6,p_sigma_star_nam:7,level:[0,6,7,2,3],did:[6,2],item:2,team:2,div:5,round:[5,3],dir:6,upper:7,improvement_lectur:2,sign:2,t2_h:7,run:[0,6,2],bold:5,ormsbe:2,appear:[0,6,7,2],repli:0,showansw:6,v_ub_2:7,v_ub_1:7,current:[5,4,2,3,6],ampersand:6,dropdown:2,gener:[0,2,3,4,5,6],satisfi:6,target8:7,target9:7,target6:7,target7:7,target4:7,target5:7,target2:7,target3:7,target1:7,edx4edx:6,queue:5,problemfoo:6,nextpag:4,extrem:5,t9_o:7,semant:[6,2],regardless:3,extra:[5,2,6],modul:[0,5,2,3,6],prefer:[6,2],video_resourc:6,visibl:6,univers:2,visit:4,todai:6,everybodi:2,live:6,value2:6,msg:4,prev:5,peopl:[1,2,6],visual:[6,3],prototyp:2,examin:2,easiest:6,graphic:[1,5],tagsd:5,cap:0,uniqu:[0,5,7,2,6],descriptor:6,whatev:0,purpos:[6,2],nearest:3,agent:4,topic:6,drawer:6,hydrogen:7,occur:[0,3],alwai:[0,6,2],multipl:[5,7,2,6],write:[5,7,2],anyon:6,pure:6,anyof:7,map:[5,7,2,6],max:5,dive:6,xtick:5,mai:[5,4,7,2,6],underscor:6,data:[0,1,4,2,5],practic:2,"_hide_problem":4,inform:[1,2,6],"switch":6,combin:[6,3],modified_d:2,student_courseenrol:2,correct_dragg:7,approv:2,still:[0,6,2,3],pointer:6,dynam:[5,2],group:[6,7,2],v_fb_3:7,polici:[0,1,2,3,6],defin:[0,6,7,5,3],platform:[1,6],main:[6,7,5],non:6,encod:[0,6,4],initi:[5,2],disabl:[6,5],now:[0,6],discuss:[0,1,2,6],introduct:[1,6],term:6,name:[2,3,4,5,6,7],drop:[1,7,2,3],"600x_l5_p8":0,"21t03":0,separ:[5,4,2,6],url_name1:6,url_name2:6,domain:[5,2],replac:[5,2,6],individu:[6,7],t10_h:7,significantli:2,"05t12":6,happen:2,shown:[2,3,4,5,6,7],space:5,formula:[5,3],correct:[0,4,7,2],"50px":5,state:[1,4,2,6],migrat:2,org:[0,6,2],"byte":[0,2],reusabl:7,departur:6,refus:6,thing:[6,5],place:[5,7,2,6],loncapa:7,nicknam:2,neglect:5,first:[0,2,3,5,6,7],oper:[7,2],directli:[6,5],onc:[6,2,3],arrai:6,harvardx:4,fast:2,vote:0,open:[0,7,2,3],size:[7,2],given:[5,2,3,6],convent:[6,2],citi:2,necessarili:6,circl:5,hub:5,especi:6,copi:6,specifi:[0,1,2,3,5,6,7],mostli:2,than:[0,5,7,2,6],png:7,wide:6,dormsbe:2,were:[0,6,4,2],posit:[5,7,2],supplementari:2,created_at:0,browser:[5,4,7,2,6],pre:6,lowest:3,sai:6,pri:2,anywher:[7,2],ant:7,breakfast:0,saw:2,el_id:5,mislead:3,engin:[5,2],squar:5,notpass:2,drag_and_drop_input:7,note:[0,2,3,5,6,7],ideal:6,selfassessment_03c483062389:2,take:[5,2,3],xxxxxx:4,green:[6,5],"15px":5,noth:[7,5],begin:[5,2,6],sure:6,normal:[5,2],track:[1,4,2,5,6],beta:6,pair:[6,7],problem_id:4,icon:[7,2],course_nam:6,later:[0,2],typeset:5,axi:5,sigma:7,show:[0,2,3,4,5,6],permiss:2,hack:2,threshold:3,corner:7,label:[5,7,2],drop_count:3,xml:[1,7,5,6],onli:[0,2,3,5,6,7],activ:[0,5,2],enough:2,dict:7,nearli:2,variou:[1,6],get:[0,2,3,4,5,6],secondari:2,repo:6,cannot:2,min_count:3,requir:[5,7,2,6],reveal:2,p_left_1:7,p_left_3:7,p_left_2:7,s_sigma:7,where:[5,4,7,2,6],summari:2,wiki:6,unweight:2,is_staff:2,exam:[6,2,3],infinit:6,enumer:2,"60px":5,forecast:3,answer_span_1:5,behind:0,between:[5,2,3,6],"import":[5,2,3,6],"18t15":2,across:2,assumpt:6,parent:0,come:[6,7,2],tue:6,ispubl:6,tutori:[1,6],mani:[5,7,2],disable_policy_graph:6,color:5,overview:6,period:[6,2],colon:6,course_id:[0,2],student_id:2,mark:0,comment_count:0,choiceprob:6,doesn:[6,2],lectur:[0,6,2],former:2,those:[0,1,2,3,5,6],"case":[0,1,2,3,5,6,7],cast:0,invok:5,graphical_slider_tool:5,margin:5,anytim:6,some_url_nam:6,canon:2,worri:3,blah:6,url_nam:6,fpbw:6,develop:[1,2,6],doctor:2,fu3fcjns94i:4,same:[0,2,3,5,6,7],epoch:2,html:[5,2,6],pad:5,eventu:2,week:[6,2],finish:2,nest:[0,6],someon:2,extern:6,appropri:[6,2],moder:[0,6],inconsist:2,without:[5,7,2,3,6],when:[0,2,3,4,5,6,7],treated_men:5,speed:[6,4],display_nam:[6,7,3],hint:4,currenttim:4,except:[6,5,3],littl:[6,2],exercis:2,pow:5,earli:[6,2],around:7,read:6,world:6,tend:2,integ:[6,4,2],server:[6,4],benefit:6,seq_next:4,either:[6,7,2,3],output:5,manag:[6,2],yyyi:4,group_rul:7,respect:3,definit:[5,2,3,6],name_with_icon:7,exit:5,dynam_lbl:5,refer:[5,2,6],event_typ:4,broken:6,combinedopenend:2,ph207x:4,discussion_categori:6,teach_e:2,meaning:[6,2],degre:2,commentthread:[0,1],bond:7,elementari:2,"75x":6,terminolog:2,s_sigma_star:7,strip:5,your:[0,5,2,6],unconvent:2,log:[1,4,2],target_outlin:7,area:5,graceperiod:6,start:[0,5,2,6],interfac:[1,7,6],submiss:[7,2],at_position_list:0,reset_problem:4,tupl:2,conclus:2,"29t04":6,notat:5,possibl:[5,2,3,6],"default":[5,7,2,3,6],bucket:4,queuestat:4,show_countri:2,grass:7,connect:[7,5],texbox:5,creat:[5,7,2,6],certain:[6,2],deep:0,fellow:0,decreas:5,file:[0,1,2,3,4,6],lcao:7,rearrang:2,fill:[6,7,2],incorrect:[4,7],again:[7,2],googl:6,event:[1,4,5],field:[0,1,2,4,5,6],valid:[6,5],collis:4,coursewar:[0,1,2,6],you:[0,1,2,5,6,7],"1bk":6,architectur:1,"_type":0,sequenc:[0,6,4,2,3],symbol:6,oe_feedback_response_select:4,philosoph:6,enrollment_end:6,directori:[6,4],descript:[6,7,5],potenti:3,represent:[6,2],all:[0,2,3,4,5,6,7],illustr:6,abil:6,semest:6,children:[5,2],disable_auto_return:5,program:[6,2],"15t12":6,t5_c:7,fals:[0,5,7,2,6],strictli:1,ytick:5,mechan:[6,2],fall:6,veri:[5,2,6],longtext:2,list:[0,2,4,5,6,7],last_nam:2,small:7,dimens:7,customtag:6,tex:5,rate:2,design:[7,2],pass:[5,2,6],excit:6,what:[0,5,7,2,6],sub:[6,3],z1y4vdycy0izkopeihtpcldxmby1ogdk:6,section:[0,1,2,3,5,6],abl:[6,2],delet:2,version:[6,7,2],last_login:2,intersect:7,deepli:[0,6],"public":6,hasn:2,full:[0,2,4,5,6,7],hash:2,week_0:6,behaviour:7,grading_polici:[6,3],inher:6,strong:2,modifi:2,legend:5,valu:[0,2,3,4,5,6,7],search:[1,2,6],prior:6,amount:5,codebas:2,via:[6,4,2],berkeleyx:0,transit:2,deprec:[6,2],select:[4,2],up_count:0,"02t04":6,distinct:[6,2],two:[0,2,3,5,6,7],user_answ:7,taken:0,homework:[2,3],more:[0,6,4,7,2],desir:6,tester:6,line:[6,7,5],flag:[6,2],particular:[6,2],known:2,l10_o:7,none:[5,4,2,6],hour:6,hous:6,outlin:7,"6002x_fall_2012_overview":6,remain:5,learn:2,male:2,"002x_fall_2012_overview":6,prompt:[4,2],necesari:5,share:[0,1,6],templat:6,minimum:5,poni:6,cours:[0,1,2,3,4,6],goal:[1,2,6],first_nam:2,rather:6,anoth:[0,5,7,2,6],reject:2,simpl:[5,2,3,6],css:[6,5],regener:2,group_0:7,resourc:6,referenc:[5,2,6],reflect:5,catalog:4,cow3:7,"600px":5,associ:2,circumst:2,"short":[7,2],onto:7,correct_map:4,author:[1,6],django:2,caus:2,ending_at:2,beginning_at:2,help:[6,3],soon:6,mathjax_for_prevalence_calc:5,through:[0,2],error_reason:2,hierarchi:[6,2],paramet:[6,4,5],p2q6brnhdh8:6,style:[4,5],videosequ:[6,2],brows:0,might:[6,2,3],good:[0,6],"return":[6,7,5],timestamp:[0,2],framework:2,somebodi:0,dnew:5,complain:6,document:[0,1,2,3,6],troubleshoot:0,easili:[6,7],achiev:5,innodb:2,truthi:6,found:[6,2,3],unicod:2,breakdown:[2,3],weight:[1,2,3,5],monoton:0,idea:[0,2],realli:[6,2],functon:5,expect:[5,2,3,6],energi:7,todo:[6,2],orient:1,research:[1,2],occurr:5,end_of_course_survey_url:6,proxi:2,guess:6,labl:5,reason:[6,2],base:[5,7,2,6],put:[5,2,6],teach:2,earliest:2,thread:0,my_custom_tag:6,"400px":5,omit:5,circuit:2,assign:[6,7,5,3],prevent:[0,5,2],exchang:0,number:[0,2,3,4,5,6,7],numericalrespons:3,done:[5,2,6],blank:2,stabl:6,miss:[5,3],differ:[5,7,2,6],l8_c:7,script:2,interact:[1,4,2],least:[5,3],commentable_id:0,statement:5,store:[0,1,4,2,6],schema:2,option:[0,5,7,2,6],relationship:5,part:[0,6,2],pars:[6,7,5],kind:[5,2,6],remov:2,horizont:[5,2,6],jqueri:5,reus:7,toward:6,randomli:2,highest_degre:2,comput:[6,3],packag:[6,2],group_dragg:7,"null":[4,2],imagin:2,built:2,images_list:7,correct_answ:7,also:[5,7,2,3,6],build:6,p_oth:2,brace:6,tool:[1,5,6],compat:6,previou:2,reach:[6,3],most:[0,6,7,2],plai:4,plan:2,amaz:0,last_activity_at:0,clear:5,cohort_config:6,draggables_1:7,cdata:[7,5],alphanumer:[6,2],session:[4,2],particularli:2,homework1:3,fine:5,find:[6,3],l1_c:7,solut:[6,2],future_off:2,factor:[5,3],express:6,nativ:2,wrinkl:6,banner:2,p_pi_star_2:7,p_pi_star_1:7,oe_show_respond_to_feedback:4,aramet:6,timelimit:2,sigma_:7,common:[1,4,3,6],wrote:0,certif:[1,2,3,6],set:[5,7,2,3,6],creator:2,see:[0,2,4,5,6,7],bare:5,close:[0,5,4,2,6],analog:6,simultan:6,someth:[5,2,6],page_clos:4,won:2,experi:2,altern:5,isod:0,numer:[5,2],javascript:[4,5],short_label:3,solv:6,popul:[5,7,2],both:[0,6,5],anonymous_to_p:0,last:[0,5,7,2,6],alon:2,foreign:2,roman:2,context:2,pdf:2,author_id:0,whole:5,load:[6,2],markdown:0,simpli:[6,5],point:[0,5,2,3,6],address:[4,2],param:5,mistak:6,can_reus:7,along:[5,2],backend:2,vertic:[5,2,3,6],user_id:2,due:[6,2],empti:[0,4,7,2],sinc:[0,6,2],s_sigma_star_nam:7,imag:[6,7],coordin:[7,5],understand:[6,2,3],survei:[6,2],instructor:[0,5,2,6],look:[6,2],s_right:7,straight:6,batch:2,"while":[6,2],smart:2,behavior:[6,7],error:[6,2],anonym:[0,4],display_tag_filter_strategi:2,subsect:6,improvement_textbook:2,readi:6,key2:6,jpg:[6,7],itself:[5,2,6],pset:[6,3],"00x":[0,4],downvot:0,shirt:6,minim:5,belong:[6,2],lenient:6,your_m_utx_yss:5,conflict:6,higher:6,moment:2,course_fold:7,user:[0,1,2,4,5,6,7],typic:[6,2],recent:2,sha1:2,gst:5,older:6,entri:2,p_sigma_nam:7,one_per_target:7,person:2,picki:6,elev:2,self:2,explan:2,cous:6,course_set:6,staff_grad:[6,4],mysql:[0,2],elect:2,thees:7,cut:2,theoret:2,rgb:7,appli:[5,7,2],input:[1,4,7,5],varchar:2,format:[1,2,3,4,5,6,7],molecul:7,bit:6,formal:6,implemen:2,signal:6,collect:[0,2],api:[1,5],xunit:5,group_id:7,sketch:6,subhead:6,often:[6,2],spring:[6,2],some:[0,1,2,3,5,6,7],back:[7,2],sampl:6,toy_video:6,rubric_select:4,l15:4,per:[0,6,7],draggagg:7,mathemat:5,larg:[6,5],slash:6,machin:[6,2],patient:5,step:[7,5],prerequisit:6,meantim:6,p_pi_star_nam:7,constraint:[7,2],auth_userprofil:2,materi:[6,2],upvot:0,page:[1,4,2,3,6],block:2,cutoff:3,level_of_educ:2,real:6,primarili:[1,2,6],irrit:6,within:[2,3,4,5,6,7],xticks_nam:5,span:5,spam:0,question:[0,6,2,3],"long":[6,7,2],custom:[6,5],includ:[0,2,3,5,6,7],forward:[6,2],accomodation_cod:2,myfunc:5,properli:[5,2,6],drummond_combin:5,link:[1,2,5,6],translat:5,atom:7,auto_cohort:6,yticks_nam:5,junior:2,info:[1,2,6],utc:[0,6,2],utf:[0,2],consist:[6,3],your_f_utx_yss:5,seq_goto:4,similar:[5,2,6],impl:6,constant:5,problem3:6,problem2:[6,3],problem1:3,repres:[0,5,4,2],"char":2,flot:5,course_run:6,titl:[0,6],sequenti:[6,2],bracket:5,librari:5,moco:0,nice:5,mongodb:[0,2],drag:[1,7],xqa_kei:6,unaffect:6,depth:6,play_video:4,came:2,far:2,scroll:6,code:[5,4,2,6],onreset:6,future_class:2,edu:2,edx:[0,1,4,2,6],your_f_tx_yss:5,event_sourc:4,elsewher:[1,6],friendli:[6,2],sens:[6,2],draggabl:7,sent:2,electron:7,stackoverflow:0,untouch:2,relev:5,gender:2,button:6,"try":[0,6],require_attempt:6,chap2:6,chap1:6,marri:5,pleas:[6,7,2,3],impli:2,natur:5,jump:[6,4],video:[6,4,2],accomod:2,download:[6,2],click:[7,2],append:6,courseware_studentmodul:2,index:[6,2],compar:7,access:[5,2,6],secret_pag:6,mathjax:5,can:[0,2,3,5,6,7],xmodul:[1,5],chose:5,"7ae_tkgabwa":6,bachelor:2,let:[6,2],course_num:2,becom:6,implicit:5,convert:5,ignored_tag:2,convers:0,chang:[5,7,2,3,6],numericalrepons:3,heart:0,mailing_address:2,"boolean":[0,6,4,2],avatar_typ:2,cloud:7,from:[0,2,4,5,6,7],commun:6,doubl:[6,2],next:[6,4,5],sort:0,course_info:6,trail:6,name4:7,actual:[0,5,2,6],women:5,save_problem_check:4,account:2,retriev:3,unenrol:2,obvious:6,verify_uuid:2,control:5,malform:6,t6_c:7,tar:4,process:[5,4,2,3,6],"002x":[6,2],loco:0,high:[0,2],tag:[0,1,2,5,6,7],tab:[1,2,6],t4_h:7,img1:7,subdirectori:6,instead:[0,5,2,6],sin:5,frac:5,stop:2,year_of_birth:2,add30min:2,essenti:[7,5],correspond:[0,5,4,2,3],element:[0,2,4,5,6,7],issu:2,allow:[0,2,4,5,6,7],elig:3,move:[6,7,5],comma:[6,5],"6002x_exit_respons":2,t3_h:7,"02x":2,date_of_birth:2,external_link:6,therefor:5,advertised_start:6,generatedcertif:2,handl:[6,7,5],spell:2,show_answ:4,handi:6,anyth:[0,6,2],edit:[0,6,5],plot_label:5,slide:[6,5],t8_h:7,"10px":5,meta:2,"static":[1,7,5,6],rounded_perc:3,our:[0,1,2,6],tenth:2,special:[5,2,6],out:[6,7,2],variabl:6,p_sigma:7,oe_show_full_feedback:4,categori:[0,6,4,2],module_typ:2,rel:[5,7,2,3],math:5,clarifi:6,p_pi_nam:7,insid:[0,5,7,2,6],dictionari:[0,6,2],tempt:5,releas:2,afterward:2,t1_o:7,could:[0,6,2,3],ask:[0,2],david:2,aren:6,length:[6,7,2],enforc:2,outsid:7,organiz:6,endors:0,"2013_spring":[0,6],date:[6,2],prioriti:2,secret_video:6,unknown:5,system:[1,2,3,5,6],attach:[0,5],attack:0,"final":[1,2,3],slider:[1,7,5],exactli:3,tartget1:7,structur:[0,1,6],charact:[5,2,6],reposit:5,"function":[6,5,3],auto_incr:2,fail:3,have:[0,2,3,5,6,7],tabl:[1,2],l15_problem_2:4,interesting_tag:2,"07t11":2,min:5,mix:5,group_target:7,which:[5,4,7,2,6],mit:2,singl:[6,7,5,3],unless:2,who:[0,1,2,3,4,5],"class":2,url:[0,6,4,7,2],gather:2,request:[5,4,2],absurd:7,determin:[5,2],"_id":0,fact:[6,2],platon:6,text:[0,5,7,2,6],addhalftim:2,watch:4,rubric:4,bedroom:6,staff:[0,6,2],ear:7,locat:[1,4,2,6],enrollment_start:6,should:[1,7,2,5,6],suppos:2,local:6,hope:2,meant:[0,5],dependenti:4,per_stud:6,familiar:2,bear:2,mul:2,increas:[0,5],organ:[6,4,2],down_count:0,y_2:5,y_1:5,grai:7,integr:[6,2],contain:[0,2,3,4,5,6,7],your_m_tx_yss:5,view:[6,2],knowledg:6,custom_tag:6,statu:2,closet:6,pattern:6,max_grad:[2,3],favor:2,written:[0,1,2,3,5,6],progress:[1,2,3,6],email:2,problemset:[6,2],kei:[6,4,7,2],dynamic_mathjax:5,static_tab:6,moving_label:5,entir:2,s_sigma_nam:7,out_text:5,addit:2,stat2:0,admin:[0,6,2],accordion:6,equal:[0,7,2,3],etc:[0,2,3,5,6,7],no_label:7,instanc:[6,7,5],grain:5,equat:5,comment:[0,1,5],walk:2,module_id:2,is_superus:2,compos:5,json:[0,2,3,4,5,6],treat:5,immedi:2,muddl:2,"091x":2,togeth:2,auth_us:[0,2],"15t17":2,present:[6,5],align:5,rectangular:7,computed_perc:3,yss:5,layer:0,old_email:2,almost:2,demo:7,site:[4,2],substanti:2,scienc:[6,2],cohort:6,welcom:6,sqrt:5,member:2,python:7,largest:2,s15v14_response_to_impulse_limit_cas:6,http:6,effect:[5,2],dai:[6,2],name_label_icon3:7,student:[0,1,2,3,4,6,7],countri:2,expand:6,center:[7,5],abtest:6,well:[6,2],exampl:[0,2,3,4,5,6,7],dyn_val_1:5,choos:2,undefin:[4,5],favorite_part:2,tags_arrai:0,usual:[0,5,2],lest:[7,5],paus:[6,4],obtain:7,distant:6,methan:7,prepend:5,demograph:2,web:[6,2],wed:6,parent_id:0,add:[5,2,6],book:[6,4],match:[6,5,3],gmt:4,draganddrop:7,pi_:7,piec:[0,6,2],punctuat:2,realiz:2,five:2,know:[6,2],press:6,password:2,insert:5,like:[0,5,7,2,6],success:4,unord:7,necessari:[5,2,6],problem_check:4,npoint:4,didn:[6,2],gradebook:3,"export":[1,2],pause_video:4,wonderwiki:6,proper:[6,7],guarante:2,mainli:5,lead:[6,5],avoid:4,leav:[6,2,3],overlai:5,p_sigma_star:7,mitx:[4,2],usag:7,host:6,slug:6,about:[0,1,2,6],rare:2,powerpoint:2,own:[5,2,6],automat:[5,7,2,3,6],assess:[6,2],guard:2,xyz987293487293847:6,ethglycol:7,merg:6,support:[0,6,2,3],trigger:[4,2],"var":5,deliveri:2,"03t04":6,subsum:6,bodi:[0,5],inlin:[6,5],bug:2,embargo:2,made:[0,6,4,2],whether:[6,4,7,2,3],wish:2,displai:[0,1,2,3,6],record:[4,2],below:[0,5,4,2,6],limit:2,otherwis:[7,2],problem:[0,1,2,3,4,6,7],"int":2,dure:[6,4,2],filenam:[6,4],updated_at:0,implement:[0,5],probabl:[6,2],tick:5,musubi:0,percent:5,detail:[6,4,2],other:[0,1,2,3,5,6,7],lookup:2,futur:[6,2],rememb:5,varieti:2,star:7,fulli:6,preform:5,stai:6,cow3_bad:7,dave:2,rule:7,hintmod:4,auto_cohort_group:6,invari:6},objtypes:{"0":"py:module"},titles:["Discussion Forums Data","edX Data Documentation","Student Info and Progress Data","Course Grading","Tracking Logs","XML format of graphical slider tool [xmodule]","Course XML Tutorial","XML format of drag and drop input [inputtypes]"],objnames:{"0":["py","module","Python module"]},filenames:["internal_data_formats/discussion_data","index","internal_data_formats/sql_schema","course_data_formats/grading","internal_data_formats/tracking_logs","course_data_formats/graphical_slider_tool/graphical_slider_tool","course_data_formats/course_xml","course_data_formats/drag_and_drop/drag_and_drop_input"]})
\ No newline at end of file
Search.setIndex({objects:{"":{poll_module:[10,0,1,""],conditional_module:[11,0,1,""],drag_and_drop_input:[9,0,1,""],xml_format_gst:[6,0,1,""]}},terms:{s_left:9,yellow:6,four:[8,9,3],num_point:6,whose:5,educ:2,under:7,preprocess:4,sha256:2,worth:[8,3],digit:[7,5,2],everi:[7,9,2,3],consecutive_days_visit_count:2,affect:[8,2],certificates_generatedcertif:2,school:2,math:[0,4,6],p_l:9,direct:3,second:[0,2,5,6,7,9,10],street:2,overall_messag:0,semest:7,chem:9,p_r:9,blue:[7,6],discussion_blackout:7,hide:[7,5],weren:2,target10:9,conduct:1,"new":[8,6,5,2,7],net:8,ever:8,metadata:[7,2],abov:[7,9,6,3],comment_thread_id:8,never:[8,7,2],here:[0,8,2,6,7,11],created_d:2,studio:[1,7],boron:9,untreated_men:6,path:9,enrol:[7,2],interpret:3,forum:[8,1,2,7],spotti:2,precis:[6,9,2],credit:7,permit:7,studi:[1,7],user_dragg:9,pdf_textbook:7,substr:6,unix:2,poll_answ:11,total:[8,1,2,3,6],unit:[7,6],dnd:9,describ:[1,9,2,7],would:[0,8,2,3,4,6,7],with_icon:9,date_join:2,call:[6,2,10,7],recommend:7,old_nam:2,type:[0,1,2,3,5,6,7,8,9],until:[7,2],show_calcul:7,relat:[7,2],award:3,warn:2,hold:[8,2],must:[0,2,3,6,7,9,11],htmlbook:7,join:7,"30t04":7,work:[1,9,2,6,7],"2012_fall":[7,2],conceptu:7,root:7,overrid:7,give:[7,2,3],gotopag:5,indic:[0,1,2,4,5,7,8],unavail:2,want:[8,2,3,6,7,9],david:2,end:[6,9,2,7],v_fb_2:9,how:[0,1,2,3,6,7,10],v_fb_1:9,answer:[0,8,2,5,7,9,10,11],widespread:2,ancestor:8,perspect:9,updat:[6,2],recogn:9,outsid:9,after:[6,9,2,7],lab:3,befor:[6,2,7],wrong:[9,2],sample_problem:2,averag:3,askbot:2,attempt:[7,5,9,11],third:[0,6,9,2,7],obsolet:[7,2],neglect:6,environ:7,enter:[0,4,2],order:[0,6,9,2,7],origin:[8,7,5],feedback:[0,5],bar_width:6,over:[6,9,2,7],fall:7,becaus:[8,6,9,2],privileg:[8,2],vari:7,textbox:6,smallint:2,uuid:2,img:[7,9],fix:[6,9,2],better:[7,2],wddi6qw:7,easier:7,descend:2,them:[8,6,2,7],anim:7,thei:[8,2,5,6,7,9],safe:6,rectangl:9,"break":[7,2],"1yk1a8":7,choic:10,oxygen:9,accommod:2,each:[0,8,2,3,5,6,7,9],debug:2,volcano:9,went:2,side:[8,7,9],bone:6,mean:[8,2,3,6,7,9],allow_certif:2,email_kei:2,vote:[8,10,11],p_right_3:9,p_right_2:9,coursewar:[8,1,2,7],goe:[0,6,2],content:[8,1,2,6,7],got:2,add_apples_and_orang:7,navig:[7,2],written:[8,1,2,3,6,7],free:2,standard:[7,6],table_of_cont:7,inok:6,untreat:6,fairli:7,unabl:10,confus:2,rang:6,render:[6,2,7],grade:[1,9,2,3,7],independ:6,restrict:2,instruct:2,alreadi:[7,5],primari:[8,2],cartesian:6,rewritten:7,problem_show:5,top:[8,6,9,2,7],sometim:[6,9,2],toi:7,master:2,too:[7,9,2],similarli:7,toc:7,namespac:7,tool:[1,6,7],took:2,cdata:[9,6],technic:[7,9,2],target:[1,9,2],warmup:7,provid:[0,7,9,6],tree:2,zero:7,matter:7,minut:[7,2],fashion:6,ran:2,modern:7,mind:2,raw:1,increment:9,seen:[8,7],lbl:6,latter:2,simple_random_sampl:5,course_survei:7,draggable_id:9,even:[8,6,9,2,7],though:[8,7,9,2],usernam:[5,2],object:[8,7,9,6],letter:[2,3],phase:[2,3],email_tag_filter_strategi:2,auto_cohort:7,dom:6,professor:3,flow:9,doe:[8,7,9,2,3],dummi:7,bracket:6,sum:0,dot:[7,6],random:[7,2],"_show_problem":5,radiu:6,syntax:[4,9,7],freeform:2,"0000ff":6,p_pi_1:9,p_pi_2:9,absolut:6,vnmrbpvwhu4:7,submit:2,explain:0,configur:[7,6],releas:2,peer_grad:5,folder:[7,9],selfassess:2,url_slug:7,intersect:9,label2:9,label3:9,target_id:9,report:9,recalcul:6,youtub:[7,5],earn:3,pearson:2,bar:[6,2,7],draggable_2:9,draggable_1:9,emb:7,"public":7,bad:2,ban:2,told:3,first_real_poll_seq_with_reset:11,l3_o:9,mandatori:6,result:[7,6],respons:[0,2,3,4,5,9],update_on:6,hash:[10,2],hammer:7,best:[7,9],awar:7,nytrogen:9,hopefulli:7,databas:[8,2],university_comparison:2,score:[2,3],"587z":8,drawn:[9,6],awai:[1,7],approach:2,attribut:[0,1,2,6,7,8,9,10,11],men:6,extend:9,xrang:6,condit:[1,2,11,7],is_attempt:11,carbon:9,easi:[7,6],cow:9,sumprob:7,howev:[8,6,2,7],against:[6,9,2],logic:[7,9],cow3_bad:9,login:2,browser:[6,5,9,2,7],com:7,height:[9,6],guid:7,assum:[7,3],modifi:2,three:[8,7,9,2],been:[6,2,3,7],computed_perc:3,much:[8,7,2],cereal:8,videodev:7,basic:[7,2],p_se:2,deeper:7,unordered_equ:9,xxx:7,uncommon:2,argument:0,"25x":7,child:[8,2,3],"catch":7,ant:9,ident:[4,9,7],explanatori:7,servic:7,properti:6,ffff00:6,calcium:9,calcul:6,dashboard:2,l15_problem_2:5,module_nam:2,sever:[0,6,3],mako:7,future_upd:2,incorrectli:0,receiv:8,suggest:7,make:[8,2,3,6,7,9],complex:[6,9,2],split:[6,2,3,7],complet:[7,2,3,11],fragil:7,sacramento:0,hand:7,codebas:2,unicorn:7,require_complet:7,thu:7,inherit:7,client:9,thi:[0,1,2,3,4,6,7,8,9,10,11],everyth:[7,6],left:[7,9,6],identifi:[7,5,9,2,10],gbw_wqe7rdc:7,just:[8,6,2,7],photo:7,ordin:9,grader:[7,9,3],human:9,yet:[7,2],languag:2,expos:[7,2],had:[8,4,2],els:[0,6,9,2,7],save:2,hat:7,applic:2,u_d:9,quirk:2,filesytem:7,capa:4,measur:2,specif:[8,1,2,5,6,7,9],arbitrari:[7,2],manual:2,remind:2,course_url_nam:7,www:7,right:[6,9,2,7],page_label:7,interv:7,excerpt:9,maxim:6,percentag:3,preprocessorclassnam:4,intern:[1,2,6,7],download_uuid:2,indirect:7,bottom:6,t10:9,"400px":6,foo:7,bold:6,plot:6,confer:2,repositori:7,peer:2,post:[8,7],"super":4,chapter:[7,2,3],hide_from_toc:7,surround:6,ddthh:5,produc:[1,7],aha:7,"float":[6,5,2,7],encod:[8,7,5],bound:9,down:[8,9,3],wrap:6,old:[7,5,10],a_readonli:6,wai:[0,8,2,6,7,9],rerandom:7,download_url:2,"class":2,avail:[6,5,2,3,7],width:[9,6],acknowledg:7,lowest:3,form:[0,2,5,6,7,9],altogeth:2,"true":[0,8,2,3,6,7,9,10,11],reset:[7,10],your_course_dir:7,maximum:9,tell:[9,6],"20px":6,unrel:2,featur:[4,9],choiceprob:7,textbook:[1,7],inputtyp:[1,9],exist:[8,7,9],subforum:7,label_bg_color:9,check:[0,7,5,9,2],readonli:6,tip:[1,7],refactor:2,role:2,test:[7,2],node:2,intend:7,consid:[9,3],helperfunc:6,femal:2,longer:[8,2],anywher:[9,2],sigma:9,tinyint:2,ignor:2,time:[8,2,5,6,7,9,10],backward:7,mathrm:6,chain:9,t5_c:9,is_act:2,row:2,hierarch:7,decid:[6,2,7],middl:[9,2],depend:[8,6,5,2,11],zone:7,graph:[7,6],readabl:9,yunit:6,lec27_q1:11,bar_align:6,sourc:[1,5,11],string:[0,8,2,5,6,7,9],asymptot:6,customrespons:[0,1,9],days_early_for_beta:7,exact:9,cohorted_discuss:7,orbital_singl:9,hour:7,p_sigma_star_nam:9,level:[8,7,9,2,3],did:[7,2],item:2,team:2,div:6,round:[6,3],dir:7,rubric:5,upper:9,improvement_lectur:2,sign:2,t2_h:9,run:[8,7,2],mydiscuss:7,ormsbe:2,appear:[8,7,9,2],repli:8,showansw:7,v_ub_2:9,v_ub_1:9,current:[2,3,4,5,6,7,9],ampersand:7,dropdown:2,autogener:10,gener:[0,8,2,3,4,5,6,7,11],satisfi:7,target8:9,target9:9,target6:9,target7:9,target4:9,target5:9,target2:9,target3:9,target1:9,male:2,queue:6,problemfoo:7,nextpag:5,extrem:6,t9_o:9,orient:1,semant:[7,2],elect:2,extra:[6,2,7],modul:[8,1,2,3,6,7,10,11],prefer:[7,9,2],video_resourc:7,visibl:[7,11],univers:2,visit:5,todai:7,everybodi:2,live:7,value2:7,msg:[0,5],prev:6,capit:0,peopl:[1,2,7],visual:[7,3],accept:0,examin:2,easiest:7,graphic:[1,6],tagsd:6,cap:8,uniqu:[8,2,6,7,9,10],descriptor:7,can:[0,8,2,3,6,7,9,10,11],purpos:[7,2],nearest:3,agent:5,topic:7,drawer:7,hydrogen:9,occur:[8,3],alwai:[8,7,2],multipl:[0,6,9,2,7],get:[8,2,3,5,6,7,9],write:[0,6,9,2],anyon:7,pure:7,familiar:2,xhtml:0,anyof:9,map:[6,9,2,11,7],max:6,dive:7,usabl:9,xtick:6,bear:2,date:[7,2],underscor:7,data:[8,1,5,2,6],man:[10,11],practic:2,"_hide_problem":5,up_and_down:9,inform:[1,2,7],"switch":7,combin:[7,3],modified_d:2,superscript:4,student_courseenrol:2,orbital_doubl:9,correct_dragg:9,approv:2,still:[8,7,2,3],pointer:7,dynam:[6,2],group:[7,9,2],v_fb_3:9,polici:[8,1,2,3,7],platform:[1,7],main:[7,9,6,11,10],non:7,tab_titl:7,profession:2,initi:[6,2],now:[8,7,9],discuss:[8,1,2,7],introduct:[1,7],term:7,name:[2,3,5,6,7,9,10],config:7,drop:[1,9,2,3],"600x_l5_p8":8,"21t03":8,separ:[6,5,2,11,7],url_name1:7,url_name2:7,domain:[6,2],pdfbook:7,replac:[6,2,7],individu:[0,7,9],group_0:9,significantli:2,"05t12":7,happen:2,shown:[2,3,5,6,7,9],accomplish:7,space:6,formula:[6,3],correct:[0,8,5,9,2],"50px":6,migrat:2,california:0,avi_resourc:11,org:[8,7,2],"byte":[8,2],reusabl:9,departur:7,refus:7,thing:[7,6],place:[6,9,2,7],loncapa:[0,9],nicknam:2,imposs:6,first:[0,8,2,3,6,7,9,10,11],oper:[9,2],directli:[7,6],onc:[7,2,3],arrai:7,harvardx:5,fast:2,oppos:7,open:[8,9,2,3],size:[4,9,2],given:[6,2,3,7],convent:[7,2],citi:2,necessarili:7,circl:6,hub:6,especi:7,copi:7,circumst:2,specifi:[8,1,2,3,6,7,9,10,11],mostli:2,than:[0,8,2,6,7,9],png:[7,9],wide:7,dormsbe:2,were:[8,7,5,2],posit:[6,9,2],supplementari:2,pxxx:7,correct_map:5,seri:7,pre:7,analysi:2,sai:7,pri:2,ani:[0,8,2,3,6,7,9,10,11],dash:9,breakfast:8,saw:2,el_id:6,mislead:3,engin:[6,2],squar:6,notpass:2,drag_and_drop_input:9,note:[8,2,3,6,7,9],ideal:7,selfassessment_03c483062389:2,take:[6,2,3],xxxxxx:5,green:[7,6],"15px":6,noth:[9,6],begin:[0,6,2,7],sure:[7,9],pain:4,normal:[6,9,2],track:[1,5,2,6,7],beta:7,pair:[7,9],problem_id:5,icon:[7,9,2],latex:4,course_nam:7,closet:7,later:[8,2],typeset:6,script:[0,1,2,4],axi:6,preambl:7,p001:7,show:[8,2,3,5,6,7,11],permiss:2,hack:2,threshold:3,corner:9,label:[6,9,2],drop_count:3,xml:[0,1,6,7,9,10,11],onli:[0,8,2,3,6,7,9],activ:[8,6,2],behind:8,dict:9,test_1:11,nearli:2,variou:[1,7],check_func:0,secondari:2,repo:7,cannot:2,min_count:3,requir:[6,9,2,11,7],reveal:2,p_left_1:9,p_left_3:9,p_left_2:9,s_sigma:9,where:[2,5,6,7,9,11],summari:2,wiki:7,unweight:2,is_staff:2,problemset:[7,2],infinit:7,powerpoint:2,enumer:2,"60px":6,forecast:3,answer_span_1:6,enough:[9,2],between:[6,2,3,7],"import":[0,6,2,3,7],"18t15":2,across:2,assumpt:7,parent:[8,7,9],come:[7,9,2],tue:7,ispubl:7,tutori:[1,7],mani:[6,9,2,10],check2:0,check3:0,check1:0,color:6,overview:7,period:[7,2],colon:7,course_id:[8,2],typic:[7,2],poll:[1,10,11],student_id:2,mark:[0,8],comment_count:8,"abstract":[1,7],bookindex:7,problem1:3,repres:[8,6,5,2,7],former:2,those:[8,1,2,3,6,7],"case":[8,1,2,3,6,7,9,11],cast:8,invok:6,graphical_slider_tool:6,margin:6,anytim:7,some_url_nam:7,canon:2,worri:3,blah:7,url_nam:7,fpbw:7,develop:[1,2,7],doctor:2,fu3fcjns94i:5,same:[8,2,3,6,7,9],epoch:2,html:[6,2,11,7],pad:6,document:[0,1,2,3,4,7,8],breakdown:[2,3],finish:2,nest:[8,7,9],someon:2,extern:7,appropri:[7,2],moder:[8,7],inconsist:2,disable_policy_graph:7,markup:[0,7],without:[6,9,2,3,7],model:7,symbolicrespons:4,first_question_with_reset:10,execut:0,when:[8,2,3,5,6,7,9,10],treated_men:6,speed:[7,5],display_nam:[7,9,10,3,11],hint:[0,5],currenttim:5,except:[7,6,3,10],param:6,pile:9,exercis:2,pow:6,earli:[7,2],around:9,read:7,world:7,integ:[7,5,2],server:[7,5],benefit:7,seq_next:5,either:[0,7,9,2,3],output:[4,6],manag:[7,2],yyyi:5,group_rul:9,module_id:2,definit:[6,2,3,7],achiev:6,exit:6,dynam_lbl:6,mathcal:4,refer:[6,2,7],event_typ:5,broken:7,found:[7,2,3],ph207x:5,discussion_categori:7,src:7,teach_e:2,meaning:[7,2],degre:2,commentthread:[8,1],bond:9,elementari:2,"75x":7,terminolog:2,s_sigma_star:9,strip:6,your:[0,8,2,6,7,10,11],unconvent:2,log:[1,5,2],target_outlin:9,area:6,graceperiod:7,start:[8,6,2,7],interfac:[1,9,7],submiss:[9,2],strictli:1,reset_problem:5,tupl:2,conclus:2,"29t04":7,notat:6,possibl:[6,2,3,10,7],"default":[6,9,2,3,7],bucket:5,queuestat:5,show_countri:2,pbkdf2:2,grass:9,connect:[9,6],texbox:6,creat:[0,2,6,7,9,10],certain:[7,2],deep:8,fellow:8,decreas:6,file:[8,1,2,3,5,7],lcao:9,rearrang:2,fill:[7,9,2],incorrect:[0,5,9],again:[0,9,2],googl:7,prepend:6,field:[8,1,2,5,6,7],valid:[0,4,6,7],collis:5,p_right_1:9,you:[0,1,2,4,6,7,8,9,10,11],"1bk":7,architectur:1,"_type":8,sequenc:[8,7,5,2,3],symbol:[4,7],oe_feedback_response_select:5,philosoph:7,directori:[7,5],descript:[7,9,6,11,10],potenti:3,represent:[7,2],all:[0,8,2,3,5,6,7,9,10],illustr:7,abil:7,follow:[0,1,2,3,4,7,8,9,10,11],children:[6,2],disable_auto_return:6,program:[7,2],present:[7,6],woman:10,fals:[0,8,2,6,7,9,10,11],ytick:6,mechan:[7,2],attr1:7,veri:[6,2,7],longtext:2,list:[0,8,2,4,5,6,7,9],last_nam:2,small:9,dimens:9,customtag:7,tex:6,rate:2,design:[9,2],pass:[6,2,11,7],excit:7,what:[0,8,2,4,6,7,9],sub:[4,3,7],z1y4vdycy0izkopeihtpcldxmby1ogdk:7,section:[8,1,2,3,6,7,9],abl:[7,2],brief:7,delet:2,version:[7,9,2],last_login:2,succinct:7,deepli:[8,7],method:[7,11],hasn:2,full:[8,2,5,6,7,9],themselv:[9,2],week_0:7,behaviour:9,grading_polici:[7,3],less18:10,inher:7,strong:2,"17t12":7,legend:6,valu:[0,8,2,3,5,6,7,9,10,11],search:[1,2,7],prior:7,amount:6,action:2,via:[7,5,2],berkeleyx:8,transit:2,deprec:[7,2],href:7,select:[7,5,2],up_count:8,"02t04":7,distinct:[7,2],two:[0,8,2,3,6,7,9],user_answ:9,taken:8,homework:[2,3],max_grad:[2,3],more:[8,2,5,7,9,11],desir:[7,9],tester:7,datetim:2,line:[0,7,9,6],flag:[7,2],particular:[0,7,2],known:2,l10_o:9,none:[6,5,2,7],valuabl:7,hous:7,outlin:9,"6002x_fall_2012_overview":7,histori:7,remain:6,learn:2,edx4edx:7,def:0,"002x_fall_2012_overview":7,prompt:[5,2],necesari:6,share:[8,1,7],templat:7,minimum:6,poni:7,cours:[8,1,2,3,5,7,9],goal:[1,2,7],first_nam:2,rather:[0,7],anoth:[8,6,9,2,7],reject:2,simpl:[6,9,2,3,7],css:[7,6],regener:2,t10_h:9,resourc:7,referenc:[6,2,7],variant:4,reflect:6,catalog:5,cow3:9,"600px":6,associ:2,preprocessorsrc:4,"short":[9,2],onto:9,created_at:8,author:[1,7],django:2,caus:[2,11],ending_at:2,beginning_at:2,answer_given:0,help:[7,3],soon:7,mathjax_for_prevalence_calc:6,through:[8,2],error_reason:2,hierarchi:[7,2],paramet:[7,5,6],p2q6brnhdh8:7,style:[4,5,6,7],videosequ:[7,2],brows:8,might:[7,2,3],good:[0,7,8],"return":[0,7,9,6],timestamp:[8,2],framework:2,somebodi:8,dnew:6,complain:7,eventu:2,troubleshoot:8,easili:[7,9],name_with_icon:9,innodb:2,truthi:7,fulli:7,unicod:2,week:[7,2],weight:[1,2,3,6],monoton:8,idea:[8,7,2],realli:[7,2],functon:6,expect:[0,2,3,4,6,7],energi:9,todo:[7,2],event:[1,5,6],research:[1,2],occurr:6,end_of_course_survey_url:7,proxi:2,guess:7,labl:6,reason:[7,2],base:[6,9,2,7],put:[0,6,2,7],teach:2,earliest:2,prefac:7,thread:8,my_custom_tag:7,omit:[7,6],circuit:2,assign:[7,9,6,3],cfn:0,prevent:[8,6,2],exchang:8,number:[8,2,3,5,6,7,9,10,11],numericalrespons:3,scriptn_b:4,done:[6,2,7],construct:9,blank:2,stabl:7,miss:[6,3],fanci:4,differ:[6,9,2,10,7],l8_c:9,exponenti:4,interact:[0,1,5,2],least:[6,3],commentable_id:8,statement:6,molecular:7,store:[8,1,5,2,7],schema:2,option:[8,6,9,2,7],relationship:6,part:[8,4,2,7],pars:[7,9,6],kind:[6,2,7],remot:7,remov:2,horizont:[6,2,7],jqueri:6,reus:9,toward:7,randomli:2,highest_degre:2,comput:[7,3],packag:[7,2],group_dragg:9,"null":[5,2],imagin:2,built:2,images_list:9,correct_answ:9,also:[6,9,2,3,7],build:7,p_oth:2,brace:7,signup:2,courseware_studentmodul:2,previou:2,reach:[7,3],most:[8,7,9,2],plai:5,plan:[4,2],amaz:8,last_activity_at:8,bug:2,clear:6,cohort_config:7,clean:9,draggables_1:9,i4x:[5,2,11],alphanumer:[7,2],session:[5,2],particularli:2,homework1:3,fine:6,find:[7,3],copyright:7,l1_c:9,solut:[7,2],future_off:2,factor:[6,3],tartget1:9,embargo:2,express:[4,7],nativ:2,wrinkl:7,banner:2,p_pi_star_2:9,p_pi_star_1:9,oe_show_respond_to_feedback:5,rounded_perc:3,timelimit:2,sigma_:9,common:[1,5,3,7],wrote:8,certif:[1,2,3,7],set:[0,2,3,6,7,9,11],art:7,creator:2,see:[8,2,5,6,7,9,11],bare:6,close:[8,6,5,2,7],analog:7,someth:[4,2,6,7],html_textbook:7,page_clos:5,won:2,subscript:4,experi:2,altern:6,isod:8,numer:[6,2],javascript:[5,6],short_label:3,succeed:0,solv:7,popul:[6,9,2],both:[8,7,6],anonymous_to_p:8,last:[0,8,2,6,7,9],alon:2,foreign:2,textlin:[0,4],roman:2,context:[0,2],pdf:[7,2],author_id:8,whole:6,load:[7,2],markdown:8,simpli:[7,6],point:[8,6,2,3,7],address:[5,2],"000x":11,littl:[7,2],mistak:7,can_reus:9,along:[4,2,6],backend:2,vertic:[6,2,3,7],user_id:2,due:[7,2],empti:[8,5,9,2],sinc:[8,7,2],s_sigma_star_nam:9,endnot:7,imag:[7,9],coordin:[9,6],understand:[7,9,2,3],ignored_tag:2,instructor:[8,6,2,7],convers:8,look:[7,2],s_right:9,straight:7,batch:2,"while":[7,2],smart:2,behavior:[7,9],error:[7,2],anonym:[8,5],display_tag_filter_strategi:2,subsect:7,improvement_textbook:2,readi:7,key2:7,jpg:[7,9],itself:[6,9,2,7],pset:[7,3],"00x":[8,5],dedic:7,downvot:8,shirt:7,minim:6,belong:[7,2],lenient:7,your_m_utx_yss:6,conflict:7,higher:7,book_url:7,moment:2,course_fold:9,user:[0,1,2,5,6,7,8,9],stack:2,recent:2,sha1:2,gst:6,older:7,entri:[7,2],p_sigma_nam:9,one_per_target:9,person:[9,2],picki:[0,7],elev:2,self:2,explan:2,cous:7,course_set:7,staff_grad:[7,5],mysql:[8,2],regardless:3,thees:9,cut:2,theoret:2,rgb:9,mailing_address:2,input:[0,1,4,5,6,9,10,11],varchar:2,format:[0,1,2,3,5,6,7,9,10,11],molecul:9,a_b:4,bit:[4,7],formal:7,implemen:2,signal:7,collect:[8,2],"boolean":[8,7,5,2],xunit:6,group_id:9,"10_25":10,sketch:7,subhead:7,often:[7,2],spring:[7,2],some:[8,1,2,3,4,6,7,9,10,11],back:[9,2],global:0,sampl:7,toy_video:7,rubric_select:5,l15:5,per:[8,7,9],draggagg:9,mathemat:6,larg:[7,9,6],slash:7,machin:[7,2],patient:6,step:[9,6],prerequisit:7,meantim:7,symbolic_mathjax_preprocessor:4,p_pi_star_nam:9,constraint:[9,2],auth_userprofil:2,materi:[7,9,2],upvot:8,problem_check:5,countri:2,block:2,cutoff:3,level_of_educ:2,real:7,primarili:[1,2,7],irrit:7,within:[0,2,3,5,6,7,9],xticks_nam:6,span:6,spam:8,question:[0,8,2,3,7,10,11],"long":[7,9,2],custom:[7,6],includ:[8,2,3,4,6,7,9,10,11],forward:[7,2],accomodation_cod:2,myfunc:6,properli:[6,2,7],drummond_combin:6,link:[1,2,11,6,7],translat:6,atom:9,don:[6,9,2,7],yticks_nam:6,junior:2,info:[1,2,7],utc:[8,7,2],utf:[8,2],consist:[7,3],your_f_utx_yss:6,seq_goto:5,similar:[6,2,7],impl:7,constant:6,problem3:7,problem2:[7,3],doesn:[7,2],lectur:[8,7,2],"char":2,flot:6,course_run:7,titl:[8,7],sequenti:[7,2],declar:[6,3],librari:6,moco:8,nice:6,mongodb:[8,2],drag:[1,9],xqa_kei:7,unaffect:7,orbit:9,notion:3,depth:7,play_video:5,came:2,far:2,scroll:7,prototyp:2,code:[0,6,5,2,7],partial:4,onreset:7,future_class:2,edu:2,edx:[8,1,5,2,7],your_f_tx_yss:6,event_sourc:5,elsewher:[1,7],friendli:[7,2],sens:[7,2],draggabl:9,sent:2,at_position_list:8,electron:9,stackoverflow:8,untouch:2,relev:6,gender:[10,2],button:7,"try":[0,7,8],thiscours:7,require_attempt:7,chap2:7,chap1:7,second_quest:10,marri:6,pleas:[0,7,9,2,3],impli:2,smaller:9,natur:6,jump:[7,5],video:[7,5,2,11],accomod:2,download:[7,2],click:[9,2],append:7,compat:7,index:[7,2],compar:9,access:[6,2,7],secret_pag:7,mathjax:6,whatev:8,xmodul:[1,6,11,10],chose:6,"7ae_tkgabwa":7,bachelor:2,let:[7,2],course_num:2,becom:[7,9,11],implicit:6,convert:6,survei:[7,2],b_x__d:4,chang:[6,9,2,3,7],control:6,heart:8,appli:[0,6,9,2],combinedopenend:2,api:[1,6],revot:10,avatar_typ:2,cloud:9,from:[8,2,5,6,7,9,10],commun:7,doubl:[7,2],next:[7,5,9,6],commut:4,sort:8,course_info:7,trail:7,name4:9,rare:2,iii:7,women:6,save_problem_check:5,account:2,retriev:3,unenrol:2,obvious:7,verify_uuid:2,numericalrepons:3,malform:7,t6_c:9,tar:5,process:[6,5,2,3,7],"002x":[7,2],loco:8,high:[8,2],tag:[0,1,2,6,7,8,9,10,11],tab:[1,2,7],t4_h:9,img1:9,subdirectori:7,instead:[8,6,2,7],sin:6,frac:6,stop:2,year_of_birth:2,add30min:2,essenti:[9,6],correspond:[8,2,3,5,6,7],element:[8,2,5,6,7,9],issu:2,allow:[0,8,2,4,5,6,7,9],elig:3,move:[7,9,6],comma:[7,6],"6002x_exit_respons":2,t3_h:9,textbook_1:7,"02x":2,textbook_2:7,date_of_birth:2,external_link:7,therefor:6,advertised_start:7,generatedcertif:2,handl:[7,9,6],overal:0,show_answ:5,handi:7,anyth:[8,7,2],edit:[8,7,6],plot_label:6,slide:[7,6],t8_h:9,"10px":6,beneath:0,consum:1,meta:2,"static":[1,7,9,6,4],our:[8,1,2,7],tenth:2,special:[6,2,7],out:[7,9,2],variabl:[0,4,11,7],s_r:9,oe_show_full_feedback:5,categori:[8,7,5,2],module_typ:2,rel:[6,9,2,3],s_l:9,red:6,clarifi:7,p_pi_nam:9,insid:[8,6,9,2,7],book1:7,book2:7,dictionari:[0,7,8,2],tempt:6,enrollment_end:7,afterward:2,t1_o:9,indent:0,could:[8,7,2,3],ask:[8,2],keep:[7,2],aren:7,length:[7,9,2],enforc:2,t7_h:9,organiz:7,endors:8,"2013_spring":[8,7],mai:[0,2,5,6,7,9],prioriti:2,secret_video:7,unknown:[0,6],system:[1,2,3,6,7,10],messag:[0,11],attach:[8,9,6],attack:8,"final":[1,2,3],slider:[1,9,6],exactli:3,haven:7,structur:[8,1,7],charact:[4,2,6,7],reposit:6,deliveri:2,auto_incr:2,fail:3,have:[0,8,2,3,6,7,9],tabl:[1,2,7],need:[4,9,2,6,7],interesting_tag:2,"07t11":2,min:6,mix:6,group_target:9,which:[2,5,6,7,9,11],mit:2,singl:[7,9,6,3,11],unless:2,who:[8,1,2,3,5,6,9],why:7,url:[8,7,5,9,2],gather:2,request:[6,5,2],absurd:9,determin:[6,2],"_id":8,fact:[7,2],platon:7,text:[8,2,6,7,9,10],addhalftim:2,watch:5,input_list:0,bedroom:7,staff:[8,7,2],inlin:[7,6],locat:[1,5,2,11,7],enrollment_start:7,should:[1,9,2,6,7],suppos:[9,2],local:7,hope:2,meant:[8,6],dependenti:5,per_stud:7,chapter5:7,chapter4:7,chapter7:7,chapter6:7,chapter1:7,chapter3:7,chapter2:7,mul:2,increas:[8,6],htmlchapter:7,enabl:7,organ:[7,5,2],down_count:8,y_2:6,y_1:6,grai:9,integr:[7,2],contain:[0,8,2,3,5,6,7,9,11],your_m_tx_yss:6,view:[7,2],symbolicmathjaxpreprocessor:4,knowledg:7,custom_tag:7,statu:2,correctli:0,pattern:7,tend:2,favor:2,state:[1,5,2,7],progress:[1,2,3,7],email:2,exam:[7,2,3],kei:[7,5,9,2],dynamic_mathjax:6,static_tab:7,moving_label:6,pdfchapter:7,job:0,entir:[0,2],s_sigma_nam:9,out_text:6,addit:[7,2],stat2:8,admin:[8,7,2],accordion:7,equal:[0,8,9,2,3],etc:[8,2,3,6,7,9,11],no_label:9,instanc:[7,9,6,11],grain:6,equat:6,comment:[8,1,6],walk:2,respect:3,is_superus:2,compos:6,json:[8,2,3,5,6,7],treat:6,immedi:2,muddl:2,"091x":2,togeth:[7,2],auth_us:[8,2],"15t17":2,"15t12":7,align:6,rectangular:9,defin:[8,3,6,7,9,10],yss:6,is_complet:11,layer:8,old_email:2,almost:2,demo:9,site:[5,2],substanti:2,revis:4,scienc:[7,2],cohort:7,welcom:7,sqrt:6,member:2,python:[0,1,9],largest:2,s15v14_response_to_impulse_limit_cas:7,spell:2,http:7,effect:[6,2],dai:[7,2],name_label_icon3:9,student:[0,1,2,3,5,7,8,9],uni:2,expand:7,center:[9,6],abtest:7,well:[0,7,2],exampl:[0,8,2,3,4,5,6,7,9,10,11],dyn_val_1:6,choos:2,undefin:[5,6],favorite_part:2,tags_arrai:8,usual:[8,6,2],lest:[9,6],paus:[7,5],obtain:9,distant:7,methan:9,simultan:7,demograph:2,web:[7,2],wed:7,parent_id:8,add:[6,2,7],other:[0,1,2,3,6,7,8,9],match:[7,6,3],gmt:5,orbital_tripl:9,draganddrop:9,varieti:2,piec:[8,7,2],punctuat:2,realiz:2,five:2,know:[7,2],press:7,password:2,insert:6,resid:9,like:[8,6,9,2,7],success:5,unord:9,necessari:[6,9,2,7],page:[1,5,2,3,7],npoint:5,didn:[7,2],gradebook:3,"export":[1,2],pause_video:5,wonderwiki:7,proper:[7,9],guarante:2,mainli:6,lead:[7,6],avoid:5,overlap:9,leav:[7,2,3],overlai:6,p_sigma_star:9,mitx:[5,2,11],usag:9,symlink:11,host:7,offset:9,slug:7,panel:7,about:[0,1,8,2,7],actual:[8,6,9,2,7],disabl:[7,6],own:[6,2,7],automat:[6,9,2,3,7],assess:[7,2],guard:2,xyz987293487293847:7,ethglycol:9,merg:7,support:[8,4,2,3,7],trigger:[5,2],inner:[9,10],"var":6,"function":[0,7,6,3,10],"03t04":7,subsum:7,bodi:[8,6],ear:9,eat:8,count:[8,7],made:[8,7,5,2],whether:[0,2,3,5,7,9],wish:2,displai:[0,1,2,3,7,8,10],record:[5,2],below:[8,2,5,6,7,9],limit:[9,2],otherwis:[9,2],problem:[0,1,2,3,4,5,7,8,9,11],"int":[0,2],dure:[7,5,2],filenam:[7,5],updated_at:8,implement:[8,6],poll_quest:[10,11],probabl:[7,2],tick:6,musubi:8,percent:6,detail:[7,5,2],book:[7,5],lookup:2,futur:[7,2],rememb:6,pi_:9,more25:10,star:9,p_sigma:9,preform:6,stai:7,dave:2,rule:9,hintmod:5,auto_cohort_group:7,invari:7,textbook_icon:7},objtypes:{"0":"py:module"},titles:["CustomResponse XML and Python Script","edX Data Documentation","Student Info and Progress Data","Course Grading","Symbolic Response","Tracking Logs","XML format of graphical slider tool [xmodule]","Course XML Tutorial","Discussion Forums Data","XML format of drag and drop input [inputtypes]","Xml format of poll module [xmodule]","Xml format of conditional module [xmodule]"],objnames:{"0":["py","module","Python module"]},filenames:["course_data_formats/custom_response","index","internal_data_formats/sql_schema","course_data_formats/grading","course_data_formats/symbolic_response","internal_data_formats/tracking_logs","course_data_formats/graphical_slider_tool/graphical_slider_tool","course_data_formats/course_xml","internal_data_formats/discussion_data","course_data_formats/drag_and_drop/drag_and_drop_input","course_data_formats/poll_module/poll_module","course_data_formats/conditional_module/conditional_module"]})
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment