Commit c4398585 by Will Daly

Update messages in authoring UI

Remove unsupported assessment configurations
Set default dates to something reasonable.
parent 08a5800a
......@@ -5,7 +5,7 @@
<div class="openassessment_editor_content_and_tabs">
<div id="openassessment_editor_header">
<h6 id="oa_editor_window_title" class="title modal_window_title" >{% trans "Component: Open Response Problem" %}</h6>
<h6 id="oa_editor_window_title" class="title modal_window_title" >{% trans "Open Response Assessment" %}</h6>
<ul class="editor_modes action_list action_modes editor_tabs">
<li class="view-button oa_editor_tab"><a href="#oa_settings_editor_wrapper">{% trans "Settings" %}</a></li>
<li class="view-button oa_editor_tab"><a href="#oa_rubric_editor_wrapper">{% trans "Rubric" %}</a></li>
......@@ -46,7 +46,7 @@
<label
for="openassessment_submission_start_date"
class="setting-label">
{% trans "Submission Start Date" %}
{% trans "Response Start Date" %}
</label>
<input
type="text"
......@@ -59,7 +59,7 @@
<label
for="openassessment_submission_start_time"
class="setting-label">
{% trans "Submission Start Time" %}
{% trans "Response Start Time" %}
</label>
<input
type="text"
......@@ -68,14 +68,14 @@
value="{{ submission_start|utc|date:"H:i" }}"
>
</div>
<p class="setting-help">{% trans "The date at which submissions will first be accepted." %}</p>
<p class="setting-help">{% trans "The date and time when students can begin submitting responses." %}</p>
</li>
<li class="openassessment_date_editor field comp-setting-entry">
<div class="wrapper-comp-setting">
<label
for="openassessment_submission_due_date"
class="setting-label">
{% trans "Submission Due Date" %}
{% trans "Response Due Date" %}
</label>
<input
type="text"
......@@ -88,7 +88,7 @@
<label
for="openassessment_submission_due_time"
class="setting-label">
{% trans "Submission Due Time" %}
{% trans "Response Due Time" %}
</label>
<input
type="text"
......@@ -97,25 +97,25 @@
value="{{ submission_due|utc|date:"H:i" }}"
>
</div>
<p class="setting-help">{% trans "The date at which submissions will stop being accepted." %}</p>
<p class="setting-help">{% trans "The date and time when students can no longer submit responses." %}</p>
</li>
<li id="openassessment_sumbission_image_wrapper" class="field comp-setting-entry">
<div class="wrapper-comp-setting">
<label for="openassessment_submission_image_editor" class="setting-label">{% trans "Allow Image Submissions"%}</label>
<label for="openassessment_submission_image_editor" class="setting-label">{% trans "Allow Image Responses"%}</label>
<select id="openassessment_submission_image_editor" class="input setting-input" name="image submission">
<option value="0">{% trans "Disabled"%}</option>
<option value="1" {% if allow_file_upload %} selected="true" {% endif %}>{% trans "Enabled"%}</option>
<option value="0">{% trans "False"%}</option>
<option value="1" {% if allow_file_upload %} selected="true" {% endif %}>{% trans "True"%}</option>
</select>
</div>
<p class="setting-help">{% trans "If enabled, students will be able to submit an image along with their open response." %}</p>
<p class="setting-help">{% trans "Specify whether students can submit an image file along with their text response." %}</p>
</li>
</ul>
<p class="openassessment_description" id="openassessment_step_select_description">
{% if 'example_based_assessment' in editor_assessments_order %}
{% trans "In this assignment, you can include example based assessment, student training, peer assessment, and self assessment steps. Select the steps that you want below, and then drag them into the order that you want. If you include an example based assessment step, it must be the first step. If you include a student training step, it must precede the peer assessment step." %}
{% trans "In this assignment, you can include steps for student training, peer assessment, self assessment, and example based assessment. Select the steps that you want below, and then drag them into the order that you want. If you include an example based assessment step, it must precede all other steps. If you include a student training training step, it must precede peer and self assessment steps." %}
{% else %}
{% trans "In this assignment, you can include student training, peer assessment, and self assessment steps. Select the steps that you want below, and then drag them into the order that you want. If you include a student training step, it must precede the peer assessment step." %}
{% trans "In this assignment, you can include steps for student training, peer assessment, and self assessment. Select the steps that you want below, and then drag them into the order that you want. If you include a student training step, it must precede all other steps." %}
{% endif %}
</p>
<ol id="openassessment_assessment_module_settings_editors">
......
......@@ -37,7 +37,7 @@
</ul>
<div class="openassessment_criterion_add_option openassessment_option_header">
<h2>{% trans "Add Another Option"%}</h2>
<h2>{% trans "Add Option" %}</h2>
</div>
<div class="openassessment_criterion_feedback_wrapper wrapper-comp-settings">
......@@ -45,9 +45,9 @@
<li class="field comp-setting-entry">
<div class="wrapper-comp-setting">
<label class="setting-label">
{% trans "Criterion Feedback" %}
{% trans "Feedback for This Criterion" %}
<select class="openassessment_criterion_feedback input setting-input">
<option value="disabled">{% trans "Disabled" %}</option>
<option value="disabled">{% trans "None" %}</option>
<option value="optional" {% if criterion_feedback == "optional" %} selected="true" {% endif %}>{% trans "Optional" %}</option>
<option value="required" {% if criterion_feedback == "required" %} selected="true" {% endif %}>{% trans "Required" %}</option>
</select>
......
......@@ -13,7 +13,7 @@
</p>
<div id="ai_assessment_settings_editor" class="assessment_settings_wrapper {% if not assessments.example_based_assessment %} is--hidden {% endif %}">
<p class="openassessment_description">
{% trans "Enter one or more sample responses that you've created, together with the scores you would give those responses. Be sure to format the responses and scores according to the placeholder text below. The algorithm assesses students' responses by comparing them to the sample responses and scores that you provide."%}
{% trans "Enter one or more sample responses that you've created, and then specify the options that you would choose for each criterion in your rubric. Note that you must add your rubric to the Rubric tab before you can complete this step." %}
</p>
<textarea id="ai_training_examples">{{ assessments.example_based_assessment.examples }}</textarea>
</div>
......
......@@ -14,7 +14,7 @@
</p>
<div id="peer_assessment_settings_editor" class="assessment_settings_wrapper {% if not assessments.peer_assessment %} is--hidden {% endif %}">
<p class="openassessment_description">
{% trans "Specify the following values for the peer assessment step. The numeric grading requirements must be given a value." %}
{% trans "Specify the following values for the peer assessment step." %}
</p>
<ul class="list-input settings-list">
<li class="field comp-setting-entry">
......@@ -22,14 +22,14 @@
<label for="peer_assessment_must_grade" class="setting-label">{% trans "Must Grade" %}</label>
<input id="peer_assessment_must_grade" class="input setting-input" type="number" value="{{ assessments.peer_assessment.must_grade }}" min="0" max="99">
</div>
<p class="setting-help">{% trans "Each student must assess this number of peer responses in order to recieve a grade."%}</p>
<p class="setting-help">{% trans "Specify the number of peer assessments that each student must complete."%}</p>
</li>
<li class="field comp-setting-entry">
<div class="wrapper-comp-setting">
<label for="peer_assessment_graded_by" class="setting-label"> {% trans "Graded By" %}</label>
<input id="peer_assessment_graded_by" class="input setting-input" type="number" value="{{ assessments.peer_assessment.must_be_graded_by }}" min="0" max="99">
</div>
<p class="setting-help">{% trans "Each response must be assessed by at least this many students in order to tabulate a score."%}</p>
<p class="setting-help">{% trans "Specify the number of students who must assess each response."%}</p>
</li>
<li class="field comp-setting-entry">
<div class="wrapper-comp-setting">
......@@ -50,7 +50,7 @@
value="{{ assessments.peer_assessment.start|utc|date:"H:i" }}"
>
</div>
<p class="setting-help">{% trans "Specify a start date for the peer assessment period." %}</p>
<p class="setting-help">{% trans "Enter the date and time when students can begin assessing peer responses." %}</p>
</li>
<li class="field comp-setting-entry">
<div class="wrapper-comp-setting">
......@@ -71,7 +71,7 @@
value="{{ assessments.peer_assessment.due|utc|date:"H:i" }}"
>
</div>
<p class="setting-help">{% trans "Specify a due date for the peer assessment period." %}</p>
<p class="setting-help">{% trans "Enter the date and time when all peer assessments must be complete." %}</p>
</li>
</ul>
</div>
......
......@@ -11,7 +11,7 @@
<div id="openassessment_rubric_instructions">
<p class="openassessment_description">
{% trans "For open response problems, assessment is rubric-based. Rubric criterion have point breakdowns and explanations to help students with peer and self assessment steps. For more information on how to build your rubric, see our online help documentation."%}
{% trans "Rubrics are made up of criteria, which usually contain one or more options. Each option has a point value. This template contains two sample criteria and their options. Replace the sample text with your own text. For more information, see the ORA documentation." %}
</p>
</div>
......@@ -23,22 +23,22 @@
<div id="openassessment_rubric_add_criterion">
<h6>
{% trans "Add Another Criterion" %}
{% trans "Add Criterion" %}
</h6>
</div>
<div id="openassessment_rubric_feedback_wrapper" class="wrapper-comp-settings">
<div id="openassessment_rubric_feedback_header">
<span>{% trans "Rubric Feedback" %}</span>
<span>{% trans "Feedback for This Response" %}</span>
</div>
<ul class="list-input settings-list">
<li class="field comp-setting-entry">
<div class="wrapper-comp-setting" id="openassessment_rubric_feedback_input_wrapper">
<label for="openassessment_rubric_feedback" class="setting-label">{% trans "Feedback Direction" %}</label>
<label for="openassessment_rubric_feedback" class="setting-label">{% trans "Feedback Instructions" %}</label>
<textarea id="openassessment_rubric_feedback" class="input setting-input">{{ feedbackprompt }}</textarea>
</div>
<p class="setting-help">
{% trans "If you would like your students to be able to provide feedback on the rubric, add a prompt to ask them for it." %}
{% trans "Encourage your students to provide feedback on the response they've graded. You can replace the sample text with your own." %}
</p>
</li>
......
......@@ -14,7 +14,7 @@
</p>
<div id="self_assessment_settings_editor" class="assessment_settings_wrapper {% if not assessments.self_assessment %} is--hidden {% endif %}">
<p class="openassessment_description">
{% trans "Specify start and due dates for the self assessment step. To allow self assessment to run as long as the assignment is open, leave both fields blank." %}
{% trans "Specify start and due dates for the self assessment step." %}
</p>
<ul class="list-input settings-list">
<li class="field comp-setting-entry">
......@@ -36,7 +36,7 @@
value="{{ assessments.self_assessment.start|utc|date:"H:i" }}"
>
</div>
<p class="setting-help">{% trans "Specify a start date for the self assessment period." %}</p>
<p class="setting-help">{% trans "Enter the date and time when students can begin assessing their responses." %}</p>
</li>
<li class="field comp-setting-entry">
<div class="wrapper-comp-setting">
......@@ -57,7 +57,7 @@
value="{{ assessments.self_assessment.due|utc|date:"H:i" }}"
>
</div>
<p class="setting-help">{% trans "Specify a due date for the self assessment period." %}</p>
<p class="setting-help">{% trans "Enter the date and time when all self assessments must be complete." %}</p>
</li>
</ul>
</div>
......
......@@ -11,11 +11,11 @@
<div class="openassessment_assessment_module_editor">
<p id="student_training_description_closed" class="openassessment_description_closed {% if assessments.student_training %} is--hidden {% endif %}">
{% trans "Students learn to assess responses by scoring pre-assessed sample responses that the instructor provides. Students move to the next step when the scores they give match the instructor's scores. Note that Student Training Requires that the Peer Assessment module is also selected." %}
{% trans "Students learn to assess responses by scoring pre-assessed sample responses that you provide. Students move to the next step when the scores they give match your scores. Note that if you add this step, you must also add a peer assessment step. This step must come before the peer assessment step." %}
</p>
<div id="student_training_settings_editor" class="assessment_settings_wrapper {% if not assessments.student_training %} is--hidden {% endif %}">
<p class="openassessment_description">
{% trans "Enter one or more sample responses that you've created, together with the scores you would give those responses. Be sure to format the responses and scores according to the placeholder text below." %}
{% trans "Enter one or more sample responses that you've created, and then specify the options that you would choose for each criterion in your rubric. Note that you must add your rubric to the Rubric tab before you can complete this step." %}
</p>
<ol id="openassessment_training_example_list">
{% for example in assessments.training.examples %}
......@@ -23,7 +23,7 @@
{% endfor %}
</ol>
<div id="openassessment_add_training_example">
<h2 class='openassessment_add_training_example'>{% trans "Add Scored Response" %}</h2>
<h2 class='openassessment_add_training_example'>{% trans "Add Sample Response" %}</h2>
</div>
</div>
......
......@@ -7,7 +7,7 @@
<i class="icon-caret-down ui-toggle-expansion"></i>
</a>
<h6 class="openassessment_training_example_header_title">
{% blocktrans %} Scored Response {% endblocktrans %}
{% trans "Scored Response" %}
</h6>
<div class="openassessment_training_example_remove">
<h2>{% trans "Remove" %}</h2>
......@@ -16,7 +16,7 @@
<div class="openassessment_training_example_body">
<div class="openassessment_training_example_scored_rubric wrapper-comp-settings">
<h2>{% trans "Scored Rubric" %}</h2>
<h2>{% trans "Response Score" %}</h2>
<ol class="openassessment_training_example_criteria_selections list-input settings-list">
{% for criterion in example.criteria %}
{% if criterion.options %}
......
......@@ -66,15 +66,17 @@ DEFAULT_RUBRIC_FEEDBACK_PROMPT = """
(Optional) What aspects of this response stood out to you? What did it do well? How could it improve?
"""
DEFAULT_EXAMPLE_ANSWER = """
(optional) Replace this text with your own sample response for this assignment. Below, list the names of the criteria for this assignment, and then specify the name of the option that you would select for this response. Students will learn to assess responses by assessing this response and comparing the rubric options that they select with the rubric options that you specified.
DEFAULT_EXAMPLE_ANSWER = (
"Replace this text with your own sample response for this assignment. "
"Then, under Response Score to the right, select an option for each criterion. "
"Students learn to assess responses by assessing this response and comparing "
"the options that they select in the rubric with the options that you specified."
)
If you don't want to provide sample responses and scores, delete the entire 'assessment name="student-training"' element.
"""
DEFAULT_EXAMPLE_ANSWER_2 = """
(optional) Replace this text with another sample response, and then specify the options that you would select for this response below. To provide more sample responses, copy an "example" element and paste as many as you want before the closing "assessment" tag.
"""
DEFAULT_EXAMPLE_ANSWER_2 = (
"Replace this text with another sample response, "
"and then specify the options that you would select for this response."
)
DEFAULT_STUDENT_TRAINING = {
"name": "student-training",
......@@ -110,20 +112,24 @@ DEFAULT_STUDENT_TRAINING = {
]
}
DEFAULT_START = "2001-01-01T00:00"
DEFAULT_DUE = "2029-01-01T00:00"
# The Default Peer Assessment is created as an example of how this XBlock can be
# configured. If no configuration is specified, this is the default assessment
# module(s) associated with the XBlock.
DEFAULT_PEER_ASSESSMENT = {
"name": "peer-assessment",
"start": None,
"due": None,
"start": DEFAULT_START,
"due": DEFAULT_DUE,
"must_grade": 5,
"must_be_graded_by": 3,
}
DEFAULT_SELF_ASSESSMENT = {
"name": "self-assessment",
"due": None,
"start": DEFAULT_START,
"due": DEFAULT_DUE,
}
DEFAULT_ASSESSMENT_MODULES = [
......
......@@ -100,12 +100,12 @@ class OpenAssessmentBlock(
"""Displays a prompt and provides an area where students can compose a response."""
submission_start = String(
default=None, scope=Scope.settings,
default=DEFAULT_START, scope=Scope.settings,
help="ISO-8601 formatted string representing the submission start date."
)
submission_due = String(
default=None, scope=Scope.settings,
default=DEFAULT_DUE, scope=Scope.settings,
help="ISO-8601 formatted string representing the submission due date."
)
......
......@@ -72,8 +72,8 @@ OpenAssessment.StudentTrainingListener.prototype = {
if (criterionAdded) {
this.displayAlertMsg(
gettext("Criterion Addition requires Training Example Updates"),
gettext("Because you added a criterion, student training examples will have to be updated.")
gettext("Criterion Added"),
gettext("You've added a criterion. You'll need to select an option for the criterion in the Student Training step. To do this, click the Settings tab.")
);
}
},
......@@ -119,8 +119,8 @@ OpenAssessment.StudentTrainingListener.prototype = {
if (invalidated) {
this.displayAlertMsg(
gettext("Option Deletion Led to Invalidation"),
gettext("Because you deleted an option, some student training examples had to be reset.")
gettext("Option Deleted"),
gettext("You've deleted an option. The system has removed that option from its criterion in the sample responses in the Student Training step. You may have to select a new option for the criterion.")
);
}
},
......@@ -151,8 +151,8 @@ OpenAssessment.StudentTrainingListener.prototype = {
if (changed) {
this.displayAlertMsg(
gettext("Option Deletion Led to Invalidation"),
gettext("The deletion of the last criterion option caused the criterion to be removed in the student training examples.")
gettext("Option Deleted"),
gettext("You've deleted all the options for this criterion. The system has removed the criterion from the sample responses in the Student Training step.")
);
}
},
......@@ -178,8 +178,8 @@ OpenAssessment.StudentTrainingListener.prototype = {
if (changed) {
this.displayAlertMsg(
gettext("Criterion Deletion Led to Invalidation"),
gettext("Because you deleted a criterion, there were student training examples where the criterion had to be removed.")
gettext("Criterion Deleted"),
gettext("You've deleted a criterion. The system has removed the criterion from the sample responses in the Student Training step.")
);
}
},
......
......@@ -65,7 +65,6 @@ def _is_valid_assessment_sequence(assessments):
['student-training', 'peer-assessment'],
['student-training', 'peer-assessment', 'self-assessment'],
['student-training', 'self-assessment', 'peer-assessment'],
['self-assessment', 'student-training', 'peer-assessment'],
['example-based-assessment'],
['example-based-assessment', 'self-assessment'],
['example-based-assessment', 'peer-assessment'],
......@@ -74,7 +73,6 @@ def _is_valid_assessment_sequence(assessments):
['example-based-assessment', 'student-training', 'peer-assessment'],
['example-based-assessment', 'student-training', 'peer-assessment', 'self-assessment'],
['example-based-assessment', 'student-training', 'self-assessment', 'peer-assessment'],
['example-based-assessment', 'self-assessment', 'student-training', 'peer-assessment'],
]
sequence = [asmnt.get('name') for asmnt in assessments]
......
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