Note: You are currently viewing documentation for Moodle 3.10. Up-to-date documentation for the latest stable version of Moodle may be available here: Surveypro module.

Surveypro module

From MoodleDocs
Revision as of 14:20, 13 October 2017 by German Valero (talk | contribs) (updated status on Moodle 3.2+)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Note: This Moodle user documentation page is for the Surveypro module currently hosted in https://github.com/kordan/moodle-mod_surveypro that will hopefully one day be made into core and replace survey and questionnaire.

The Survey module allows teacher to create surveys with rich set of question types and formats. Survey module can also be used with built in templates such as ATTLS, COLLES and Critical Incidents.

Relevant terms

From a general point of view a survey is composed by several "elements", and each element can be of two types, "question" or "format". A "question" is where users actually answers to the survey, such as radio buttons, drop down menus or check boxes, "formats" are graphical elements such as labels, page breaks and fieldsets.

The following image shows 4 element types, 1 "format" of type filedset (the frame surrounding the questions) and 3 "question" types (autofill, select, radio button)

survey elements.png


This module comes from the need to perform a very closely validated data collection to gather customized data. It allows the creation of custom survey assembling fields and format elements. Fields and formats, usually called "elements", are two of the four managed plugin. Surveypro plugins include: fields, formats, templates and report.

Surveypro highlights

Surveypro ships with a set of 21 built-in elements as plugins. They include 17 fields and 4 formats. "Fields" are the user items needed by the student to enter their responses while "formats" are read-only elements like page break, fieldset or labels. If you can't find the field or the format you need, you can always ask a developer to build the plugin closely matching your needs. "Fields" elements share a set of properties. In addition to these, each field manages its own specific features. Among common properties, usually, can be found: mandatory, indent, position of the element content, custom number, variable name, note, availability, validation, default and branching. The meaning of the less common properties is:

  • Note is free text that the editing teacher can use to provide a custom explanation of an element.
  • Availability defines who will see the field in the form. It can be: -- all: each user will see the field in the survey form; -- hidden: not any user will see the field in the survey form; -- reserved: only students with specific permissions (accessreserveditems) will see the field in the survey form; -- search: the field will be available in the search form too (if not hidden).
  • Validation options define the range of allowed responses for the students.
  • Default is what the blank form will display as predefined value of an element.

Surveypro main features

  • branching based on answer given by the users
  • mandatory question answer
  • user entry validation
  • capability based access to survey elements
  • permissions for groups of users feeding the same surveys submission
  • pluggable question types
  • pluggable format types
  • pluggable master templates
  • pluggable reports

Classic survey types

Surveypro settings

Surveypro element types

Surveypro templates

Introduction to Surveypro templates

Templates are divided into two subcategories: user-templates and master-templates. Master template is the plugin to quickly create a classic survey such as ATTLS, COLLES's or Critical Incidents. Editing teacher is allowed to create his own master templates based on a manually created survey. The added value of master templates is the multilanguage behaviour. Once a course creator saves a survey as master template, in order to use it in a different moodle instance, he needs to copy it to the filesystem of the target moodle instance and to navigate the notification page. Each language added to the lang folder of the master template package will be available to students in the target moodle instance. This means that the same survey will be served to students in their own language, whether available. User template is the plugin for editing teachers to quickly make snapshots of surveys to share and apply them a second time without the need to copy them to the filesystem. Case uses for user templates are, for instance, 1) An editing teacher is frequently called to create custom surveys where a fixed set of elements is included. Let's say: First name, Last name, Date of birth, Gender. To save time, the editing teacher can create a surveypro including this set of elements and then save the corresponding user-template. Later, whenever he/she is called to create a new instance of surveypro with the set of elements of the first surveypro, he/she will apply the generated user-template to the new instance. All fields of the user-template will be included at once. 2) An editing teacher is asked to create the same surveypro in different courses. He can store a usertemplate at some level (category level, user level, or site level as last chance) and he/she will find it in each new course (of the same shared level) ready to be applied. 3) Two editing teachers are working on their local moodle instance drafting the same surveypro. Saving and sharing by email the corresponding usertemplate is a quick way to share progress achieved.

Using Surveypro

Surveypro FAQ

Languages available

  • The author of the Surveypro has translated many of the English language strings into italian. The italian language strings are included in the downloadable ZIP file.
  • The Mexican Spanish language pack maintainer has translated 100% of all language strings. Mexican Spanish and International Spanish translations will be enclosed in the downloadable ZIP file at https://github.com/kordan/moodle-mod_surveypro by mid-march 2017.
  • AMOS translations will be made when the plugin is accepted into the Moodle plugins library.
  • If you are interested in making another language translation, please contact the plugin author.


Surveypro is currently (march 2017) hosted in https://github.com/kordan/moodle-mod_surveypro. Hopefully, one day it will be submitted into Moodle to become part of Moodle core.


Download and expand the ZIP file into /Moodle/mod/Surveypro Visit the Notifications page to finish installation.


Report is the plugin to make report of the gathered data. Reports are available from the administration menu. COLLES's report manages the same graphs as the current Moodle core survey module. Reports are pluggable so if you can't find the report matching your needs, you can always ask a developer to develop the one you really need and add it to your surveypro copy.

Atachments overview


Delayed users


Frequency distribution


Responses per user


Users per count of responses



Each element can be defined as "child" of a different element upon a condition. Each element can have more than one child, but can only have one parent through a simple "parent = answer" condition. This means that it is possible to create a three elements surveypro, for instance, where the availability of the last two items depends from the answer provided by the student to the first element. The first element, in this example, has two children while each child has only one parent.

Relational databases

Surveypro can be used to create a relational database. Surveypro can not strictly create a relational database but gives a way to help in this purpose. Once an editing teacher creates a survey he/she can include an autofill element. This can be configured to auto-answer information about the user or the moodle course holding the surveypro instance or the surveypro instance itself. Let's imagine an editing teacher creates two surveypro instances. One asking for information about the living country of the student and one about habits of each of his/her family member. Once each surveypro is equipped with an autofill element providing the student userid it will be simple, once downloaded each gathered record, to make the 1 to n relation between the data taken from the two different surveypro. Surveypro is not relational but a relation can be established between data downloaded from different surveypro.

Groups of students entering shared responses

Usually the response provided by a student is NEVER displayed to the other students. All is covered by a kind of privacy. In spite of this, if a group of students is supposed to fill the same surveypro several times within the frame of the same research, each member of the group should be allowed to see, edit and, eventually, delete responses from each other member of his/her same group. This goal is reached making groups at course or surveypro instance level and providing special permissions (seeotherssubmissions, editotherssubmissions, deleteotherssubmissions) to students. Students of group A will never "see" the responses from students of group B but within the same group each student will be allowed to see/edit/delete the responses from people of his/her own group.

Other features

Responses can be searched and exported.

A few more features are available at instance level like:

  • Branches increase pages
  • Allow Save/Resume
  • Preserve history
  • Anonymous reponses
  • Custom style sheet
  • Maximum attempts
  • Notify role
  • More notifications
  • Thanks web page
  • Deadline of risky modification session Help buttons in the module provide a quick explanation of each of those settings.

Surveypro layout preview

... to be continued...

Surveypro layout elements

... to be continued...

Surveypro import

... to be continued...

Surveypro export

... to be continued...

Missing features

What is really missing is the automatic conversion of current Moodle core survey module. I wonder if people do really request this feature.

Known bugs

If a long text using the html editor has a parent item, it is NOT disabled while the answer to the parent item does not match the condition required by the child. MDL-25067: mform editor element can not be disabled with mform->disabledIf method.

Surveypro icons are missing from head/admin/plugins.php overview report. MDL-45723: uniformize the handling of svgs in resolve_image_location() calls.

Please report issues about this module in the tracker: https://tracker.moodle.org using: Project: Plugins (CONTRIB) Component/s: Module: Survey Pro

Developer's documentation

Documentation (very old and outdated): https://docs.moodle.org/dev/Survey_2_module


Danielle Cordella


Thanks to Joseph Rézeau for the revision of the text and the English.

Surveypro and Moodle 3.2 and newer branches current status

  • Because Moodle 3.2 includes a new default Boost theme, there were some problems for Surveypro to work with the Boost theme.
  • So, Moodlers interested in using Surveypro were encouraged to install it in Moodle 3.1 and Moodle 3.0, where it works beautifully.
  • Moodle 3.2 and 3.3 full support was developed by the plugin author.
  • The Surveypro main author feels that he no longer has support nor encouragment from Moodle HQ in order to replace Survey and Questionnaire with the superior Surveypro in the near future.
  • If you find this plugin useful, please comment it in the Moodle forums.


Please post issues at https://github.com/kordan/moodle-mod_surveypro/issues

... to be continued...