Filters: Insert question

Maintained by Picture of Richard Jones Richard Jones
This is a very simple implementation of a question filter. It allows questions to be inserted anywhere in Moodle editable text either embedded or in a popup.
5 sites
3 fans

A simple implementation of a text filter for Moodle. 

In this version the user places special codes within text anywhere in Moodle which can then be replaced by a link to a question number in the database.  

The filter text is of the form {{QUESTION:linktext|xxx|display}} where xxx is the question id number and display is the display mode (embed or popup).  

You can find the question number by looking at the questions in your question bank. Click the preview question link and look in the URL, the first id is the question's id number. 

Question number xxx is replaced by a simple encryption technique such that the original id number is not displayed by preview.php.

An ATTO button is also available (moodle_atto_question) for teachers (only) to insert the question via a form dialog.


The start and end tags are configurable as is the link text length. The question can be displayed as a popup or within an iframe embedded in a sliding panel - the size of the iframe is configurable.

You can change the encryption key.  Be sure to use only alphabetical characters and spaces.

IMPORTANT: You should only change the start and end tags on first-time set up.  The only reason to do that would be if the tags conflict with some other filter or special text tags you are using.


Documentation and screenshots at

  • Select "Open courses" icon on front page
  • Click "Simple Question Demonstration"
  • Login as guest

Known bugs, Todos

Will not work with some advanced question types yet such as drag and drop. 

Version 1.5.3 Changes

Altered the embedded question to use jQuery sliding panels rather than Bootstrap collapsible div.

Version 1.5.4 Changes

Added steps to delete question_attempt_step and question_attempt_step_data from Moodle tables associated with question usages generated by this plugin.  Default is to run every 10 minutes.  The admin can adjust this under server settings - scheduled tasks.  In heavily used situations, it may need running more frequently.

Questions and suggestions

Richard Jones

Karapiro Village
New Zealand
November 2017


Tested in Moodle 3.1, 3.2, 3.3 and 3.4.


Potential privacy issues

None known.


Screenshot #0


Picture of Richard Jones
Richard Jones (Lead maintainer)
Please login to view contributors details and/or to contact them

Comments RSS

Show comments
Please login to post comments