wiki:DeveloperGuidelines/Survey

Version 1 (modified by graeme, 10 years ago) ( diff )

--

Survey Module

The survey module is used to generate and analyse surveys.

The data model

survey_template

The template is the root table and acts as a container for the questions that will be used in a survey.

survey_sections

The questions can be grouped into sections this provides the description of the section and the position of the section within the template

survey_question

This holds the actual question and a unique string code is used to identify the question. The type of question is also set here. More details of the questions can be found on the section of (Question Types)

It is possible for the same question to be used in different templates. If this is done then analysis across templates becomes possible, although this has not yet been implemented.

survey_question_metadata

This is used to hold additional details of the question. The valid metadata that can be stored will be defined by the (question type).

survey_question_list

survey_series

survey_response

survey_answer

The Question Types

The Question Widgets

Code Overview

modules/s3/s3survey.py

models/survey.py

controllers/survey.py

Terminology Used

  • assessment the response to a single questionnaire used in the survey
  • questionnaire the list of questions (I think of it as the physical piece of paper that needs to be filled in, whilst the assessment includes both the questionnaire and the answers)
  • series is a survey that has been set up for a particular event and holds all of the responses to the assessments
  • template is a list or each question that will be held in the questionnaire and a template can be shared across series, thus we can have many series using the same template and in the future it may be possible to do some analysis across series that share the same template.
  • widget all question types are managed by widgets, one to validate and display the data in a form the other to analyse and produce charts
Note: See TracWiki for help on using the wiki.