Overview

The Item and Section catalogues are central parts of the assessment system. These repositories support reuse of Assessment components by storing of the various Items (or questions if you like) and groups of Items (ie Sections) that can be used in an assessment. You are able to add/edit/delete an item of a certain type to a certain scope. Furthermore it allows you to search and browse for questions for inclusion in your assesment as well as import and export multiple questions using various formats.

In this description here we will only discuss the design implications for Items. Green colored tables have to be internationlized.

Each Item consists of a specific Item Type like "Multiple Choice Question" or "Free Text". Each Item Type adds additional Attributes to the Item, thereby making it pretty flexible. Additionally each item has a related display type storing information on how to display this item. This way we can create an adp-snippet which we can include to display a certain item (the snippet is stored de-normalized in the as_items table and update on every change to the item or the item_type).

Categorization and internationalization will make it into OpenACS 5.2, therefore we are not dealing with it in Assessment seperately but use the (to be) built in functionality of OpenACS 5.2

Additionally we have support functionality for an item. This includes the help functionality. To give Assessment authors flexibility in adapting Item defaults, help messages, etc for use in different Assessments, we abstract out a number of attributes from as_items into mapping tables where "override" values for these attributes can optionally be set by authors. If they choose not to set overrides, then the values originally created in the Item supercede.

Seperately we will deal with Checks on Items. These will allow us to make checks on the input (is the value given by the user actually a valid value??), branches (if we display this item, which responses have to have been given) and post-input checks (how many points does this answer give).

Here is the graphical schema for the Item-related subsystems, including the Item Display subsystem described here.

Data modell graphic

Specific Entities: Core Functions

Here are the components of the Item model in Assessment:

Help System

The help system should allow a small "?" appear next to an object's title that has a help text identified with it. Help texts are to be displayed in the nice bar that Lars created for OpenACS in the header. Each object can have multiple help texts associated with it (which will be displayed in sort order with each hit to the "?".) and we can reuse the help text, making this an n:m relationship (using cr_rels). E.g. you might want to have a default help text for certain cr_item_types, that's why I was thinking about reuse...

Relationship attributes:

Messages (as_messages) abstracts out help messages (and other types of messages) for use in this package. Attributes include: