Hello - I see via the projects feature reqyests listing for the event.module that some time ago a request for recurring/repeating events was submitted. It shows as being a 4.3.0 module feature.
I'm curious where this feature stands? I have several sites that rely on calendar events, and the basic scheduling mechanisms of the current event.module make it very very time intensive and frustrating to submit recurring events. Does anyone have any ideas when this feature might be available?
I'm hoping for the following subset of features/scheduling abilities:
- End date/time selection for event
- Repeat on certain weekday, set end of repeating schedule
- repeat on N days of the week, set end of repeating schedule (eg Event occurs on Mon, Wed, and Fri)
- repeat every N weeks on certain week day or days, set end of repeating schedule (eg event occurs on Tue and Thur, every other week - or only on Tue every third week)
- event on certain day of of month, set end of repeating schedule (eg event is on every 1st and 15th of the month)
- event on certain day/week schedule of month, set end of repeating schedule (eg on 1st and 3rd Wednesday of month)
- a free form skip event mechanism (maybe a simple text box that says "skip dates: 12/15/2003, 12/21/2003)
It may be possible to pull a lot of the core code that handles the scheduling logic from some of the other free/open source web calendar tools (eg WebCal http://webcalendar.sourceforge.net/ )
Thank you.
| Comment | File | Size | Author |
|---|---|---|---|
| #58 | event.module.repeating_events.patches.tgz | 5.21 KB | darrian |
| #36 | event.patches.tar | 130 KB | darrian |
| #33 | event.module.repeating_events.4.5.patch | 11.99 KB | darrian |
| #17 | event.module-cvs.updated.repeating.patch | 13.84 KB | darrian |
| #11 | events_shot.JPG | 113.44 KB | Anonymous (not verified) |
Comments
Comment #1
Kjartan commentedComment #2
mikeryanWhere do plans for this feature stand now? It didn't make 4.4.0...
Thanks.
Comment #3
ax commentedthis is quite an important feature for an event calendar. any progress on it?
Comment #4
Zot commentedRecurring events would be extremely handy for my site too. Anyone from the development team want to comment on this?
Comment #5
darrian commentedThis is a major update to the event module. The most significant change is the support for repeating events, that's why I'm putting it here.
Whats in the tgz:
event.module.4.4.0.patch # patch against 4.4.0 version of event.module
event.css.4.4.0.patch # patch agains 4.4.0 version of event.css
node.module.4.4.1.patch # very minor patch against 4.4.1 version of node.module.
# I tried not to modify anything outside the event module,
# but in order to support deletion of multiple events this
# change was required.
js.php # javascript to support popup tooltips for events
bullet.png # bullet graphic for events
add_event.png # plus sign graphic to for adding events directly from the
# calendar
What changes were made:
The node_delete function did not pass extra fields to the _delete functions it called, this made choosing between deleting 1 event or all events impossible. I made a minor change so node_delete now passes extra fields from the input form to the _delete functions it calls.
Most significant is the support for repeating events. This is accomplished using a vocabulary to keep track of groupings of events. There is a new option in the admin section of the event module to choose what vocabulary to use. Terms are automatically created and deleted in this vocabulary. When inserting events you can choose if its repeating, how to repeat (weekly, monthly, etc), and an end date. When modifying/deleting an event you can choose to modify just that event (which will remove it from its group if it has one), or you can choose to modify all events in that group (date changes are ignored if you choose this option, but time changes are preserved).
You can add events directly from the calendar. Click on the plus sign and the add event form is brought up for the date selected and the current time.
Tooltip popups were added when you mouse over an event. This popup displays all fields of the event. For events displayed on the calendar, only the title and time are shown with a bullet in front.
I changed the style of the calendar a bit. Each day on the calendar is taller, this makes it look more like a paper calendar.
Maybe some other minor changes that I forget.
What might be wrong:
Timezone stuff. I didn't do any testing with different timezones.
What needs to be done:
Make these changes to the cvs version and upload the patches. I know, I should've done this to start with...
Much more testing.
-Darrian
djhale@haleonwheels.org
Comment #6
darrian commentedAt the top of event.module, the line include("/modules/event/js.php"); needs to be cut and pasted into the top of the event_page function.
I originally made this change while logged in, and didn't realize it causes issues when logging in or out.
-Darrian
Comment #7
darrian commentedI created a patch file against the cvs version of event.module that has no extra features besides support for repeating events.
Comment #8
darrian commentedAttached is a partial screenshot of event submission.
Comment #9
darrian commentedAttached is a partial screenshot of event modification.
Comment #10
darrian commentedA patch to node.module is required for event.module-cvs.repeating.patch to work. It can be seen here http://drupal.org/node/view/8611
Comment #11
(not verified) commentedDisclaimer: I'm a total Drupal n00b.
I applied the CVS patch successfully, but what I attempt to add an event, the recurring options aren't there. It appears that some elements of the patch came through (note the text under the start date mentioning applying changes to all events, etc).
I have attached the screenshot of the entry screen. Any ideas?? What other info do I need to give?
Comment #12
darrian commentedWhat patches did you apply? cvs or the 4.4.0?
Under admin/module/event you need to choose a taxonomy to use for repeating events. email me at djhale@haleonwheels.org and I can help you further.
-Darrian
Comment #13
killes@www.drop.org commentedSetting this to patch so I find it easier when I review the patch after feature freeze.
Comment #14
oadaeh commentedI have the repeating events working fine with the CVS Events module. I was unable to get the 4.4.0 patch to apply cleanly to the 4.4.2 install. :^) No big deal.
I have two commants/questions regarding the repeating functionality.
First, when creating a repeating event, if I specify a different end date than the default start_date+1_year, and then do a preview, the end date is reset to the default start_date+1_year. It's not terrible, but if I hadn't noticed it, I would have created events erroneously. Is there a way to change that?
Second, is there a way to create repeating events that happen on the first|second|... Sunday|Monday|... of every month?
Comment #15
gunner commentedThis is probably not a bug, maybe something I did wrong, but I am testing the "repeating events" and I noticed it repeats fine in the calendars but in 'content', there is 3 pages of this event (for two week repeat). Since I can not "delete all" in the update dropdown, I have to delete these one by one. Has anyone else had this issue?
Comment #16
darrian commentedFirst, when creating a repeating event, if I specify a different end date than the default start_date+1_year, and then do a preview, the end date is reset to the default start_date+1_year. It's not terrible, but if I hadn't noticed it, I would have created events erroneously. Is there a way to change that?
Definitely a bug, I'll fix that and get a new patch up. There are some other bugs I've found as well, i'll get those fixed too.
Second, is there a way to create repeating events that happen on the first|second|... Sunday|Monday|... of every month?
I added this feature in a way that would be very easy to add new repeatability schemes, I just wanted to get something up. I'll put this in with the patch that fixes the above bug.
This is probably not a bug, maybe something I did wrong, but I am testing the "repeating events" and I noticed it repeats fine in the calendars but in 'content', there is 3 pages of this event (for two week repeat). Since I can not "delete all" in the update dropdown, I have to delete these one by one. Has anyone else had this issue?
Right, that dropdown you are referring to is completely outside the event module. Many people have requested that feature (delete lots of stuff at once) to work for all types of content. As far as events go, to solve your problem, you would click on the event itself, then edit/administer it, and delete them all from there.
Comment #17
darrian commentedHere's the patch described in my last update.
Note: This patch is against the version from cvs, so In order to work with the latest cvs drupal you need to also use this patch: http://drupal.org/node/view/8649. The patch to node.module: http://drupal.org/node/view/8611 is still required.
-Darrian
Comment #18
killes@www.drop.org commentedDarrian, I can only commit your patch to event.module if the node.module patch gets into core. So we should focuss on this as in two weeks there will be feature freeze.
Comment #19
darrian commentedIf my patch to node.module doesnt make it into core there is another option. The confirmation step can be removed, so when the user clicks delete, it just happens. Certainly not an ideal solution, just letting you know its there. Hopefully my other very small patch to node.module makes it in.
-Darrian
Comment #20
(not verified) commentedDid the patch to node.module make it in? Just curious.
Comment #21
killes@www.drop.org commentedNo, the patch didn't get in yet.
Darrian, I reviewed your patch, I have to say I don't like the way you use taxonomy to tie multiple events together. This iis something that taxonomy should not be used for. We should rather have an extra table that stores relations between the "master" event and the "servant" (repetitions of a ) event.
Comment #22
darrian commentedYes, that was a tough choice.
The reason I did it that way is so the existing reminder module for events could be used more easily. There was also another reason, but I dont remember at this point.
If you don't want to use this patch, that's ok. I did it for my needs, and am using it. I just put it up here because it seemed to be fairly sought after functionality that no one else had implemented yet.
-Darrian
Comment #23
oadaeh commentedOkay, I don't mean to be rude or dense here, but how is the patch supposed to help those of us who are still using 4.4.x and waiting for the official release of 4.5 to do the upgrade (which is still a couple months away, AFAIK)?
Comment #24
ajh commentedHas anyone done a clean patch for 4.4.2 yet? It would be very helpful to get this working here as well as all 4-5 of the sites I'm currently working on are very event dependant.
Comment #25
ajh commentedI've since upgraded to CVS-head and the patch in hunk #3 fails to apply.
I'm not after recurrance at this point although it would be a great feature. What I'm after is asking for both a start date/time and an end date/time as many events I'm dealing with are more than one day.
Suggestions?
Comment #26
darrian commentedThis patch doesn't have support for events that span multiple days. You could use the reoccuring event feature to have your long event show up on each day with just one submission, but in drupal each day would be considered a seperate event.
If you want help getting this installed email me a djhale@haleonwheels.org
-Darrian
Comment #27
(not verified) commentedPlease, could someone publish a patch for 4.5.0 ?
Thanks.
Comment #28
rael9 commentedI'm just wondering if there is any work going on towards making this patch work with 4.5.0. I need recurring events in my calendar, and I'd rather not have to use a different calendar system inside of drupal. I much prefer the single, integrated solution over cobbling something in.
Comment #29
(not verified) commentedI need it too!
Comment #30
rael9 commentedI have patched it manually, and it works fine. I will try to post the patches within the week if I have time.
Comment #31
grefft commentedAny able to help me apply this patch to 4.5 events. I am an experienced web designed but have very limited php knowledge. any help would be greatly appreciated.
Comment #32
media girl commentedAny recent developments on this front? (If it's an involved patch, would it be possible to simply upload an upgraded module for 4.5?) I'm salivating over these additional features. Thx.
Comment #33
darrian commentedHere's an updated patch for 4.5. If you find any bugs, email me, my email address is further up in this topic.
-Darrian
Comment #34
darrian commentedI forgot to mention that you still need to patch node.module, you can find an updated patch for that here http://drupal.org/node/view/8611
-Darrian
Comment #35
grefft commentedokay, please don't kill the non-developer. I'm trying to install this patch as it is critical for the website I'm building (http://www.goodmusicny.com/) but as a designer rather than a developer I can't seem to get it to work. I use mac ox X and don't have CVS on my computer. Perhaps someone can upload both the patched node file and the patched event file.....or answer these admittedly newbie questions:
1) when i 'saveas' for the patch it loses it's formatting and, since I'm not a developer, I'm hesitant to recreate the appropriate linebreaks, any advice
2) how can I apply the patch to the file using mac os x? I've read the documentation on this site and done a google search and come up with almost nothing useful.
thanks in advance.....
Comment #36
darrian commentedAttached is a .tar file that includes:
event.module, which is the patched 4.5 version
event.module.repeating_events.4.5.patch, the patch as attached earlier
node.module, the patched 4.5.1 version of node.module
node.module-4.5.1.patch, the patch as attached earlier
Hope this helps.
-Darrian
Comment #37
Aress commentedI installed the patch on a 4.5.2 installation, all seems to work well. The only problem is that when I create a new event I don't find the vocabulary associated to to event node, i.e. I'm not able to associate event to a vocabulary. Did I make something wrong?
Thanks, Aress
Comment #38
darrian commentedThis patch automatically associates events to a taxonomy term for grouping, so the ability to associate events with arbitrary terms has been disabled. I was planning on fixing this, but I hesitate to do further work on this module because i think something else is in the works.
-Darrian
Comment #39
Aress commentedThanks for the answer.
Ciao, Aress.
Comment #40
(not verified) commentedI can't seem to get this patch to work. Running suse 9.1, drupal 4.5.2 After extracting files to a directory, cd to that directory, I run this command: patch < event.module.repeating_events.4.5.patch ; output is that 7 of 7 hunks failed; attempt to run as root; I receive similar output when attempting to patch node.module, output is that 2 of 2 hunks failed. Please help. Also, do I need to patch node.module? I'm running drupal 4.5.2 Thanks again.
Comment #41
darrian commentedYou need to sit in the directory where the original file exists, then run patch < /path/to/patchfile
Hope this helps,
Darrian
Comment #42
(not verified) commentedhmm, still get the same result (7 out of 7 hunks failed). Perhaps this is a problem with the version of suse I'm running? At any rate, this is a pretty big deal to the site I'm hosting, would it be possible for a drupal site admin to post the patched version of the event module, or possibly just send me the patched version? Thanks again very much.
Comment #43
(not verified) commentedI'm in the process of setting up a new site for my church and am hoping that someone can help me get the repeating events patch to work. Is there any way someone can direct me to the patched version of the module? Thanks so much for such an awesome project.
Comment #44
ax commentedComment #45
Aress commentedThe patch was posted above (#36), it is for 4.5.1 but event module is unchanged. I use that patched event.module. For the node.module I use this. The patching of node.module is really simple to do also "at hand".
Cheers, Aress
P.S. For darrian: your patch is really useful I hope you'll continue to develope it
Comment #46
Aress commentedFor conflicts with drupal the pachted node.module (see above) is here.
Aress
Comment #47
(not verified) commentedIs anyone having problems when creating repeating yearly events? When I attempt to create a repeating event with a period of annually, I get the following error:
Fatal error: Maximum execution time of 30 seconds exceeded in /srv/www/famweb/anchor/includes/database.mysql.inc on line 108
Only way to get the database back to a stable place is to restore it from backup. Any ideas? I'm running drupal 4.5.2. Thanks very much.
Comment #48
Aress commented30 seconds is the maximum time of execution of a php script.
I tried myself to create an annual event, but when I saw that it tooks too time I stopped the browser and I found 2505 events, all starting the same time. I think the script goes in loop :(
Aress
Comment #49
Aress commentedI found another issue: when I create a semi-annual event I get an annual event. So I looked the code and I found no reference to semi-annual event. If you go to line 504 of event.module and delete "semi-annually" I think you will solve the annual issue.
Aress
P.S. I don't know php so try it on a test site.
Comment #50
Aress commentedIf you want semi-annual events don't change line 504 and change this code (there are two block in event.module):
to:
You can find the patched event.module plus the changes described above here.
Aress
Comment #51
(not verified) commentedHas there been any developement with repeating yearly events issue? This functionality is critical to my website. Thanks.
Comment #52
(not verified) commentedI seem to be having trouble deleting repeating events. When editing the sumitted event, select option to apply this to all events in the group, then select delete, and confirm deletion, only the node I was editing seems to get removed. I guess what I'm trying to say is that the select all events in this group option doesn't seem to be working for me. Has anyone else seen this happen? Thanks very much for your help.
Comment #53
Aress commentedDid you patch node.module?
Comment #54
unkommon commentedIs there any update on the possibility of having this in 4.6? Recurring events are kind of necessary for a church webpage I am developing, lest people have to enter in every sunday's sermon one by one. That would be quite a pain! Anyone have a patch for 4.6?
Comment #55
dandaman commentedI'm also interested in recurring events in 4.6. Any plans for it?
Comment #56
bomarmonk commentedI'll add a previous comment that I had made (which has now been deleted-- since it was a duplicate of this thread).
It sounds like Civic Space and Aaron Welch are working on this for the 8.1 release of Civic Space (coming soon?) as a seperate module.
I hope a working version of the module comes out soon! I'm looking forward to it.
Comment #57
hunmonk commentedi'm currently working on the code for this feature for drupal 4.6. this will be a module, called eventrepeat.module, that when installed along with event.module will enable entry of recurring events in a variety of formats. if all goes well, i should be ready for testing this code within a week. i'll post the release candidate here when it's ready.
Comment #58
darrian commentedHey all,
I recently got around to porting my changes for repeating events to 4.6. Previously I used taxonomy terms to group events, this is no longer the case, I now use a new database field called master_nid. Also, to 'hopefully' reduce confusion, I changed the length of events from start_date and end_date to start_date and duration, the end_date is now used as the date to repeat until (if you choose to create a repeating event).
Sorry to other developers working on repeating events, I started this before I read that you guys were working on a seperate module for this functionality. If anything I've done here helps with what you're working on, thats great. Hopefully repeating events will make it into core one way or another sometime soon.
Attached is a tar that contains:
event.module-4.6.0-repeating_events.patch
event.theme-4.6.0-repeating_events.patch
event.mysql-4.6.0-repeating_events.patch
If you are not installing from scratch, you will need to add the appropriate database fields manually. If you do this I'm pretty sure you'll lose event duration info, so you will need to manually fix your events in drupal and put back the duration.
Also to note, a patch to node.module is still required, it can be found at http://drupal.org/node/view/8611
-Darrian
Comment #59
hunmonk commenteddarrian,
i spoke w/ crunchywelch (who did the 4.6 redesign), and it was apparently decided at drupalcon that a modular approach to additional features for event.module was agreed upon at that time, which is the solution i'm working on for repeat events. i'll make sure i look over your changes before i proceed--no need to reinvent the whole thing, i'm sure... :) i'm hammering away at this module, and should have it ready soon.
Comment #60
boris mann commentedAny heads up on the workflow for the eventrepeat.module?
I was recently talking about this, and it really needs to support things like "second Friday of every month" (look at how iCal accomplishes this for an elegant way of specifying).
Also, there should be a default and/or admin setting of how far into the future an event repeats -- e.g. a sane default of 1 year/2 years.
Comment #61
hunmonk commentedevents can repeat daily, weekly, monthly, and yearly. for monthly repeats, there will be three different styles of repeat: monthly by date (ex. the 3rd of every month), monthly by day (ex. 2nd monday of every month), and monthly by day reverse (ex. last tuesday of every month). weekly events may occur on more than one day (ex. weekly on monday and wednesday).
i'm not so sure about a default or admin setting for length of repeat. ongoing repeat events seem like an important feature. at the moment if no end date is selected, the event will be considered to repeat indefinitely. since the nodes for repeat events will only be created up to the last calendar day rendered by event.module, i don't see a cut off point being necessary.
Comment #62
hunmonk commentedjust wanted to update everybody on the progress of eventrepeat.module. surprise, surprise--there have been delays... ;) at the moment i'm working w/ the event.module developers, trying to get clear about the best approach to implement this functionality. once that gets decided for sure (which i'm hoping will be within the next 10 days or so) then i can start cracking at the code again. there's going to be some tricky stuff in this module, and i don't want to have to write it twice! i'll post a progress report again as soon as an approach has been clearly decided upon.
Comment #63
hunmonk commentedwell, that was much faster than anticipated... :) i've finished talks w/ the event.module developers, and clarified the approach for eventrepeat.module. coding will begin today, w/ a target release date of july 1st...
Comment #64
kenglish77 commentedI applied Darian's patch and it works pretty well but i had to change this line:
$result = db_query(db_rewrite_sql('SELECT n.nid FROM {event} e INNER JOIN {node} n ON n.nid = e.nid WHERE n.status = 1 AND ((e.event_start > %d AND e.event_start < %d) OR (e.event_end > %d AND e.event_end < %d) OR (e.event_start < %d AND e.event_end > %d)) ORDER BY e.event_start '), $first, $last, $first, $last, $first, $last);
to this:
$result = db_query(db_rewrite_sql('SELECT n.nid FROM {event} e INNER JOIN {node} n ON n.nid = e.nid WHERE n.status = 1 AND ((e.event_start > %d AND e.event_start < %d) OR ((e.event_start+e.event_duration) > %d AND (e.event_start+e.event_duration) < %d) OR (e.event_start < %d AND (e.event_start+e.event_duration) > %d)) ORDER BY e.event_start '), $first, $last, $first, $last, $first, $last);
Comment #65
darrian commentedGood catch, thanks for that.
It looks like there are a few other places with a similar incorrect db_query.
However, you might want to wait for the new module that is being written by thehunmonkgroup to start using repeating events.
-Darrian
Comment #66
hunmonk commentedjust wanted to update everyone on progress of eventrepeat.module:
i did have a release date scheduled for the first of this month, but ran into delays because of other commitments. my apologies for the delay--my schedule has opened back up, and i'm actually going to start coding again for that project today. there's a very good chance i'll have a release candidate ready by the weekend which would be suitable for use, and then it will need to be tested and debugged. i plan to put up the module on a test site so that people can test it to work out the bugs--i'll post here when it's ready, and also provide a link to the test site so people can break my module... ;)
Comment #67
Freso_deprecated commentedI like the sound of possibly having a recurring events module when I get back from Jutland! :)
But, alas, already now I have improvement suggestions/feature requests for it, which I didn't notice in the previously stated follow-ups:
The latter could most probably be done simply by putting a boolean field in the database, saying if the event is cancelled or not. Also, possibly a field to make a small-ish text field to write why it was cancelled?
Comment #68
hunmonk commentedfresco: the new eventrepeat.module will include the functionality you requested... :)
each repeated event will be rendered as as it's own node, which means they can be edited/deleted individually (or edited/deleted as groups, for that matter--ex. 'this and all future occurances'). if you check a few comments up, i list the different kinds of repeat patterns available. i'm not sure if i'll include a field for exception dates or not, since individual editing/deleting will already be available to handle such situations. i'll have to circle the wagons w/ the event.module developers and see what they think about that...
Comment #69
hunmonk commentedprogress update for eventrepeat.module:
between the drupal site being down over the weekend and having to work on a patch to core to support the deletion of multiple events (which is still not done yet--almost!), this module has once again been delayed... :(
i've still got a majority of the rendereing logic to build, some timezone stuff to figure out, and a few other small things--but i'm thinking i could have a release candidate by the end of this week.
now for some good news: i've reorganized the logic of the module to largely support the iCal standard, which is quite powerful--it will allow for almost any repeat pattern you can think of! while i don't think that the initial release of the mod will include support for iCal import/export of repeating events, it shouldn't be too hard to add down the road given the current design. i've also included the ability to add exception dates, which i know has been requested.
sorry again for the continued delays--just know that progress is being made!
Comment #70
hunmonk commentedonce again, a progress report for eventrepeat.module:
i'm afraid i don't have things along far enough to post the module on a test site yet, although i've made very good progress this week. the rendering logic is quite a beast, i must say--it's going to take a little longer to finish than i initially thought. more than likely i'll be taking about a week off from this project--time for a little break before i go insane... ;)
here's what's left to do before i can post the module on the test site:
finish the rendering logic -- this is about halfway done, i think
work out the timezone stuff -- don't think this should take too long, as i believe i can use the functionality in event.module to accomplish most of the work
and here's what's left to do before official release:
write user and admin help sections
finish documenting/organizing code
build the settings screen
put some kind of marker in for repeat events -- i'm thinking just appending [R] to the title, or something like that
i do apologize for not getting this module finished sooner, but believe me--it's not for lack of trying! :)
Comment #71
bomarmonk commentedThank you for your hard work. It's also nice to hear updates on your progress, as this module will be a needed addition to a website I've nearly finished. The wait will most certainly be worth it for all of us who need this functionality. I only hope the coding doesn't drive you too crazy! Cheers.
Comment #72
bkudrle commentedI second the thanks for hunmonkgroup. Thanks for your hard work. I would also be willing to help with coding this as soon as you can post some code. I have been working on an open source project for scheduling (icalscheduler at sourceforge.net) and so have some experience with how other programs (webcalendar, mrbs) approach the recurring events. However, I am just learning about the coding of Drupal modules.
I will be looking forward to when you post any code. Thanks.
Comment #73
hunmonk commentedthanks for your kind words, bomarmonk and bkudrle... :)
just about ready to start back in on this project--however, there's one big gotcha waiting in core that could very well hold it up. right now, the delete functionality in core has no way for modules to implement deletion of multiple nodes through it. for this particular module, i'd say that's a must... :) so, i've started work on a patch to core to correct this: http://drupal.org/node/26649
the patch is still in the beginning stages, and i've gotten feedback from several core developers that i'll need to build in matching functionality for the admin nodes deletion cycle. since a code freeze is in our near future, this patch has become my first priority with regards to the release of eventrepeat.module--so i'll be working on it first before resuming the other coding. the greatest help to me would be that once i release the next version of this patch, test it and give feedback on it! recent discussions have made it clear that lack of thorough testing is one of the big things that hold up patches to core. i'll post here again when i get the next version of the patch released, and any testing/feedback help would be greatly appreciated!
the current code for eventrepeat.module is in my sandbox: http://cvs.drupal.org/viewcvs/drupal/contributions/sandbox/thehunmonkgro...
don't expect it to actually do anything, because the rendering logic is still under construction! :) but you can have a look at my work to date--i'd be happy to take any feedback. one important thing to note: because of the approach we decided to take for rendering repeat events (creating nodes for each date the event repeats on, instead of dynamically inserting the events from one master node upon calendar rendering), the rendering approach that other calendar systems use is not an effective approach to model. this approach has it's upsides and downsides, but as a group the event team felt it was our best bet.
i don't think i'll need any coding help to finish up--i've got the rendering logic figured out, i just need to put it on the page. once again, testing/debugging will be the best way to help this module along. since it's primary function is mass creation/editing/deletion of nodes, i want to be very thorough in the debugging phase--the last thing i want is for some programming goof to automatically create 10,000 nodes on somebody's site! once a release candidate is ready, i'll get it working on a test site so that everybody can beat on the module and try to break it.
once again, thanks for everyone's support on this module--i'm as excited as everyone to see it finished, and it should be soon!
Comment #74
darrian commentedIt looks like a release for the event repeat module is still a ways off. So, I'd like to offer my help once more if there is sufficient interest.
It looks like it would be pretty trivial to modify the patch I already created for repeating events to use the database structure that the event repeat module will use. This way people that NEED repeating events now could use my patch in the interim, and when thehunmonkgroup's module comes out, transition would be very easy.
If there are no objections from thehunmonkgroup, and enough people think this is a good idea, i'll do it.
-Darrian
Comment #75
hunmonk commenteddarrian: i don't anticipate any changes to the database structure for my module from here out, so i don't see a problem with a patch that will get people started until it's complete. i'm anticipating a release candidate within a week or so, and i'd hate for you to waste your time for such a short fix--but, further delays are always possible, that's for sure!
the patch that i'm writing for core to support multiple node deletes is the big thing that could hold things up going forward. because no new features go into the core code for 4.6, i'll have to provide a patched version of node.module for people that want to start using eventrepeat.module in 4.6. it's possible to just release eventrepeat.module with the patched 4.6 version of node.module regardless of the state of my patch against HEAD. i suppose that would be fine, because the 4.7 version of eventrepeat.module could be altered to account for the fate of my pending core patch--so i don't think there would be any upgrade problems there. i'll plan on doing it that way unless anybody has any objections.
back to work on this module! :)
Comment #76
hunmonk commenteddarrian: no sooner did i post my response than i saw i needed to make a minor change in my table structure... :) latest version is in my sandbox.
Comment #77
bkudrle commentedhunk - Looking at your code, it is very impressive - better you than me. Thanks for your hard work. As soon as a release candidate is posted, I will look forward to testing.
Comment #78
stevryn commentedJust a suggestion/question.
I understand this is an "event" calendar, which implies its not a "user" calendar, but could essentially be used as one. Is there a way that the calender could be viewed by individual who "posted" and also "all"?
I would like to have a place my users can put their scheduled time away from the office, but would like both options for viewing.
Just a thought.
Comment #79
hunmonk commentedi have plans to do an eventusercalendar.module that would do this and a lot more, but it's a ways off. there was a thread started somewhere else by somebody for this, but i can't find it at the moment...
Comment #80
hunmonk commentedupdate on eventrepeat.module:
after finishing the rendering logic and playing devil's advocate on my own work for awhile, it became apparent that the current approach has some major efficiency problems, and another approach is needed. fortunately, i've put my head together w/ the event.module folks and arrived at a much better solution, which fortunately will not involve a total rewrite--it'll be more of an adaptation. but it has thrown further delays into the process.
i've missed so many self-created deadlines on this project that i'm not even going to offer any more... ;) so i'll just say that i'm continuing work on it, and it'll be done when the calendaring gods will it so... :D
i'll continue to post updates as progress is made.
Comment #81
webengr commentedtime permitting, may want to look at how this project acheived recuring:
http://open.appideas.com/Calendar/
that was one of the earlie calendars and it has been stable a long long time
(use to be called the rosenet community calendar)
Comment #82
hunmonk commentedwebengr: looking at the code for phpCommunityCalendar, it appears that they use the same approach for rendering recurring events as every other calendar system i've reviewed--creating the recurring events dynamically in calendar views from one central piece of data. the events team chose a totally different approach for it's implementation--creating completely seperate nodes for each recurring event. this has it's upsides and downsides, but it was felt that this approach would mesh better with the drupal architecture. so, as i discovered early on, modeling other calendaring systems wasn't really an option... :) WebCalendar has a terrific application as well, but the strategies just don't translate to our approach.
eventrepeat.module update: i've finished rewriting the rendering logic to support the table-driven approach for node rendering, and i have to say that i'm real pleased with the way it's looking! it looks like it's going to be way faster and much easier to debug. i'd say the module is close to beta--and tomorrow i'll be putting it through it's final tests before beta release, if all goes well.
Comment #83
hunmonk commentedeventrepeat update:
i've got the eventrepeat module up and running on a test site, and will do a beta release and provide a link to the site shortly. ATM there are two non-module related challenges:
1. event.module has some timestamp bugs in it that are causing problems in eventrepeat. i've figured out the problems and plan to roll a patch in the next day or two.
2. hook 'delete pre' has still not been committed to drupal core, and this is a needed functionality in order for eventrepeat to handle multiple node deletions--kind of important, i think.... :) i need all the help and support i can get to get this patch into core--so if you're a developer, it would great if you could look over the patch and give it a +1 if you think it's worthy of being in core. the more demand from module developers there is for this functionality, the more likely it is to get in...
you can see the patch here. code freeze for 4.7 is coming in about a week, so if you'd like to help, you have to help soon! :)
Comment #84
hunmonk commentedeventrepeat update:
good news: i've submitted a patch for event.module to clean up the timezone issues. pretty sure it's good to go, but i'd like a few more folks to test it out before we commit the changes. patch is here.
bad news: i traced one of the timezone bugs back to core, in the format_date function in common.inc. i've also submitted a patch for that, right here. you'll need to install both patches to perform any tests--otherwise event time displays will be screwed up.
more bad news: with just a couple of days to go before the code freeze, hook_delete_pre still hasn't been committed, and eventrepeat will not run properly without it. which means that eventrepeat won't work w/ the upcoming 4.7 release of drupal unless you're willing to hack node.module in core w/ the patch. if anybody can help in any way to get this patch in, please help now!!!
i'm holding off on beta release of this mod until the above stuff gets resolved one way or the other.
Comment #85
shane commentedI've added my support for the hook_delete_pre to go live. I've been needing repeating events for over 3 years. Currently, I manually enter 8 to 10 events every month manually - which could easily be handled by 2 repeating event submissions. I've got my fingers crossed that both of these can go main stream for 4.7. I might actually finally convert my ancient 4.1.0 install site to 4.7 if this goes live. I'm shuddering about making the switch, 3 years of custom hacking and modifications....
Comment #86
hunmonk commentedeventrepeat update:
coding is finished for this module. :) there are a few bugs i need to clean up, and i'm thinking that i'll have a project page up in two days or so. on the big down side, code freeze for 4.7 is in just a few days, and the hook delete pre patch that i mention in some of my above posts still hasn't been committed to core... :( hopefully i can get it in, but it's not looking good--any developer reviews or positive feedback on the issue page would help, so head over there and check it out if you can! if it doesn't get it, this module will only work w/ 4.7 if node.module is patched. i'm undecided whether i'm going to release a 4.6 version of this mod or not yet--that depends on the fixes to event.module that are in the works.
Comment #87
hunmonk commentedeventrepeat is now in beta!
the mod and doc can be found here.
KNOWN BUGS
please let me know if you find any other issues. i will be cleaning these up over the next few weeks, and will have an official release no later than the 4.7 release of drupal. right now it's looking like i will release a 4.6 version as well.
thanks for your patience!
Comment #88
toasterz commentedworks but breaks my upcoming event block... block doesn't not display. no error in logs. will dig further and see if i can figure this out and post results here.
i think my event module needs to be updated, but not sure.
Comment #89
hunmonk commentedtoasterz: yes, update to latest event.module from CVS--that should fix the issue.
closing this thread--eventrepeat is now a project, located here.
please report any bugs/feature requests through the drupal.org project system.
Comment #90
ericatkins commentedActually, you mean here: http://drupal.org/node/31089
URL above was broken. :/