Calendar:Architecture: Difference between revisions

Line 203: Line 203:




Now, about the contents of the document. My understanding is that there are two basic problems: 1) working with occurences vs parentitems and 2) excessive cloning.
Now, about the contents of the document. My understanding is that there are two basic problems: 1) working with occurences vs parentitems and 2) excessive cloning. I think those two problems are quite independent, and there is not one change that fixes both.
 
1: ocurrences and parentitems. The basic problem here seems to be that occurences and parentitems both are the same interface (calIItemBase). This leads to confusion. In real live, people have to deal with occurences. When I go to a meeting, it isn't really imporant that it happens every monday, I only really care about the fact that I have to go today, to this particular meeting. Our interfaces should reflect that. calIEvent and calITodo should be occurences of an item. They are what is visible in the views. They might be related to other items, maybe by some recurrence rule. That rule can be expressed in a calIParentItem interface. That interface does not know about item titles, startdates, locations and everything, but only knows about the recurrence rules. The items themself know about the details.
 
(For ics serialization, each item may have a 'ismodified' flag, meaning that it  should be serialized seperatly, with a recurrance-id)
 
 
2: excessive cloning.
Confirmed users
503

edits