Forum OpenACS Development: Re: Form builder matrix widget

Posted by Stan Kaufman on
Malthe, your schema for Likert scale questions correctly separates the text label attached to an option from the option's numerical value. This will support questions whose response options are something like "Strongly disagree...Disagree...Uncertain...Agree...Strongly Agree" while behind the scenes, the user's numerical response (chosen from 1,2,3,4, or 5 -- or -2,-1,0,1, or 2) can then be transformed to a 0-100 scale.

It is common for multiple questions to be used in the calculation of a single Likert scale -- for instance a "Food Preference Scale" that combines the "Quality" and "Importance" questions in your scenario. But also, the questions that map into a single scale aren't necessarily contiguous items in an assessment. So in addition to needing a mechanism to define the "grouping" widget for the form layout, there needs to be a mechanism to define the "scoring" grouping that defines what happens to user responses en route to the database.

Alternatively, the package could simply stuff raw responses into the database and *not* handle derived/calculated values like the actual Likert 0-100 scale results. Biostatisticians prefer to do their own calculations off-line, but a system that wants to provide immediate, scored feedback for a questionnaire (eg these demos) will need to have tools to let assessment authors define the calculations inclucing which items they operate on.

Posted by Malte Sussdorff on
I tried to name this a formbuilder matrix and not a Likert widget due to the fact that it should not only support Likert scales. Ideally, the likert scale with the attributes stated by Joel would be a special case of the formbuilder matrix and make use of it in the assessment.

If you face an issue with multiple different user values depending on each question, I'd suggest to have multiple formbuilder matrix widgets, each grouping the questions and the values. Otherwise you might be better off writing the HTML code on your own (just kidding).

Alternatively (and especially true for assessment) we should handle the different scores of a value with the testing/scoring part of the assessment or the grading module, if you are keen on immediate scale results.

To be honest, I do not forsee someone using this widget in his/her package in the way you describe, except the assessment package. Therefore I'm reluctant to add scoring values to the widget itself.