• last updated 5 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
deactivate html hacking (replace textarea by "p") since rendering is

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

ensure that every formfield is disabled in the disabled_fc list (e.g. mc-interaction)

fix workflow such these work as well with shared workflow definitons

- 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

improve spelling

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

  1. … 12 more files in changeset.
update default value of ip address for each instance individually

fix item_ref for backward compatibility

improve spelling

  1. … 12 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

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.
- improve safety of HTML

- whitespace changes

initial check-in

    • -0
    • +272
    ./online-exam-answer.wf
  1. … 16 more files in changeset.