• last updated 10 hours ago
Constraints: committers
Constraints: files
Constraints: dates
- 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

    • -0
    • +14
    • -0
    • +14
    • -0
    • +14
    • -0
    • +14
    • -0
    • +16
  1. … 12 more files in changeset.
file inclass-quiz.wf.page was initially added on branch oacs-5-10.

    • -0
    • +0
file inclass-exam.wf.page was initially added on branch oacs-5-10.

    • -0
    • +0
file assessment-index.page was initially added on branch oacs-5-10.

    • -0
    • +0
file TestItemUpload.form.page was initially added on branch oacs-5-10.

    • -0
    • +0
file TestItemText.form.page was initially added on branch oacs-5-10.

    • -0
    • +0
file TestItemShortText.form.page was initially added on branch oacs-5-10.

    • -0
    • +0
file TestItemSC.form.page was initially added on branch oacs-5-10.

    • -0
    • +0
file TestItemMC.form.page was initially added on branch oacs-5-10.

    • -0
    • +0
file select_question.form.page was initially added on branch oacs-5-10.

    • -0
    • +0
file quiz-select_question.form.page was initially added on branch oacs-5-10.

    • -0
    • +0
file online-exam.wf.page was initially added on branch oacs-5-10.

    • -0
    • +0
Crosscutting reform to ease configurability of xo* applications


- Provide support for site-wide packages

Site-wide packages can be used to provide a common

place for site-wide admins to configure application packages

and for testing purposes. These packages are mounted

on a special subsite (named "site-die") under acs-admin/

to avoid confusions for end-users of the site.

The site-wide subsite can be used as well for creating testing

instances or for other testing purposes.

- bump version number to 5.10.0d9


- Added support for site-wide packages.

Packages can define, how site-wide packages

should be configured

- Changed Package-level procs into instprocs

of the meta-class. This way, generic code can be

provided for common handling across packages.

This effects:

- configure_fresh_instance

- get_site_wide_page

- import_prototype_page

- lookup_side_wide_page

- require_site_wide_info

- require_site_wide_pages

- bump version number to 5.10.0d24


- provide configurable configuration info for new packages

(including site-wide packages)

- search for prototype pages along inheritance path

- moved Parameter.page prototype here

- added "table-of-contents" prototype page

- perform refactoring due to moving methods to the


- reduce usage of anonymous arrays

- bump version number to 5.10.0d49


- simplify apm callback and use new infrastructure

- provide configurable configuration info for new packages

(including site-wide packages)

- bump version number to 5.10.0d14

  1. … 14 more files in changeset.
added support for upload interaction

  1. … 3 more files in changeset.
make sure displayed matches are spaced

provide simple CSS file for printing

add minutes string to exam protocol

add support for multi-line entries in short_text answers

minor refactoring to general handling of printing minutes per question

  1. … 2 more files in changeset.
improve responsiveness

  1. … 2 more files in changeset.
add modal behavior for text_interaction

align CSS class names in CSS files with new names in code ("short_text" instead of "text_entry")

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. … 8 more files in changeset.
fine-tune styling of test items

- 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. … 5 more files in changeset.
add styling for preview exam

renamed style file

file form-generator.css was initially added on branch oacs-5-10.

    • -0
    • +0
factor out CSS for test-items:

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

  1. … 2 more files in changeset.
file test-item.css was initially added on branch oacs-5-10.

    • -0
    • +0
move newly defined testing API (in OpenACS 5.10) to namespace acs::test

  1. … 9 more files in changeset.
Shared Workflow Definitions (Part 2)

When shared workflow definition are used, a different management of

object specific code is necessary, since one definition seves for many

objects, and it is not freshly created per object. Therefore, a new

concept is introduced for workflow definitions, named "object-specifc"

Instead of writing in a workflow definition

Action save

state initial -actions {save}

[my object] proc foo {} { ns_log notice "===foo==="}

one has to write now:

Action save

state initial -actions {save}

:object-specific {

:proc foo {} { ns_log notice "===foo==="}


where the object-specific is evaluated once per request for every

involved workflow instance in the context of the object (a [self]

in this block refers to the object).

In case a [my object] is encountered and sharedWorkflowDefinition is

activated, a warning is produced and the code falls back to old-style

shared workflow definitions.

  1. … 3 more files in changeset.