I maintain a website for a small group. One of the main things the site is used for is to keep a calendar of activities, some singletons, some recurring at various intervals. I really wanted something that would automatically send an email reminder to the group email list (or to an individual that requested it) a settable time before the next occurrence of a repeating event. Even several times before the event. And keep sending before each instance of the event.
So, for example, members would get an email on Saturday and Monday reminding them that this Tuesday is a monthly meeting.
Kind of like what Yahoo groups does, but I don't want to keep maintaining two different calendars.
I've seen a number of forum posts for people trying to do such a thing in Drupal, but no useful responses. There are various modules around that do "reminders," but they're all for something different than this.
So, I wrote a module, creatively called "Reminders." It uses the messaging framework to send its email, so you can configure what you actually want sent.
It doesn't have a lot of bells and whistles, and certainly could use some scrutiny from someone more expert than me. I know the packaging needs to be cleaned up, and there are probably better ways to do some of what I'm doing. I've been writing software for longer than most who will read this have been alive, but this is my first foray into php and Drupal.
This is Drupal 6 only. I haven't taken the plunge into Drupal 7 yet. That's my next project.
But the question is: Would there be enough interest in this for me to even consider figuring out how to make this more generally available?
Note: I first posted this under another forum, but looks like this is the better place.
Comments
If you search under modules
If you search under modules for reminder there are some existing modules, you might compare your efforts to what is already there.
I have looked..
I have searched, at least under Drupal 6 compatibility.
All very handy if that's what you want.
I'm just surprised that nobody has done this before. It's one of the more useful features of Yahoo Groups calendars, IMHO.
I do realize, though, that I need a better name than just "Reminders." Maybe something like "Date Reminder," since "Event Reminder" implies the event module, which this isn't.
It looks that this is close
It looks that this is close to what I am looking for
http://drupal.org/node/1074624
JV
i'm interested!
I've been looking for the last couple of hours at things that could help me accomplish this functionality but with no luck.
In my case, my client prime functionality is to send email notification to himself and his client about future events.
I'm stuck if i don't find something to work around the problem.
I'm no good with php (dev style) so i guess is sending emails manually for me till you make it happen. So, please hurry :))
It's mostly running
So I have this thing mostly running.
There's a minor functional tweak I want to add. And I need to go through it and do some code cleanup. And I think I want to rename it.
Then try it live on my site to do some in situ testing.
And maybe read thru all of that documentation to see how I really should have done some things. :)
But the next big issue will be: How to turn this into a contributed module?
I really need this
I was pretty shocked myself to find that this doesn't seem to exist. I would have thought most people who use the calendar module, would need reminders. I can do it in a complicated way with adding a "reminder date" field with CCK to the event node and then using rules and rules scheduler to send an email, but this really should be a very simple checkbox on each event node that says "reminder" and then "15 mins, 1 hour, 2 hours, day before, day of" etc. Do you have something?
Yeah, that's about what it is
Sigh. Life keeps getting in the way. I'm having trouble finding time for this.
Yeah, I have something that seems to mostly work, but with some rough edges(*). I rather suspect someone who's really into Drupal code would find lots of things to fix.
It's Drupal 6 only.
I'd be willing to give anyone (within reason) a copy on a strictly "alpha release" basis. No warranty expressed or implied. I'm not sure of a good distribution method.
And/or maybe someone who knows Drupal could suggest how to start the process of turning this into something official.
(*) The main rough edge being the lack of any kind of "Are you sure you want to do that?" when deleting multiple reminders.
I'm Interested!
Working on next year's build of our school site so I have till August to have it ready, plenty of time to help test. This would be really useful for us! Can't help you with how to package it, though.
I can help test
I can help test. I'm a bit of a noob though. Maybe distribute through Github? I definitely need something like this but might make node reminder do what I need. What you're proposing sounds better for me, though.
Back ready to try this again
So there were a few cosmetic (and one functional) things I didn't like about my initial implementation, but fixing them required somewhat of a restructure. Unfortunately, in embarking on that exercise, I totally broke it. There followed a long and arduous journey through the finer points of Drupal and php.
Well, it's back to where I'm happy about it again, and there's a Drupal project approved.
Now all I need to do is figure out git.
Good luck for this last
Good luck for this last roadblock!
JV
Checked in on sandbox
OK, I created a sandbox project: http://drupal.org/sandbox/dwillcox/1541054 and did a commit. I know it worked because I can check the files out on a different machine, but
So I'm still struggling with git. But what's there should work OK. Feel free to play with it.
I'd like to see a few people look at it and play with it before looking at making this a real project.
Oh, and by the way, if you're one of the couple of people I sent early versions to, this one has a few incompatibilities. You'll have to uninstall the old one.
Oh, and it's "Date Reminders," not just "Reminders." The latter was too close to some existing modules.
Latest changes available
Not sure what I was doing wrong, but my latest is now on "master".
My early tests are very
My early tests are very promizing.
The module is much more polished than expected for an experimental, non listed module.
I'll be back with actionable comments from actual experience.
What is missing for getting this module available at Drupal.org in order to have more people aware, testing and happy ?
Thanks for this badly missing Date feature!
JV
Making this "official"
Basically, as I understand it, I need to apply for this to be a non-sandbox project. From what I've read, this is can take a while because there are lots of people making requests and not many volunteers processing them.
I hope to start the process in a week.
HTML tags in message templates are not processed
First issue feedback: the title shall be explicit enough.
Notification messages are sent as raw text - HTML tags in the template are just written as is in the message.
JV
To be more specific, here is
To be more specific, here is what my first reminder showed:
Morning event is coming at 06/20/2012 - 10:00am\n\n[node-teaser]\n\nRead more: [node-url]
That said, it LOOKS like HTML mail; in other words, it doesn't have the shoddy-looking courier font of the old text emails.
Format of message
Without access to my development setup at the moment, I don't remember the details, but this is part of the setup of messaging. In Messaging you can configure how emails are sent, full html or converted to text.
Also, it looks like you might not have the token module installed. (That's what expands things like "[node-teaser]".) That's needed. It's possible I didn't add it as an explicit requirement. I probably should.
My mistake - HTML is
My mistake - HTML is perfectly rendered (I was editing the template in CKeditor using tags)
JV
Reminders are sent after the date
I keep receiving reminders after the event date.
JV
Reminders after date?
This is odd. I haven't seen this at all. Is your your node have a repeating date? One of the whole points of Date Reminder for repeating date nodes is to send a reminder for every occurrence.
After the last occurrence, the reminder should be automatically deleted.
Some details of just exactly what your setup is would help. (What is your date field like? How are the reminders set?)
I use a repeating date field,
I use a repeating date field, but only setting a single date.
Doing more test
JV
Repeating reminders?
Are you still having trouble with reminders getting continually resent? If so, please update to the released beta version. If it *still* doesn't work, we need to figure out what's going on. I was never able to recreate that problem.
dwillcox is my hero
Subscribe. I will test this out and post anything constructive.
Hero
:)
Interface with other messaging options?
Hi all -- I am very, very new to PHP programming, and this question doesn't have anything to do specifically with getting the module ready in its current form. But this seems like a good time to ask: the VoIP Drupal module allows for users to select a default messaging type that includes SMS or phone calling. What code would be required to integrate this choice into the Date Reminder module? The end result would be (in my mind) that someone could choose a reminder by phone (assuming the site was properly configured) in the same place that they currently can put only an email reminder.
Not sure if anyone is interested, but I am and would appreciate any feedback on how to go about this. Also, as I said, the module is awesome as is. Can't thank you enough.
Other message deliveries
About other message delivery options:
The only delivery option I have available is email, so I haven't tried anything else, but the Messaging module supports other delivery options including SMS. I *think* that if you have all of the right Messaging modules installed to support SMS, and a user sets SMS as the preferred delivery option under Messaging, it ought to "just work."
I'd fully expect, though, that it will take some tweaking to make it work.
We probably should start an issues list to add this as a request for a future release. This may need to be an official project first, though.
I've been away
Just a note to everyone... I've been out of the country with little internet access for the last two weeks. I'll be back (but seriously jet lagged) later this week. I notice that there have been a number of comments. I'll try to address them after I get back.
Reporting bugs or issues
For those reporting bugs or suggested enhancements, I think that the proper mechanism is to add an issue or bug under: http://drupal.org/sandbox/dwillcox/1541054
I hope that those will transfer over when this becomes a full project.
Post review comments please
For those interested in helping nudge this along to becoming a real, published Drupal project, I think it would help if you added review comments here:
http://drupal.org/node/1686696
other methods
Hey there -- Sorry for the delay. As you've said, real life gets in the way. Anyway, I thought I would share that your module works with the VoIP Drupal package via Messaging settings in the user profile. In other words, an email reminder set through your module can be received as a phone call or text message. There are obviously ways to customize this, but I thought I'd at least let you know that there is something there.
My own real issue with the module has been setting up cron on my server. But that's a Drupal thing, not specific to your module. I would suspect a lot of people who say they are not receiving messages may not have set up cron. I'll use the link you provided if anything else comes up, but with my not being a programmer, all I can really say is that the user experience is pretty good. Thanks again, and I look forward to helping as I can.
Thanks for the update
Thanks for the update, Pax. The Messaging module seems to be pretty flexible. I figured that Date Reminder ought to work with other sending methods, but it's good to have confirmation.
And yeah, getting Date Reminder to work does require some configuration outside of Date Reminder itself, like getting cron working, and setting up Messaging (including email, if that's what you're using). I figured that most sites would have already worked through those, but maybe that's a presumption.
Project application approved!
Hey guys, the project application for Date Reminder has been approved, which means I can now promote this from a sandbox to a "real" project.
I'm going to have to figure out that process, which means some more reading. And real life is demanding some time lately.
But this is a major hurdle passed!
Project Date Reminder is up and running
Project Date Reminder is up and running, and a beta release is available for download.
See: http://drupal.org/project/datereminder
Anyone interested in working on a D7 version? If there's someone who wants this module and is familiar with the D7 APIs, it would help things along.
You made it :)
You made it :) congratulation!
JV
Beta release available
In case anyone didn't notice, there's a beta release of this at the Date Reminder project area. There are a few cleanups to do, yet, but nothing that should greatly impact usability. Currently Drupal 6 only.
Next big project: Drupal 7 version. If anyone is familiar with the API differences between D6 and D7, I'd welcome help.