Skip to content
The surveypro module per moodle
PHP Cucumber CSS
Latest commit efe1da2 May 25, 2016 @stronk7 stronk7 Merge pull request #93 from kordan/event_objecttable
NOBUG mod_surveypro: changed some objecttable
Failed to load latest commit information.
backup/moodle2 NOBUG mod_surveypro: still fixing phpdoc issues Apr 14, 2016
classes CONTRIB-6287 mod_surveypro: changed some objecttable May 25, 2016
db CONTRIB-6247 mod_surveypro: added x2 icon to submissions table Apr 21, 2016
field Merge pull request #94 from kordan/item_actions May 5, 2016
form Merge pull request #92 from kordan/flag_for_visible May 5, 2016
format CONTRIB-6268 mod_surveypro: added static styles per each item May 3, 2016
lang CONTRIB-6287 mod_surveypro: changed some objecttable May 25, 2016
pix CONTRIB-6157 surveypro: fix permissions Feb 19, 2016
report Merge pull request #92 from kordan/flag_for_visible May 5, 2016
template NOBUG mod_surveypro: still fixing phpdoc issues Apr 15, 2016
templatemaster NOBUG mod_surveypro: still fixing phpdoc issues Apr 15, 2016
tests CONTRIB-6282 mod_surveypro: added one more test May 5, 2016
.travis.yml NOBUG mod_surveypro: still fixing phpdoc issues Apr 20, 2016
README.md CONTRIB-6190 mod_surveypro: Changed advanced to reserved Mar 21, 2016
TODO.txt CONTRIB-6157 surveypro: fix permissions Feb 19, 2016
adminlib.php NOBUG mod_surveypro: still fixing phpdoc issues Apr 14, 2016
adminmanageplugins.php NOBUG mod_surveypro: fixing issues reported by phpdoc (moodlecheck) Mar 30, 2016
documentation.txt NOBUG mod_surveypro: code cleanup Mar 24, 2016
index.php NOBUG mod_surveypro: fixing issues reported by phpdoc (moodlecheck) Mar 30, 2016
layout_itemsetup.php NOBUG mod_surveypro: minor code cleanup Apr 28, 2016
layout_manage.php NOBUG mod_surveypro: still fixing phpdoc issues Apr 15, 2016
layout_preview.php NOBUG mod_surveypro: still fixing phpdoc issues Apr 20, 2016
layout_validation.php NOBUG mod_surveypro: still fixing phpdoc issues Apr 15, 2016
lib.php CONTRIB-6287 mod_surveypro: changed some objecttable May 25, 2016
locallib.php NOBUG mod_surveypro: silly code clean Apr 22, 2016
mod_form.php NOBUG mod_surveypro: minor code cleanup Apr 28, 2016
mtemplates_apply.php NOBUG mod_surveypro: still fixing phpdoc issues Apr 15, 2016
mtemplates_create.php NOBUG mod_surveypro: still fixing phpdoc issues Apr 15, 2016
settings.php NOBUG mod_surveypro: fixing issues reported by phpdoc (moodlecheck) Apr 11, 2016
state_of_art_20151115.txt CONTRIB-6157 surveypro: fix permissions Feb 19, 2016
styles.css CONTRIB-6268 mod_surveypro: added static styles per each item May 3, 2016
userstyle.php NOBUG mod_surveypro: still fixing phpdoc issues Apr 15, 2016
utemplates_apply.php NOBUG mod_surveypro: still fixing phpdoc issues Apr 15, 2016
utemplates_create.php NOBUG mod_surveypro: still fixing phpdoc issues Apr 15, 2016
utemplates_import.php NOBUG mod_surveypro: still fixing phpdoc issues Apr 15, 2016
utemplates_manage.php NOBUG mod_surveypro: still fixing phpdoc issues Apr 15, 2016
version.php CONTRIB-6287 mod_surveypro: changed some objecttable May 25, 2016
view.php NOBUG mod_surveypro: minor code cleanup Apr 28, 2016
view_cover.php NOBUG mod_surveypro: still fixing phpdoc issues Apr 15, 2016
view_export.php NOBUG mod_surveypro: still fixing phpdoc issues Apr 15, 2016
view_form.php NOBUG mod_surveypro: minor code cleanup Apr 28, 2016
view_import.php NOBUG mod_surveypro: still fixing phpdoc issues Apr 15, 2016
view_search.php NOBUG mod_surveypro: still fixing phpdoc issues Apr 15, 2016

README.md

moodle-mod_surveypro

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 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.

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.

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.

Branching 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.

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.

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

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

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

Something went wrong with that request. Please try again.