General plugins (Local) ::: local_edusupport
Maintained by Robert Schrenk, Zentrum für Lernmanagement
This plugin allows to manage a moodle based decentralized helpdesk with three support levels. It basically works with Moodle forums. The 1st level support works on course level, so you can create as many support courses as you like (in our case we have a bunch of schools in our Moodle, each school has its own support course). All 2nd and 3rd level support members get access to certain discussions in those forums, after the 1st level support forwarded an issue.
Latest release:
100 sites
16 fans
Current versions available: 1


How to configure edusupport?

This plugin allows to manage a moodle based decentralized helpdesk with three support levels. It basically works with Moodle forums. After you installed the plugin, you should navigate to the Website Administration > Plugins > Local plugins > Help and set up your support site's team (only 2nd and 3rd level).

Choose your support team (only 2nd and 3rd level supporters)

Choose support team

If you enter a support level, this user will belong to the 3rd level, you can enter any label here (e.g. a special topic for that user like 'technical', 'pedagogy', ...), so that the 2nd level can decide to whom they should forward special issues. Leave the support level empty for 2nd level support users.

Choose your support forums

Now you need to create at least one course with one general forum and mark it as a supportforum in the course settings of each course (only site administrators can do that).  You can also decide here if a forum is marked as site wide supportforum. Only 1 forum can be set as site wide supportforum. If you enable it, all users that open the "help"-modal will be automatically enrolled into that course with the student-role and a group for that user will be created. This ensures private communication in that supportforum, so it is recommended to set the groupmode to "separated groups" in that forum.

Choose support forums

All users with the trainer role in this course will be the 1st level support. You can enable separated groups, visible groups or no group mode - doesn't matter. Users will receive notifications as usual if they subscribe the forum.

You can set one team member of the site's support team (2nd and 3d Level) as a dedicated support user. This means, that all issues forwarded to 2nd level will be automatically assigned to the responsibility of this team member.

Once a forum is activated as supportforum some capabilities in the forum module and course are set to prevent the deletion.

The members of the site's support team (2nd and 3rd level support) will not receive notifications as long as the ticket was not forwarded to the 2nd level. They need not be enrolled to the course itself and will not be able to read all discussions. They will only be granted access to those discussions that have been forwarded by the 1st level support.

How to post issues?

As we are using normal Moodle forums, users can go to the forum and create new discussions. But possibly not everybody finds that very user friendly, and information can get lost (error messages that appeared, the URL where the problem occurred, ...)

Therefore we integrated a "help"-button (works in boost theme, not tested elsewhere) in the usermenu toolbox (near the conversations-icon).

The help button

If a user presses this button a modal dialog appears and the user can describe the problem directly on the page it occurred. Optionally a screenshot of the page can be attached.

The help modal

If the user has access to several supportforums he can choose the target, also if the forums use the group feature, the target group can be chosen. If the user has not access to any supportforum the system automatically falls back to an email mode, and the issue is sent to the mailaddress of the supportusers specified in the site administration.

If a user belongs to the first level support of a certain supportforum, it is possible to forward the issue directly to the 2nd level, after it was created.

Who is responsible for a ticket?

  1. The 1st level support, which means: all trainers in the support course. These users can forward an issue to the 2nd level. On the discussion page they will find a button "Forward this issue to 2nd level support". If a dedicated supporter was set for this forum, this user will be named to be responsible for this ticket. Otherwise a random user from the 2nd level support team will be selected. For transparency reasons a post on behalf of the 1st level support user is automatically added to the discussion. Anybody from the 1st level support can also revoke the issue from the 2nd level.

Forward issue to 2nd level

  1. All support members of 2nd and 3rd level will find a link "Issues" in the left panel. Under that link they have access to an overview page that shows them all issues, that currently belong to the 2nd or 3rd level support. These issues are grouped to "My issues" (I am responsible), "Subscribed" (I am not responsible, but will receive notifications), "Other issues" (I will not receive any notification, but can access and subscribe).

Manage issues

  1. Members of the 2nd and 3rd level support can now assign responsibilities. Once the issue is solved, they can mark it as solved on the discussion page.

Issue discussion page

  1. When an issue is closed any subscriptions of the support team will be removed. An automated post on behalf of the closing user makes this transparent to the 1st level and end user. No access to the discussion will be possible anymore, unless the 1st level support forwards the issue again.

This overviewpage allows access to the discussions that represent the issue. All support team members can access only these discussions. On the overview page itself they can subscribe for notifications, if they are not responsible, they can also unsubscribe. They can forward the responsibility to someone else on the discussion page, or can take subscribe / unsubscribe from notifications.

  1. It splits your support team into the three support levels, and each issue can be forwarded to the next level.
    • 1st level: pedagogic issues or simple technical questions
    • 2nd level:
  2. The first level works on course level. You can have as much support courses for the first level as you like. In our case we have a bunch of schools in our Moodle, and each school has its own support course with the 1st level support from staff of that school.

This block allows users to instantly post problems to a standard forum from wherever they are on the site, including the possibility to attach a screenshot of the current page. It is recommended to use separated groups within this forum.

For that purpose eduSupport creates a group for each user to ensure a private communication channel to the support team. Users can be automatically enrolled to the course containing the support-forum when posting a problem, if this option is enabled in admin settings.


Screenshot #0
Screenshot #1
Screenshot #2
Screenshot #3
Screenshot #4
Screenshot #5
Screenshot #6


Robert Schrenk (Lead maintainer)
Zentrum für Lernmanagement
Please login to view contributors details and/or to contact them

Comments RSS

Show comments
  • Tue, Jan 26, 2021, 7:51 PM
    Dear Jörg, please read carefully how the plugin works. Your users must be enrolled in the course, where the support forum resides. Only if you configured a "central" support forum, the users are enrolled automatically once they press the "help" icon. Kind regards Robert
  • Mon, Feb 15, 2021, 10:34 PM
    Hi Robert,

    Your plugin implements the \core_privacy\local\metadata\null_provider interface but you are storing user identifiable data in your plugin. There are two tables which contain user id fields: local_edusupport_supporters, local_edusupport_subscr so the plugin should export or delete this data when the user requests it.

    Best Regards,
  • Thu, Feb 18, 2021, 5:16 PM
    Thank your for that input. We will include this modification in our next release.
  • Tue, Jun 29, 2021, 4:46 PM
    not working in new learning theme
  • Tue, Jun 29, 2021, 4:57 PM
    Hello, please use the bugtracker for reporting issues ( and specify the problem in more detail. Kind regards
  • Mon, Aug 23, 2021, 4:04 AM
    after a long search we found this great plugin for our school, however we have some questions:

    1) Is there a way to automatically forward the tickets to the second level?
    2) How can we change the people who are responsible for the tickets? (only the display after sending a ticket).

    Thank YOU!
  • Tue, Aug 31, 2021, 5:42 AM
    Hello, there is no possibility to automatically forward tickets to the second level. I am not sure if that even makes sense, as it would then be the first level, wouldn't it? the people responsible on the first level are all participants of that course that have the capability "moodle/course:update" (normally: the trainers). Kind regards
  • Tue, Aug 31, 2021, 5:50 AM
    Hey Robert, thank you for the response. I got the idea, because the trainers of the course have no way to close tickets, or am I wrong?
  • Tue, Aug 31, 2021, 5:55 AM
    Hello, as the first level support is within the course, you can use Moodle standard features to lock discussions. Kind regards
  • Ricardo Caiado
    Sat, Oct 23, 2021, 7:30 PM
    Postgresql 12
    PHP 7.4
    Ubuntu 20.04


    When installing:

    Error reading from database

    Debug info: ERROR: LIMIT #,# syntax is not supported
    LINE 3: ... WHERE userid = $1 AND courseid = $2 LIMIT 0,1
    HINT: Use separate LIMIT and OFFSET clauses.
    SELECT id,userid
    FROM mdl_local_edusupport_supporters
    WHERE userid = $1 AND courseid = $2 LIMIT 0,1
    [array (
    0 => '2',
    1 => 1,
    Error code: dmlreadexception
    Stack trace:

    line 486 of /lib/dml/moodle_database.php: dml_read_exception thrown
    line 329 of /lib/dml/pgsql_native_moodle_database.php: call to moodle_database->query_end()
    line 920 of /lib/dml/pgsql_native_moodle_database.php: call to pgsql_native_moodle_database->query_end()
    line 1671 of /lib/dml/moodle_database.php: call to pgsql_native_moodle_database->get_records_sql()
    line 443 of /local/edusupport/classes/lib.php: call to moodle_database->get_record_sql()
    line 107 of /local/edusupport/lib.php: call to local_edusupport\lib::is_supportteam()
    line 1527 of /lib/navigationlib.php: call to local_edusupport_extend_navigation()
    line 1490 of /lib/navigationlib.php: call to global_navigation->load_local_plugin_navigation()
    line 4146 of /lib/navigationlib.php: call to global_navigation->initialise()
    line 768 of /lib/pagelib.php: call to settings_navigation->__construct()
    line 830 of /lib/pagelib.php: call to moodle_page->magic_get_settingsnav()
    line 8714 of /lib/adminlib.php: call to moodle_page->__get()
    line 19 of /admin/upgradesettings.php: call to admin_externalpage_setup()
  • Fri, Nov 5, 2021, 8:07 PM
    This is a great solution. The thing is that with the Adaptable theme the user cannot see the help icon. What link i can add to show the user the help form? Does the user get enrolled automatically?
  • Tue, Nov 16, 2021, 11:08 PM
    Hello, please use the GitHub Ticketing-System for questions and error messages. Regarding the adaptable-theme you can place a button yourself anywhere on the page. here is an example: <a href="#" onlick="require(['local_edusupport/main'], function(MAIN){ MAIN.showBox(); }); return false;" class="btn btn-primary" target="_blank" rel="noreferrer"><i class="fa fa-medkit"></i>Help</a>
  • Mon, Nov 22, 2021, 8:12 PM
    Hello, thanks for the module, great thing. I have a little question about configurations. Global forum, set operators. The student completing the modal form is added to the course (separated group), his application can be seen on the forum. However, you cannot see this report in the admin tab - Notifications (Issues). The tickets added by the admin and help work correctly / are displayed in the lists. I checked it on MOODLE 3.9.10 and 3.9.11 instances, the same result each time. Where could I go wrong in the configuration?
    Thank YOU!
  • Tue, Nov 23, 2021, 6:29 PM
    Hello, please use the GitHub Ticketing-System for questions and error messages.
  • Tue, Nov 30, 2021, 7:02 PM
    Dear Robert Schrenk
    when i try to dedicate support forum to support user i created from the help->Supporters i recievce this error
    Dedicated supporter could not be set i want to know why
    Note:- My moodle version is 3.11.4 and my database is postgres
1 2
Please login to post comments