General plugins (Local): User Tours

Maintained by Picture of Andrew Nicols Andrew Nicols, Picture of Gavin Henrick Gavin Henrick
This Moodle plugin allows administrators to create tours of Moodle to introduce new features, important information, and more.
480 sites
44 fans
The User tours plugin allows administrators to create user tours of Moodle, which are visual and positional step by step guides.

Tours can be created for a wide range of purposes: to guide new users around the interface, to introduce new features, highlight important information, and more.

It is also enabled to cater for multilingual content if required using the multi-lang filters.

This work was paid for and sponsored by the kind folk of Dublin City University -


Screenshot #0
Screenshot #1
Screenshot #2


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

Comments RSS

Show comments
  • Ricardo Caiado
    Tue, 31 Jan 2017, 10:01 PM

    Can not access my Moodle because of this error message:

    "Class 'tool_usertours\helper' not found
    Debug info:
    Error code: generalexceptionmessage
    Stack trace:

    line 68 of /admin/tool/usertours/lib.php: Error thrown
    line 4710 of /lib/navigationlib.php: call to tool_usertours_extend_navigation_user()
    line 4484 of /lib/navigationlib.php: call to settings_navigation->generate_user_settings()
    line 3917 of /lib/navigationlib.php: call to settings_navigation->load_user_settings()
    line 107 of /blocks/admin_bookmarks/block_admin_bookmarks.php: call to settings_navigation->initialise()
    line 288 of /blocks/moodleblock.class.php: call to block_admin_bookmarks->get_content()
    line 230 of /blocks/moodleblock.class.php: call to block_base->formatted_contents()
    line 1181 of /lib/blocklib.php: call to block_base->get_content_for_output()
    line 1233 of /lib/blocklib.php: call to block_manager->create_block_contents()
    line 356 of /lib/blocklib.php: call to block_manager->ensure_content_created()
    line 3899 of /lib/outputrenderers.php: call to block_manager->region_has_content()
    line 40 of /theme/boost/layout/columns2.php: call to core_renderer->blocks()
    line 1110 of /lib/outputrenderers.php: call to include()
    line 1040 of /lib/outputrenderers.php: call to core_renderer->render_page_layout()
    line 2771 of /lib/outputrenderers.php: call to core_renderer->header()
    line 388 of /lib/setuplib.php: call to core_renderer->fatal_error()
    line ? of unknownfile: call to default_exception_handler()"

    Any Ideas?

    Moodle 3.2.1+
    Ubuntu 16.04 LTS
    PostgreSQL 9
    PHP 7

  • Picture of Leônidas Brandão
    Fri, 24 Feb 2017, 4:30 AM
    Hi, I had a problem to install a brand new Moodle 3.2.1+ (under Linux/Debian 8 + MySQLi + PHP5).
    The error occorred during the tables installation step, almost at the end, in plugin "tool_usertours" (just after the "tool_uploaduser\nSuccess").
    I got the error: Debug info: Column 'enabled' cannot be null
    INSERT INTO md_tool_usertours_tours (name,description,pathmatch,enabled,sortorder,configdata) VALUES(?,?,?,?,?,?)
    [array (
    0 => '',
    1 => '',
    2 => NULL,
    3 => NULL,
    4 => 0,
    5 => 'null',
    Error code: dmlwriteexception
    Stack trace:

    line 482 of /lib/dml/moodle_database.php: dml_write_exception thrown
    line 1178 of /lib/dml/mysqli_native_moodle_database.php: call to moodle_database->query_end()
    line 1224 of /lib/dml/mysqli_native_moodle_database.php: call to mysqli_native_moodle_database->insert_record_raw()
    line 521 of /adminleo/tool/usertours/classes/tour.php: call to mysqli_native_moodle_database->insert_record()
    line 612 of /adminleo/tool/usertours/classes/manager.php: call to tool_usertours\tour->persist()
    line 826 of /adminleo/tool/usertours/classes/manager.php: call to tool_usertours\manager::import_tour_from_json()
    line 78 of /adminleo/tool/usertours/db/install.php: call to tool_usertours\manager::update_shipped_tours()
    line 531 of /lib/upgradelib.php: call to xmldb_tool_usertours_install()
    line 1748 of /lib/upgradelib.php: call to upgrade_plugins()
    line 693 of /adminleo/index.php: call to upgrade_noncore()

    To circunvemt the error I change 2 Tours' files:
    ./admin/tool/usertours/classes/manager.php: inside the function 'import_tour_from_json'
    After '$tour->persist(true);', I inserted a test
    'if ($steps == null) return $tour; '

    ./admin/tool/usertours/classes/tour.php: inside the function 'persist'
    I provided an artificial entry to avoid problem, of insertion with null fields, I put something like this:
    'if ($record->name == null && $record->enabled == null) { $record->name = "nothing"; $record->description = "2017/02/20"; $record->enabled = 1; $record->configdata = "2017/02/20"$

    I am using PHP Version 5.6.30-0+deb8u1 on Debian-Linux.

    Is this a real problem of this Moodle version?

    Best regards,
  • Health & Safety Training Ninja
    Mon, 27 Feb 2017, 8:33 PM

    I'm struggling using the tours with my theme and getting some Plug-ins working well with the tours. The problem is that multiple elements on the screen have the same classes and it's very difficult to pick out just one thing on the page.

    A solution to this would be to use advanced css techniques, but the tours plugin doesn't seem to have the capability built in at present.

    Using the below css selectors, for example would allow me to pick out a single element from the screen, currently I cannot:


    I notice that using ID's does not work well with css. It would also be great to simply add the #id rather than having a need to use css.

    I hope improvements can be made to allow for this.

  • Picture of james aco
    Sat, 1 Apr 2017, 12:25 PM
    Trying to reach the user tours repository at -
    but nothing there.
    Maybe you could refer me to the right location?
    Thank you for Amazing tool
  • Picture of David Campbell
    Fri, 7 Apr 2017, 7:42 AM
    I may have missed this, but is there a way to preview a tour if you don't have a test server to run it on?
  • Health & Safety Training Ninja
    Fri, 7 Apr 2017, 5:05 PM
    Hi David Campbell,

    You could try and login as admin to here: and give it a try.
  • Picture of p p
    Wed, 10 May 2017, 3:15 PM
    Hi, I just created 3 user tours on moodle 3.2 but I can't seem to download them and import them into my second site. When I download the original tour the import is also not working. Please advice.
  • Picture of p p
    Wed, 10 May 2017, 3:32 PM
    Tested downloading a Tour from repository, the import of this file worked. When exporting this file and validating it with JSONLint the file gave an error, also the upload didn't work anymore. PS We use a slightly modified version of boost theme.
  • Picture of Yanina Lebed
    Sun, 28 May 2017, 7:58 PM

    I wonder if there's a possibility to embed videos in the tours? Thank you!
  • Picture of Tristan daCosta
    Fri, 2 Jun 2017, 11:34 PM
    Great Plugin!

    If you want to highlight multiple (duplicate) CSS elements on page without having a popover for each (most likely overlapping), you can add in this CSS.

    I noticed that when you select an element by CSS and more than one element matches, although a popover is rendered for each, only the first has an ID assigned (ie. id="step-6"). All other matching elements thereafter are exactly the same in all ways, except there is no id assign.

    /** Set opacity to 0 (transparent) for all popover elements that don't have a valid id. display: none; breaks positioning so using opacity. **/
    .popover[class*="tour-"]:not([id^='step-']) {
    opacity: 0;
    /** Bring the first (showing) popover to the front so that user can use navigation **/
    .popover[class*="tour-"][id*="step-"] {
    z-index: 10000;

    There is probably a better way, but thought I'd share in case anyone else trying to achieve the same thing.

  • Picture of Henrik sune Pedersen
    Wed, 5 Jul 2017, 6:11 PM
    I have 2 quick question.
    If we upgrade the moodle version to 3.2 and the plugin is installed in the previóus moode, is the tours converted to the core tours?.
    If we uninstall the localplugin, will it delete the content in the database - the tables seems to have the same names.?
  • Picture of Rajeet Singh
    Thu, 20 Jul 2017, 6:37 PM
    I have accidentally uninstalled user tours plugin, and now unable to access Moodle admin, can any help in reinstallation.
    The usertours folder is still there in the tool directory, but some tables are removed from the database... what is the best way to make the moodle working....
  • John Provasnik at Moodle Moot US
    Fri, 28 Jul 2017, 9:56 PM
    I'm using this plug in on Moodle 3.1.6 and cannot get the tour to work on the front page. Any suggestions or anyone had the same problem? I've made it the first User Tour of my list of tours, and for my URL Applies to I've tried using "FRONTPAGE" "frontpage" "Front Page" "/index.php" and "/course/view.php?id=1" and none of these will activate the tour. The only thing in the tour a 'Display in the middle of the page' Welcome message. Any thoughts?
  • Picture of Nicolás Gómez
    Wed, 2 Aug 2017, 7:28 AM
    Is there any way to customize the "reset user tour on this page" link? I'll explain my idea: I want to create a button on the page that allows user to start the user tour. I've tried using the same link that appears on the bottom of the page, but it doesn't work; it reloads the page, but the user tour doesn't start.

    Moodle: 3.1
    Language: español.
    local_usertours / 3.1 (Build: 2016052306) / 2016052306
  • Picture of Nicolás Gómez
    Wed, 2 Aug 2017, 7:31 AM
    Is there any way to customize the "reset user tour on this page" link? I'll explain my idea: I want to create a button on the page that allows user to start the user tour. I've tried using the same link that appears on the bottom of the page, but it doesn't work; it reloads the page, but the user tour doesn't start.

    < div class="usertour" id="yui_3_17_2_1_1501619354457_1089">
    < a href="#" data-action="local_usertours/resetpagetour" id="yui_3_17_2_1_1501619354457_1091" >
    Reiniciar recorrido de usuario en esta página
    < /a >
    < /div >

    Moodle: 3.1
    Language: español.
    local_usertours / 3.1 (Build: 2016052306) / 2016052306
1 2 3 4 5
Please login to post comments