Project help request: automated event scheduling & reminders
Nominally, this is a University of Puddleby matter, but is completely out of character.
The scheduling of classes is the most basic goal of the University of Puddleby, but the tasks that need to be done to make them happen are among the most labour-intensive jobs at the moment. Often, things are overlooked or forgotten (from updating the schedule of classes to instructors forgetting to show up to interested exiles not even knowing that there was a class on).
Many tasks could be automated instead of having to be done manually each time, but we have no system for doing so at the moment. Help is needed to build one. A wishlist is below. Is there any existing software project that could be adapted, or is it better written from scratch?
If only one person is responsible, the work is onerous and the burden of responsibility heavy; if many are participating, the load is lighter for each, and the collaboration might even be fun. An open project, including further features or suggestions not yet thought of may lead to something useful for more than just University classes (e.g. FMOCRs, Pitch Cave expeditions, Newbielympics, concerts, bard rehearsals, etc.)
Please feel free to respond in this forum, or to speak with any of the current University board (Fiona, Paranoidos, Maeght, Connie Crete, Shakyamuni, Aprender), by private message or in-game, if you think you can help in any way (even just suggesting something, or talking through the existing suggestions is a help).
The project
Goals:
1. Tasks that are predictable and mechanical should be automated (currently done manually). Examples:
- booking or changing a class time
- checking for conflicts
- time zone conversion
- web page updating
2. Tasks that are unavoidably manual or unpredictable, or which remain so by choice, should have an automated reminder to the person(s) responsible for doing them.
- teaching a class
- posting announcements (Koppi, Sentinel, Calendar, sunstone, etc.)
Wishlist:
1. Booking a class time
*Any* exile should be able to submit a request for booking a class time. Name and password recommended, but optional.
Any Date, Time, and Time Zone (using standard abbreviations) should be acceptable. Fields for class Title and Description.
Immediately following the booking request,
1a. Check for conflicts
System should check for conflicts with other classes and warn if the start time is 1 hour or shorter apart from another existing class.
Example: if there is a class already scheduled for 6 pm on a certain day, the warning appears for a newer request on the same day starting any time from 5 pm to 7 pm.
This is a warning only, not a refusal to accept the booking (the older class may be known to have been cancelled or changed; the system just hasn't been told yet)
The next step depends on who is booking a class (any exile should be allowed to)
1b i. If from a trusted source (submitted with name and password already on a shortlist), the booking is automatically approved, otherwise
1b ii. If from a non-trusted source (unrecognised name, or anonymous), it is submitted to a moderator for approval.
2. Updates and reminders arising from Approved booking
After a booking is approved (whether automatically or by a moderator), the following actions should happen automatically:
2a. Time zone converted to a few common ones (Pacific time, Eastern time, [daylight saving time or not, as appropriate for the date], Greenwich Mean Time)
2b. University calendar on website updated, with the class, with the several time zones all listed. (Currently, Maeght does it manually. This can and should be automated.)
2c. Message sent to all exiles on a "Notify me of UoP classes" mailing list. (Does not exist at this time. Could be created easily, say using Yahoo Groups. Easily automatable.)
2d. Reminder sent to person(s) responsible for posting Koppi announcements. (Currently, Fiona does it, though not officially responsible. Can not be automated, as far as I can see, short of Delta Tao being willing to let a UoP program make direct changes to their database--subtract 100c from a character's account and insert the Koppi announcement.)
2e. Reminder sent to person(s) responsible for posting upcoming classes on the Sentinel. (Currently, Taryn posts Healer classes, though not officially responsible. *Might* be automatable.)
2f. Reminder sent to person(s) responsible for updating the Puddleby Calendar of events. (Currently, Aprender sends updates to Slyph as private messages on The Sentinel board, and Slyph updates the Calendar manually. *Might* be automatable, at least the messages to Slyph part.)
2g. Reminder sent to instructor(s) of the class. One to three reminders possible (1 day before, 3 days before, 1 week before). Should be customisable by the instructor(s). (Previously done by Harper; proven to be very important in getting instructors to show up on time, or to at least give timely notice of a rescheduling. Automatable as long as the instructor provides an email address.)
Note: We know the difference that having reminders makes. If reminders (1 to 3) are sent to instructors, they show up for their class 90% of the time. With zero reminders, this drops to 30%.
2h. Reminder sent to person(s) responsible for sending sunstone messages about the class on the day itself (1 hour, 30 minutes, 15 minutes, 5 minutes before, last call when class starts). A single reminder the day before might be sufficient. (Currently done by Fiona, though not officially. Reminder is automatable as long as the person provides an email address. Sunstone messages can not be automated, as far as I can see, short of Delta Tao being willing to let a UoP program make direct changes to their database--insert the announcement into the script of an NPC to be released at the scheduled times.)
3. Deleting, or changing class dates or times
This is exactly the same as "1. Booking a class time", except that the system first asks for an existing class to be identified. After that, it is the same as #1. The old entry is removed. A new entry may go in.
After this, everything in "2. Updates and reminders arising from Approved booking" is immediately put into action again.
This is a lot already. What's doable first? A web form for class booking and updating of webpage, perhaps? What other items do others have, or feedback?
Nominally, this is a University of Puddleby matter, but is completely out of character.
The scheduling of classes is the most basic goal of the University of Puddleby, but the tasks that need to be done to make them happen are among the most labour-intensive jobs at the moment. Often, things are overlooked or forgotten (from updating the schedule of classes to instructors forgetting to show up to interested exiles not even knowing that there was a class on).
Many tasks could be automated instead of having to be done manually each time, but we have no system for doing so at the moment. Help is needed to build one. A wishlist is below. Is there any existing software project that could be adapted, or is it better written from scratch?
If only one person is responsible, the work is onerous and the burden of responsibility heavy; if many are participating, the load is lighter for each, and the collaboration might even be fun. An open project, including further features or suggestions not yet thought of may lead to something useful for more than just University classes (e.g. FMOCRs, Pitch Cave expeditions, Newbielympics, concerts, bard rehearsals, etc.)
Please feel free to respond in this forum, or to speak with any of the current University board (Fiona, Paranoidos, Maeght, Connie Crete, Shakyamuni, Aprender), by private message or in-game, if you think you can help in any way (even just suggesting something, or talking through the existing suggestions is a help).
The project
Goals:
1. Tasks that are predictable and mechanical should be automated (currently done manually). Examples:
- booking or changing a class time
- checking for conflicts
- time zone conversion
- web page updating
2. Tasks that are unavoidably manual or unpredictable, or which remain so by choice, should have an automated reminder to the person(s) responsible for doing them.
- teaching a class
- posting announcements (Koppi, Sentinel, Calendar, sunstone, etc.)
Wishlist:
1. Booking a class time
*Any* exile should be able to submit a request for booking a class time. Name and password recommended, but optional.
Any Date, Time, and Time Zone (using standard abbreviations) should be acceptable. Fields for class Title and Description.
Immediately following the booking request,
1a. Check for conflicts
System should check for conflicts with other classes and warn if the start time is 1 hour or shorter apart from another existing class.
Example: if there is a class already scheduled for 6 pm on a certain day, the warning appears for a newer request on the same day starting any time from 5 pm to 7 pm.
This is a warning only, not a refusal to accept the booking (the older class may be known to have been cancelled or changed; the system just hasn't been told yet)
The next step depends on who is booking a class (any exile should be allowed to)
1b i. If from a trusted source (submitted with name and password already on a shortlist), the booking is automatically approved, otherwise
1b ii. If from a non-trusted source (unrecognised name, or anonymous), it is submitted to a moderator for approval.
2. Updates and reminders arising from Approved booking
After a booking is approved (whether automatically or by a moderator), the following actions should happen automatically:
2a. Time zone converted to a few common ones (Pacific time, Eastern time, [daylight saving time or not, as appropriate for the date], Greenwich Mean Time)
2b. University calendar on website updated, with the class, with the several time zones all listed. (Currently, Maeght does it manually. This can and should be automated.)
2c. Message sent to all exiles on a "Notify me of UoP classes" mailing list. (Does not exist at this time. Could be created easily, say using Yahoo Groups. Easily automatable.)
2d. Reminder sent to person(s) responsible for posting Koppi announcements. (Currently, Fiona does it, though not officially responsible. Can not be automated, as far as I can see, short of Delta Tao being willing to let a UoP program make direct changes to their database--subtract 100c from a character's account and insert the Koppi announcement.)
2e. Reminder sent to person(s) responsible for posting upcoming classes on the Sentinel. (Currently, Taryn posts Healer classes, though not officially responsible. *Might* be automatable.)
2f. Reminder sent to person(s) responsible for updating the Puddleby Calendar of events. (Currently, Aprender sends updates to Slyph as private messages on The Sentinel board, and Slyph updates the Calendar manually. *Might* be automatable, at least the messages to Slyph part.)
2g. Reminder sent to instructor(s) of the class. One to three reminders possible (1 day before, 3 days before, 1 week before). Should be customisable by the instructor(s). (Previously done by Harper; proven to be very important in getting instructors to show up on time, or to at least give timely notice of a rescheduling. Automatable as long as the instructor provides an email address.)
Note: We know the difference that having reminders makes. If reminders (1 to 3) are sent to instructors, they show up for their class 90% of the time. With zero reminders, this drops to 30%.
2h. Reminder sent to person(s) responsible for sending sunstone messages about the class on the day itself (1 hour, 30 minutes, 15 minutes, 5 minutes before, last call when class starts). A single reminder the day before might be sufficient. (Currently done by Fiona, though not officially. Reminder is automatable as long as the person provides an email address. Sunstone messages can not be automated, as far as I can see, short of Delta Tao being willing to let a UoP program make direct changes to their database--insert the announcement into the script of an NPC to be released at the scheduled times.)
3. Deleting, or changing class dates or times
This is exactly the same as "1. Booking a class time", except that the system first asks for an existing class to be identified. After that, it is the same as #1. The old entry is removed. A new entry may go in.
After this, everything in "2. Updates and reminders arising from Approved booking" is immediately put into action again.
This is a lot already. What's doable first? A web form for class booking and updating of webpage, perhaps? What other items do others have, or feedback?