Question plugins

Question object considerations.

Questions are plugins.

- No difference between core and thirdparty questions

- Questions can include views.

- MM: All question related texts can make use of placeholders (EM).

Questions can have database columns.

- A question may define a column type for storing its answer.

Questions may have subquestions.

- A question may have subquestions; these are Question objects, possible of another type.

- Questions are rendered recursively; a parent question is responsible for telling its children when to render.

- Answercolumns are discovered recursively; a parent question is responsible for getting column meta data (upon survey activation) from its children.

Questions may have AnswerSets.

- Multiple questions may share the same AnswerSet.

- An answer set is a numerically indexed array; assigning each text option an numeric value.

- Texts inside answer sets can be localized.

Questions belong to 1 Category.

interface iQuestionPlugin {

public