[Cosmo-dev] Changing Master Event Start Date

Bobby Rullo br at osafoundation.org
Tue Jun 12 10:46:17 PDT 2007


When changing the start date of a master event, it is necessary to  
change the Recurrence Id's of every one modification item associated  
with it. The problem is, you can't change recurrence Id's in the EIM  
model, so what Chandler does instead is delete every single  
modification for the event and makes new ones with different  
recurrence ids.

This is not so easy for the web client, which doesn't necessarily  
have all the modifications for a particular item. What the web client  
will have to do is download each modification, delete each  
modification and upload a new version of each modification - in  
addition to updating the master event and expanding out the event. In  
other words, updating a master event requires 3n +2, where n is the  
number of modifications. If there are the three mods, that's 11  
requests to make the change!

I propose that when updating an item over atom we pass some sort of  
query parameter (or header, or whatever) like  
"updateModificationRids=true" or something which lets the server know  
that it should go and update the recurrenceIds of the modification  
items associated with the item (if there are any.)

Brian has already objected to this idea over IRC on the grounds that  
it violates the principle that Cosmo should only be a dumb server,  
and that this case is not common enough to warrant a deviation from  
that principle.

While it may be true that this is not a common use case, I still  
think this is something that makes sense to do on the server, which  
has access to all the data. It's also easier to code on the server -  
I'm willing to do the work if Brian doesn't have the bandwidth for  
it. I'd rather do it on the server than on the client. And it won't  
affect other Atom clients unless they specifically know about this  
feature and decide they want to use it.

Bobby


More information about the cosmo-dev mailing list