Are there any plans to port this module to Drupal 7?

Thanks,

Comments

Crell’s picture

We'd love to. :-) Unfortunately, given the changes to Form API that would entail an almost complete rewrite of the ical widget, which is a substantial amount of work. We also want to investigate using entities instead of just nodes for D7. Plus, date module isn't stable yet. :-)

So, yeah, it probably won't happen without a specific project to help fund it. We're looking for one. If you can find one, let us know. :-)

cpelham’s picture

Subscribing. How much funding is required?

Crell’s picture

If you're interested, contact Palantir and we can get you an estimate. :-)

rorymadden’s picture

@Crell, I'm just trying to set up something similar to iCal for a small site I'm working on so I dont think I'll be able to hire Palantir. Sorry. I would like to try port the module though. To make sure I go about it in the right way could you elaborate on your comment "investigate using entities instead of just nodes for D7"? What would be the benefit of using entities over nodes? If you outline where you think the module needs to get to I could start trying to get it there. I also think this module is the best way to solve the date issue #272404: Make 'until' field optional so maybe we could get others involved.
Thanks,

Crell’s picture

It's not something that mfer and I have fully thought through yet. The general theory is that there's a lot of logic tied up in dealing with whether there's a single or multiple fields, dealing with CCK Fields' wonky structure, etc. One could argue that events shouldn't be nodes but, like media module does, should be their own entity that spawns off nodes. Or... maybe the other way around. I don't actually know. Plus there's the new relations module that is still in alpha that could be a better model to use than simply a slightly-enhanced nodereference (which is essentially what icalreffield is).

The other two major items are a total rewrite of the GUI widget (necessary due to the changes in FAPI's Ajax handling) and exploring better iCal libraries than iCalCreator (which is PHP4-era crap, but still the best available at the time). I believe a new ical library has been released more recently that is worth investigating, plus iCalCreator itself finally has some activity.

If you want to try porting it, I'd start small with some of the auxiliary modules. But please don't under-estimate the task. I'd estimate it at easily 300 hours for myself and mfer, and we already know how the module and ical format work. :-(

KarenS’s picture

I've been thinking about how to do this better in D7 too. The Relation module looks very interesting as a way to connect a 'parent' event to a bunch of repeating instances. One change I could make in the Date module that might be helpful would be to add an option to a repeating date field to store only the RRULE and not to create the repeating instances (or maybe that would just become an additional type of field). Then some other module could step in and use the RRULE to generate the dates as related nodes and keep them in synch.

The date repeat form needs some love and Acquia has already indicated they are interested in doing some UX work on that. We're all interested in moving it closer to what Google calendar looks like.

The Date API has tools to parse and create the iCal code itself. I'm wondering if it's necessary to use a third party library for that (not sure what additional functionality is needed). If we can do it with the Date API, it's one less thing that needs to be added to the mix.

And I echo the estimate about how much work this will be. There are no small jobs when it comes to date handling, they all spiral up into hours and hours and hours of work.

mstrelan’s picture

One could argue that events shouldn't be nodes but, like media module does, should be their own entity that spawns off nodes. Or... maybe the other way around. I don't actually know.

I think events should be nodes, but instances should be entities. This seems to be similar to what the Commerce module is doing for it's products.

mgifford’s picture

I keep suggesting folks take a first hack at creating an upgrade by running it through Coder. It won't get everything, but....