## Activities: Scheduler

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.
2360 sites
41 fans
Moodle 2.3, 2.4

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, please use the Scheduler forum on moodle.org.

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

### Awards

• 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.)
• 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" ;)
• 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.
• 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!
• 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().
• 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!
• Tue, 16 May 2017, 5:55 PM
Hi Kevin,
the paging bar is generated towards the end of studentview.php, where it says "echo $output->paging_bar(...". • Tue, 16 May 2017, 9:19 PM Hi Henning and Developers, Thank you for the response again. I think I didn't make myself clear, what I want is to disable the paginator so the entire slots appear on one page. Currently, my paginator shows 10 pages and if I delete "echo$output->paging_bar(...", I am still on the first page. It looks like "echo $output->render($booker);" has some kind of function that divides slots into each page. How would I change the code in "echo $output->render($booker);" so I can see all the slots in one page?

Thank you again!
• Wed, 17 May 2017, 4:07 AM
Yes, certainly. All you've done so far is hiding the paging bar. If you want to change the size of the pages itself, you would need to change the variable $pagesize (where it currently says "$pagesize = 25;"). Set it to a very large value.
• Wed, 17 May 2017, 9:48 AM
Hi Henning

I'm using 3.1.0.
Regarding "maxstudentlistsize": currently if the student number is higher than this value, no list is displayed. Will it be possible in future versions to actually display a student list, with a number of displayed students equal to this value, and a page bar to navigate between pages?

Thanks and regards,

Sébastien
• Wed, 17 May 2017, 6:15 PM
Hi Sebastien, I'm not currently planning that but you may want to add it to the list of feature requests on the Tracker. The "maxstudentlistsize" was really meant as a stop-gap for situations where schedulers appear e.g. in the global site context and may have thousands of potential participants, and where displaying the list would be extremely slow.
• Wed, 17 May 2017, 8:05 PM
Hi Henning,
https://tracker.moodle.org/browse/CONTRIB-6902?jql=project%20%3D%20CONTRIB%20AND%20component%20%3D%20%22Module%3A%20Scheduler%22
Anyone interested in this feature, please make sure to vote for it.
• Thu, 18 May 2017, 1:33 AM
Hi Henning and Developers,

Thank you for reading this post. I have a simple questions, for "teacherview.php", for the line "echo $output->render($slotman);", what is the function in "scheduler_instance.php" that extracts the data from the database? Note that this is teacher view.

Thank you again!
• Thu, 18 May 2017, 10:13 PM
Hi Henning and Developers,

Sorry to bother you again. For function "get_slots_available_to_student" inside "scheduler_instance.php", what is the name of the table (or names of the tables) in the database (\$DB) you are accessing? Sorry it doesn't say which table it is accessing in the code.

Thank you!
• Fri, 19 May 2017, 10:55 PM
Hi Henning again ,

Thank you very much for fixing the bug with the deleting of the selected slots.

We were testing scheduler under Moodle 3.2, and we came across another bug.

The bug will appear when the teacher is trying to give one time slot for a group of students. When the students book this slots, the teacher will get a conflict message telling him to check the ignore conflict button, but eventually he will get 2 slots with the same time and with the same number of students, which means if the teacher is trying to give a slot for 3 students, he will have 2 slots with the same time and 6 students can book those slots.

I hope, that i explained the bug well.

Thank you very much!