Index: openacs-4/packages/assessment/www/doc/sequencing.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/www/doc/sequencing.html,v diff -u -r1.2 -r1.3 --- openacs-4/packages/assessment/www/doc/sequencing.html 28 Jul 2004 10:35:57 -0000 1.2 +++ openacs-4/packages/assessment/www/doc/sequencing.html 28 Jul 2004 11:57:57 -0000 1.3 @@ -34,28 +34,11 @@ prior discussions here.

-

So here's the current approach. First, we think that the QTI -components -nicely capture the essential pieces needed for both Data Validation and -Navigation Control (the combination of which we're referring to as -Sequencing). But though not explicitly part of the QTI schema, -implicitly there is (or should be) another component: -

+So here is our current approach. We note that there are two scopes +over which Sequencing needs to +be handled:

-

-Next we note that there are two scopes over which Sequencing needs to -be handled:

-

-

@@ -209,91 +101,54 @@ should be displayed or with as_items, defining if an item should be displayed.

-The goal is to have a way of telling if a section shall be displayed or -not depending on the section-checks. This way you could say that you -only display this section if the response to item(1234) "Color of your -eye" was "blue" and the response to item(4231) "Color of your hair" was -"red". Sadly we can't use such an easy way of checking the ":value" as -we do with item_checks, as we do not know which item this refers to. -Instead we store the item_id like this ":item_1234". This way the -check_sql would look like ":item_1234 == 'blue' AND :item_4231 == -'red'". Additionally other variables might be defined by the API at a -later -stage,  e.g. ":current_percentage", which would be replaced by the +The goal is to have a way of telling if a section (or an item within a +section) shall be displayed or not depending on the section-checks. +This way you could say that you only display this section if the +response to item(1234) "Color of your eye" was "blue" and the response +to item(4231) "Color of your hair" was "red". Sadly we can't use such +an easy way of checking the ":value" as we do with item_checks, as we +do not know which item this refers to. Instead we store the item_id +like this ":item_1234". This way the check_sql would look like +":item_1234 == 'blue' AND :item_4231 == 'red'". Additionally other +variables might be defined by the API at a later +stage,  e.g. ":percent_score", which would be replaced by the current percentage value (aka score) that subject had in the test so -far. It might be interesting to pass these variables along in the API, -this remains to be seen when actually implementing the system. +far (taken from the as_session_table). It might be interesting to pass +these variables along in the API, +this remains to be seen when actually implementing the system.
+
+The Inter Item Checks also allow post section navigation (in contrast +to the pre section / item navigation mentioned above). If post_check_p +is true, the check will be done *after* the user has hit the submit +button. Depending on the result of the check (if it is true) the user +will be taken to the section given by section_id or to the item given +by item_id, depending whether this assessment is section based +(questions are displayed in sections) or item based (each item will be +displayed on a seperate page). If there are multiple post checks for a +given section/item the order will be defined by the relationship (which +means this relationship has to have a sort_order attribute).

-

+
-
  • Check Groups (as_check_groups) are the grouping/associative -mechanisms by which Item Checks and Inter-Item Checks operate. -

    - -

    -
  • -
  • Comparators (as_comparators) are where we abstract -the comparisons in order to support extensibly additional types of -comparisons (image-image comparisons, etc). Since tcl is poorly typed -but sql is not, we have to use a skinny table approach here, too. -Attributes include: -

    - -

    -
  • -
  • Check Navigation (as_check_navigation) abstracts -out where the user will be directed after a check or group of checks is -completed. We need to handle three outputs from the check functions: -success, warning, failure. And we need to be able able to send the user -to the next assessment, section or item. Attributes include: -

    - -