Forum OpenACS Q&A: Re: Surveys and Branching

22: Re: Surveys and Branching (response to 1)
Posted by Stan Kaufman on
Carl and all the rest: I've been away for a week but finally am back on the case. I've posted (without much change) the stuff I'd written (overview, user requirements) previously to the page Carl opened up here:

I'll continue to edit/add to it, and I hope others do, too. Carl, do you want to add Comments to the page to facilitate discussion there, or is it better to keep discussion here in the Forums?

Posted by Malte Sussdorff on
As I could not write the stuff we have done to the assessment page, I just continue to post here the latest news :).

After the last demo where we added branching and sectioning a couple of new features made it into survey.

  • Question catalog:
    A site wide administrator has the option to generate a predefined catalog of questions. Predefined questions have the benefit of beeing available in multiple survey's and a user that has filled out a predefined question before will be presented his answer in other survey's he is answering. The questions can be of the following types:
    • Normal predefined question. These are questions where the answers are stored normaly in the survey system. A copy of the question will be made for each particular survey and the individual question will use a parent_question_id to point to the predefined question at hand.
    • Database stored question. The answer to these type of predefined questions will be stored in a database table. When adding this type of question you will have to give a table_name, a column_name and user_id_field. The column of the table will be updated with the answer to the question if the user_id matches the user_id_field.
    In the not so distant future we want to add:
    • TCL based question: The answer will trigger a TCL procedure that executes with some predefined values (e.g. user_id, site_node whatever) and the answer to the specific question.
    • LDAP stored question: Same as database stored question, just storing the data in a LDAP server.
  • Clustering of sections: In the new version, all sections will be displayed on one page til we hit a breaker. The need is derived from the following scenario. On page one you have 5 questions that have 2 different follow up questions each, depending on the answer. In the old section model, the user would be presented page two to six with one question on it. This does not make sense, as you could display page two to six on one page, taking into account that you already have all the necessary branch information.
Currently in developement:
  • Templating of questions. Instead of executing survey specific code to display the forms in a survey, we are switching the code to use ad_form instead.
  • Templating of surveys. Uploading an adp file will allow you to change the positioning and layout of sections within a survey.
Plans for the future:
  • Make our survey i18n aware and add the translation for english into the language catalog.
  • Add assessment capabilities to the survey, or, more specific, to a new package making use of survey capabilities.
  • Make survey adhere to IMS standard.
  • Add generic import capabilities to support individual import from third party products (e.g. Blackboard, WebCT, others).
The code is still strictly Oracle that's why we did not bother uploading it to OpenACS so far. Dave mentioned the possibility to upload survey to /contrib, so once we are done with the templating I'll make a snapshot and contribute it there. In case you are in dire need of sectioning and branching, I'm more than willing to give you a current snapshot.