Progress Report: Getting there
During the last week, two major funtionalities were implemented in the program:
1) Import all events from Google calendar (GCal) into the Evolution cal(ECal)
2) Merge all the ECal and GCal events and drop them onto Evolution
In order to get all the GCal events, an HTTP get request was sent to the feed URL, and the response stored in memory (as opposed to files in the previous versions) in a buffer. This buffer contains the GCal events in ICal format. This was converted into a VCALENDAR component and each VEVENT component present, added onto Evolution.
Merging required obtaining the events in both calendars in VCALENDAR format. GCal events were converted into VCALENDAR format using the same algo as described above. In order to obtain the ECal events, a query for all objects was sent to the EDS. This returned a list of (sub)icalcomponents. Now, a top level VCALENDAR componenent was created and each icalcomponent obtained in the query added into the top level component. Once both the calendar's events were obtained as VCALENDAR formats, they were merged into one VCALENDAR component, resolving any problems with conflicting Time Zone IDs. The merged component was then dropped into Evolution.
My next steps would be to enable setting of the different configuration parameters such as Google account information, feed URLs etc through command line flags. Currently, these parameters are hardcoded into the program for easy testing. Once this is done, I will probably try to get the program working in daemon mode.
moving along
Sounds like you're makiing good progress. Very cool. I mentioned this project to one of my friends and he had a good question. Will this work with contacts as well as calendar events? And really really big... will this work with events and contacts stored on exchange and accessed through the evo-exchange connector? I'm hoping that is all abstracted behind the EDS but its something to keep in mind.
Nice work.
Re: moving along
For the purposes of SoC, I am focussing only on the Calendar. Extending it to the Evo address book does sound real cool. Will definitely look more into that, after this is done.
