Reminder eMail not only to Admin, but also to other users
stefanpro - September 22, 2007 - 09:13
| Project: | Birthdays |
| Version: | 6.x-1.x-dev |
| Component: | Code |
| Category: | feature request |
| Priority: | normal |
| Assigned: | MarcoR |
| Status: | needs review |
Description
Hi,
thanks for great module.
Suggestion: provide a field, so that the reminder eMail is not only sent to the admin, but optionally also to a specified eMail address, [or even to all users with a given Role].
Reason: send reminders e.g. to HR department, or to department manager.
Thanks!
Stefan

#1
This is a great feature idea. I run a family website and I would like people to be able to get reminders about others birthdays. That way they do not forget to call, buy a present, etc.
#2
I will consider adding the option to select certain roles to send reminders to in a subsequent release.
#3
I'm in favor of a solution that gives users (incl. user 1 = admin) the opportunity to decide about which birthdays they want to be informed of.
Each user decides, if and how many days in advance he wants to be notified about any users' birthdays or his buddies' birthdays. This is more approriate than the original ideas with roles, because the admin has not to give special roles. This is critical for sites with many users. We can store these values into new rows "announce_all" and "announce_buddy" which will contain the number of days a user wants to be informed before those birthdays.
This approach leads to a much higher amount of calculation to be done every day and might increase exponantially with the amount of relationships between users. So the solution must consider dividing calculation up on several sequenced cron tasks.
Because we might want to know, if a user was notified already, this has to be saved into a new table "dob_announce". In this table we can also store if a user wants to be notified some days later again.
I'm about to write this, but I can only write/publish it if other patches in the queue are reviewed. If you want to help, please consider to review the birthdays patches.
#4
I'm currently working on it. I just decided to move all new functionality into a new module, birthdays_announce. Thus development doesn't depend on latest patches in the queue and modules are all small and nice to maintain.
Anyway, I would suggest to remove the function that sends a daily email to the admin containing all users having birthday in one of the next 7 days. Does anybody use this? birthdays_announce gives a comparable functionality: Admin can decide to be notified about a user's birthday. They can choose the period (birthday or any period before). But they will get no batch of birthdays in one mail, instead the get one notification email for each user. This feature is for small sites, anyway, because it just doesn't make sense to get a list of a hundred users' birthdays, so you can switch it off, of course.
There will be 3 kinds of groups of users having a birthday announced: notification on all users, on buddies and on own birthdays. For each group you can decide to switch notification on and off, and you can decide to whom the notification will be send: none, admin (roles), users stuck on default periods or users with configurable periods.
Fine tunable permissions gives you the ability to use this even on large commercial sites:
This can also be a customer relationship team.
This feature can be offered to all users or to premium members only.
You can feature celebrities only or exclude your staff.
There will be much more calculation to be done each time cron runs. So you can scale this module to reduce the number of available periods and lower the period values. Large batches will be split on several cron runs depending on your settings.
Besides the question above I would like to ask for CVS access for that module to bring it in. I would help maintaining this part of the module then. I really don't wish to take over, my knowledge lacks working with timezones. Therefor it is to point out that this helper module will not support timezones either.
#5
The add-on module is in test state now. I run it already on an existing website together with last version birthdays module. I need some hints how to proceed publishing it (see last paragraph of my last comment).
#6
The module is running fine so far. Still there are a lot of improvements possible, but for the moment enough work is done. Suggestions and improvements are very welcome.
Todo (needs partially support of others):
- pgsql support (others)
- better timezone handling (others)
- uninstall routine (me)
- usability improvements (me)
- your choice (others)
Please test and tell me if you like it. In my opinion, it's at least stable enough to check it into cvs head.
#7
Please do not set your own patch on RTBC, since you're the only one who has looked at it.
I will look into your patch after I've ported the module to 6.x. I want to develop a 2.0 version (for D5 and D6) that is a bit more modular, so your patch is definitely a great step in that direction. Because my intention is also to integrate with workflow_ng (per #166305: work with buddy list), I will have to delve into both methods before I make a final decision about which direction we'll take with Birthdays and the integration with buddies and mailing.
Oh, and of course, many thanks for all the work you're doing :D
#8
Any chance this feature can be ported to 6.x?