12.4. Add a Content Experiment in OLX#

You work with multiple XML files to configure a content experiment. This section steps through the files involved in a content experiment that shows different content to two different groups of learners.

12.4.1. Define the Content Experiment in the Sequential File#

You reference a content experiment in the file for the subsection, or sequential, in the sequential directory. For example:

...
<vertical url_name="name for the unit that contains the A/B test" display_name="A/B Test Unit">
    <split_test url_name="name of A/B test file in the split_test folder"/>
</vertical>
.....

The <split_test> element’s url_name value references the name of the content experiment file in the split_test directory.

Caution

You can only define a content experiment in a unit, or vertical, in which different collections of components are associated with different experiment groups. You cannot define a content experiment at a subsection (sequential) or section (chapter) level and have different units or subsections associated with different groups.

12.4.2. Define the Experiment Content in the Split Test File#

After you define the content experiment in the sequential file, you define the course content you want to test in the file in the split_test directory. This is the file referenced in the <split_test> element in the sequential file, as shown above.

In the content experiment file, you add elements for the experiment content. For this example, you add two <vertical> elements to compare the two different sets of content.

<split_test url_name="AB_Test.xml" display_name="A/B Test" user_partition_id="0"
            group_id_to_child='{"0": "i4x://path-to-course/vertical/group_a",
                                "1": "i4x://path-to-course/vertical/group_b"}'>
    <vertical url_name="group_a" display_name="Group A">
       <html>Welcome to group A.</html>
       <video url_name="group_a_video"/>
    </vertical>
    <vertical url_name="group_b" display_name="Group B">
        <html>Welcome to group B.</html>
        <problem display_name="Checkboxes">
            <p>A checkboxes problem presents checkbox buttons for learner input.
               Learners can select more than one option presented.</p>
            <choiceresponse>
                <checkboxgroup label="Select the answer that matches">
                    <choice correct="true">correct</choice>
                    <choice correct="false">incorrect</choice>
                    <choice correct="true">correct</choice>
                </checkboxgroup>
            </choiceresponse>
        </problem>
    </vertical>
</split_test>

In this example:

  • The user_partition_id value references the ID of the experiment defined in the policy.json file.

  • The group_id_to_child value references the IDs of the groups defined in the policy.json file and maps the group IDs to specific content.

    For example, the value for group 0, i4x://path-to- course/vertical/group_a, maps to the <vertical> element with the url_name equal to group_a. Therefore, learners in group 0 see the content in that vertical.

For information about the policy.json file, see Set Up Group Configuration for OLX Courses.