Forum OpenACS Development: Calendar about to break hard

Collapse
Posted by Ben Adida on
Hi all,

Over the past few months, I've slowly been rebuilding chunks of
calendar, specifically recurring events, no-time events, scoping, and
all the display widgets. I've done so with parallel Tcl procs that do
not interfere with the way the main calendar package works. If you've
tried dotLRN, you've seen some of this stuff already.

I'm now about to take a chainsaw to the calendar package (*NOT* for
v4.5) and rebuild the Tcl pages based on this new structure I've been
putting together. This is going to take a while, and it will probably
break the PG version for up to 2 weeks in the CVS development branch.

This is one of these dreaded cleanup efforts that is highly necessary.
Please let me know ASAP if you have any objection to my breaking the
calendar CVS tree for the next 2 weeks. I'd rather not break things,
but I also like to commit my work often.

Collapse
Posted by Don Baccus on
If you'll hold the chainsaw, I'll yank the starter rope.  I'm from Oregon, I actually know how to use one if that will help.

Saw away!

That's my opinion, anyway!

Collapse
Posted by Rafael Calvo on
Ben,

Thanks for letting us now.
Two of my studennts will start working on calendar (as we have discussed on email) in about 4 weeks.
One of them will hopefully add alerts (email and and now maybe SMS) to it.

cheers

Collapse
Posted by Andrei Popov on
Good, right around the time that I was getting ready to gripe and suggest a re-write (with possible pitch-in).  Do repair what IS br0k3n.
Collapse
Posted by Michael Feldstein on
Ben, what's the status and near-term plans for Palm and/or
Outlook synchronization with Calendar?
Collapse
Posted by Ben Adida on
The current calendar system will soon have single-event
sync'ing to Outlook taken from ACES. However, complete
synchronization is not currently scoped. Rafael had mentioned
that his team might do something in that respect.
Collapse
Posted by Don Baccus on
Everything needed for multiple event synch'ing is there - ref-timezones, acs-events with timezone foreign keys, etc.

What's mostly needed is to make the calendar package bright about timezones.  Once that's done, it wouldn't be too difficult to extract that and build the timezone definitions and references required in iCalendar format.

The single event synch stuff only works because after experimentation I figured out that in practice Outlook only requires timezone info for recurring, not single, events.

It's been literally 8 or so months since I read the iCalendar spec by I think timezone defs are in theory required, Outlook's just a bit more forgiving so we were able to slip in that feature without fairly large-scale rewriting of the ACES calendar package.

Collapse
Posted by Michael Feldstein on
Is the current single-event synchronization two-way, i.e., can I
upload events from Outlook into Calendar?
Collapse
Posted by Rafael Calvo on
Two of my students are going to work on calendar. One adding alerts (email and hopefully SMS) and the other would be the Sync with outlook.

They should start working on it in the next few weeks, although they first need to read and learn a bit more about OACS.

Collapse
Posted by Carl Robert Blesius on
Can someone give me an update on the calendar package work mentioned above? I would like to know if time zone support was added (this seems to be a needed element for it to be compatible with Outlook and/or the iCalander format).
Collapse
Posted by Ben Adida on
There is no explicit support for time zones at this point in time. I
think this should probably be implemented using user-
preferences. But this won't be done as part of the overhaul
(which is almost done now).
Collapse
Posted by Rafael Calvo on
My students have not started yet. They should around July 20.
Collapse
Posted by Lars Pind on
Gregor just gave me a great idea, which I thought I'd put out here: Calendar should offer a service contract-based interface for other packages putting stuff into the calendar, such as the due date on a task in a task list application. Thought I'd post it here before I forgot.
Collapse
Posted by Ben Adida on
Lars,

Do you mean a service contract so that calendar can "notify"
other packages when their events are due, etc...? Kind of like a
programmatic scheduled jobs?

Collapse
Posted by Lars Pind on
Nope, the other way around.

The task list can tell the calendar to display the due date of a task in the calendar view.

Like Yahoo's "My Time Guides": Lets you put holidays or club events or other things into your calendar.

But it'd be nice if it didn't require that you actually insert rows into the calendar tables. They can stay where they are, but calendar, when it displays the day/week/month/year/whatever view just includes those items.

Collapse
Posted by Ben Adida on
The "right" solution goes back to Don's suggestion: calendar
items should just *map* acs_events to a calendar. Then you can
extend acs_events to do exactly what you mention, except
calendar doesn't need to perform multiple queries to find all the
events, it can just query the acs_events table.

The issue which remains is then what happens if you want to
have your data type extend something *other* than acs_event,
but I'm thinking this is a small subset of cases... Thoughts?

Collapse
Posted by Tom Jackson on

So Calendar was about to break hard for two weeks back in May. Did this work ever get finished? I am using the 4.5 calendar module and I either need to fix the annoying bugs or upgrade. If I have to fix bugs, I would rather them be in a future module. Ben, any way I can help?

Collapse
Posted by Jamie Hill on
OK, I have finished my thesis project which involved implementing Outlook synchronization with the OpenACS calendar. It handles the importing of single and multiple events into OACS, and handles most recurring events (limited by current OACS Calendar model which doesn't support all recurrence rules specified in the iCalendar spec). It currently requires users to select their timezone before uploading the file, this will later need to be adjusted when the timezone package is integrated into OACS prefs (but that should be a simple process).

I will upload my files to OACS in the very near future.

- Jamie Hill