Class ::xowf::IpRange |
|
Class representing a range of IPs to be used to enforce access
control. |
Class ::xowf::test_item::Answer_manager |
|
Public API:
- create_workflow
- delete_all_answer_data
- allow_answering
- get_answer_wf
- get_wf_instances
- get_answer_attributes
- student_submissions_exist
- runtime_panel
- render_answers_with_edit_history
- render_answers
- marked_results
- answers_panel
- exam_results
- grading_table
- grading_scheme
- grade
- participants_table
- get_duration
- get_IPs
- revisions_up_to
- last_time_in_state
- last_time_switched_to_state
- state_periods
- time_window_setup
- waiting_room_message |
Class ::xowf::test_item::AssessmentInterface |
|
Abstract class for common functionality |
Class ::xowf::test_item::Question_manager |
|
This code manages questions and the information related to a
current (selected) question via qthe "position" instance
attribute. |
Class ::xowf::test_item::Renaming_form_loader |
|
Form loader that renames "generic" form-field-names as provided
by the test-item form-field classes (@answer@) into names based
on the form name, such that multiple of these form names can be
processed together without name clashes. |
Class ::xowf::test_item::grading::Grading |
|
Superclass representing a generic grading |
Class ::xowf::test_item::grading::GradingNone |
|
Grading scheme, which omits grading at all. |
Class ::xowf::test_item::grading::GradingRoundNone |
|
Implements a grading with no special rounding. |
Class ::xowf::test_item::grading::GradingRoundPercentage |
|
Implements a grading expressed as a rounded percentage |
Class ::xowf::test_item::grading::GradingRoundPoints |
|
Implements a grading expressed as a rounded number of points |
Class ::xowiki::formfield::TestItemField |
|
Abstract class for defining common attributes for all Test Item
fields. |
Class ::xowiki::formfield::test_item |
|
Wrapper for composite test items, containing specification for
minutes, grading scheme, feedback levels, handling different types
of questions ("interactions" in the terminology of QTI). |
Class ::xowiki::formfield::test_item_name |
|
Name sanitizer for test items |
Class ::xowiki::includelet::countdown-timer |
|
Countdown timer |
Class ::xowiki::includelet::exam-top-includelet |
|
This is the top includelet for the in-class exam, containing a
countdown timer and the personal notifications includelet |
xowf::IpRange instproc allow_access |
|
Check, if provided IP address is in the provided ranges of
disallowed or allowed addresses. |
xowf::Package instproc destroy |
|
remove mixin |
xowf::Package instproc initialize |
|
Add mixin ::xowf::WorkflowPage to every FormPage. |
xowf::Package proc create_new_workflow_page |
|
Helper proc for loading workflow prototype page with less effort. |
xowf::WorkflowPage instproc answer_is_correct |
|
Check, if answer is correct based on "answer" and "correct_when"
attributes of form fields and provided user input. |
xowf::WorkflowPage instproc call_action |
|
Call the specified action in the current workflow instance. |
xowf::WorkflowPage instproc call_action_foreach |
|
Call the specified action for each of the specified pages denoted
by the list of page names |
xowf::WorkflowPage instproc childpage |
|
Return the child page of the current object with the provided
name. |
xowf::WorkflowPage instproc footer |
|
Provide a tailored footer for workflow definition pages and
workflow instance pages containing controls for instantiating
forms or providing links to the workflow definition. |
xowf::WorkflowPage instproc get_action_obj |
|
Check if the action can be executed in the current state,
and if so, return the action_obj. |
xowf::WorkflowPage instproc get_revision_sets |
|
Return a list of ns_sets containing revision_id, creation_date,
creation_user, creation_ip, and state for the current workflow
instance. |
xowf::WorkflowPage instproc is_wf |
|
Check, if the current page is a workflow page (page, defining a workflow) |
xowf::WorkflowPage instproc is_wf_instance |
|
Check, if the current page is a workflow instance (page, referring to a workflow) |
xowf::WorkflowPage instproc post_process_dom_tree |
|
post-process form in edit mode to provide feedback in feedback mode |
xowf::WorkflowPage instproc post_process_form_fields |
|
Propagate the feedback mode setting of this workflow page to the
supplied formfields. |
xowf::WorkflowPage instproc render_form_action_buttons |
|
Render the defined actions in the current state with submit buttons |
xowf::WorkflowPage instproc render_form_action_buttons_widgets |
|
With the given set of buttons, produce the HTML for the button
container and the included inputs. |
xowf::WorkflowPage instproc render_icon |
|
Provide an icon or text for describing the kind of application. |
xowf::WorkflowPage instproc render_thumbnails |
|
Renderer of the thumbnail file(s) |
xowf::WorkflowPage instproc schedule_action |
|
Schedule the specified action for the current workflow instance at
the given time. |
xowf::WorkflowPage instproc schedule_job |
|
Schedule the specified Tcl command for the current package
instance at the given time. |
xowf::WorkflowPage instproc solution_set |
|
Compute solution set in form of attribute=value pairs
based on "answer" attribute of form fields. |
xowf::WorkflowPage instproc stats_record_count |
|
Record that the specified question was used. |
xowf::WorkflowPage instproc stats_record_detail |
|
Record the stat detail of the question. |
xowf::WorkflowPage instproc wf_context |
|
Return for a workflow page the workflow context object. |
xowf::WorkflowPage instproc www-edit |
|
Hook for editing workflow pages |
xowf::WorkflowPage instproc www-view |
|
Provide additional view modes:
- edit: instead of viewing a page, it is opened in edit mode
- view_user_input: show user the provided input
- view_user_input_with_feedback: show user the provided input with feedback |
xowf::test_item::Answer_manager instproc allow_answering |
|
Tell if specified IP address is allowed to answer the exam. |
xowf::test_item::Answer_manager instproc answer_form_field_objs |
|
Instantiate the form_field objects of the provided form based on
form_info. |
xowf::test_item::Answer_manager instproc answers_panel |
|
Produce HTML code for an answers panel, containing the number
of participants of an e-assessment and the number of
participants, who have already answered. |
xowf::test_item::Answer_manager instproc countdown_timer |
|
Accepted formats for target_time, determined by JavaScript
ISO 8601, e.g. |
xowf::test_item::Answer_manager instproc create_workflow |
|
Create a workflow based on the template provided in this
method for answering the question for the students. |
xowf::test_item::Answer_manager instproc delete_all_answer_data |
|
Delete all instances of the answer workflow |
xowf::test_item::Answer_manager instproc delete_scheduled_atjobs |
|
Delete previously scheduled atjobs
ns_log notice "#### delete_scheduled_atjobs" |
xowf::test_item::Answer_manager instproc exam_results |
|
Return results either as HTML table, as HTML chart or as
csv. |
xowf::test_item::Answer_manager instproc export_answer |
|
Export the provided question and answer in GNU rectuil format. |
xowf::test_item::Answer_manager instproc get_IPs |
|
Get the IP addresses for the given revision set. |
xowf::test_item::Answer_manager instproc get_answer_attributes |
|
Extracts wf instances as answers (e.g., extracting their
answer-specific attributes) |
xowf::test_item::Answer_manager instproc get_answer_wf |
|
return the workflow denoted by the property wfName in obj |
xowf::test_item::Answer_manager instproc get_duration |
|
Get the duration from a set of revisions and return a dict
containing "from", "fromClock","to", "toClock", "seconds", and
"duration". |
xowf::test_item::Answer_manager instproc get_exam_results |
|
Retrieve a property value from the exam statistics result
page. |
xowf::test_item::Answer_manager instproc get_wf_instances |
|
get_wf_instances: return the workflow instances |
xowf::test_item::Answer_manager instproc grading_dialog_setup |
|
Define the modal dialog and everything necessary for reusing
this dialog for multiple occasions. |
xowf::test_item::Answer_manager instproc grading_scheme |
|
Return the grading scheme object based on the provided short
name. |
xowf::test_item::Answer_manager instproc grading_table |
|
Produce HTML markup based on a dict with grades as keys and
counts as values. |
xowf::test_item::Answer_manager instproc last_time_in_state |
|
Loops through revision sets and retrieves the latest date
where state is equal the specified value. |
xowf::test_item::Answer_manager instproc last_time_switched_to_state |
|
Loops through revision sets and retrieves the latest date
where state is equal the specified value. |
xowf::test_item::Answer_manager instproc marked_results |
|
Return for every participant the individual results for an exam |
xowf::test_item::Answer_manager instproc participants_table |
|
This method returns an HTML table containing a row for every
participant with Name and short summary information. |
xowf::test_item::Answer_manager instproc prevent_multiple_tabs |
|
Prevent answering the same survey from multiple, concurrently
open tabs. |
xowf::test_item::Answer_manager instproc recutil_create |
|
Create recfile |
xowf::test_item::Answer_manager instproc render_answers |
|
Return the answers in HTML format in a somewhat printer
friendly way, e.g. |
xowf::test_item::Answer_manager instproc render_answers_with_edit_history |
|
Analyze the student submissions an find situations, where input
is "cleared" between revisions and return the HTML rendering. |
xowf::test_item::Answer_manager instproc results_table |
|
Render the results in format of a table and return HTML. |
xowf::test_item::Answer_manager instproc revisions_up_to |
|
Return the revisions of the provided revision set up the
provided revision_id. |
xowf::test_item::Answer_manager instproc runtime_panel |
|
Return statistics for the provided object in the form of HTML:
- minimal statistics: when view default
- statistics with clickable revisions: when view = revision_overview
- per-revision statistics: when view = revision_overview and revision_id is provided |
xowf::test_item::Answer_manager instproc set_exam_results |
|
ns_log notice "SES '$property' bytes [string length $value]" |
xowf::test_item::Answer_manager instproc state_periods |
|
Return for the provided revision_sets the time ranges the
workflow was in the provided state. |
xowf::test_item::Answer_manager instproc student_submissions_exist |
|
Returns 1 if there are student submissions. |
xowf::test_item::Answer_manager instproc time_window_setup |
|
Check the provided time_window values, adjust it if necessary,
and make sure, according atjobs are provided. |
xowf::test_item::Answer_manager instproc waiting_room_message |
|
Renders the waiting room message, including the JavaScript
reacting to actions from the backend. |
xowf::test_item::AssessmentInterface instproc render_feedback_files |
|
Render feedback files which are children of the submit
instances. |
xowf::test_item::Question_manager instproc add_seeds |
|
Add property "seed" to the provided object, consisting of a
list of the specified number of random values starting with a
base seed. |
xowf::test_item::Question_manager instproc aggregated_form |
|
Compute an aggregated form (containing potentially multiple
questions) based on the chunks available in question_infos. |
xowf::test_item::Question_manager instproc combined_question_form |
|
For the provided assessment, return a combined question_form
as a single (combined) form, containing the content of all
question forms. |
xowf::test_item::Question_manager instproc current_question_form |
|
Return the current form object of the provided assessment. |
xowf::test_item::Question_manager instproc current_question_number |
|
Translate the position of an object into its question number
(as e.g. |
xowf::test_item::Question_manager instproc current_question_obj |
|
Load the current question obj based on the current question
name. |
xowf::test_item::Question_manager instproc current_question_title |
|
In case, with_numbers is provided, return a internationalized
title for the question, such as "Question 1". |
xowf::test_item::Question_manager instproc describe_form |
|
Call for every form field of the form_obj the "describe"
method and return these infos in a form of a list. |
xowf::test_item::Question_manager instproc disallow_paste |
|
This function changes the form_constraints of the provided
form object by adding "paste=false" properties to textarea or
text_fields entries. |
xowf::test_item::Question_manager instproc disallow_spellcheck |
|
This function changes the form_constraints of the provided
form object by adding "spellcheck=false" properties to textarea or
text_fields entries. |
xowf::test_item::Question_manager instproc disallow_translation |
|
This function disallows translation of the full page by
setting the HTML5 "translate" attribute of the body to "no". |
xowf::test_item::Question_manager instproc exam_base_time |
|
Calculate the exam base time for a student. |
xowf::test_item::Question_manager instproc exam_configuration_modifiable_field_names |
|
Return the names of the modifiable field names in the current
state. |
xowf::test_item::Question_manager instproc exam_configuration_popup |
|
Render the exam configuration popup, add it as a
content_header (to avoid putting it to the main workflow form,
since nested FORMS are not allowed) and return the rendering
of the button for popping-ip the configuration modal. |
xowf::test_item::Question_manager instproc exam_info_block |
|
Provide a summative overview of an exam. |
xowf::test_item::Question_manager instproc exam_target_time |
|
Calculate the exam target time (finishing time) based on the
duration of the exam plus the provided base_time (which is in
the format returned by SQL) |
xowf::test_item::Question_manager instproc get_pool_questions |
|
Obtain for the specs in the pool_question_obj potential
replacement items in form of a replacement dict. |
xowf::test_item::Question_manager instproc goto_page |
|
ns_log notice "===== goto_page $position"
Set the position (test item number) of the workflow
(exam). |
xowf::test_item::Question_manager instproc hint_boxes |
|
Render the hint boxes (feedback and correction notes) for a
question object. |
xowf::test_item::Question_manager instproc initialize |
|
Initialize the question manager for a certain workflow
instance. |
xowf::test_item::Question_manager instproc item_substitute_markup |
|
Substitute everything item-specific in the text, including
markup (handling e.g. |
xowf::test_item::Question_manager instproc load_question_objs |
|
Load the question objects for the provided question names and
return the question objs. |
xowf::test_item::Question_manager instproc minutes_string |
|
Get an attribute of the original question |
xowf::test_item::Question_manager instproc more_ahead |
|
Return true, when this is for the current user not the last
question. |
xowf::test_item::Question_manager instproc nth_question_form |
|
Return the question_info of the nth form (question) of the
assessment. |
xowf::test_item::Question_manager instproc nth_question_obj |
|
Return the nth question object of an assessment (based on
position). |
xowf::test_item::Question_manager instproc pagination_actions |
|
Create actions used for pagination. |
xowf::test_item::Question_manager instproc percent_substitute_in_form |
|
Perform percent substitution in the provided HTML,
form_constraints and disabled_form_constraints and return the
result as a dict. |
xowf::test_item::Question_manager instproc points_string |
|
Get an attribute of the original question |
xowf::test_item::Question_manager instproc question_count |
|
Return the number questions in an exam. |
xowf::test_item::Question_manager instproc question_info |
|
Returns a dict containing "form", "title_infos",
"form_constraints" "disabled_form_constraints"
"randomization_for_exam" "autograde" and "question_objs". |
xowf::test_item::Question_manager instproc question_info_block |
|
Provide question info block. |
xowf::test_item::Question_manager instproc question_names |
|
Return the names of the questions of an assessment. |
xowf::test_item::Question_manager instproc question_objs |
|
For the provided assessment object, return the question
objects in the right order, depending on the shuffle_id. |
xowf::test_item::Question_manager instproc question_property |
|
Get an attribute of the original question |
xowf::test_item::Question_manager instproc question_statistics_block |
|
When we have results, we can provide statistics |
xowf::test_item::Question_manager instproc question_summary |
|
Provide a summary of all questions of an exam. |
xowf::test_item::Question_manager instproc questions_without_minutes |
|
Compute the number of questions without provided time |
xowf::test_item::Question_manager instproc replace_pool_question |
|
|
xowf::test_item::Question_manager instproc replace_pool_questions |
|
Replaces all pool questions for the exam by random items. |
xowf::test_item::Question_manager instproc shuffled_index |
|
Return the shuffled index position, in case shuffling is turned on. |
xowf::test_item::Question_manager instproc total_minutes |
|
Compute the duration of an exam based on the form_info dict. |
xowf::test_item::Question_manager instproc total_minutes_for_exam |
|
Compute the total time of an exam, based on the minutes
provided by the single questions. |
xowf::test_item::Question_manager instproc total_points |
|
Compute the maximum achievable points of an exam based on the
form_info dict. |
xowf::test_item::Renaming_form_loader instproc answer_attributes |
|
Return all form-loader specific attributes from
instance_attributes. |
xowf::test_item::Renaming_form_loader instproc answer_for_form |
|
Return answer for the provided formName from
instance_attributes of a single object. |
xowf::test_item::Renaming_form_loader instproc answers_for_form |
|
Return a list of dicts for the provided formName from the
answers (as returned from [answer_manager get_answer_attributes ...]). |
xowf::test_item::Renaming_form_loader instproc form_name_based_attribute_stem |
|
Produce from the provided 'formName' an attribute stem for the
input fields of this form. |
xowf::test_item::Renaming_form_loader instproc name_to_question_obj_dict |
|
Produce a dict for attribute name to question_obj |
xowf::test_item::Renaming_form_loader instproc rename_attributes |
|
Perform attribute renaming in the provided form_obj and return
this form_obj. |
xowf::test_item::grading::Grading instproc grading_dict |
|
Important dict members of "achieved_points":
- achievedPoints: points that the student has achieved in her exam
- achievablePoints: points that the student could have achieved so far
- totalPoints: points that the student can achieve when finishing the exam
achieved_points: {achievedPoints 4.0 achievablePoints 4 totalPoints 4}
percentage_mapping: {50.0 60.0 70.0 80.0}
While "achievedPoints" and "achievablePoints" are calculated by
iterating over the submitted values, "totalPoints" contains
the sum of points of all questions of the exam, no matter if
these were answered or not. |
xowf::test_item::grading::Grading instproc print |
|
Return a dict containing the members "panel" and "csv"
depending on the type of rounding options |
xowf::test_item::grading::GradingNone instproc grade |
|
No grading scheme defined, return grading 0. |
xowf::test_item::grading::GradingRoundNone instproc grade |
|
Return a numeric grade for an exam submission based with no
special rounding (2 digits). |
xowf::test_item::grading::GradingRoundPercentage instproc grade |
|
Return a numeric grade for an exam submission based on rounded
percentage. |
xowf::test_item::grading::GradingRoundPoints instproc grade |
|
Return a numeric grade for an exam submission based on rounded
points. |
xowf::test_item::grading::load_grading_schemes |
|
Load the actual grading scheme objects defined for the package_id
and parent_id. |