Hi Kervin (and others),

I have good news and bad news.

I'll start with the bad news first: after talking with my advisor about my progress on the message transport, we've decided I need to get back to my actual Ph.D. work (this was a related but totally separate project) or jeopardize my chances of having a solid Ph.D. project and dissertation. In theory I was supposed to be done some 4 - 6 weeks ago, but I don't like giving up before I've finished what I set out to and I convinced my advisor (and myself) that with just a few more weeks, I could get something working. Unfortunately, that has turned out not to be the case and I can't keep working on this into the new year.

But in good news, my lab-mate, Kai Pan, and I make progress towards the end goal. Kai's work early on extended the open source neon library (http://www.webdav.org/neon/) with CalDAV functionality and we're hoping his changes will be merged in the near future; currently, they're only in the message provider's source code tree. As of this week, his altered code is incorporated into the Visual Studio project I have for the Message Transport and successfully builds, links, and runs, giving the Message Transport access to HTTP, WebDAV, and CalDAV. I've also fleshed out a working Message Transport plugin that seems to play well with Outlook. It should be clean enough to follow the code and either drop into the OpenConnector project or use as a guide when implementing an OpenConnector-specific Message Transport. Note that either way, you should replace the Log() function calls with OpenConnector's OTLKCON_LOG_PRINTF() as the Log function I used came directly from MSDN sample code (it was just shorter to type ;).

There's a lot that remains to be done, which is why I won't be able to stay around to finish it: - Determining how many new messages for upload and download there are (this step will be much easier with a local message store to sync with... I was contemplating custom properties on each event to flag it when it was downloaded).
- Downloading events (simply a GET request for that event's URL)
- Uploading new and updated events (simply a PUT request for a URL, as documented in the CalDAV spec) - Translating the MAPI Message objects into iCalendar data. Henry Gusakovsky had this to say about this process:

There is undocumented COM component that converts iCalendar to MAPI and vice versa. Its interface is available in tlb. Function names are rather self exlanatory.

The component is located in MIMEDIR.DLL. 've added spying of IMDCvt_iCal interface to MAPISpy. To see logs you need to enable spying CoCreateInstance function.

I have a repository with my work here at UCSC and I'll be putting up a "Release" zip archive with all my code in a day or two. When I do, you'll find it at:

http://dforge.cse.ucsc.edu/projects/caldavxp/

You may be able to use Subversion to check the current repository out (see the "SVN" tab on the project page for details), but that may be reserved for those with an account on the dforge machine; that's why I'll be making the zip file. First though, I want to more fully document the code, especially in the places where I know work still needs to be done.

If anyone has questions about the code, please don't hesitate to email me. I wish you the best of luck with the OpenConnector project. I know a lot of people are looking forward to Outlook support for CalDAV.

Mark


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
otlkcon-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/otlkcon-devel

Reply via email to