• last updated 16 hours ago
Constraints: committers
Constraints: files
Constraints: dates
Added edit-workflows for test items: edit-interaction.wf

This change eases tailorization of actions of editing workflow

and makes it possible to address all types of testitems via

a single term

-form en:edit-interaction.wf

instead of having to enumerate the relevant types explicitly as

it was before

-form en:TestItemText.form|en:TestItemShortText.form|en:TestItemMC.form|en:TestItemSC.form|...

For backward compatibility, the old enumeration is kept for a while. New test

items should be created over the new workflow, as e.g. in

{entry -name New.Item.TextInteraction -form en:edit-interaction.wf -query p.item_type=Text}

  1. … 8 more files in changeset.
added participants list to inclass exam

  1. … 4 more files in changeset.
- test-items: added ordering item type (short_text_interaction)

- simplified code by using ':get_named_sub_component_value -from_repeat ...'

- refetch site-wide pages, when the source code of the site-wide pages changes.

- bumped version number to 5.10.0d16

  1. … 13 more files in changeset.
ensure menu variable is set for the case that no answers are available

- new assessment workflow for in-class exam



- Defined common superclass for Assessments (AssessmentInterface) to

provide common infrastucture (assertion methods), and define other

interface classes as subclasses (Renaming_form_loader,

Answer_manager, Question_manager).

- extended message keys

- new prototype pages:












- Defined to following pages as site-wide:

Package site_wide_pages {













- Ensure availability of site-wide pages at startup

of server.

- bumped version number to 5.10.0d15

  1. … 23 more files in changeset.
improve documentation

reduce verbosity

  1. … 1 more file in changeset.
don't poll in "initial" or "created" state

- foster standardized message keys for menu entries

- provide message key for interaction types

  1. … 4 more files in changeset.
- added public method "result_table"

- added "back" button to result table and exam protocol

fix handling of return_url for www-delete.

- distinguish between item_nr (for displaying item number) and position (from available items)

- provide hint for clearning menu

- activate live updates for online exam

  1. … 2 more files in changeset.
print-answers: sort answers by username

improve example menu in comment to include a separater after items

  1. … 1 more file in changeset.
improve internationalization

  1. … 3 more files in changeset.
verworked test-item procs:

- new teacher-paced inclass quiz

- support for different shuffling options (never, always, per-user)

- support for subsections (single and multiple choice, short text questsion)

- support for answer hints for short text questions (single word, multiple words, ...)

- new API for question and answers for student-paced and

teacher-paced scenarios using on the following objects

* renaming_form_loader

- answer_attributes

- answer_for_form

- answers_for_form

- form_name_based_attribute_stem

- get_form_object

- rename_attributes

* question_manager

- goto_page

- more_ahead

- current_question_form

- current_question_obj

- current_question_name

- current_question_title

- nth_question_obj

- nth_question_form

- combined_question_form

- question_objs

- question_names

- question_property

* answer_manager

- create_workflow

- delete_all_answer_data

- get_answer_wf

- get_wf_instances

- get_answers

- marked_results

- answers_panel

- special policies for workflows, defined as per-workflow policies.

- improved i18n

- improved styling

  1. … 9 more files in changeset.
add fingerprinting to results

  1. … 1 more file in changeset.
- form-generator.css: based on former myform.css, substantially revamped

(to be used together with form field classes in test-item-procs)

- test-item classes:

* feedback_level extended to "full", "single", or "none"

middle is new for a single feedback per item

* shuffling support with 3 modes ("none", "peruser", "always").

can be used for shuffling MC questions and text_entry questions (short-text),

and in future for all "enumeration" based question types.

* new question type "mc2", shuffling multiple choice question,

fully stylable via CSS (old question type "mc" can still be used for the

time being)

* ease styling for all test-item types by added explicit wrappers

* factor out "renaming_form_loader" from online-exam*.wf (including

support methods)

- online-exam*.wf:

* fix broken behavior with shared workflow definitions when closing/opening

exams and student tried interactions. Previous code did dynamic changes in

the shared definition (probably more to come).

* used factored out renaming_form_loader

* cleanup of old code

- removed low-level rewriting of <textarea>, <input> fields, etc.

- removed dead code

- removed hard-coded stylings

- bumb version number to 5.10.0d10

  1. … 6 more files in changeset.
factor out CSS for test-items:

new file: /resources/xowf/test-item.css

  1. … 2 more files in changeset.
deactivate html hacking (replace textarea by "p") since rendering is

broken due to bootstrap's "form-control" class

fix workflow such these work as well with shared workflow definitons

  1. … 1 more file in changeset.
- overhaul of online-exam:

- support for new question types

* text_interaction

* text_entry_interaction

* mc interacotpm

- support for autocorrection feedback in print-out (first version)

based on "correct_when" (this is per tield-type, also extensible)

currently 9 types of predicates, "btwn" (heißt "zwischen"),

eq, ne, gt, ge, lt, le, match, in

- fully internationlaized

- todo:

* better support for mc,

* submission certificates for students (comtaining a digest)

* percentage grading

* export for potential post-processing of results

* improved styling

  1. … 1 more file in changeset.
improve spelling

  1. … 14 more files in changeset.
modernize code: use resolver variables rather than method calls

  1. … 14 more files in changeset.
fix item_ref for backward compatibility

improve spelling

  1. … 13 more files in changeset.
added print-answers to the externally callable methods

Fix typo

  1. … 1 more file in changeset.
rework online-exam.wf and online-exam-answer.wf to support shared workflow definition

  1. … 1 more file in changeset.
Add Feature: Shared Workflow Definitions

Background: so far, xowf stored workflow definitions in the workflow

context, which is generated for every instantiated workflow instance

due to the needs of the State Pattern. While the old approach works

perfectly fine, when pre request only one or a few workflow instances

are created, but is inefficient, when e.g. 100 or more instances of

the workflow definition are created.

Now, the instances can share the definition, which is shared based on

the revision_id of the workflow FormPage.

OLD: obj <-> obj::wf_ctx

NEW: obj <-> obj::wf_ctx <(n)----> wf_definition

OLD scenario:

- the wf_definition was part of the context (no distinction)

- navigation from wf_ctx (and wf_definition) to object was possible

via "info parent"

NEW scenario:

- the wf_definition is separate

- one wf_definition can be used for multiple wf_ctx

- new methods are required instead of "info parent"

to navigate between these cooperating objects

* xowf::WorkflowPage.wf_context

* xowf::WorkflowConstruct.wf_context

* xowf::Context.wf_container

The navigation from a WorkflowConstruct (e.g. State) to the wf_ctx

is slow and fragile if not following usual programming conventions

and should e avoided (the methods of these constructs have the obj

passed in, so this path should not be necessary in most situations)

- as long the contents of the wf_container is constant, it can be

shared in the per-thread cache.

For now, the new feature is turned off by default via variable

::xowf::sharedWorkflowDefinition, but this will change in the future.

  1. … 3 more files in changeset.