<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: exchange2ical available on CodePlex</title>
	<atom:link href="http://blog.jonudell.net/2008/06/11/exchange2ical-available-on-codeplex/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.jonudell.net/2008/06/11/exchange2ical-available-on-codeplex/</link>
	<description>Strategies for Internet citizens</description>
	<lastBuildDate>Sun, 12 Feb 2012 18:22:41 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: But will it include calendars? &#171; Kassblog</title>
		<link>http://blog.jonudell.net/2008/06/11/exchange2ical-available-on-codeplex/#comment-132239</link>
		<dc:creator><![CDATA[But will it include calendars? &#171; Kassblog]]></dc:creator>
		<pubDate>Wed, 24 Feb 2010 06:24:18 +0000</pubDate>
		<guid isPermaLink="false">http://jonudell.wordpress.com/?p=401#comment-132239</guid>
		<description><![CDATA[[...] a related note, Jon Udell has built a small script (exchange2ical) to publish iCal feeds for Exchange [...]]]></description>
		<content:encoded><![CDATA[<p>[...] a related note, Jon Udell has built a small script (exchange2ical) to publish iCal feeds for Exchange [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jon Udell</title>
		<link>http://blog.jonudell.net/2008/06/11/exchange2ical-available-on-codeplex/#comment-127602</link>
		<dc:creator><![CDATA[Jon Udell]]></dc:creator>
		<pubDate>Thu, 14 May 2009 16:36:00 +0000</pubDate>
		<guid isPermaLink="false">http://jonudell.wordpress.com/?p=401#comment-127602</guid>
		<description><![CDATA[I&#039;ve been waiting for somebody to actually try using that script! :-)

Checking into it now. Feel free to contact me directly at jonu@microsoft.com.

Update: The script works as-is with IronPython 1.1, which was current when it was written. But not in IronPython 2.0.

If you change from this:

bytes = map(ord,list(query))
bytes = System.Array.CreateArray(System.Byte,bytes)

to this:

bytes = System.Text.Encoding.UTF8.GetBytes(query)

It works (for me, at least, on a VPN connection to my Exchange Server) in IronPython 2 as well. 

Please let me know if this helps.

Meanwhile, having since learned a lot more iCalendar, and having used the DDay.iCal component for the elmcity project, I&#039;m going to revisit this. I should probably use DDay.iCal to generate ICS more reliably than the ad-hoc way that script does it.


]]></description>
		<content:encoded><![CDATA[<p>I&#8217;ve been waiting for somebody to actually try using that script! :-)</p>
<p>Checking into it now. Feel free to contact me directly at <a href="mailto:jonu@microsoft.com">jonu@microsoft.com</a>.</p>
<p>Update: The script works as-is with IronPython 1.1, which was current when it was written. But not in IronPython 2.0.</p>
<p>If you change from this:</p>
<p>bytes = map(ord,list(query))<br />
bytes = System.Array.CreateArray(System.Byte,bytes)</p>
<p>to this:</p>
<p>bytes = System.Text.Encoding.UTF8.GetBytes(query)</p>
<p>It works (for me, at least, on a VPN connection to my Exchange Server) in IronPython 2 as well. </p>
<p>Please let me know if this helps.</p>
<p>Meanwhile, having since learned a lot more iCalendar, and having used the DDay.iCal component for the elmcity project, I&#8217;m going to revisit this. I should probably use DDay.iCal to generate ICS more reliably than the ad-hoc way that script does it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mike</title>
		<link>http://blog.jonudell.net/2008/06/11/exchange2ical-available-on-codeplex/#comment-127592</link>
		<dc:creator><![CDATA[Mike]]></dc:creator>
		<pubDate>Wed, 13 May 2009 16:19:34 +0000</pubDate>
		<guid isPermaLink="false">http://jonudell.wordpress.com/?p=401#comment-127592</guid>
		<description><![CDATA[Jon, this is exactly the sort of thing I&#039;ve been looking for. We are a public school district using Exchange 2007. I have resource calendars and shared calendars set up for various things. I wanted an easy way to publish the calendars to our webpage. I can publish personal folder calendars to WebDAV easily with Outlook, but not shared calendars. I can then view our School calendar, lunch calendar, etc using phpicalendar on the website and use the rss feeds it generates to display the info in different ways on our homepage. 

I installed Iron Python and downloaded your script, but I&#039;m having some trouble getting it running. When I run:
ipy exchange2ical.py server user &gt; user.ics
I get:
File &quot;exchange2ical.py&quot;, line 96 in exchange2ical.py. AttributeError: &#039;type&#039; object has no attribute &#039;CreateArray&#039;

Am I missing something obvious? Thanks for your work on this!]]></description>
		<content:encoded><![CDATA[<p>Jon, this is exactly the sort of thing I&#8217;ve been looking for. We are a public school district using Exchange 2007. I have resource calendars and shared calendars set up for various things. I wanted an easy way to publish the calendars to our webpage. I can publish personal folder calendars to WebDAV easily with Outlook, but not shared calendars. I can then view our School calendar, lunch calendar, etc using phpicalendar on the website and use the rss feeds it generates to display the info in different ways on our homepage. </p>
<p>I installed Iron Python and downloaded your script, but I&#8217;m having some trouble getting it running. When I run:<br />
ipy exchange2ical.py server user &gt; user.ics<br />
I get:<br />
File &#8220;exchange2ical.py&#8221;, line 96 in exchange2ical.py. AttributeError: &#8216;type&#8217; object has no attribute &#8216;CreateArray&#8217;</p>
<p>Am I missing something obvious? Thanks for your work on this!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jon Udell</title>
		<link>http://blog.jonudell.net/2008/06/11/exchange2ical-available-on-codeplex/#comment-125342</link>
		<dc:creator><![CDATA[Jon Udell]]></dc:creator>
		<pubDate>Sun, 14 Sep 2008 16:58:13 +0000</pubDate>
		<guid isPermaLink="false">http://jonudell.wordpress.com/?p=401#comment-125342</guid>
		<description><![CDATA[&gt; I need to provide some credentials to login.

As written, it uses your current Windows credentials. So if you run it from a logged-in PC, and your credentials are good for the Exchange server, it&#039;ll work.]]></description>
		<content:encoded><![CDATA[<p>&gt; I need to provide some credentials to login.</p>
<p>As written, it uses your current Windows credentials. So if you run it from a logged-in PC, and your credentials are good for the Exchange server, it&#8217;ll work.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rajnish</title>
		<link>http://blog.jonudell.net/2008/06/11/exchange2ical-available-on-codeplex/#comment-125333</link>
		<dc:creator><![CDATA[Rajnish]]></dc:creator>
		<pubDate>Sat, 13 Sep 2008 21:19:05 +0000</pubDate>
		<guid isPermaLink="false">http://jonudell.wordpress.com/?p=401#comment-125333</guid>
		<description><![CDATA[How do I run this remotely? My exchange server is hosted by a service provider. I need to provide some credentials to login. Thoughts??]]></description>
		<content:encoded><![CDATA[<p>How do I run this remotely? My exchange server is hosted by a service provider. I need to provide some credentials to login. Thoughts??</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Günter</title>
		<link>http://blog.jonudell.net/2008/06/11/exchange2ical-available-on-codeplex/#comment-124855</link>
		<dc:creator><![CDATA[Günter]]></dc:creator>
		<pubDate>Sun, 03 Aug 2008 10:32:58 +0000</pubDate>
		<guid isPermaLink="false">http://jonudell.wordpress.com/?p=401#comment-124855</guid>
		<description><![CDATA[Hi Jon,
as a co-author of ReminderFox I was interested in migrating Outlook calender info to iCalendar/ICS format. 
Because ReminderFox is an extension the the Mozilla world there is no access to the OL internals from within an extension.
I ended up with some some Jscript/HTA coding to access the local OL-Calendar and the OL-contacts to generate ICS a file including VEVENTS and VTODOS (with some limitation as with RRULE) and with a LDIF file compatible with the TB/AB import.
Note: this doe&#039;t access the Exchange server but the local PST file.
 
All that works well. You can access the script with some documentation etc at:
http://reminderfox.mozdev.org/utilities/PIM_escapeOL.zip

The trade-off of that solution: the HTA is threaded as SPAM with some Mail Services when sending it as an attachment.

So my Question:
Do you see another way to handle those JSCRIPTs and build a utility/standalone prog which doesn&#039;t get problems with the Mail Servers?

Note: I don&#039;t have any knowledge about Python :(]]></description>
		<content:encoded><![CDATA[<p>Hi Jon,<br />
as a co-author of ReminderFox I was interested in migrating Outlook calender info to iCalendar/ICS format.<br />
Because ReminderFox is an extension the the Mozilla world there is no access to the OL internals from within an extension.<br />
I ended up with some some Jscript/HTA coding to access the local OL-Calendar and the OL-contacts to generate ICS a file including VEVENTS and VTODOS (with some limitation as with RRULE) and with a LDIF file compatible with the TB/AB import.<br />
Note: this doe&#8217;t access the Exchange server but the local PST file.</p>
<p>All that works well. You can access the script with some documentation etc at:<br />
<a href="http://reminderfox.mozdev.org/utilities/PIM_escapeOL.zip" rel="nofollow">http://reminderfox.mozdev.org/utilities/PIM_escapeOL.zip</a></p>
<p>The trade-off of that solution: the HTA is threaded as SPAM with some Mail Services when sending it as an attachment.</p>
<p>So my Question:<br />
Do you see another way to handle those JSCRIPTs and build a utility/standalone prog which doesn&#8217;t get problems with the Mail Servers?</p>
<p>Note: I don&#8217;t have any knowledge about Python :(</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kumar McMillan</title>
		<link>http://blog.jonudell.net/2008/06/11/exchange2ical-available-on-codeplex/#comment-124567</link>
		<dc:creator><![CDATA[Kumar McMillan]]></dc:creator>
		<pubDate>Fri, 27 Jun 2008 18:45:14 +0000</pubDate>
		<guid isPermaLink="false">http://jonudell.wordpress.com/?p=401#comment-124567</guid>
		<description><![CDATA[fwiw, the Entourage client for Mac OS X, which is surprisingly decent, has an option to &quot;synchronize with ical.&quot;  I tried it out and it actually worked.  I could view my exchange calendar in ican *and* I could edit it in ical and the changes would be recognized by exchange.  However, I upgraded something once and then saw duplicate events in the ical view of my calendar.  I decided to stop using the sync then but more so because I kinda liked the Entourage calendar interface.  So the sync definitely has quirks and of course requires you to purchase Entourage for mac.  But if your company has already bought Exchange Server, the Entourage license cost is a laughable jingle of change :(  Seriously, Exchange Server is not cheap.]]></description>
		<content:encoded><![CDATA[<p>fwiw, the Entourage client for Mac OS X, which is surprisingly decent, has an option to &#8220;synchronize with ical.&#8221;  I tried it out and it actually worked.  I could view my exchange calendar in ican *and* I could edit it in ical and the changes would be recognized by exchange.  However, I upgraded something once and then saw duplicate events in the ical view of my calendar.  I decided to stop using the sync then but more so because I kinda liked the Entourage calendar interface.  So the sync definitely has quirks and of course requires you to purchase Entourage for mac.  But if your company has already bought Exchange Server, the Entourage license cost is a laughable jingle of change :(  Seriously, Exchange Server is not cheap.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jeffrey Harris</title>
		<link>http://blog.jonudell.net/2008/06/11/exchange2ical-available-on-codeplex/#comment-124427</link>
		<dc:creator><![CDATA[Jeffrey Harris]]></dc:creator>
		<pubDate>Thu, 12 Jun 2008 18:38:18 +0000</pubDate>
		<guid isPermaLink="false">http://jonudell.wordpress.com/?p=401#comment-124427</guid>
		<description><![CDATA[I think punting on line-folding is totally fine.  I&#039;ve never heard of a calendar client caring.  They can&#039;t, really, because folding at 75 characters is a SHOULD, which means it&#039;s optional, not required.

Right now I&#039;m having trouble getting Codeplex to let me browse the source code, it keeps sending me to the license agreement page then back to the source code index (it did that yesterday, too, but it worked once).

My memory, though, is that you aren&#039;t backslash escaping text in your SUMMARY, which is required for TEXT.  Most calendar clients will tolerate the lack of escaping, but not all.  Lone commas, for instance, may cause a parser to ignore everything after it.]]></description>
		<content:encoded><![CDATA[<p>I think punting on line-folding is totally fine.  I&#8217;ve never heard of a calendar client caring.  They can&#8217;t, really, because folding at 75 characters is a SHOULD, which means it&#8217;s optional, not required.</p>
<p>Right now I&#8217;m having trouble getting Codeplex to let me browse the source code, it keeps sending me to the license agreement page then back to the source code index (it did that yesterday, too, but it worked once).</p>
<p>My memory, though, is that you aren&#8217;t backslash escaping text in your SUMMARY, which is required for TEXT.  Most calendar clients will tolerate the lack of escaping, but not all.  Lone commas, for instance, may cause a parser to ignore everything after it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Aron Roberts</title>
		<link>http://blog.jonudell.net/2008/06/11/exchange2ical-available-on-codeplex/#comment-124416</link>
		<dc:creator><![CDATA[Aron Roberts]]></dc:creator>
		<pubDate>Wed, 11 Jun 2008 23:25:35 +0000</pubDate>
		<guid isPermaLink="false">http://jonudell.wordpress.com/?p=401#comment-124416</guid>
		<description><![CDATA[My experience has been that the iCalendar validator at:

http://severinghaus.org/projects/icv/

while very convenient, does not catch some iCalendar validation errors that the current version of Ben Fortuna&#039;s iCal4j library for Java, on which this validator is purportedly based, routinely identifies.]]></description>
		<content:encoded><![CDATA[<p>My experience has been that the iCalendar validator at:</p>
<p><a href="http://severinghaus.org/projects/icv/" rel="nofollow">http://severinghaus.org/projects/icv/</a></p>
<p>while very convenient, does not catch some iCalendar validation errors that the current version of Ben Fortuna&#8217;s iCal4j library for Java, on which this validator is purportedly based, routinely identifies.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jon Udell</title>
		<link>http://blog.jonudell.net/2008/06/11/exchange2ical-available-on-codeplex/#comment-124412</link>
		<dc:creator><![CDATA[Jon Udell]]></dc:creator>
		<pubDate>Wed, 11 Jun 2008 20:44:29 +0000</pubDate>
		<guid isPermaLink="false">http://jonudell.wordpress.com/?p=401#comment-124412</guid>
		<description><![CDATA[&gt; RRULEs aren’t going to work around DST 
&gt; transitions.

Hmm. Yeah, that whole subject is deeply scary to me.

There&#039;s surely more that can be done with the SQL / WebDAV, so far I&#039;ve only cribbed from examples I could find. I&#039;m hoping this will attract folks who know more about it and who can chime in.

&gt; It tolerates some illegal things some 
&gt; calendar clients won’t, like the 
&gt; absence of
&gt; a UID in VEVENTs, for instance.

Thanks for the tip. Is there a stricter validator?

While I&#039;ve got you, do you have an opinion on punting the line folding?]]></description>
		<content:encoded><![CDATA[<p>&gt; RRULEs aren’t going to work around DST<br />
&gt; transitions.</p>
<p>Hmm. Yeah, that whole subject is deeply scary to me.</p>
<p>There&#8217;s surely more that can be done with the SQL / WebDAV, so far I&#8217;ve only cribbed from examples I could find. I&#8217;m hoping this will attract folks who know more about it and who can chime in.</p>
<p>&gt; It tolerates some illegal things some<br />
&gt; calendar clients won’t, like the<br />
&gt; absence of<br />
&gt; a UID in VEVENTs, for instance.</p>
<p>Thanks for the tip. Is there a stricter validator?</p>
<p>While I&#8217;ve got you, do you have an opinion on punting the line folding?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jeffrey Harris</title>
		<link>http://blog.jonudell.net/2008/06/11/exchange2ical-available-on-codeplex/#comment-124410</link>
		<dc:creator><![CDATA[Jeffrey Harris]]></dc:creator>
		<pubDate>Wed, 11 Jun 2008 19:51:53 +0000</pubDate>
		<guid isPermaLink="false">http://jonudell.wordpress.com/?p=401#comment-124410</guid>
		<description><![CDATA[This looks like it should work, this is the first interesting IronPython project I&#039;ve seen.

As the author of a Python iCalendar library I suppose I ought to want you to use one, but I think Simplest Thing That Could Work is a better plan.  It&#039;s nice not to have to deal with Python dependencies.

I will note that since all your times are UTC, RRULEs aren&#039;t going to work around DST transitions.  But I&#039;m not sure if Exchange gives you any reasonable timezone information, so fixing that problem would definitely be a pain.

Note that the &quot;iCalendar validator&quot; doesn&#039;t actually do any validation, it just makes sure your file parses in iCal4J.  The two are closely connected, but not quite the same thing.  It tolerates some illegal things some calendar clients won&#039;t, like the absence of a UID in VEVENTs, for instance.]]></description>
		<content:encoded><![CDATA[<p>This looks like it should work, this is the first interesting IronPython project I&#8217;ve seen.</p>
<p>As the author of a Python iCalendar library I suppose I ought to want you to use one, but I think Simplest Thing That Could Work is a better plan.  It&#8217;s nice not to have to deal with Python dependencies.</p>
<p>I will note that since all your times are UTC, RRULEs aren&#8217;t going to work around DST transitions.  But I&#8217;m not sure if Exchange gives you any reasonable timezone information, so fixing that problem would definitely be a pain.</p>
<p>Note that the &#8220;iCalendar validator&#8221; doesn&#8217;t actually do any validation, it just makes sure your file parses in iCal4J.  The two are closely connected, but not quite the same thing.  It tolerates some illegal things some calendar clients won&#8217;t, like the absence of a UID in VEVENTs, for instance.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

