Outlook Calendar Adapter for Blogwave
Your One-Stop Shop for the OLCalendar Blogwave Adapter. Usefulness not guaranteed.
For now, an all-in-one version history (topmost is newest, natch), but later- who knows?
PubDate is set to the Start Date of the appointment. I haven't found a good way of representing the end date in RSS yet; I'm messing around with attribution, CDATA sections and similar, but either I'm getting it wrong, or BlogWave/RSS.Net don't care about it :)
Implement optional Body inclusion for appointments (and add more "how to format the separation between calendar data and body text" issues).
Some type of consumer would be nice (wow, a synchronization architecture built from RSS!), but also quite dangerous. So perhaps not...
There haven't been any real enhancements (depending on how you feel about the themed dialog background for XP), but there are now two (relevant) files in the download - the OLCalendar DLL, and an image file used to generate all BlogWave's internal images (tres slick, Addy!) - everything goes in the Adapters folder. Copying the Readme is optional - my advice is to flip a coin and then if you feel you might want to flip again, go with the option you really wanted to choose.
I fixed a couple of Dumb Bugs, nothing really worth mentioning. The previous To Do list largely stands, which I might revisit for newer BlogWave s.
Download: OLCalendar115.zip (14KB)
Yell if you have any problems with it (it's been tested (roughly speaking) on my machine, but no others yet...).
Working from the to do list at the original post, and desperately trying to avoid working on my terrible remote desktop switcher, I've updated the pseudo-terrible calendar adapter.
Major New Features:
- Prettier icon, using the BlogWave Dynamic Wave Device*.
Minor New Features:
- Ability to pick a specific calendar folder to publish. This is cool for many reasons, not least of which is that you can now explicitly control which appointments you want to publish by having them in this folder. And not marked as confidential, sensitive or private.
- It might also work to some extent on non-calendar folders, but I'm pretty explicitly looking for Appointment types in a specific date range. I think. YMMV.
- Stricter enforcement of date ranges.
There are still many rough edges:
- As an adapter author, I'm not sure how (or if?) I'm meant to tell BlogWave that there's no data meeting the criteria - BlogWave doesn't like eating RSS feeds with only a channel and no items. So for now, it fails, and the error is probably harmless. If you had nothing to publish, why worry anyway? :)
- Note: Addy fixed this in Blogwave 0.99 B1.
- Amazing new-fangled Win Forms UI, in stylish default colours. Enjoy.
- [20 Sep] Something Happened, and now oItems.Restrict(string s) doesn't accept any string as being valid, at least not that I can throw at it:
- For eg:
- [Start] > '09/01/2004 08:00 AM'
System.Runtime.InteropServices.COMException (0xF5920009): Condition is not valid.
- And others. Nothing seems to work any more...
- [20 Sep B] Well, looks like it's just happened to my slightly soiled work computer, and it's working fine elsewhere. Time to spring clean, methinks.
But all up, it's fun to play with. For instructions, see the original post.
Download: OLCalendar.zip (Same filename, updated binary).
Seeing as Addy was kind enough to include sample adapter code with BlogWave 0.3, my immediate thought was that a Calendar might be cool. Can o' worms, that. I fiddled with this for the last few nights, and I think I've hit the 80/20 point, so I've cleaned up the UI, plastered massive warnings on it, and now it's ready to be seen by anyone not seriously interested in using it.
It's not designed for unattended use; it uses the simplest possible Outlook automation - no profile selection, no mess, no fuss, as long as the logged on user is the calendar source. Um, and it mostly works at night. Mostly.
Disclaimer: I strongly recommend against using this adapter, for any purpose, ever.
- Private appointments might be published. If you're even remotely worried about information leakage, don't use this adapter!
- I've tried to filter out any non-normal-priority items, but there are other considerations, like:
- I couldn't easily work out how to access the Label colour (sorry, color) using C# (part of the information leakage issue), so labeling something as Personal doesn't stop it being published.
- it does check the sensitivity field for any non-normal value
- I couldn't spot an easy way of persisting custom data from the XML document I passed back to Blogwave; I might work this out at some point. This means that the published information is, well, barren of extra metadata, and/or formatting. I briefly mucked around with CDATA, but couldn't reliably get it to stick to the feed on its way out.
- Trying to access the Body property always seemed to trigger the Outlook Security Dialog. So, no body!
- Either Outlook's date selection filtering logic is fairly loose, or I'm not doing it right (more likely) - don't be surprised if something later than the actual date range shows up.
Items I thought about but didn't/couldn't/might implement later:
- Picking a non-default Calendar folder. (Easiest, lowest-hanging fruit, if there's another revision, this may well be in it). So you can put all the specific appointments you want published in a different folder, then syndicate it.
- Alternatively, work out how to tell "Personal" from "Important" from "Business", etc...
- Some type of support for formatting and/or additional data in the RSS <description/> entry. More metadata is needed to describe an appointment, I feel. (mental note: I didn't try attribution of the RSS items, cos I assumed that RSS.Net would either dislike it or destroy it - need to check that assumption).
- Utterly And Totally Enforced Date Range constraints. Another probably-will-do.
Download: OLCalendar.zip . Unzip into the BlogWave Adapters folder, restart Blogwave if it's running, and it should be good to go.