Questionnaire

Activities ::: mod_questionnaire
Maintained by Mike Churchward
Custom Survey Creation
Latest release:
15897 sites
3k downloads
230 fans
Current versions available: 19
Build passing

Create your own surveys using this tool.

SUPPORT DISCUSSION: http://moodle.org/mod/forum/view.php?id=2642

DEVELOPERS NOTE - Questionnaire is tracked in Github at https://github.com/remotelearner/moodle-mod_questionnaire. Contact Mike Churchward if you want "push" access.

(originally based on phpESP)

/plugins/mod

Screenshots

Screenshot #0

Contributors

Mike Churchward (Lead maintainer)
Joseph Rézeau: Former co-maintainer
Please login to view contributors details and/or to contact them

Comments RSS

Comments

  • Stephen Overall
    Mon, 17 Aug 2020, 12:21 AM
    Hello:
    When installing the latest mod_questionnaire update today, I get this error...
    "Validating mod_questionnaire ... Error
    [Error] Required Moodle version [2019052006]
    Installation aborted due to validation failure"
    I am running Moodle 3.7.3+ (Build: 20200103)
  • Mike Churchward
    Tue, 18 Aug 2020, 7:33 AM
    The latest version of questionnaire is version 2020062301, release 3.9.0. It requires Moodle version 2019052006 which is 3.7.6. This is actually a mistake and the Moodle requirement should be 2019052000, which would work with 3.7.3. You can change that in the version.php file, in the line "$plugin->requires = 2019052006;". I will get that fixed with the next release.
  • Stephen Dargan
    Tue, 25 Aug 2020, 2:52 PM
    Hello. Is there any way of giving feedback or replying to individual questionnaire submissions?
  • Martin Simcik
    Fri, 11 Sept 2020, 9:05 PM
    Hi, I have problem with questionnaire submission notification. In the basic settings, I set Send submission notifications to yes . At the same time, I created a role where I enabled permission "mod/questionnaire:submissionnotification" and assigned this the role to me. I even set up an email address in questionnaire advanced settings to receive notifications, but i still do not receive any notification when somebody fill in the questionnaire. I use Moodle 3.3 version. Thanks. Martin
  • Carlos Kiyan Tsunami
    Mon, 14 Sept 2020, 4:25 PM
    hello
    Would be possible to change the colour of the radio button?
    Thanks in advance
    Carlos
  • Liana Shpani
    Sat, 20 Feb 2021, 4:36 AM
    Hello, I am using the latest version of this block with PHP 74 and I get an error "Deprecated: array_key_exists(): Using array_key_exists() on objects is deprecated. Use isset() or property_exists() instead in moodle/mod/questionnaire/classes/question/question.php on line 897". Any suggestions on how to fix this? isset and property_exists both cause errors in this plugin. Thanks in advance!
  • Abdul Ghaffar
    Thu, 18 Mar 2021, 8:47 PM
    HI,
    We are using Questionnaire: 3.9.0 (Build - 2020062300) for Moodle 3.7.2. On ......mod/questionnaire/complete.php?id=xxxx, a 'Continue' button is being displayed along message 'Thank you for completing this Questionnaire.' . Is there a way (other than custom css) to hide it?
  • Wojciech Elszyn
    Sun, 4 Apr 2021, 11:31 PM
    Hi Mike ,
    Thank you for great questionnaire plugin.
    I'm wondering is there any way to add new fields/column in questionnaire download file? I found download option in plugin settings, but there I can choose only couple of standard fields. I made an extra fields which user fill in during signing up ((full adress or tax identity number), and it is very important to me to have data from that fields in questionnaire file in csv/html/pdf.
    Could you let mi know if there is such option.
    All the best
    Wojtek
  • Admin User
    Wed, 14 July 2021, 4:15 AM
    Hi Mike - Thanks for a great plugin.

    I am wondering if there is a way to get the group average to only factor in group responses on the report? Currently, it averages the results out over the total participant count instead of just the users in one group. i.e there are 2 groups in the course collectively consisting of 5 learners. 3 in group A and 2 in group B. When all 3 learners in group A selects the same option from the radio button list it shows the group average as 60%. In actual fact, it would be helpful to see that 100% of the learners in that group selected the same option. Is this possible or have I misconfigured settings somehow?
  • Service Usagers du Numérique
    Tue, 20 July 2021, 7:56 PM
    Hi everybody,

    Is there a chance that the radar view (in feeback view) will be restored for moodle 3.9 version. A suggestion has apparently been commited on github, but this one has not been validated.

    Thank you for your answer (this plugin is great and essential)
  • Juan Manuel Gonzalez Rodriguez
    Fri, 6 Aug 2021, 4:57 AM

    I have tried to install this block, but it throws the following errors:

    Información de depuración: Table 'mdl_questionnaire' already exists
    CREATE TABLE mdl_questionnaire (
    id BIGINT(10) NOT NULL auto_increment,
    course BIGINT(10) NOT NULL DEFAULT 0,
    name VARCHAR(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
    intro LONGTEXT COLLATE utf8mb4_unicode_ci NOT NULL,
    introformat SMALLINT(4) NOT NULL DEFAULT 0,
    qtype BIGINT(10) NOT NULL DEFAULT 0,
    respondenttype VARCHAR(9) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'fullname',
    resp_eligible VARCHAR(8) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'all',
    resp_view TINYINT(2) NOT NULL DEFAULT 0,
    notifications TINYINT(1) NOT NULL DEFAULT 0,
    opendate BIGINT(10) NOT NULL DEFAULT 0,
    closedate BIGINT(10) NOT NULL DEFAULT 0,
    resume TINYINT(2) NOT NULL DEFAULT 0,
    navigate TINYINT(2) NOT NULL DEFAULT 0,
    grade BIGINT(10) NOT NULL DEFAULT 0,
    sid BIGINT(10) NOT NULL DEFAULT 0,
    timemodified BIGINT(10) NOT NULL DEFAULT 0,
    completionsubmit TINYINT(1) NOT NULL DEFAULT 0,
    autonum TINYINT(1) NOT NULL DEFAULT 3,
    progressbar TINYINT(1) NOT NULL DEFAULT 0,
    CONSTRAINT PRIMARY KEY (id)
    , KEY mdl_ques_res2_ix (resp_view)
    , KEY mdl_ques_sid2_ix (sid)
    , KEY mdl_ques_cou2_ix (course)
    )
    ENGINE = InnoDB
    DEFAULT COLLATE = utf8mb4_unicode_ci ROW_FORMAT=Compressed
    COMMENT='Main questionnaire table.'
    ;
    CREATE TABLE mdl_questionnaire_survey (
    id BIGINT(10) NOT NULL auto_increment,
    name VARCHAR(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
    courseid BIGINT(10),
    realm VARCHAR(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
    status BIGINT(10) NOT NULL DEFAULT 0,
    title VARCHAR(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
    email VARCHAR(255) COLLATE utf8mb4_unicode_ci,
    subtitle LONGTEXT COLLATE utf8mb4_unicode_ci,
    info LONGTEXT COLLATE utf8mb4_unicode_ci,
    theme VARCHAR(64) COLLATE utf8mb4_unicode_ci,
    thanks_page VARCHAR(255) COLLATE utf8mb4_unicode_ci,
    thank_head VARCHAR(255) COLLATE utf8mb4_unicode_ci,
    thank_body LONGTEXT COLLATE utf8mb4_unicode_ci,
    feedbacksections TINYINT(2) DEFAULT 0,
    feedbacknotes LONGTEXT COLLATE utf8mb4_unicode_ci,
    feedbackscores TINYINT(1) DEFAULT 0,
    chart_type VARCHAR(64) COLLATE utf8mb4_unicode_ci,
    CONSTRAINT PRIMARY KEY (id)
    , KEY mdl_quessurv_nam_ix (name)
    , KEY mdl_quessurv_cou_ix (courseid)
    )
    ENGINE = InnoDB
    DEFAULT COLLATE = utf8mb4_unicode_ci ROW_FORMAT=Compressed
    COMMENT='questionnaire_survey table retrofitted from MySQL'
    ;
    CREATE TABLE mdl_questionnaire_question (
    id BIGINT(10) NOT NULL auto_increment,
    surveyid BIGINT(10) NOT NULL DEFAULT 0,
    name VARCHAR(30) COLLATE utf8mb4_unicode_ci,
    type_id BIGINT(10) NOT NULL DEFAULT 0,
    result_id BIGINT(10),
    length BIGINT(10) NOT NULL DEFAULT 0,
    precise BIGINT(10) NOT NULL DEFAULT 0,
    position BIGINT(10) NOT NULL DEFAULT 0,
    content LONGTEXT COLLATE utf8mb4_unicode_ci NOT NULL,
    required VARCHAR(1) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'n',
    deleted VARCHAR(1) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'n',
    extradata LONGTEXT COLLATE utf8mb4_unicode_ci,
    CONSTRAINT PRIMARY KEY (id)
    , KEY mdl_quesques_surdel_ix (surveyid, deleted)
    )
    ENGINE = InnoDB
    DEFAULT COLLATE = utf8mb4_unicode_ci ROW_FORMAT=Compressed
    COMMENT='questionnaire_question table retrofitted from MySQL'
    ;
    CREATE TABLE mdl_questionnaire_quest_choice (
    id BIGINT(10) NOT NULL auto_increment,
    question_id BIGINT(10) NOT NULL DEFAULT 0,
    content LONGTEXT COLLATE utf8mb4_unicode_ci NOT NULL,
    value LONGTEXT COLLATE utf8mb4_unicode_ci,
    CONSTRAINT PRIMARY KEY (id)
    , KEY mdl_quesqueschoi_que_ix (question_id)
    )
    ENGINE = InnoDB
    DEFAULT COLLATE = utf8mb4_unicode_ci ROW_FORMAT=Compressed
    COMMENT='questionnaire_quest_choice table retrofitted from MySQL'
    ;
    CREATE TABLE mdl_questionnaire_question_type (
    id BIGINT(10) NOT NULL auto_increment,
    typeid BIGINT(10) NOT NULL DEFAULT 0,
    type VARCHAR(32) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
    has_choices VARCHAR(1) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'y',
    response_table VARCHAR(32) COLLATE utf8mb4_unicode_ci,
    CONSTRAINT PRIMARY KEY (id)
    , UNIQUE KEY mdl_quesquestype_typ_uix (typeid)
    )
    ENGINE = InnoDB
    DEFAULT COLLATE = utf8mb4_unicode_ci ROW_FORMAT=Compressed
    COMMENT='questionnaire_question_type table retrofitted from MySQL'
    ;
    CREATE TABLE mdl_questionnaire_response (
    id BIGINT(10) NOT NULL auto_increment,
    questionnaireid BIGINT(10) NOT NULL DEFAULT 0,
    submitted BIGINT(10) NOT NULL DEFAULT 0,
    complete VARCHAR(1) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'n',
    grade BIGINT(10) NOT NULL DEFAULT 0,
    userid BIGINT(10),
    CONSTRAINT PRIMARY KEY (id)
    , KEY mdl_quesresp_que_ix (questionnaireid)
    )
    ENGINE = InnoDB
    DEFAULT COLLATE = utf8mb4_unicode_ci ROW_FORMAT=Compressed
    COMMENT='questionnaire_response table retrofitted from MySQL'
    ;
    CREATE TABLE mdl_questionnaire_response_bool (
    id BIGINT(10) NOT NULL auto_increment,
    response_id BIGINT(10) NOT NULL DEFAULT 0,
    question_id BIGINT(10) NOT NULL DEFAULT 0,
    choice_id VARCHAR(1) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'y',
    CONSTRAINT PRIMARY KEY (id)
    , KEY mdl_quesrespbool_resque_ix (response_id, question_id)
    )
    ENGINE = InnoDB
    DEFAULT COLLATE = utf8mb4_unicode_ci ROW_FORMAT=Compressed
    COMMENT='questionnaire_response_bool table retrofitted from MySQL'
    ;
    CREATE TABLE mdl_questionnaire_response_date (
    id BIGINT(10) NOT NULL auto_increment,
    response_id BIGINT(10) NOT NULL DEFAULT 0,
    question_id BIGINT(10) NOT NULL DEFAULT 0,
    response LONGTEXT COLLATE utf8mb4_unicode_ci,
    CONSTRAINT PRIMARY KEY (id)
    , KEY mdl_quesrespdate_resque_ix (response_id, question_id)
    )
    ENGINE = InnoDB
    DEFAULT COLLATE = utf8mb4_unicode_ci ROW_FORMAT=Compressed
    COMMENT='questionnaire_response_date table retrofitted from MySQL'
    ;
    CREATE TABLE mdl_questionnaire_resp_multiple (
    id BIGINT(10) NOT NULL auto_increment,
    response_id BIGINT(10) NOT NULL DEFAULT 0,
    question_id BIGINT(10) NOT NULL DEFAULT 0,
    choice_id BIGINT(10) NOT NULL DEFAULT 0,
    CONSTRAINT PRIMARY KEY (id)
    , KEY mdl_quesrespmult_resquecho_ix (response_id, question_id, choice_id)
    )
    ENGINE = InnoDB
    DEFAULT COLLATE = utf8mb4_unicode_ci ROW_FORMAT=Compressed
    COMMENT='questionnaire_resp_multiple table retrofitted from MySQL'
    ;
    CREATE TABLE mdl_questionnaire_response_other (
    id BIGINT(10) NOT NULL auto_increment,
    response_id BIGINT(10) NOT NULL DEFAULT 0,
    question_id BIGINT(10) NOT NULL DEFAULT 0,
    choice_id BIGINT(10) NOT NULL DEFAULT 0,
    response LONGTEXT COLLATE utf8mb4_unicode_ci,
    CONSTRAINT PRIMARY KEY (id)
    , KEY mdl_quesrespothe_resquecho_ix (response_id, question_id, choice_id)
    )
    ENGINE = InnoDB
    DEFAULT COLLATE = utf8mb4_unicode_ci ROW_FORMAT=Compressed
    COMMENT='questionnaire_response_other table retrofitted from MySQL'
    ;
    CREATE TABLE mdl_questionnaire_response_rank (
    id BIGINT(10) NOT NULL auto_increment,
    response_id BIGINT(10) NOT NULL DEFAULT 0,
    question_id BIGINT(10) NOT NULL DEFAULT 0,
    choice_id BIGINT(10) NOT NULL DEFAULT 0,
    rankvalue BIGINT(11) NOT NULL DEFAULT 0,
    CONSTRAINT PRIMARY KEY (id)
    , KEY mdl_quesresprank_resquecho_ix (response_id, question_id, choice_id)
    )
    ENGINE = InnoDB
    DEFAULT COLLATE = utf8mb4_unicode_ci ROW_FORMAT=Compressed
    COMMENT='questionnaire_response_rank table retrofitted from MySQL'
    ;
    CREATE TABLE mdl_questionnaire_resp_single (
    id BIGINT(10) NOT NULL auto_increment,
    response_id BIGINT(10) NOT NULL DEFAULT 0,
    question_id BIGINT(10) NOT NULL DEFAULT 0,
    choice_id BIGINT(10) NOT NULL DEFAULT 0,
    CONSTRAINT PRIMARY KEY (id)
    , KEY mdl_quesrespsing_resque_ix (response_id, question_id)
    )
    ENGINE = InnoDB
    DEFAULT COLLATE = utf8mb4_unicode_ci ROW_FORMAT=Compressed
    COMMENT='questionnaire_resp_single table retrofitted from MySQL'
    ;
    CREATE TABLE mdl_questionnaire_response_text (
    id BIGINT(10) NOT NULL auto_increment,
    response_id BIGINT(10) NOT NULL DEFAULT 0,
    question_id BIGINT(10) NOT NULL DEFAULT 0,
    response LONGTEXT COLLATE utf8mb4_unicode_ci,
    CONSTRAINT PRIMARY KEY (id)
    , KEY mdl_quesresptext_resque_ix (response_id, question_id)
    )
    ENGINE = InnoDB
    DEFAULT COLLATE = utf8mb4_unicode_ci ROW_FORMAT=Compressed
    COMMENT='questionnaire_response_text table retrofitted from MySQL'
    ;
    CREATE TABLE mdl_questionnaire_fb_sections (
    id BIGINT(10) NOT NULL auto_increment,
    surveyid BIGINT(10) NOT NULL DEFAULT 0,
    section TINYINT(2),
    scorecalculation LONGTEXT COLLATE utf8mb4_unicode_ci,
    sectionlabel VARCHAR(50) COLLATE utf8mb4_unicode_ci,
    sectionheading LONGTEXT COLLATE utf8mb4_unicode_ci,
    sectionheadingformat TINYINT(2) DEFAULT 1,
    CONSTRAINT PRIMARY KEY (id)
    , KEY mdl_quesfbsect_sur_ix (surveyid)
    )
    ENGINE = InnoDB
    DEFAULT COLLATE = utf8mb4_unicode_ci ROW_FORMAT=Compressed
    COMMENT='questionnaire_fb_sections table retrofitted from MySQL'
    ;
    CREATE TABLE mdl_questionnaire_feedback (
    id BIGINT(10) NOT NULL auto_increment,
    sectionid BIGINT(10) NOT NULL DEFAULT 0,
    feedbacklabel VARCHAR(50) COLLATE utf8mb4_unicode_ci,
    feedbacktext LONGTEXT COLLATE utf8mb4_unicode_ci,
    feedbacktextformat TINYINT(2) DEFAULT 1,
    minscore NUMERIC(10,5) DEFAULT 0.00000,
    maxscore NUMERIC(10,5) DEFAULT 101.00000,
    CONSTRAINT PRIMARY KEY (id)
    , KEY mdl_quesfeed_sec_ix (sectionid)
    )
    ENGINE = InnoDB
    DEFAULT COLLATE = utf8mb4_unicode_ci ROW_FORMAT=Compressed
    COMMENT='questionnaire_feedback table retrofitted from MySQL'
    ;
    CREATE TABLE mdl_questionnaire_dependency (
    id BIGINT(10) NOT NULL auto_increment,
    questionid BIGINT(10) NOT NULL DEFAULT 0,
    surveyid BIGINT(10) NOT NULL,
    dependquestionid BIGINT(10) NOT NULL DEFAULT 0,
    dependchoiceid BIGINT(10) NOT NULL DEFAULT 0,
    dependlogic TINYINT(2) NOT NULL DEFAULT 0,
    dependandor VARCHAR(4) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
    CONSTRAINT PRIMARY KEY (id)
    , KEY mdl_quesdepe_que_ix (questionid)
    , KEY mdl_quesdepe_sur_ix (surveyid)
    )
    ENGINE = InnoDB
    DEFAULT COLLATE = utf8mb4_unicode_ci ROW_FORMAT=Compressed
    COMMENT='Holds the combined dependencies per question to navigate in '
    Error code: ddlexecuteerror

    Trazado de la pila (stack):
    line 492 of /lib/dml/moodle_database.php: ddl_change_structure_exception thrown
    line 1098 of /lib/dml/mysqli_native_moodle_database.php: call to moodle_database->query_end()
    line 77 of /lib/ddl/database_manager.php: call to mysqli_native_moodle_database->change_database_structure()
    line 427 of /lib/ddl/database_manager.php: call to database_manager->execute_sql_arr()
    line 372 of /lib/ddl/database_manager.php: call to database_manager->install_from_xmldb_structure()
    line 835 of /lib/upgradelib.php: call to database_manager->install_from_xmldb_file()
    line 570 of /lib/upgradelib.php: call to upgrade_plugins_modules()
    line 1922 of /lib/upgradelib.php: call to upgrade_plugins()
    line 713 of /admin/index.php: call to upgrade_noncore()
  • Mike Churchward
    Mon, 9 Aug 2021, 8:50 PM
    You say you are trying to install it, but the errors indicate that the tables are already in your database. So somehow you have the tables already created without your Moodle site knowing that the module is installed. Likely the only way to fix this is to manually remove all of the 'mdl_questionnaire_*' tables from your database and try to install again. Note that any data in those tables will be lost - but presumably you don't have any.
  • Peter Diedrichs
    Thu, 2 Sept 2021, 5:40 PM
    When responses have emoticons, we get this error message when trying to download the report as a PDF file:

    Exception - TCPDF ERROR: [image] Unable to get the size of the image: https://(serveradress)/theme/image.php/adaptable/core/1630562462/s/smiley

    Is this a known problem?
    Is it a problem related to the theme rather than Questionnaire?
    (A workaround is to turn off the emoticons filter in the questionnaire.)
    Using Moodle 3.9.7 and Questionnaire 3.9.1 (Build - 2020111801)
  • Markolin Nicolas
    Fri, 17 Sept 2021, 3:04 PM
    Hello there,
    A few days ago, we ran into a problem in our exam.

    On the screen of some people, questions and random words that have never been uploaded to the system are seen. These words were not included in other questions. The longing and predicate of the questions were in different places. However, there was no such problem in the admin screen. What could be the cause of the problem. version: 3.9.0 (Build - 2020062300)
  • Benito Perez Galdos
    Wed, 1 Dec 2021, 7:36 PM
    Hello

    I have a problem with the questionnaire plugin: when restoring a course backup the Likert scale questions get cluttered, how can I fix it?
Please login to post comments