Because of this it works a little differently to other modules because the date chosen needs to match the week in which it is placed, so the point at which you choose to add it is irrelevant, as it will insert itself into the right week anyway
This is the first module i've developed and so would be very pleased to hear all comments. I'm sure it's all horribly wrong, but it works OK for me. Some of the logging functions are still incomplete but i'll get back to those once I work out exactly what they're for
All the best,
Ben Pirt
there if you want ... if so, send me your sourceforge username!
http://moodle.org/doc/?frame=cvs.html
My SF username is bjpirt
I'd appreciate your comments on how to make this better. It works fine now but there are some inconsistencies, i.e. if you click on the move button, you can move the appointment to any section, but it will then be inconsistent with the date for that appointment. Ideally what I'd like to do is click the move button and bring up a page which lets you change the date and time. Is something like this possible, whilst keeping these changes nicely embedded within a module?
All the best,
Ben
I haven't had a chance to try it out yet - sorry!
Cheers,
Ben
Do this:
make a directory for your cvs checkout. call it whatever you want.
Then:
From a Unix/Linux computer
To connect and login for the first time to the CVS server, you can use this command:
cvs -d:pserver:anonymous@cvs.moodle.sourceforge.net:/cvsroot/moodle login
There is no password - when asked for one, just hit Enter.
To checkout (download) the entire Moodle code for the first time, use this command:
cvs -z3 -d:pserver:anonymous@cvs.moodle.sourceforge.net:/cvsroot/moodle co contrib
Later, to update your local copy of Moodle to the current version in CVS you just need to go into your local moodle directory and type:
cvs update -dP
From a Windows computer
To get started with a fresh copy of Moodle, follow the following steps:
1. Get TortoiseCVS from tortoisecvs.org and install it, then reboot.
2. Find or create a new folder somewhere where you want Moodle to be downloaded to.
3. Right-mouse-click that folder and choose "CVS Checkout" from the menu. You should see a dialog box.
4. Copy this text into the CVSROOT field: :pserver:anonymous@cvs.moodle.sourceforge.net:/cvsroot/moodle
5. Press the button: "Fetch list...".
6. To the right of the button you'll see a list of modules: choose "contrib" from that list.
7. Press the button: "OK" and everything should be downloaded.
(paraphrased from http://http://moodle.org/mod/resource/view.php?id=8)
As far as I interpret the code in course/* manipulating a module by moving it does not give the module itself a chance to make changes.
If there were a hook in the module api to allow this you could.
Maybe you should consider making this automatic placement of an appointment an option - especially since courses could be configured as topic-based rather than weekly schedule based. Then the movement of an appointment manually would make more sense anyways.
By the way, there's a bug in your code for moving an appointment to the right section. The code in your lib.php that says:
$appointment->section = ceil(($appointment->timestart - $course->startda
te)/604800);
(in 2 places)
should be
$appointment->section = floor(($appointment->timestart - $course->startda
te)/604800) + 1;
Your code didn't put an appointment that started on the first day of the week in the right week. It put it in the week before.
Russ
Thanks for the reply. I wonder if doing a check to see which course format was being used might be the way to go, that way if it is a weekly format, then it would be placed in the correct week (it probably wouldn't make much sense if it was in the wrong week), but if it is in the topic format, then I could place it in the topic that the user chose to add the appointment to. What do you think to this?
Thanks for spotting that bug, I'll have it fixed in CVS shortly.
On a side note, I wonder if for some version of moodle down the line, there could be an optional hook for how to move the object. There could be a check to see whether the move function exists or not in the module and if it does then use that instead of the default action. That way none of the existing modules would be broken and there would be more flexibility in creating new modules. Martin, do you have any comments on this? Would you want something like this implementing? It certainly wouldn't be something I would commit to CVS without asking
All the best,
Ben
if ($course->format =="weeks") {
...
}
As for the matter of manually moving appointments in the week format, I still think it would be best to allow the dynamic placement of appointments in sections. The ability to move module instances around in the course seems to be a core behavior of a moodle course. Instructors will have become quite familiar with being able to shuffle things around the way they want them. Even with your appointment module, they'll still be able to shuffle appointments around in a given week.
If you make this feature an option instead of a requirement, it will do two things for the user:
1 - make them aware, implicitly, that your module behaves a little differently that the others.
2 - that they can turn that 'difference' off and allow them to behave just like all the others. Remember, some courses may be quite lengthy, with many module instances cluttering things up. Some instructors may want to put all their appointment instances at the very top (0) section, making them more visible. In that case, they would want to turn off the option of dymanically placing them by date.
Russ
Forgive my newness to moodle, which I'm certain is the predominate factor in the problem I'm having adding the appointment module. I get the module to install ok but the name listed in my modules shows it as modulename instead of 'Appointment'. I've looked through all the files in the module folder for NEWMODULE instances and haven't found any strays. I'm just missing a place where you set this so the name will display correctly.
Thanks for any help
Regards
Aurora:
Martin's the man. Inside the package is a language file (appointment.php) - install that to the /lang/en and /lang/en_us folders and it should be fine.
Tony (also from Aurora, CO)
Thanks a lot for the quick reply! I installed the latest lang packs and I placed the appointment.php in both en and en_us however it still displays the module name as modulename in the modules list.
Again thanks for all help
Regards
Are you sure that you'd created a folder named "appointment" (all letters in lower case) inside the mod folder?
Thanks for the inquiry Will - I looked at the appointment module more closely and as a teacher when setting up an appointment I get the same problems. The titles are all framed with double bracketsbrackets like description and appointmentname Please see attachment I am sending. I am running on Win2k server IIS 5. Yes I have created the 'appointment' folder with all leteeres lower case inside the mod folder
Thanks
Delete everything, undo everything, and start over again...
It seems that Moodle can't find the right language package for this module... even you said that there it is... Quite strange
Good luck,
Will
Thanks Will - I went back to the beginning and started from scratch. I configured a new Win2K install and IIS instance. Then I installed moodle as the default and only web site on the server. I made sure to install all the latest language packs before doing anything else. The other item I'm suspicious of that I changed was the URL location of the admin files. In my previous intall I decided to locate it as /moodleadmin this time I took the default /admin. Then I installed the appointment module with the much appreciated help and advice above (thanks) and it works!
Thanks to Will, Tony and Martin for all the help. Moodle is GREAT! I am really enjoying myself .
Excellent time to let us know that "little" detail...
Glad to know everything is fine now.
Will
I have just committed a new event module whose main purpose is to integrate a calendar into moodle and allows events to be added not only to the course home page but also to this calendar. It therefore comes very close to taking over the functionality of the appointment module. Perhaps someone with intimate knowledge of the appointment module would like to have a go at extending the event module so that it has all the required functionality.
When I first heard of the appointment module I thought it would have functionality to allow me to arrange appointments. Something along the lines of: I specify which students I want to make an appointment with and at what times I would be available and then the students choose a slot. Or the other way around: the students express their desire to see me and then I assign a time slot to the meeting. I think such a module would be very useful.
I have made a start on a module that is an appointment module in the sense described above. Because the name appointment was already taken I called it scheduler. However once the name appointment is free again because what the appointment module does now is done by the event module then I would like to merge the existing scheduler as a part of a more powerful appointment module. Currently scheduler only implements one scenario: teacher wants to see all his students for short appointments.
I am eager to hear what the creator of the appointment module, Ben Pirt, as well as all current users, thinks of these suggestions.
The event module is available on the modules download page and in CVS at cvs:/contrib/event.
Gustav,
These changes are exactly what I have been looking for. I have for some time wanted the appointment making functionality that you have begun with the scheduler module.
Also, the calendar is a very useful addition because it can enhance communication with my students about upcoming events.
I wish I could help on the technical side but my php knowledge right now is non-existent. I will try to learn some over the vacation, but for now all I can offer is moral support. If there is any other way I can help please let me now.
I also agree that the best name for the module that can make appointments with students is, of course, "appointment module". It makes perfect sense to integrate the current appointment module with your current event module, which already is much more useful and powerful.
Thank you for your valuable contributions to this community.
Tim.
Hi!
I installed the "Scheduler" today but I keep running into a problem. The instructions in the "ReadMe" for the "Scheduler" are a little sparse, but, I attempted to follow the same process as I did when installing the "Event" module with minimal to no problem.
If I make the link path to the "Scheduler" the following ending in "index.php"
http://localhost/moodle/mod/scheduler/index.php
I get a message that says,
A required parameter was missing
If I make the link path to the "Scheduler" the following ending in "view.php"
http://localhost/moodle/mod/scheduler/view.php
I get a message that says,
Course module is incorrect
What do I need to do to correct this problem.
Thanks in advance for your help.
WP1
Hi!
I Installed the "Scheduler" as a resource link in the Main Menu for the site. Was this incorrect?
I am still getting the errors noted above using both of the noted links.
Is there another path or file I should use as the link?
Should it only be used in a course Main Menu and not on the site Main Menu?
WP1
Thank you. I finally figured it out. In MOODLE v1.2, after editing is turned on, the drop down table in the center block has a listing for "Scheduler".
Now I have another question. I noted the schedule is for one day after going through the configuration process. Is there anyway to schedule other days so a student would be able to know an instructors future schedule for a week, month, year?
I know you are working on both the "Events" Module and the"Scheduler" Module. I think I saw a post where you are going to combine the two. That would be great and proberly address my above question.
WP
yes, i'd like to be posted on this too...
and while i'm at it... how do i set the scheduler so that only ONE PERSON can book into ONE SLOT... i've been testing and i can cram in all kinds of "users" into one slot... i want one, and one only...
and preferably, i'd like the booked date to show up as "already booked" or something to that effect OR to just disappear from the list...
AND... is my only option for REMOVING someone from a date slot and re-opening that slot to delete it altogether and re-add it?
wish i were a programmer so i'd have a clue how much work this is for those of you who do this... all i know is that these are the things that would make it much more userfriendly for our purposes.
thanks
This may have been answered already, but I don't seem to find it in the Forum:
I am teaching more than one course with Moodle--I teach 7!--and I want to allow students to setup appointments with me. Does the appointment module consolidate to a unified schedule for the teacher--integrating all the appointments across all the courses the teacher may be teaching with Moodle, or only course by course?
Regards,
Juan Pineda
ICT Department Head
Vancouver College
From the fact that you are addressing this post to me I guess that you are referring to the scheduler module rather than the appointment module (I don't know anything about the appointment module). The scheduler module does not currently work across course boundaries. The unified schedule for the teacher that you are proposing looks like a good idea to me. Do you want to code it?
I am looking for the scheduler module and in particular the language file for English, as I get some ... for field names. I installed the latest version on my trial server. I only need it to work within one course. Could you help, please?
Norbert
I have been out of Moodling lately, hence my late reply. The language files for the scheduler module are included in the downloadable zip archive that you can find at http://download.moodle.org/modules/.
I intend to update the version of the scheduler module on CVS later today and that should filter down to the download page in a day or so.
I am in the process of adapting the scheduler to our needs, this will add the following features:
- Staff can now easily add a large number of appointments at one time, simplifying the administration if you want to allow students to be able to book an appointment in a certain time block on a regular basis.
- Different members of staff can add different appointments to the same scheduler and only their appointments will be displayed to them, this is useful if you want to use it to take bookings where multiple staff provide the same service.
- It is now possible to view statistics of how much time each student has received, how much time a member of staff has been booked, the size of groups can be monitored and the size of appointments.
- Appointments can be added in advance, but only be displayed to students a limited amount of time before an appointment, such as one or two days, this is useful to reduce the number of people who forget to turn up for an appointment.
- Email reminders can automatically be sent out to students in advance of the appointment to remind them.
- There are two modes for the scheduler either:
1. A student can only book one appointment (scheduler original mode).
2. A student can book as many appointments as required, but can only have one future appointment arranged at a time.
When finished I shall post the code.
I have some beta code I can email you.
RH
Where are you going to post it and under which name? "Scheduler", "Appointment"?
And ... when?, well roughly, you know ...
Regards
Karl
We are still testing it, however I would have thought that within the next 2 weeks it will be posted here.
RH
This is only a beta version and so when you find any errors please let me know.
Also the code is not too neat in places, but I hope you find it useful.
When i try to use the block, it appear:
Warning: file(c:\servidor\web\moodle/blocks/scheduler/block_scheduler.php): failed to open stream: No such file or directory in c:\servidor\web\moodle\lib\blocklib.php on line 21
Any ideas??
Since Richard seems to be gone, has anyone figured out what the point of the notes field is in this? It seems like it is only displayed to the teacher but might be nice if it were displayed to the student as well.
Hi Hansen,
Just a little query Where can I get thwe com-plete module so as not to mix up with the various versons.
Appointment Module download is available I cannot see the scheduler except in this forum. CAn you help me to take a descision where I should get it from and if it is still beta or can be used freely.
MY ENVIRONMENT:
Module 1.5.3+
O/S Windows XP / 2003
Thanks in advance.
Garry
http://download.moodle.org/modules/
The version posted in this thread is an enhanced version of the module on the download page, but it seems the person who made the hacks is no longer enrolled.
The file I modified is the version of the file available in the enhanced version of the module in this thread. So if you wanted to use my modifications, you have to use them in conjunction with the version of the module available in this thread, not the original.
I'll drop Gustav a line and see if he might be willing and have time to incorporate the changes in the enhanced version into his version.
The appointment module is something different entirely and has nothing to do with what I am talking about.
I'm trying to use the scheduler for students to sign up for a round the clock schedule...where each person will choose a number of hours to be "on call" or to come in at several specific times during a two-week period.
They would need to see which slots are available and be able to choose several slots at a time.
Should we try to use a different module than the scheduler for something like this. or is there a way to make this happen with the scheduler?
Richard
I am in the process of designing an online Tutorial appointments system, using Scheduler, and it looks promising but two issues have come up which are creating problems in actual use.
Module 1.5.3+
O/S Windows XP / 2003
Latest Scheduler
I have identified a couple of problems that look like code faults:
In a Scheduler activity added to a Course
There seems to be a problem with how an appointment event chosen by a Student from a preset list of slots, created by a Tutor, registers on a Tutor's Calendar.
An appointment slot selected by a Student appears in their own upcoming events, but not in the Tutor's.
An appointment does appear in the Tutor's Calendar, but when you click on it to see it expanded into a daily view, the event is shown as a blank and if the edit icon is clicked it gives ' Invalid event' message. This is shame as this action would allow simple notes for that appointment to be added by the Tutor.
From the Student's PoV, everything seems OK except when they use the 'day' view of the Calendar to see the event and click on the edit icon, it comes up with the strange message: 'You can't modify this course!'
Also students can book more than one appointment but only the most recent is seen by the Tutor
Thanks in advance.
JW
Hi There!
Awesome module! I do have one problem. THere is no space in which to write the description. It goes in, but you just can't see it to type (See Attached). Any ideas?
Shane
Could not find the appointment.php file in the EN language package, and this doesn't let me to configure it correctly!!!
Does anyone had a copy of it to put it here, or to integrate it in the CVS???
Thanks
Luca
This is the reply that Martin send to me.
It's not a standard module, you;ll find the lang files in the module download.
http://moodle.org/download/modules/
or just disable the module if you don't need it.
moodle -> admin -> config -> modules
Questions should normally go to http://moodle.org/community please
Hi there,
First of all, I really appreciated all the professionals who are developing and maintenaing Moodle and its modules.
Aftar I tried to install Moodle and most of the modules, I did not get any error.
But, I got the error "A required parameter (sesskey) was missing" when I start using Appointment Moudle.
Please let me know how to fix this error.
Thanks,
Myo Gyi
Hi all,
I also have the above problem about the sesskey. I have installed the module yesterday.
Regards,
Omar.
Unfortunately the Appointment module is no longer being maintained and has not been upgraded to Moodle 1.5.
Arround Line 103 in the mod.html insert:
<input type="hidden" name="sesskey" value="<?php p($form->sesskey) ?>" />
Save File and overwrite existing. Testest on moodle 1.5.3
Bye Andy
This seems to work for Moodle 1.5, but not for Moodle 1.6.
In Moodle 1.6, you can create an appointment, but if you try to access the appointment, you get the generic "Course module is incorrect" message (even in debug mode).
Does anyone have a fix for the Appointment module under Moodle 1.6?
Cheers,
Onno
I believe the appointment module is still using deprecated functions like optional_variable. They should be replaced by optional_param calls.
There is a quick fix solution.
Does adding the following line
$CFG->enableglobalshack = true;
to your moodle\config.php
fix it?
I have tried what you told and the module Appointment works in Moodle 1.6, thank you Jan Dierckx!
Thanks Andy...
I can solve the same problem with 1.6.2, I received the message that an parameter is missing: sesskey, but with your line, now all is right..!!
Thanks and sorry for my english...
Thank you in advance for taking a look at this issue.
David
Mike Shaffer
The Appointment module doesn't appear to be maintained anymore.
You might want to have a look at something like the Face-to-face module instead:
http://moodle.org/mod/data/view.php?d=13&rid=995
I'm not sure what your specific needs are but it does share some similarities and Face-to-face works fine on 1.9 (make sure you download the latest version, not the 1.8 one).
Cheers,
Francois