Scheduler

Activities ::: mod_scheduler
Maintained by Henning Bostelmann
An appointment scheduler for planning face-to-face meetings between teachers and students. Teachers can set up time slots, and students can choose one of these on Moodle.
Latest release:
5534 sites
1k downloads
188 fans
Current versions available: 10

The Scheduler module helps you in scheduling appointments with your students. Teachers specify time slots for meetings, students then choose one of them on Moodle. Teachers in turn can record the outcome of the meeting - and optionally a grade - within the scheduler.

Group scheduling is supported; that is, each time slot can accomodate several students, and optionally it is possible to schedule appointments for entire groups at the same time.

Please note that minor updates to this module will normally be released on github only.

For help and discussion about the module, including feature requests etc., please use the Scheduler forum on moodle.org or the bug tracker. Please don't use the comment section below for that, queries might go unanswered.

For an earlier version supporting Moodle up to release 1.9, see the Scheduler 1.9 module.


Screenshots

Screenshot #0
Screenshot #1
Screenshot #2
Screenshot #3
Screenshot #4

Contributors

Henning Bostelmann (Lead maintainer)
Please login to view contributors details and/or to contact them

Comments RSS

Comments

  • Henning Bostelmann
    Tue, 27 Sept 2016, 1:04 AM
    Dear Frank, I'm not quite sure about the problem, and have never seen this before. When you say "it becomes impossible from him to add new time slots", do you mean that the "Add slots" button is no longer being displayed, or is there any other error message? If you can reproduce the problem, it might be best to open a ticket on the Moodle tracker (https://tracker.moodle.org/) where I can follow this up further.
  • Amr Al Kudeh
    Wed, 5 Apr 2017, 7:17 PM
    Hi Heinning,
    Many thanks for this great plugin.

    I just wanna share with you a small bug while i was testing the plugin under Moodle 3.2.2 on LinuxMint 17.3 and PHP 5.6.

    I added some slots, and then i wanted to delete them.

    The thing is, when i choosed (Delete slots -> Delete selected slots) without selecting any of the slots, i got an error and then redirected to the main page of the course.

    I would be very greatful if you can help me with this.

    Thank you in advance for your help

    Amr


  • Henning Bostelmann
    Tue, 11 Apr 2017, 11:41 PM
    Dear Amr, thanks for mentioning this. I have created an entry on the Moodle Tracker (CONTRIB-6857) and hope to get to it soon. Meanwhile, you can work around the problem by selecting one or more slots first.
    Best wishes
    Henning
  • Eric Katchan
    Thu, 13 Apr 2017, 12:45 AM
    Hello Henning, We are currently testing an upgrade of our moodle site from 3.0 to 3.2. Our production version of mod_scheduler is 2015102902. I know it is old but...

    I installed the most recent 2016100402 and encountered a databse level error. Since we have not upgraded, the cron is looking to remove old unused slots. In our case it is many thousands. Our database backend is postgres and the query has exceeded 65535 parameters. I have over 250000. Query Fails.

    SELECT DISTINCT s.id
    FROM mdl_scheduler_slots s
    LEFT OUTER JOIN mdl_scheduler_appointment a ON s.id = a.slotid
    WHERE a.studentid IS NULL
    AND starttime < 1492015298

    Do you have any suggestions or more importantly, is the query correct?

    Thanks

    Eric
  • Eric Katchan
    Thu, 13 Apr 2017, 10:19 PM
    Hello, Henning as a followup I have modified the purge code slightly. I realize this is a unique occurrance in that there are rarely so many unused slots as the cron runs on a regular basis. But...

    scheduler_instance.php

    ...

    $todelete = $DB->get_records_sql($sql, array($now));
    if ($todelete) {
    $keys = array_keys($todelete);
    $emptyslots = array_chunk($keys , 10000);
    foreach ($emptyslots as $emptyslot) {
    list($usql, $params) = $DB->get_in_or_equal($emptyslot);
    $DB->delete_records_select('scheduler_slots', " id $usql ", $params);
    }
    }

    At least for sites like ours where we are still using the older version, the initial problem will be handled.


  • Henning Bostelmann
    Fri, 14 Apr 2017, 10:22 PM
    Hello Eric,
    good point. I've now limited the number of slots to be deleted to 1000 at a time. I'm just not sure how this problem has built up - even in earlier versions of Scheduler (back to 1.9 in fact), the cron should have deleted old unused slots periodically. It's just that it has been rewritten in the new version.
    Best wishes
    Henning
  • Carl Dennis
    Thu, 27 Apr 2017, 2:54 AM
    Hello Henning,

    We are trying to create a user role that can ONLY see slots and mark students as 'seen'. While we can limit the view well enough, the setting "attend students" (mod/scheduler:attend) does not seem to grant a user the ability to attend students. Instead, I can only see a tickbox image, instead of an actual tickbox.

    Is this a bug, or am I missing a setting?

    Best,
    Carl D.
  • Henning Bostelmann
    Thu, 27 Apr 2017, 7:15 AM
    Hello Carl
    This is a bit hard to say without knowing the details of your role, however: The first thing you should check is whether the slots actually "belong" to the user you mention, i.e., whether the user is listed as the "teacher" in the slot. mod/scheduler:attend allows only to edit *one's own* slots, not the slots of other teachers. For marking students as seen on *any* appointment, you would need mod/scheduler:manageallappointments . More details here: https://docs.moodle.org/32/en/Scheduler_Module_capabilities .
  • Carl Dennis
    Thu, 27 Apr 2017, 9:17 AM
    Thank you for the speedy reply, Henning.

    We were hoping to have a 3rd party, like a secretary, be able to mark "attend" for student appointments. This person would only be responsible for marking attend/seen for students, not putting them into a slot. Is it possible to give them "manage attend only" by cutting up some of the mod/scheduler:manageallappointments?

    Thanks for any insights you have!
  • Henning Bostelmann
    Thu, 27 Apr 2017, 5:15 PM
    Hello Carl,
    no, that's not possible with the current version of Scheduler. I think the best option would be to give the secretary the "mod/scheduler:manageallappointments" capability, and instruct her to mark students as attended but make no other changes. (It's fairly hard to make other modifications by mistake.)
  • Carl Dennis
    Fri, 28 Apr 2017, 11:12 PM
    Hello again Henning,

    Thank you for the information. In our somewhat special circumstances, we can't give any other editing permissions to the "secretaries", which is why we need to limit them to view current slots and mark attend/seen only. Consider them "hostile secretaries" ;)
  • Henning Bostelmann
    Mon, 1 May 2017, 12:34 AM
    OK, I see. Moodle generally trusts teachers and admins, hence "hostile secretaries" are always a bit of a problem... I've logged this as CONTRIB-6877 for the moment, but I'm not yet quite convinced that it would be useful outside your special case.
  • Retired General
    Tue, 16 May 2017, 1:42 AM
    Hi Developers,

    Thank you for previewing my post. I have a question about scheduler. Which file contains the function that sort the slots before being posted? Sorry I spent 3 hours understanding studentview.php and renderer.php but no progress.

    Thank you again!
  • Henning Bostelmann
    Tue, 16 May 2017, 2:29 AM
    Hello Kevin,
    sorting is usually done at the database level, not in the view or the associated renderer. The code that assembles the corresponding SQL queries can be found in model/scheduler_instance.php; see for example the method get_slots_available_to_student().
  • Retired General
    Tue, 16 May 2017, 7:03 AM
    Hi Henning and fellow developers,

    Thank you for your response. I have one last question to ask. What php files can I find control of paginator of courses on student view? I am thinking of disabling the paginator. I know it crazy but I am testing a course layout here.

    Thank you!
Please login to post comments