Questionnaire
Overview
Use this module to configure complex reflexive questionnaires for your users. You can create many different types of questions and render them in multiple ways.
Documentation
Description
This Questionnaire module allows you to configure complex reflexive questionnaires and spread them to be conducted by your users. Different types of questions (selectable option(s), date and number ranges, free text) can be configured and be rendered in different ways (for instance like a text box, slider, radio buttons, checkboxes etc.). Each question can be marked as required and depending on the type, ranges can be configured where the answer must lie in.
Furthermore the visibility of questions and options can be dependent on earlier given answers. In addition the applicability of a range can also be dependent on an earlier given answer. During the development of the configuration the changes are tracked in revision which can always be restored.
Typical usage scenario
- Create exams that have to be completed in order to receive a certificate.
- Create surveys that you send to your (anonymous) users to collect information on a particular topic. you can use the Deeplink module to create personalised links for each questionnaire.
Features and limitations
- Create many Configurations that contain all elements of your questionnaire. You can add Text, Number, Date and Choice elements to your questionnaire. by adding section and page elements you can create a multi-page survey.
Dependencies
- Studio Pro 9.24.21
- Community Commons module
- Data Widgets module
- Atlas Core module
- Combo Box widget
- HTML Element widget
- Tool Tip widget
- Accordion widget
Installation
- Add the module role Administrator to the user roles that need to configure questionnaires.
- Add the module role Reviewer to the user roles that need to be able to review answers from submitted questionnaires.
- Add the module role User to the user roles that need to conduct questionnaires.
- Add the SNIP_Configuration_Overview to a page that is accessible to a user with the Administrator role. Add SNIP_Configuration_List_Published to a page that is accessible to a user with the User role
Configuration
The module is easy to adapt to your wishes. Small adaptations won't influence the behaviour, but when new configuration options are added or existing are removed it will most likely have impact. To give insight to where you need to pay attention to when doing these type of changes there is a short instruction how different types of questions can be added below.
- Start in the folder 'Configure'
- Add your type of question to the enumeration 'ENUM_ElementConfigurationType'
- Create an entity specialized from ElementConfiguration for configuring your question type
- If your question has options/ranges. Create an entity specialized from OptionConfig for configuring the option belonging to your question type
- Create forms for the just created objects (it is easy to use the existing forms as starting point)
- Add your just created form to the microflow 'ACT_ElementConfiguration_Edit'
- Now we move to the folder ' Conduct'
- Add the render modes belonging to your question type to the enumeration 'ENUM_RenderMode'
- If your question has a new input type. Add the input belonging to your question type to the enumeration 'ENUM_InputType'
- There are attributes for handling text, date and amount answers, but if the answer to your question differs you can add an attribute to the Element entity
- Add your new question and option type to the microflows 'SUB_Element_Create' and 'SUB_Option_Create'
- If your question has a new input type. Extend the microflow 'SUB_Element_Save' and 'VAL_Element' for handling the new input type
- If your question has a new input type. Extend the microflow 'SUB_GetAnswer' for handling the new input type when exporting results
Frequently Asked Questions
- Ask your question at the Mendix Community Forum.