On Nov 9, 2005, at 10:29 PM, Alec Flett wrote:
We could include version information along with sharing information when we post CloudXML to cosmo, then you could "play back" the changes within your repository, and commit in between each change so that your repository versions match the version set you just downloaded.

One problem is that while we could add additional version info to CloudXML (basically replacing CloudXML with a log of changes), just about all CalendarEvent properties are shared via iCalendar (.ics) resources, which we don't really have the ability to change the format of.


If we did that, the next technical hurdle would be to sync up the versions in the situation where:
1) I share something, say at version 5
2) I make an edit locally, it becomes a local version 6
3) Someone else makes an edit locally, and syncs back to the server, it becomes version 6 on the server 4) A third person makes an edit locally, and syncs back to the server, it becomes version 7 on the server 5) I sync with the server - in order to be in sync with the server, we'd need to roll back to version 5, apply the changes from 6 and 7, and then apply our local version 6 change, which becomes version 8, and apply that up to the server.

Actually, I think morgen does something like this already in his merging-with-views...

Well, the experimental (and disabled for 0.6) view merging would still see all remote changes as a *single* change. However, the "V" in WebDAV stands for Versioning, so perhaps we could leverage the server's versioning capability to track individual remote changes.

~morgen
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Open Source Applications Foundation "Design" mailing list
http://lists.osafoundation.org/mailman/listinfo/design

Reply via email to