Dynamic Questionnaire
  • 11 Oct 2023
  • 11 Minutes to read
  • Dark
    Light

Dynamic Questionnaire

  • Dark
    Light

Article summary

The application offers a user-friendly interface for effortlessly creating, sending, and tracking questionnaire responses. With the provided project, users can easily create, update, remove, and reorder questions to customize the questionnaire according to their requirements. The project utilizes a mixed-type repeater and rules, enabling question dependencies and facilitating real-time adjustments to the questions being asked. This functionality enhances the overall flexibility and adaptability of the questionnaire, providing a seamless user experience.


Groups & Permissions

A separate folder is created in System > Security > Groups called "Dynamic Questionnaire Groups". Add the appropriate users to their corresponding Groups to be able to initiate the process.

GroupsDescriptionPermissions
Dynamic Questionnaire AdminPeople who can do anything a "Dynamic Questionnaire Manager" can, as well as the ability to delete unused questionnaire templates and close live questionnaires.Questionnaire Views
Dynamic Questionnaire ManagersPeople to create, edit, and launch questionnaire templates and live questionnaires. Being a designer is not needed, but is recommended for some features to be available.Questionnaire Views
Dynamic Questionnaire ResponderPeople receive the survey via email or direct link to fill in the questions of the questionnaire. They do not need an account and will always be asked to provide an email if using an unassigned Live Questionnaire.
Live Questionnaire

Dashboards

Questionnaire Template Manager

The Questionnaire Template Manager Dashboard provides a comprehensive overview of template management. It presents the total count of created templates and the associated questions used within those templates. There are various actions available for each template, including adding questions, reordering them, creating live questionnaires, and editing template details such as name, category, description, and progress data. Additionally, the dashboard offers the option to make copies of templates, facilitating easy duplication and customization. This comprehensive set of features empowers users to efficiently manage and customize their questionnaire templates according to their specific needs.

  1. To access this Dashboard, open the Workflow Catalog, expand Dynamic Questionnaire and select Questionnaire Template Manager. 
  2. Select Create Template to create a new Questionnaire.
  3. The Form for creating a new Questionnaire Template is presented, showing relevant details such as the Questionnaire's name, category, and description. The drop-down menu for the Style Sheet allows the selection of an uploaded CSS file to be applied to the Questionnaire. Furthermore, if a custom Email Template has been uploaded, it can be chosen from the options available on this Form. In the absence of a custom template, a Default Template can be selected instead. The Form also provides a space to input the body of the email, which will be used to inform recipients about the questionnaire.
  4. Click the Next button to add questions.
  5. Click on the ADD Button and type the Question in the Text field. Select the Type drop-down based on the given Question.
  6. If there are multiple sets of questions, establish that under Set No. Order No will change automatically. Select Add to add the question.
  7. Select CREATE in the New Questionnaire dialog. This will create the Template with the provided Questions.
  8. The new questionnaire will now be available in the Dashboard.

Questionnaire Actions

Right-clicking on a selected template will display a menu, presenting various user actions for further interactions. These user actions provide additional options and functionality related to the selected template. Here are some possible user actions that are included in the menu:

ActionDescription
Add QuestionsThe "Template Name" Form will provide options to modify, add, or delete questions and create new ones. Users can generate new questions within the same or a different set and sequence by selecting the Add button. Once the questions have been added, clicking on the create button will incorporate them into the template. The user has the ability to edit or remove any chosen question.
Reorder QuestionsThe user can rearrange the questions at their discretion. The user can access a Form that allows them to modify the question order. Double-clicking on the Selected Set No allows the user to adjust the number and save the changes. The modified order will be saved within the selected template.
Create Live QuestionnaireCreate Live Questionnaire It allows the user to add a Live Questionnaire for a selected Template from User Action.
Edit TemplateThe Edit Questionnaire Template Form is presented, offering comprehensive information about the Questionnaire, such as its name, category, and description. The Form includes a drop-down menu for selecting the Style Sheet, enabling the user to choose a CSS style format that assists in creating a modified version of the Questionnaire. Additionally, the chosen style format facilitates the addition of a set of questions in a specific order.
Copy TemplateCreates a new template with the same settings and questions after providing a new name for the template.

Question Actions

Each question has a set of actions that can be acted upon

ActionDescription
Associate Question(s)The Form shown will allow a user to add multiple dependencies to the selected question.
Edit QuestionEdit all the details about the selected question like:
Update Required Status(es)
Remove Question(s)Deletes the selected question

Create Live Questionnaire

This Form creates a Questionnaire based on the selected template and makes it available to be sent to recipients. 

  1. Provide a Title and Contact Email; the category is supplied from the Template from which this Live Questionnaire is created but can be changed. The Show Progress Information checkbox will display Progress data on the Live Questionnaire Manager dashboard. 
  2. To add recipients, set the Assigned checkbox to true, and the Recipients text box will be available; add each recipient email separated by a new line. Set a Due Date for the questionnaire to be completed; this date will be included in the initial email sent to the recipients. Questionnaires can still be opened and submitted past the Due Date.
  3. Set an Expiration date; once this date has passed, no more responses will be accepted. 
  4. Similar fields to the template are available here as well, like Style Sheet, Email Style, Email Subject, Email Body, and Currency Symbol. 
  5. Select CREATE to set the Questionnaire as "Under Construction" to prepare to launch it.
  6. Once the Live Questionnaire is created, the platform will navigate to that Questionnaires Folder, which displays information about the Questionnaire like Status, Assigned, Expiration Date, days left until Expiration, and completeness. 
  7. There are user actions available to launch, edit, test, close, etc.
    ActionDescription
    Launch Questionnaire
    The Launch [Questionnaire Name] dialog will display. Confirm the category, email, description, and dates. Select LAUNCH to send the recipients the Email with the Questionnaire link and open the questionnaire to begin receiving responses.
    Edit Questionnaire
    The Launch [Questionnaire Name] dialog will display, allowing the adjustment of the previously set category, contact email, description, and dates. Select SAVE to update the Questionnaire.
    Go To Template
    Opens the Overview of the Questionnaire Template displaying the questions and a preview of the questionnaire. In this view, add and reorder questions, edit the template, copy the template, and download and import dependencies.
    Test Questionnaire
    Send a test Email or open the Questionnaire Form in the Portal to evaluate the Questionnaire to assess if anything needs to be changed.
    Manager Actions > Close Questionnaires
    Closes the Questionnaire; this will prevent recipients who are still working on this questionnaire from completing their work. The expiration date will be displayed to allow for a more informed decision on closing the Questionnaire.

Launch Questionnaire

To launch the Questionnaire, select LAUNCH QUESTIONNAIRE. Confirm the category, email, description, and dates. Select LAUNCH to send the recipients the Email with the Questionnaire link and open the questionnaire to begin receiving responses.
Example Screenshots
Launch Questionnaire DialogRecipient Email Sample Questionnaire

Live Questionnaire Manager Dashboard

The Live Questionnaire Manager Dashboard provides a comprehensive overview of all live questionnaires, including their respective states and detailed information. It presents a high-level view of the questionnaire management process. Within this Dashboard, the same action set in the Live Questionnaire Folders is accessible here. These actions include Launch, Edit, Go to Template, Test, and Manager Actions. These options enable users to perform various operations and tasks related to the questionnaires, ensuring efficient management and control over the live questionnaire system.


Associate Questions

Question dependencies attached to associated questions control whether a question remains hidden until specific conditions are met. When users respond to parent questions in a live questionnaire, custom rules can determine whether a question becomes visible. 

  1. Navigate to the Questionnaire Template Dashboard, right-click on a question, and select Associate Question(s).
  2. In the following Form, establish one or multiple dependencies for the chosen question. This Form offers options to add or remove parent or child questions and edit existing ones.
  3. In the Question Dependency Settings Form, after choosing "Add Parent" or "Add Child," the Form will display the selected parent or child question to confirm the correct question. In the "For" drop-down, select the parent or child questions to link with the selected question.
  4. Select a Custom Rule. Four default rules are available: "Answer Is Other Dependency Rule," "Answer Is Yes Dependency Rule," "Answer is True Dependency Rule," and "Answer Is Not Empty Dependency Rule." While editing these default rules is possible, it's generally not recommended. Alternatively, users can design a new rule to customize the dependencies further. An image representing the selected Rule will appear at the bottom of the Form. Confirm the details and click "ADD." Finally, select "SAVE" in the "Associate Parent/Child Questions Form."

Adding  a New User Control for Custom Question Types

  1. Go to "My Apps/Dynamic Questionnaire/Designer Elements/Question Type Conversions/Question Type Formats".
  2. Right-click on "[Template] Question Format". Select "Copy Designer Project".
  3. Create a Folder Name for the new user control.
  4. Click "Use Existing Type".
  5. Edit "Change Name To".
  6. Click "COPY".
  7. Click "[USC] Question Type Format User Defined Control", then select "Edit Form".
  8. Edit the QuestionDetails Field and ensure it is set to the new Flow Structure. Click "Save".
  9. Modify your User Control as needed.
  10. Make sure the user control is set to Optional.
  11. Set the User Control's elements to the desired fields. Click "Save".
  12. Edit the "[From Object] Convert Documentation Sample Dropdown Object to Live Question Flow".
  13. Select the Cast Object to Type step. Edit "Type To Try" and set it to the created Flow Structure.
  14. Click the Create Data step. Change the mapping type from Constant to Select From Flow.
  15. Choose the newly created Flow Structure > Answer [String]. Click DONE, then save and close.
  16. Edit "[To Object] Convert Live Question to Documentation Sample Dropdown Object Flow".
  17. Select the Create Data step. Click SHOW EDITOR. 
  18. Set FormattedQuestion to the new Flow Structure. Set the field to "Build Data".
  19. Map LiveQuestion to FormattedQuestion.
  20. Click the End Step, and change the mapping type from Unknown to Select From Flow.
  21. Map Formatted Question to the End Step Object.
  22. Click DONE, then Save and close the Flow.
  23. Navigate to "Question Type Conversions".
  24. Right-click "QuestionType \[DynamicQuestionnaire\]". Click Edit Value List and select ADD.
  25. Right-click the Value field and set a Control Name.
  26. Click OK, then select SAVE. 
  27. Edit the "Question Type Format Conversion Truth Table".
  28. Click "Click to add row". The Edit QuestionType is set to the newest Value List item.
  29. Set Question to Object Flow Id to [To Object] Convert Live Question to Documentation Sample Dropdown Object Flow's Flow Id.
  30. Set Object to Question Flow Id to \[From Object\] Convert Documentation Sample Dropdown Object to Live Question Flow's Flow Id. 
  31. Click Save and close the Truth Table. 
  32. Edit the "Route By Question Type Flow". 
  33. Map the new outcome path as needed. Click Save and close the Flow.

Additional Optional User Control Settings

  1. Open Question Type Validations and select Answer is Required Validation Rule > Copy Rule.
  2. Set a new name for the validation. Click CREATE COPY.
  3. Modify the new validation rule as needed under "IsRequired Is True".
  4. Save and close the Rule.
  5. Get the Rule ID of the newly created Rule.
  6. In the "Question Type Conversions" folder, edit the "Question Validation Rule Truth Table".
  7. Click "Click to add row" and edit "QuestionType is" then set it to the newest Value List item. Select CLOSE.
  8. Edit Validation Rule Id. Paste the new Rule Id. Save and close the Truth Table.
  9. Edit the "Question Validation Message Truth Table".
  10. Add a custom validation message for this User Control. Otherwise, leave it as is for a generic message. Save and close the Truth Table.


Advanced Settings for User Control

These more complex settings can be turned on for a question type that needs to save or use additional information to operate. 

For example, to have a question that shows a drop-down of accounts in a certain group, use advanced settings to pass in more information to the converter Flow. So the answer is still stored as a string, but the information is stored in a format that is expected of right to and from Object flows for that question type. This is an example that is included in the DQ build-out-of-the-box and can be referenced as an example.

  1. Edit the Question Advanced Settings Truth Table.
  2. Each question that uses advanced settings will have a row on the table, and other information that is collected for the question created can be toggled to true if needed. If true, those elements will show when a user is editing or creating a question of that type.
  3. The main section of importance here is the first output column, the Advanced Setting Format.
  4. In this text, save the format that the From and To Object converter flows will use to pass information from the question type into the live question and follow how that information is resultingly stored as the answer string of that question.
  5. For example, the Email From Groups Advanced Setting Format is the following:
    C#
    {
        "GetAllAccounts": true,
        "GroupIds": ["Group_Id_A", "Group_Id_B", "etc."]
    }

Read Previous Question Settings

This complex setting allows a user to read the questions and answers from previously answered questions in a Questionnaire. This can be configured in the User Control by fetching the Live Question IDs in the User Control's [To Object Flow]. 

To enable this setting on a User Control, the Show Read Previous Questions Settings Rule Needs to be updated in a Questionnaire Template. Add a new "Or" condition in this Rule and set QuestionType as {New Question Type}.

Examples of setting up this setting include Read Only Question & Read Only Question List, which is included with this project. This information cannot be used in the Questionnaire Template Preview at this time, but it can be previewed in a Live Questionnaire that is Under Construction.




Was this article helpful?