<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>3Sharp blogs</title><link>http://blogs.3sharp.com/MainFeed.aspx</link><description>3Sharp blogs</description><generator>Subtext Version 1.9.5.177</generator><item><title>3Sharp Web Site</title><link>http://blogs.3sharp.com/davidg/archive/2010/08/31/5075.aspx</link><pubDate>Tue, 31 Aug 2010 08:41:33 GMT</pubDate><guid isPermaLink="true">http://blogs.3sharp.com/davidg/archive/2010/08/31/5075.aspx</guid><wfw:comment>http://blogs.3sharp.com/davidg/comments/5075.aspx</wfw:comment><wfw:commentRss>http://blogs.3sharp.com/davidg/comments/commentRss/5075.aspx</wfw:commentRss><comments>http://blogs.3sharp.com/davidg/archive/2010/08/31/5075.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://blogs.3sharp.com/davidg/services/trackbacks/5075.aspx</trackback:ping><source url="http://blogs.3sharp.com/davidg/rss.aspx">3Sharp Web Site</source><description>&lt;p&gt;The new and vastly improved &lt;a href="http://www.3sharp.com/Pages/Default.aspx"&gt;3Sharp Web site&lt;/a&gt; went live yesterday. Built on SharePoint 2010, the updated site offers a more accurate company description than was previously published. Our focus is now entirely SharePoint and Office solutions, and the site nicely lists the specific services we provide, our project portfolio, our client list, and much more. For more information about our company, please check out the new Web site.&lt;/p&gt;
&lt;img src="http://blogs.3sharp.com/davidg/aggbug/5075.aspx" width="1" height="1" /&gt;</description><dc:creator>David Gerhardt</dc:creator></item><item><title>Public Sector Demos</title><link>http://blogs.3sharp.com/davidg/archive/2010/08/02/5074.aspx</link><pubDate>Mon, 02 Aug 2010 10:55:59 GMT</pubDate><guid isPermaLink="true">http://blogs.3sharp.com/davidg/archive/2010/08/02/5074.aspx</guid><wfw:comment>http://blogs.3sharp.com/davidg/comments/5074.aspx</wfw:comment><wfw:commentRss>http://blogs.3sharp.com/davidg/comments/commentRss/5074.aspx</wfw:commentRss><comments>http://blogs.3sharp.com/davidg/archive/2010/08/02/5074.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://blogs.3sharp.com/davidg/services/trackbacks/5074.aspx</trackback:ping><source url="http://blogs.3sharp.com/davidg/rss.aspx">Public Sector Demos</source><description>&lt;p&gt;Over the past few months, my team has been busy working on some Office 2010 demos for the public sector. Microsoft just published a few of them:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://mspsdemos.cloudapp.net/demos/office2010-egov"&gt;Government&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://mspsdemos.cloudapp.net/demos/nsps-office2010"&gt;National Security and Public Safety&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://mspsdemos.cloudapp.net/demos/provider-office2010"&gt;Healthcare Providers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://mspsdemos.cloudapp.net/demos/phss-office2010"&gt;Public Health and Social Services&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These demos showcase our expertise in creating scenarios where SharePoint/Office can be used in a practical manner. They also highlight our ability to produce high-quality videos (using real voiceover, not my monotonous ramblings) and downloads for a click-through experience. At least two more demos related to education should get published in the next few weeks...&lt;/p&gt;
&lt;img src="http://blogs.3sharp.com/davidg/aggbug/5074.aspx" width="1" height="1" /&gt;</description><dc:creator>David Gerhardt</dc:creator></item><item><title>Comparing Dates in the Data View Web Part</title><link>http://blogs.3sharp.com/davidg/archive/2010/04/02/5073.aspx</link><pubDate>Fri, 02 Apr 2010 07:15:22 GMT</pubDate><guid isPermaLink="true">http://blogs.3sharp.com/davidg/archive/2010/04/02/5073.aspx</guid><wfw:comment>http://blogs.3sharp.com/davidg/comments/5073.aspx</wfw:comment><wfw:commentRss>http://blogs.3sharp.com/davidg/comments/commentRss/5073.aspx</wfw:commentRss><comments>http://blogs.3sharp.com/davidg/archive/2010/04/02/5073.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://blogs.3sharp.com/davidg/services/trackbacks/5073.aspx</trackback:ping><source url="http://blogs.3sharp.com/davidg/rss.aspx">Comparing Dates in the Data View Web Part</source><description>&lt;p&gt;Recently, a colleague and I were trying to filter a SharePoint Data View Web Part to display only list items with a start date of today or some date in the future. Using SharePoint Designer 2010, we could not find a way to use built-in functions in the GUI to compare two date values. So, we did the next best thing: we converted both date values to numbers and then compared those values.&lt;/p&gt;
&lt;p&gt;SharePoint uses ISO values for columns that are of the &lt;b&gt;Date&lt;/b&gt; data type. The format for these values is "yyyy-MM-ddTHH:mm:ssZ". With XSLT, you can first use the &lt;b&gt;substring-before&lt;/b&gt; function to grab everything in the date string before the "T". Then, you can use the &lt;b&gt;translate&lt;/b&gt; function to remove the "-" characters. Finally, you can use the &lt;b&gt;number&lt;/b&gt; function to convert the string to a number and then do your date comparison. The following screen shot shows how the XSLT expression appears in the SharePoint Designer GUI.&lt;/p&gt;
&lt;img src="http://www.3sharp.com/files/davidg/XSLTDateComparison.jpg" alt="Comparing Dates with XSLT" /&gt;&lt;br /&gt;&lt;br /&gt;
&lt;p&gt;I poked around on the Web for alternative ways of doing a date comparison. I found &lt;a href="http://social.msdn.microsoft.com/Forums/en-US/sharepointcustomization/thread/7ab52558-5258-48f1-9ab4-914a1190b109"&gt;this thread&lt;/a&gt;, where it was suggested that the 'yyyyMMdd' modifier could be used for the &lt;b&gt;string&lt;/b&gt; function. I bet that approach and maybe some others are cleaner than what we came up with...I am just glad we found something that worked.&lt;/p&gt;
&lt;img src="http://blogs.3sharp.com/davidg/aggbug/5073.aspx" width="1" height="1" /&gt;</description><dc:creator>David Gerhardt</dc:creator></item><item><title>More Office 2010 Videos</title><link>http://blogs.3sharp.com/davidg/archive/2010/01/18/5072.aspx</link><pubDate>Mon, 18 Jan 2010 21:25:45 GMT</pubDate><guid isPermaLink="true">http://blogs.3sharp.com/davidg/archive/2010/01/18/5072.aspx</guid><wfw:comment>http://blogs.3sharp.com/davidg/comments/5072.aspx</wfw:comment><wfw:commentRss>http://blogs.3sharp.com/davidg/comments/commentRss/5072.aspx</wfw:commentRss><comments>http://blogs.3sharp.com/davidg/archive/2010/01/18/5072.aspx#comment</comments><slash:comments>6</slash:comments><trackback:ping>http://blogs.3sharp.com/davidg/services/trackbacks/5072.aspx</trackback:ping><source url="http://blogs.3sharp.com/davidg/rss.aspx">More Office 2010 Videos</source><description>&lt;p&gt;Earlier this month, five more Office 2010 feature videos that we produced were posted to YouTube. These same videos are up on &lt;a href="http://getsharp.3sharp.com/Pages/pkshomepage.aspx"&gt;GetSharp&lt;/a&gt; as well...&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href="http://getsharp.3sharp.com/Pages/PodcastDetail.aspx?itemId=84&amp;amp;userId=32&amp;amp;caid=&amp;amp;csId=%257B268419CC-CF1E-466A-B32D-B006109B747A%257D%2540%257B410410E2-5E4F-40A7-8A22-C48A197B4423%257D"&gt;Office Mobile 2010 Meeting Reply&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://getsharp.3sharp.com/Pages/PodcastDetail.aspx?itemId=88&amp;amp;userId=32&amp;amp;caid=,33,&amp;amp;csId=%257B268419CC-CF1E-466A-B32D-B006109B747A%257D%2540%257B410410E2-5E4F-40A7-8A22-C48A197B4423%257D"&gt;OneNote 2010 Shared Notebooks&lt;/a&gt; (former 3Sharpie Devin Ganger actually produced this one)&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://getsharp.3sharp.com/Pages/PodcastDetail.aspx?itemId=87&amp;amp;userId=32&amp;amp;caid=&amp;amp;csId=%257B268419CC-CF1E-466A-B32D-B006109B747A%257D%2540%257B410410E2-5E4F-40A7-8A22-C48A197B4423%257D"&gt;Outlook 2010 Quick Steps&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://getsharp.3sharp.com/Pages/PodcastDetail.aspx?itemId=85&amp;amp;userId=32&amp;amp;caid=&amp;amp;csId=%257B268419CC-CF1E-466A-B32D-B006109B747A%257D%2540%257B410410E2-5E4F-40A7-8A22-C48A197B4423%257D"&gt;PowerPoint 2010 Transitions&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://getsharp.3sharp.com/Pages/PodcastDetail.aspx?itemId=86&amp;amp;userId=32&amp;amp;caid=&amp;amp;csId=%257B268419CC-CF1E-466A-B32D-B006109B747A%257D%2540%257B410410E2-5E4F-40A7-8A22-C48A197B4423%257D"&gt;Word 2010 View/Edit in Browser&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The Word video calls out the new Web Apps feature, which is also available in Office 2010 for Excel, OneNote, and PowerPoint. Now you can view and/or edit these documents directly in the browser.&lt;/p&gt;&lt;img src="http://blogs.3sharp.com/davidg/aggbug/5072.aspx" width="1" height="1" /&gt;</description><dc:creator>David Gerhardt</dc:creator></item><item><title>Multi-Server PKS Install (Part 2)</title><link>http://blogs.3sharp.com/jeremyc/archive/2009/12/15/multi-server-pks-install-part-2.aspx</link><pubDate>Wed, 16 Dec 2009 02:50:43 GMT</pubDate><guid isPermaLink="true">http://blogs.3sharp.com/jeremyc/archive/2009/12/15/multi-server-pks-install-part-2.aspx</guid><wfw:comment>http://blogs.3sharp.com/jeremyc/comments/5071.aspx</wfw:comment><wfw:commentRss>http://blogs.3sharp.com/jeremyc/comments/commentRss/5071.aspx</wfw:commentRss><comments>http://blogs.3sharp.com/jeremyc/archive/2009/12/15/multi-server-pks-install-part-2.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://blogs.3sharp.com/jeremyc/services/trackbacks/5071.aspx</trackback:ping><source url="http://blogs.3sharp.com/jeremyc/rss.aspx">Multi-Server PKS Install (Part 2)</source><description>There is no Part 2! &lt;br /&gt;
&lt;br /&gt;
Most of the issues that happened with farm installs have been fixed in the most recent versions. &lt;br /&gt;
&lt;br /&gt;
In fact, I would suggest using August PKS (the newest version as of my writing this) if you are creating a new PKS site.&lt;br /&gt;
&lt;br /&gt;
I'll warn you though, the install is longer than it has ever been. Follow the document and double check every step... seriously.&lt;img src="http://blogs.3sharp.com/jeremyc/aggbug/5071.aspx" width="1" height="1" /&gt;</description><dc:creator>Jeremy Campbell</dc:creator></item><item><title>Office 2010 Videos: Part 7</title><link>http://blogs.3sharp.com/davidg/archive/2009/10/29/5070.aspx</link><pubDate>Thu, 29 Oct 2009 11:05:05 GMT</pubDate><guid isPermaLink="true">http://blogs.3sharp.com/davidg/archive/2009/10/29/5070.aspx</guid><wfw:comment>http://blogs.3sharp.com/davidg/comments/5070.aspx</wfw:comment><wfw:commentRss>http://blogs.3sharp.com/davidg/comments/commentRss/5070.aspx</wfw:commentRss><comments>http://blogs.3sharp.com/davidg/archive/2009/10/29/5070.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://blogs.3sharp.com/davidg/services/trackbacks/5070.aspx</trackback:ping><source url="http://blogs.3sharp.com/davidg/rss.aspx">Office 2010 Videos: Part 7</source><description>&lt;p&gt;Another set of Office 2010 feature videos that we produced has been posted to YouTube. These same videos are now also up on &lt;a href="http://getsharp.3sharp.com/Pages/pkshomepage.aspx"&gt;GetSharp&lt;/a&gt;...&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href="http://getsharp.3sharp.com/Pages/PodcastDetail.aspx?itemId=83&amp;amp;userId=32&amp;amp;caid=&amp;amp;csId=%257B268419CC-CF1E-466A-B32D-B006109B747A%257D%2540%257B410410E2-5E4F-40A7-8A22-C48A197B4423%257D"&gt;Office Mobile 2010 Communicator Mobile&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://getsharp.3sharp.com/Pages/PodcastDetail.aspx?itemId=82&amp;amp;userId=32&amp;amp;caid=&amp;amp;csId=%257B268419CC-CF1E-466A-B32D-B006109B747A%257D%2540%257B410410E2-5E4F-40A7-8A22-C48A197B4423%257D"&gt;PowerPoint 2010 Video Triggers&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The latter video highlights one of my favorite PowerPoint 2010 features: the ability to trigger effects (e.g., animations) from a video bookmark. It shows another way to create visually impactful presentations with PowerPoint 2010.&lt;/p&gt;&lt;img src="http://blogs.3sharp.com/davidg/aggbug/5070.aspx" width="1" height="1" /&gt;</description><dc:creator>David Gerhardt</dc:creator></item><item><title>Office 2010 Videos: Part 6</title><link>http://blogs.3sharp.com/davidg/archive/2009/10/20/5069.aspx</link><pubDate>Tue, 20 Oct 2009 07:58:43 GMT</pubDate><guid isPermaLink="true">http://blogs.3sharp.com/davidg/archive/2009/10/20/5069.aspx</guid><wfw:comment>http://blogs.3sharp.com/davidg/comments/5069.aspx</wfw:comment><wfw:commentRss>http://blogs.3sharp.com/davidg/comments/commentRss/5069.aspx</wfw:commentRss><comments>http://blogs.3sharp.com/davidg/archive/2009/10/20/5069.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://blogs.3sharp.com/davidg/services/trackbacks/5069.aspx</trackback:ping><source url="http://blogs.3sharp.com/davidg/rss.aspx">Office 2010 Videos: Part 6</source><description>&lt;p&gt;Four more of our Office 2010 feature videos were posted to YouTube yesterday. I published the same videos to &lt;a href="http://getsharp.3sharp.com/Pages/pkshomepage.aspx"&gt;GetSharp&lt;/a&gt; a short while ago...&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href="http://getsharp.3sharp.com/Pages/PodcastDetail.aspx?itemId=81&amp;amp;userId=32&amp;amp;caid=&amp;amp;csId=%257B268419CC-CF1E-466A-B32D-B006109B747A%257D%2540%257B410410E2-5E4F-40A7-8A22-C48A197B4423%257D"&gt;Excel 2010 Sparklines&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://getsharp.3sharp.com/Pages/PodcastDetail.aspx?itemId=79&amp;amp;userId=32&amp;amp;caid=&amp;amp;csId=%257B268419CC-CF1E-466A-B32D-B006109B747A%257D%2540%257B410410E2-5E4F-40A7-8A22-C48A197B4423%257D"&gt;Office Mobile 2010 Excel Mobile&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://getsharp.3sharp.com/Pages/PodcastDetail.aspx?itemId=80&amp;amp;userId=32&amp;amp;caid=&amp;amp;csId=%257B268419CC-CF1E-466A-B32D-B006109B747A%257D%2540%257B410410E2-5E4F-40A7-8A22-C48A197B4423%257D"&gt;Office Mobile 2010 GAL Contacts&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://getsharp.3sharp.com/Pages/PodcastDetail.aspx?itemId=78&amp;amp;userId=32&amp;amp;caid=&amp;amp;csId=%257B268419CC-CF1E-466A-B32D-B006109B747A%257D%2540%257B410410E2-5E4F-40A7-8A22-C48A197B4423%257D"&gt;Outlook 2010 Group Calendar View&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Two of the videos showcase Office Mobile capabilities, part of Microsoft's effort to make the Office clients available on mobile devices. There are two more Office Mobile videos and a few other Office 2010 videos still to come...&lt;/p&gt;&lt;img src="http://blogs.3sharp.com/davidg/aggbug/5069.aspx" width="1" height="1" /&gt;</description><dc:creator>David Gerhardt</dc:creator></item><item><title>Office 2010 Videos: Part 5</title><link>http://blogs.3sharp.com/davidg/archive/2009/10/16/5068.aspx</link><pubDate>Fri, 16 Oct 2009 11:08:33 GMT</pubDate><guid isPermaLink="true">http://blogs.3sharp.com/davidg/archive/2009/10/16/5068.aspx</guid><wfw:comment>http://blogs.3sharp.com/davidg/comments/5068.aspx</wfw:comment><wfw:commentRss>http://blogs.3sharp.com/davidg/comments/commentRss/5068.aspx</wfw:commentRss><comments>http://blogs.3sharp.com/davidg/archive/2009/10/16/5068.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://blogs.3sharp.com/davidg/services/trackbacks/5068.aspx</trackback:ping><source url="http://blogs.3sharp.com/davidg/rss.aspx">Office 2010 Videos: Part 5</source><description>&lt;p&gt;Microsoft posted another of our Office 2010 feature videos—about Excel 2010 slicers—on YouTube yesterday. I subsequently published it &lt;a href="http://getsharp.3sharp.com/Pages/PodcastDetail.aspx?itemId=77&amp;amp;userId=32&amp;amp;caid=&amp;amp;csId=%257B268419CC-CF1E-466A-B32D-B006109B747A%257D%2540%257B410410E2-5E4F-40A7-8A22-C48A197B4423%257D"&gt;here&lt;/a&gt; on GetSharp. If you are interested in seeing improved filtering functionality for PivotTables or cube functions in Excel 2010, check out this video.&lt;/p&gt;
&lt;p&gt;As I have been saying for the past few months, there are still more of these feature videos to come...&lt;/p&gt;&lt;img src="http://blogs.3sharp.com/davidg/aggbug/5068.aspx" width="1" height="1" /&gt;</description><dc:creator>David Gerhardt</dc:creator></item><item><title>2009 SharePoint Conference</title><link>http://blogs.3sharp.com/johnp/archive/2009/10/15/5067.aspx</link><pubDate>Thu, 15 Oct 2009 19:14:18 GMT</pubDate><guid isPermaLink="true">http://blogs.3sharp.com/johnp/archive/2009/10/15/5067.aspx</guid><wfw:comment>http://blogs.3sharp.com/johnp/comments/5067.aspx</wfw:comment><wfw:commentRss>http://blogs.3sharp.com/johnp/comments/commentRss/5067.aspx</wfw:commentRss><comments>http://blogs.3sharp.com/johnp/archive/2009/10/15/5067.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://blogs.3sharp.com/johnp/services/trackbacks/5067.aspx</trackback:ping><source url="http://blogs.3sharp.com/johnp/rss.aspx">2009 SharePoint Conference</source><description>&lt;p&gt;I'm getting ready to pack my bags, 3 laptops, 2 external hard drives, etc... and head out to the SharePoint Conference.  I'm looking forward to meeting up with some old friends and make some new ones.  &lt;/p&gt;
&lt;p align="center"&gt;&lt;img alt="" src="http://www.mssharepointconference.com/PublishingImages/SPC09_EmailSignature.jpg" /&gt;&lt;/p&gt;&lt;img src="http://blogs.3sharp.com/johnp/aggbug/5067.aspx" width="1" height="1" /&gt;</description><dc:creator>John Peltonen</dc:creator></item><item><title>Leaving 3Sharp</title><link>http://blogs.3sharp.com/deving/archive/2009/10/15/leaving-3sharp.aspx</link><pubDate>Thu, 15 Oct 2009 12:19:25 GMT</pubDate><guid isPermaLink="true">http://blogs.3sharp.com/deving/archive/2009/10/15/leaving-3sharp.aspx</guid><wfw:comment>http://blogs.3sharp.com/deving/comments/5066.aspx</wfw:comment><wfw:commentRss>http://blogs.3sharp.com/deving/comments/commentRss/5066.aspx</wfw:commentRss><comments>http://blogs.3sharp.com/deving/archive/2009/10/15/leaving-3sharp.aspx#comment</comments><slash:comments>2</slash:comments><trackback:ping>http://blogs.3sharp.com/deving/services/trackbacks/5066.aspx</trackback:ping><source url="http://blogs.3sharp.com/deving/rss.aspx">Leaving 3Sharp</source><description>&lt;p&gt;3Sharp has been a fantastic place to work; for the last six and half years, my co-workers and I have walked the road together. One of the realities of growth, though, is that you often reach the fork in the road where you have to move down different paths. Working with Paul, Tim, Missy, Kevin, and the rest of the folks who have been part of the Platform Services Group here at 3Sharp over the years has been a wild journey, but we were only one of three groups at 3Sharp; the other two groups are also chock-full of smart people doing wonderful things with SharePoint and Office. 3Sharp will be moving forward to focus on those opportunities, and the Platform Services Group (which focused on Exchange, OCS, Windows Server, Windows Mobile, and DPM) is closing its doors. My last day here will be tomorrow, Friday, October 16.&lt;/p&gt;
&lt;p&gt;I think that the Ecclesiastes 3:1 says it best; in the King James Version, the poet says, “To every thing there is a season, and a time to every purpose under the heaven.” It has been my privilege to use this blog to talk about Exchange, data protection, and all the other topics I’ve talked about since my first post here five years ago (holy crap, has it really been five years???) With 3Sharp’s gracious permission and blessing, I’ll be duplicating all of the content I’ve posted here over on my personal blog, &lt;a target="_blank" href="http://www.thecabal.org/"&gt;Devin on Earth&lt;/a&gt;. If you have a link or bookmark for this blog or are following me via RSS, please take a moment to update it now (&lt;a target="_blank" href="http://www.thecabal.org/feed/"&gt;Devin on Earth RSS feed&lt;/a&gt;). I’ve got a few new posts cooking, but this will be my last post here.&lt;/p&gt;
&lt;p&gt;Thank you to 3Sharp and the best damn co-workers I could ever hope to work with over the years. Thank you, my readers. You all have helped me grow and solidify my skills, and I hope I returned the favor. I look forward to continuing the journey with many of you, even if I’m not sure yet where it will take me.&lt;/p&gt;&lt;img src="http://blogs.3sharp.com/deving/aggbug/5066.aspx" width="1" height="1" /&gt;</description><dc:creator>Devin L. Ganger</dc:creator></item><item><title>OneNote 2010 Keeps Your Brains In Your Head</title><link>http://blogs.3sharp.com/deving/archive/2009/10/13/onenote-2010-keeps-your-brains-in-your-head.aspx</link><pubDate>Tue, 13 Oct 2009 11:03:07 GMT</pubDate><guid isPermaLink="true">http://blogs.3sharp.com/deving/archive/2009/10/13/onenote-2010-keeps-your-brains-in-your-head.aspx</guid><wfw:comment>http://blogs.3sharp.com/deving/comments/5065.aspx</wfw:comment><wfw:commentRss>http://blogs.3sharp.com/deving/comments/commentRss/5065.aspx</wfw:commentRss><comments>http://blogs.3sharp.com/deving/archive/2009/10/13/onenote-2010-keeps-your-brains-in-your-head.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://blogs.3sharp.com/deving/services/trackbacks/5065.aspx</trackback:ping><source url="http://blogs.3sharp.com/deving/rss.aspx">OneNote 2010 Keeps Your Brains In Your Head</source><description>&lt;p&gt;Some months back, those of you who follow me on Twitter (@devinganger) may have a noticed a series of teaser Tweets about a project I was working on that involved zombies.&lt;/p&gt;
&lt;p&gt;Yes, that’s right, &lt;em&gt;zombies&lt;/em&gt;. The RAHR-BRAINS-RAHR shambling undead kind, not the “mystery objects in Active Directory” kind.&lt;/p&gt;
&lt;p&gt;Well, now you can see what I was up to.&lt;/p&gt;
&lt;p&gt;I was working with long-time fellow 3Sharpie &lt;a target="_blank" href="http://blogs.3sharp.com/davidg/"&gt;David Gerhardt&lt;/a&gt; on creating a series of 60-second vignettes for the upcoming Office 2010 application suite. Each vignette focuses on a single new area of functionality in one of the Office products. I got to work with OneNote 2010.&lt;/p&gt;
&lt;p&gt;Here’s where the story gets good.&lt;/p&gt;
&lt;p&gt;I got brought into the project somewhat late, after a bunch of initial planning and prep work had been done. The people who had been working on the project had decided that they didn’t want to do the same boring business-related content in their OneNote 2010 vignettes; oh, no! Instead, they hit upon the wonderful idea of using a &lt;a target="_blank" href="http://www.bing.com/search?q=zombie+plan&amp;amp;form=QBLH&amp;amp;qs=n"&gt;Zombie Plan&lt;/a&gt; as the base document. Now, I don’t really like zombies, but this seemed like a great way to spice up a project!&lt;/p&gt;
&lt;p&gt;The rest, as they say, is history. Check out the results (posted both at GetSharp and somewhere out on YouTube) for yourself:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a target="_blank" href="http://getsharp.3sharp.com/Pages/PodcastDetail.aspx?itemId=72&amp;amp;userId=33&amp;amp;caid=&amp;amp;csId=%257B268419CC-CF1E-466A-B32D-B006109B747A%257D%2540%257B410410E2-5E4F-40A7-8A22-C48A197B4423%257D"&gt;OneNote 2010 Advanced Wiki Features&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a target="_blank" href="http://getsharp.3sharp.com/Pages/PodcastDetail.aspx?itemId=71&amp;amp;userId=33&amp;amp;caid=&amp;amp;csId=%257B268419CC-CF1E-466A-B32D-B006109B747A%257D%2540%257B410410E2-5E4F-40A7-8A22-C48A197B4423%257D"&gt;OneNote 2010 Linked Notes&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a target="_blank" href="http://getsharp.3sharp.com/Pages/PodcastDetail.aspx?itemId=70&amp;amp;userId=33&amp;amp;caid=&amp;amp;csId=%257B268419CC-CF1E-466A-B32D-B006109B747A%257D%2540%257B410410E2-5E4F-40A7-8A22-C48A197B4423%257D"&gt;OneNote 2010 Quick Filing&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a target="_blank" href="http://getsharp.3sharp.com/Pages/PodcastDetail.aspx?itemId=69&amp;amp;userId=33&amp;amp;caid=&amp;amp;csId=%257B268419CC-CF1E-466A-B32D-B006109B747A%257D%2540%257B410410E2-5E4F-40A7-8A22-C48A197B4423%257D"&gt;OneNote 2010 Search UI&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;One of the best parts of this project, other than getting a chance to learn about some of the wildly cool stuff the OneNote team is doing to enhance an already wonderful product, was the music selection. We worked a deal with local artist &lt;a target="_blank" href="http://www.davepezzner.com/"&gt;Dave Pezzner&lt;/a&gt; to use some of his short music clips for these videos. Dave is immensely talented and provided a wide selection of material, so I enjoyed being able to pick and choose just the right music for each video. It did occur to me how cool it would be if I could use Jonathan Coulton’s fantastic song &lt;a target="_blank" href="http://www.jonathancoulton.com/2006/03/24/thing-a-week-26-re-your-brains/"&gt;Re: Your Brains&lt;/a&gt;, but somehow I think his people lost my query email. Such is life – and I think Mr. Pezzner’s music provided just the right accompaniment to the Zombie Plan content.&lt;/p&gt;
&lt;p&gt;Enjoy!&lt;/p&gt;&lt;img src="http://blogs.3sharp.com/deving/aggbug/5065.aspx" width="1" height="1" /&gt;</description><dc:creator>Devin L. Ganger</dc:creator></item><item><title>Office 2010 Videos: Part 4</title><link>http://blogs.3sharp.com/davidg/archive/2009/10/09/5064.aspx</link><pubDate>Fri, 09 Oct 2009 14:56:20 GMT</pubDate><guid isPermaLink="true">http://blogs.3sharp.com/davidg/archive/2009/10/09/5064.aspx</guid><wfw:comment>http://blogs.3sharp.com/davidg/comments/5064.aspx</wfw:comment><wfw:commentRss>http://blogs.3sharp.com/davidg/comments/commentRss/5064.aspx</wfw:commentRss><comments>http://blogs.3sharp.com/davidg/archive/2009/10/09/5064.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://blogs.3sharp.com/davidg/services/trackbacks/5064.aspx</trackback:ping><source url="http://blogs.3sharp.com/davidg/rss.aspx">Office 2010 Videos: Part 4</source><description>&lt;p&gt;Microsoft posted four more of our Office 2010 feature videos on YouTube yesterday, with each one showcasing a different application. I published the videos to &lt;a href="http://getsharp.3sharp.com/Pages/pkshomepage.aspx"&gt;GetSharp&lt;/a&gt; earlier today...&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href="http://getsharp.3sharp.com/Pages/PodcastDetail.aspx?itemId=73&amp;amp;userId=32&amp;amp;caid=&amp;amp;csId=%257B268419CC-CF1E-466A-B32D-B006109B747A%257D%2540%257B410410E2-5E4F-40A7-8A22-C48A197B4423%257D"&gt;Excel 2010 Conditional Formatting&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://getsharp.3sharp.com/Pages/PodcastDetail.aspx?itemId=74&amp;amp;userId=32&amp;amp;caid=&amp;amp;csId=%257B268419CC-CF1E-466A-B32D-B006109B747A%257D%2540%257B410410E2-5E4F-40A7-8A22-C48A197B4423%257D"&gt;Outlook 2010 Meeting Reply&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://getsharp.3sharp.com/Pages/PodcastDetail.aspx?itemId=75&amp;amp;userId=32&amp;amp;caid=&amp;amp;csId=%257B268419CC-CF1E-466A-B32D-B006109B747A%257D%2540%257B410410E2-5E4F-40A7-8A22-C48A197B4423%257D"&gt;PowerPoint 2010 Picture Formatting&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://getsharp.3sharp.com/Pages/PodcastDetail.aspx?itemId=76&amp;amp;userId=32&amp;amp;caid=&amp;amp;csId=%257B268419CC-CF1E-466A-B32D-B006109B747A%257D%2540%257B410410E2-5E4F-40A7-8A22-C48A197B4423%257D"&gt;SharePoint Workspace 2010 Offline Tasks&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You might notice that the SharePoint Workspace video is a little longer than most of the other videos we have posted thus far. With SharePoint Workspace being new (well, a newer version of Groove), it was felt that more context was needed for the user to understand what was happening in the video.&lt;/p&gt;
&lt;p&gt;There are still more of these feature videos to come...&lt;/p&gt;&lt;img src="http://blogs.3sharp.com/davidg/aggbug/5064.aspx" width="1" height="1" /&gt;</description><dc:creator>David Gerhardt</dc:creator></item><item><title>Office 2010 Videos: Part 3</title><link>http://blogs.3sharp.com/davidg/archive/2009/09/24/5063.aspx</link><pubDate>Thu, 24 Sep 2009 12:39:27 GMT</pubDate><guid isPermaLink="true">http://blogs.3sharp.com/davidg/archive/2009/09/24/5063.aspx</guid><wfw:comment>http://blogs.3sharp.com/davidg/comments/5063.aspx</wfw:comment><wfw:commentRss>http://blogs.3sharp.com/davidg/comments/commentRss/5063.aspx</wfw:commentRss><comments>http://blogs.3sharp.com/davidg/archive/2009/09/24/5063.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://blogs.3sharp.com/davidg/services/trackbacks/5063.aspx</trackback:ping><source url="http://blogs.3sharp.com/davidg/rss.aspx">Office 2010 Videos: Part 3</source><description>&lt;p&gt;Microsoft posted six more of our Office 2010 feature videos on YouTube yesterday. &lt;a href="http://blogs.3sharp.com/deving/Default.aspx"&gt;Devin&lt;/a&gt;, who produced the OneNote 2010 videos, and I published them to &lt;a href="http://getsharp.3sharp.com/Pages/pkshomepage.aspx"&gt;GetSharp&lt;/a&gt; earlier today...&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href="http://getsharp.3sharp.com/Pages/PodcastDetail.aspx?itemId=72&amp;amp;userId=33&amp;amp;caid=&amp;amp;csId=%257B268419CC-CF1E-466A-B32D-B006109B747A%257D%2540%257B410410E2-5E4F-40A7-8A22-C48A197B4423%257D"&gt;OneNote 2010 Advanced Wiki Features&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://getsharp.3sharp.com/Pages/PodcastDetail.aspx?itemId=71&amp;amp;userId=33&amp;amp;caid=&amp;amp;csId=%257B268419CC-CF1E-466A-B32D-B006109B747A%257D%2540%257B410410E2-5E4F-40A7-8A22-C48A197B4423%257D"&gt;OneNote 2010 Linked Notes&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://getsharp.3sharp.com/Pages/PodcastDetail.aspx?itemId=70&amp;amp;userId=33&amp;amp;caid=&amp;amp;csId=%257B268419CC-CF1E-466A-B32D-B006109B747A%257D%2540%257B410410E2-5E4F-40A7-8A22-C48A197B4423%257D"&gt;OneNote 2010 Quick Filing&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://getsharp.3sharp.com/Pages/PodcastDetail.aspx?itemId=69&amp;amp;userId=33&amp;amp;caid=&amp;amp;csId=%257B268419CC-CF1E-466A-B32D-B006109B747A%257D%2540%257B410410E2-5E4F-40A7-8A22-C48A197B4423%257D"&gt;OneNote 2010 Search UI&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://getsharp.3sharp.com/Pages/PodcastDetail.aspx?itemId=68&amp;amp;userId=32&amp;amp;caid=&amp;amp;csId=%257B268419CC-CF1E-466A-B32D-B006109B747A%257D%2540%257B410410E2-5E4F-40A7-8A22-C48A197B4423%257D"&gt;Outlook 2010 Contact Cards&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://getsharp.3sharp.com/Pages/PodcastDetail.aspx?itemId=67&amp;amp;userId=32&amp;amp;caid=&amp;amp;csId=%257B268419CC-CF1E-466A-B32D-B006109B747A%257D%2540%257B410410E2-5E4F-40A7-8A22-C48A197B4423%257D"&gt;Outlook 2010 Conversation Management&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;There are still more of these feature videos to come...&lt;/p&gt;&lt;img src="http://blogs.3sharp.com/davidg/aggbug/5063.aspx" width="1" height="1" /&gt;</description><dc:creator>David Gerhardt</dc:creator></item><item><title>Why Aren&amp;rsquo;t My Exchange Certificates Validating?</title><link>http://blogs.3sharp.com/deving/archive/2009/08/21/why-arenrsquot-my-exchange-certificates-validating.aspx</link><pubDate>Fri, 21 Aug 2009 14:42:58 GMT</pubDate><guid isPermaLink="true">http://blogs.3sharp.com/deving/archive/2009/08/21/why-arenrsquot-my-exchange-certificates-validating.aspx</guid><wfw:comment>http://blogs.3sharp.com/deving/comments/5062.aspx</wfw:comment><wfw:commentRss>http://blogs.3sharp.com/deving/comments/commentRss/5062.aspx</wfw:commentRss><comments>http://blogs.3sharp.com/deving/archive/2009/08/21/why-arenrsquot-my-exchange-certificates-validating.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://blogs.3sharp.com/deving/services/trackbacks/5062.aspx</trackback:ping><source url="http://blogs.3sharp.com/deving/rss.aspx">Why Aren&amp;rsquo;t My Exchange Certificates Validating?</source><description>&lt;p&gt;&lt;strong&gt;Updated 10/13: &lt;em&gt;Updated the link to the blog article on configuring Squid for Exchange per the request of the author Owen Campbell. Thank you, Owen, for letting me know the location had changed!&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;By now you should be aware that Microsoft strongly recommends that you publish Exchange 2010/2007 client access servers (and Exchange 2003/2000 front-end servers) to the Internet through a reverse proxy like &lt;a target="_blank" href="http://technet.microsoft.com/en-us/forefront/edgesecurity/default.aspx"&gt;Microsoft’s Internet Security and Acceleration Server 2006 SP1&lt;/a&gt; (ISA) or the still-in-beta &lt;a target="_blank" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=e05aecbc-d0eb-4e0f-a5db-8f236995bccd"&gt;Microsoft Forefront Threat Management Gateway&lt;/a&gt; (TMG). There are other reverse proxy products out there, such as the open source &lt;a target="_blank" href="http://www.squid-cache.org/"&gt;Squid&lt;/a&gt; (&lt;a target="_blank" href="http://www.tanti.org.uk/index.php/blogs/blog-owen/3-tech/3-proxy"&gt;with some helpful guides on how to configure it for EAS, OWA, and Outlook Anywhere&lt;/a&gt;), but many of them can only be used to proxy the HTTP-based protocols (for example, the reverse proxy module for the &lt;a target="_blank" href="http://www.apache.org/"&gt;Apache web server&lt;/a&gt;) and won’t handle the RPC component of Outlook Anywhere.&lt;/p&gt;
&lt;p&gt;When you’re following this recommendation, you keep your Exchange CAS/HT/front-end servers in your private network and place the ISA Server (or other reverse proxy solution) in your perimeter (DMZ) network. In addition to ensuring that your reverse proxy is scrubbing incoming traffic for you, you can also gain another benefit: &lt;strong&gt;SSL bridging&lt;/strong&gt;. SSL bridging is where there are two SSL connections – one between the client machine and the reverse proxy, and a separate connection (often using a different SSL certificate) between the reverse proxy and the Exchange CAS/front-end server. SSL bridging is awesome because it allows you radically reduce the number of commercial SSL certificates you need to buy. You can use Windows Certificate Services to generate and issue certificates to all of your internal Exchange servers, creating them with all of the Subject Alternate Names that you need and desire, and still have a commercial certificate deployed on your Internet-facing system (nice to avoid certificate issues when you’re dealing with home systems, public kiosks, and mobile devices, no?) that has just the public common namespaces like &lt;em&gt;autodiscover.yourdomain.tld&lt;/em&gt; and &lt;em&gt;mail.yourdomain.tld&lt;/em&gt; (or whatever you actually use).&lt;/p&gt;
&lt;p&gt;In the rest of this article, I’ll be focusing on ISA because, well, I don’t know Squid that well and haven’t actually seen it in use to publish Exchange in a customer environment. Write what you know, right?&lt;/p&gt;
&lt;p&gt;One of the most irritating experiences I’ve consistently had when using ISA to publish Exchange securely is getting the certificate configuration on ISA correct. If you all want, I can cover certificate namespaces in another post, because that’s not what I’m talking about – I actually find that relatively easy to deal with these days. No, what I find annoying about ISA and certificates is getting all of the proper root CA certificates and intermediate CA certificates in place. The process you have to go through varies on who you buy your certificates from. There are a couple, like GoDaddy, that offer inexpensive certificates that do exactly what Exchange needs for a decent price – but they require an extra bit of configuration to get everything working.&lt;/p&gt;
&lt;p&gt;The problem you’ll see is two-fold:&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;External clients will not be able to connect to Exchange services. This will be inconsistent; some browsers and some Outlook installations (especially those on new Windows installs or well-updated Windows installs) will work fine, while others won’t. You may have big headaches getting mobile devices to work, and the error messages will be cryptic and unhelpful. &lt;/li&gt;
    &lt;li&gt;While validating your Exchange publishing rules with the &lt;a target="_blank" href="https://www.testexchangeconnectivity.com/"&gt;Exchange Remote Connectivity Analyzer&lt;/a&gt; (ExRCA), you get a validation error on your certificate as shown in Figure 1. &lt;/li&gt;
&lt;/ol&gt;
&lt;p align="center"&gt;&lt;a href="http://blogs.3sharp.com/images/blogs_3sharp_com/deving/WindowsLiveWriter/ExchangeISACertificatesandValidation_CBD0/missing-intermediate-cert_2.png"&gt;&lt;img style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="ExRCA can't find the intermediate certificate on your ISA server" border="0" alt="ExRCA can't find the intermediate certificate on your ISA server" width="314" height="338" src="http://blogs.3sharp.com/images/blogs_3sharp_com/deving/WindowsLiveWriter/ExchangeISACertificatesandValidation_CBD0/missing-intermediate-cert_thumb.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p align="center"&gt;&lt;strong&gt;Figure 1: Missing intermediate CA certificate validation error in ExRCA&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The problem is that some devices don’t have the proper certificate chain in place. Commercial certificates typically have two or three certificates in their signing chain: the root CA certificate, an intermediate CA certificate, and (optionally) an additional intermediate CA certificate. The secondary intermediate CA certificate is typically the source of the problem; it’s configured as a cross-signing certificate, which is intended to help CAs transition old certificates from one CA to another without invalidating the issued certificates. If your certificate was issued by a CA that has these in place, you have to have both intermediate CA certificates in place on your ISA server &lt;em&gt;in the correct certificate stores&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;By default, CAs will issue the entire certificate chain to you in a single bundle when they issue your cert. You have to import this bundle on the machine you issued the request from or else you don’t get the private key associated with the certificate. Once you’ve done that, you need to re-export the certificate, with the private key and its entire certificate chain, so that you can import it in ISA. This is important because ISA needs the private key so it can decrypt the SSL session (required for bridging), and ISA needs all the certificate signing chain so that it can hand out missing intermediate certificates to devices that don’t have them (such as Windows Mobile devices that have the root CA certificates). If the device doesn’t have the right intermediates, can’t download it itself (like Internet Explorer can), and can’t get it from ISA, you’ll get the certificate validation errors.&lt;/p&gt;
&lt;p&gt;Here’s what you need to do to fix it:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Ensure that your server certificate has been exported with the private key and *all* necessary intermediate and root CA certificates. &lt;/li&gt;
    &lt;li&gt;Import this certificate bundle into your ISA servers. Before you do this, check the computer account’s personal certificate store and make sure any root or intermediate certificates that got accidentally imported there are deleted. &lt;/li&gt;
    &lt;li&gt;Using the Certificate MMC snap-in, validate that the certificate now shows as valid when browsing the certificate on your ISA server, as shown in Figure 2. &lt;/li&gt;
&lt;/ul&gt;
&lt;p align="center"&gt;&lt;a href="http://blogs.3sharp.com/images/blogs_3sharp_com/deving/WindowsLiveWriter/ExchangeISACertificatesandValidation_CBD0/valid-intermediate-cert_2.png"&gt;&lt;img style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="Even though the Certificates MMC snap-in shows this certificate as valid, ISA won't serve it out until the ISA Firewall Service is restarted!" border="0" alt="Even though the Certificates MMC snap-in shows this certificate as valid, ISA won't serve it out until the ISA Firewall Service is restarted!" width="412" height="512" src="http://blogs.3sharp.com/images/blogs_3sharp_com/deving/WindowsLiveWriter/ExchangeISACertificatesandValidation_CBD0/valid-intermediate-cert_thumb.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p align="center"&gt; &lt;/p&gt;
&lt;p align="center"&gt;&lt;strong&gt;Figure 2: A validated server certificate signing chain on ISA Server&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;strong&gt;IMPORTANT STEP: restart the ISA Firewall Service on your ISA server (if you’re using an array, you have to do this on each member; you’ll want to drain the connections before restarting, so it can take a while to complete).&lt;/strong&gt; Even though the Certificate MMC snap-in validates the certificate, the ISA Firewall only picks up the changes to the certificate chain on startup. This is annoying and stupid and has caused me pain in the past – most recently, with 3Sharp’s own Exchange 2010 deployment (thanks to co-worker and all around swell guy &lt;a target="_blank" href="http://blogs.3sharp.com/timr/Default.aspx"&gt;Tim Robichaux&lt;/a&gt; for telling me how to get ISA to behave).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Also note that many of the commercial CAs specifically provide downloadable packages of their root CA and intermediate CA certificates. Some of them get really confusing – they have different CAs for different tiers or product lines, so you have to match the server certificate you have with the right CA certificates. &lt;a target="_blank" href="https://certs.godaddy.com/Repository.go"&gt;GoDaddy’s CA certificate page can be found here&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://blogs.3sharp.com/deving/aggbug/5062.aspx" width="1" height="1" /&gt;</description><dc:creator>Devin L. Ganger</dc:creator></item><item><title>Some Thoughts on FBA (part 2)</title><link>http://blogs.3sharp.com/deving/archive/2009/08/21/some-thoughts-on-fba-part-2.aspx</link><pubDate>Fri, 21 Aug 2009 09:20:32 GMT</pubDate><guid isPermaLink="true">http://blogs.3sharp.com/deving/archive/2009/08/21/some-thoughts-on-fba-part-2.aspx</guid><wfw:comment>http://blogs.3sharp.com/deving/comments/5061.aspx</wfw:comment><wfw:commentRss>http://blogs.3sharp.com/deving/comments/commentRss/5061.aspx</wfw:commentRss><comments>http://blogs.3sharp.com/deving/archive/2009/08/21/some-thoughts-on-fba-part-2.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://blogs.3sharp.com/deving/services/trackbacks/5061.aspx</trackback:ping><source url="http://blogs.3sharp.com/deving/rss.aspx">Some Thoughts on FBA (part 2)</source><description>&lt;p&gt;As promised, here’s part 2 of my FBA discussion, in which we'll talk about the interaction of ISA’s forms-based authentication (FBA) feature with Exchange 2010. (&lt;a href="http://blogs.3sharp.com/deving/archive/2009/07/01/some-thoughts-on-fba-part-1.aspx"&gt;See part 1 here&lt;/a&gt;.) &lt;/p&gt;
&lt;h3&gt;Offloading FBA to ISA&lt;/h3&gt;
&lt;p&gt;As I discussed in part 1, ISA Server includes the option of performing FBA pre-authentication as part of the web listener. You aren’t stuck with FBA – you can use other pre-auth methods too. The thinking behind this is that ISA is the security server sitting in the DMZ, while the Exchange CAS is in the protected network. Why proxy an incoming connection from the Internet into the real world (even with ISA’s impressive HTTP reverse proxy and screening functionality) if it doesn’t present valid credentials? In this configuration, ISA is configured for FBA while the Exchange 2010/2007 CAS or Exchange 2003 front-end server are configured for Windows Integrated or Basic as shown in Figure 1 (a figure so nice I’ll re-use it):&lt;/p&gt;
&lt;p align="center"&gt; &lt;a href="http://blogs.3sharp.com/images/blogs_3sharp_com/deving/WindowsLiveWriter/Part2_9684/exchange-and-fba_2.png"&gt;&lt;img style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="Publishing Exchange using FBA on ISA" border="0" alt="Publishing Exchange using FBA on ISA" width="484" height="264" src="http://blogs.3sharp.com/images/blogs_3sharp_com/deving/WindowsLiveWriter/Part2_9684/exchange-and-fba_thumb.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p align="center"&gt;&lt;em&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p align="center"&gt;&lt;em&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p align="center"&gt;&lt;em&gt;&lt;strong&gt;Figure 1: Publishing Exchange using FBA on ISA&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;h3&gt;Moving FBA off of ISA&lt;/h3&gt;
&lt;p&gt;Having ISA (and Threat Management Gateway, the 64-bit successor to ISA 2006) perform pre-auth in this fashion is nice and works cleanly. However, in our Exchange 2010 deployment, we found a couple of problems with it:&lt;/p&gt;
&lt;p&gt;The early beta releases of &lt;a title="The Mac Office Outlook replacement, upgraded to work with Exchange Web Services" target="_blank" href="http://www.microsoft.com/mac/itpros/entourage-ews.mspx"&gt;Entourage for EWS&lt;/a&gt; wouldn’t work with this configuration; Entourage could never connect. If our users connected to the 3Sharp VPN, bypassing the ISA publishing rules, Entourage would immediately see the Exchange 2010 servers and do its thing. I don’t know if the problem was solved for the final release.&lt;/p&gt;
&lt;p&gt;We couldn’t get federated calendar sharing, a new Exchange 2010 feature, to work. Other Exchange 20120 organizations would get errors when trying to connect to our organization. This new calendar sharing feature uses a Windows Live-based central brokering service to avoid the need to provision and manage credentials.&lt;/p&gt;
&lt;p&gt;Through some detailed troubleshooting with Microsoft and other Exchange 2010 organizations, we finally figured out that our ISA FBA configuration was causing the problem. The solution was to disable ISA pre-authentication and re-enable FBA on the appropriate virtual directories (OWA and ECP) on our CAS server. Once we did that, not only did federated calendar sharing start working flawlessly, but our Entourage users found their problems had gone away too. For more details of what we did, read on.&lt;/p&gt;
&lt;h3&gt;How Calendar Sharing Works in Exchange 2010&lt;/h3&gt;
&lt;p&gt;If you haven’t seen other descriptions of the federated calendar sharing, here’s a quick primer on how it works. This will help you understand why, if you’re using ISA pre-auth for your Exchange servers, you’ll want to rethink it.&lt;/p&gt;
&lt;p&gt;In Exchange 2007, you could share calendar data with other Exchange 2007 organizations. Doing so meant that your CAS servers had to talk to their calendar servers, and the controls around it were not that granular. In order to do it, you  either needed to establish a forest trust and grant permissions to the other forest’s CAS servers (to get detailed per-user free/busy information) or set up a separate user in your forest for the foreign forests to use (to get default per-org free/busy data). You also have to fiddle around with the Autodiscover service connection points and ensure that you’ve got pointers for the foreign Autodiscover SCPs in your own AD (and the foreign systems have yours). You also have to publish Autodiscover and EWS externally (which you have to do for Outlook Anywhere) and coordinate all your certificate CAs. While this doesn’t sound that bad, you have to do these steps for every single foreign organization you’re sharing with. That adds up, and it’s a poorly documented process – you’ll start at &lt;a target="_blank" href="http://technet.microsoft.com/en-us/library/bb125182.aspx"&gt;this TechNet topic about the Availability service&lt;/a&gt; and have to do a lot of chasing around to figure out how certificates fit in, how to troubleshoot it, and the SCP export and import process.&lt;/p&gt;
&lt;p&gt;In Exchange 2010, this gets a lot easier; individual users can send sharing invitations to users in other Exchange 2010 organizations, and you can set up organization relationships with other Exchange 2010 organizations. Microsoft has broken up the process into three pieces:&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;&lt;strong&gt;Establish your organization’s trust relationship with Windows Live.&lt;/strong&gt; This is a one-time process that must take place before any sharing can take place – and you don’t have to create or manage any service or role accounts. You just have to make sure that you’re using a CA to publish Autodiscover/EWS that Windows Live will trust. (Sorry, there’s no list out there yet, but keep watching the docs on TechNet.) From your Exchange 2010 organization (typically through EMC, although you can do it from EMS) you’ll swap public keys (which are built into your certificates) with Windows Live and identify one or more accepted domains that you will allow to be federated. Needless to say, Autodiscover and EWS must be properly published to the Internet. You also have to add a single DNS record to your public DNS zone, showing that you do have authority over the domain namespace. &lt;em&gt;If you have multiple domains and only specify some of them, beware: users that don’t have provisioned addresses in those specified domains won’t be able to share or receive federated calendar info!&lt;/em&gt; &lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Establish one or more sharing policies.&lt;/strong&gt; These policies control how much information your users will be able to share with external users through sharing invitations. The setting you pick here defines the maximum level of information that your users can share from their calendars: none, free/busy only, some details, or all details. You can create a single policy for all your users or use multiple policies to provision your users on a more granular basis. You can assign these policies on a per-user basis. &lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Establish one or more sharing relationships with other organizations.&lt;/strong&gt; When you want to view availability data of users in other Exchange 2010 organizations, you create an organization relationship with them. Again, you can do this via EMC or EMS. This tells your CAS servers to lookup information from the defined namespaces on behalf of your users – contingent, of course, that the foreign organization has established the appropriate permissions in their organization relationships. If the foreign namespace isn’t federated with Windows Live, then you won’t be allowed to establish the relationship. &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;You can read more about these steps &lt;a target="_blank" href="http://technet.microsoft.com/en-us/library/dd351109(EXCHG.140).aspx"&gt;in the TechNet documentation&lt;/a&gt; and at &lt;a target="_blank" href="http://technet.microsoft.com/en-us/library/dd351033(EXCHG.140).aspx"&gt;this TechNet topic&lt;/a&gt; (although since TechNet is still in beta, it’s not all in place yet). You should also know that these policies and settings combine with the ACLs on users calendar folders, and as is the typical case in Exchange when there are multiple levels of permission, the most restrictive level wins.&lt;/p&gt;
&lt;p&gt;What’s magic about all of this is that, at no point along the way other than the initial first step, do you have to worry consciously about the certificates you’re using. You never have to provide or provision credentials. As you create your policies and sharing relationships with other organizations – and other organizations create them with yours – Windows Live is hovering silently in the background, acting as a trusted broker for the initial connections. When your Exchange 2010 organization interacts with another, your CAS servers receive a SAML token from Windows Live. This token is then passed to the foreign Exchange 2010 organization, which can validate it because of its own trust relationship with Windows Live. All this token does is validate that your servers are really coming from the claimed namespace – Windows Live plays no part in authorization, retrieving the data, or managing the sharing policies.&lt;/p&gt;
&lt;p&gt;However, here’s the problem: when my CAS talks to your CAS, they’re using SAML tokens – &lt;strong&gt;not user accounts&lt;/strong&gt; – to authenticate against IIS for EWS calls. ISA Server (and, IIRC, TMG) don’t know how to validate these tokens, so the incoming requests can’t authenticate and pass on to the CAS. The end result is that you can’t get a proper sharing relationship set up and you can’t federate calendar data.&lt;/p&gt;
&lt;h3&gt;What We Did To Fix It&lt;/h3&gt;
&lt;p&gt;Once we knew what the problem was, fixing it was easy:&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;Modify the OWA and ECP virtual directors on all of our Exchange 2010 CAS servers to perform FBA. These are the only virtual directories that permit FBA, so they’re the only two you need to change: &lt;br /&gt;
    &lt;strong&gt;Set-OWAVirtualDirectory -Identity "CAS-SERVER\owa (Default Web Site)" -BasicAuthentication $TRUE -WindowsAuthentication $FALSE -FormsAuthentication $TRUE &lt;br /&gt;
    Set-ECPVirtualDirectory -Identity "CAS-SERVER\ecp (Default Web Site)" -BasicAuthentication $TRUE -WindowsAuthentication $FALSE -FormsAuthentication $TRUE&lt;/strong&gt; &lt;/li&gt;
    &lt;li&gt;Modify the Web listener on our ISA server to disable pre-authentication. In our case, we were using a single Web listener for Exchange (and only for Exchange), so it was a simple matter of changing the authentication setting to a value of &lt;strong&gt;No Authentication&lt;/strong&gt;. &lt;/li&gt;
    &lt;li&gt;Modify each of the ISA publishing rules (ActiveSync, Outlook Anywhere, and OWA): &lt;br /&gt;
    On the &lt;em&gt;Authentication&lt;/em&gt; tab, select the value &lt;strong&gt;No delegation, but client may authenticate directly&lt;/strong&gt;. &lt;br /&gt;
    On the &lt;em&gt;Users&lt;/em&gt; tab, remove the value &lt;strong&gt;All Authenticated Users&lt;/strong&gt; and replace it with the value &lt;strong&gt;All Users&lt;/strong&gt;. This is important! If you don’t do this, ISA won’t pass any connections on! &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;You may also need to take a look at the rest of your Exchange virtual directories and ensure that the authentication settings are valid; many places will allow Basic authentication between ISA and their CAS servers and require NTLM or Windows Integrated from external clients to ISA.&lt;/p&gt;
&lt;p&gt;Calendar sharing and ISA FBA pre-authentication are both wonderful features, and I’m a bit sad that they don’t play well together. I hope that future updates to TMG will resolve this issue and allow TMG to successfully pre-authenticate incoming federated calendar requests.&lt;/p&gt;&lt;img src="http://blogs.3sharp.com/deving/aggbug/5061.aspx" width="1" height="1" /&gt;</description><dc:creator>Devin L. Ganger</dc:creator></item><item><title>Office 2010 Videos: Part 2</title><link>http://blogs.3sharp.com/davidg/archive/2009/08/17/5060.aspx</link><pubDate>Mon, 17 Aug 2009 07:21:28 GMT</pubDate><guid isPermaLink="true">http://blogs.3sharp.com/davidg/archive/2009/08/17/5060.aspx</guid><wfw:comment>http://blogs.3sharp.com/davidg/comments/5060.aspx</wfw:comment><wfw:commentRss>http://blogs.3sharp.com/davidg/comments/commentRss/5060.aspx</wfw:commentRss><comments>http://blogs.3sharp.com/davidg/archive/2009/08/17/5060.aspx#comment</comments><slash:comments>5</slash:comments><trackback:ping>http://blogs.3sharp.com/davidg/services/trackbacks/5060.aspx</trackback:ping><source url="http://blogs.3sharp.com/davidg/rss.aspx">Office 2010 Videos: Part 2</source><description>&lt;p&gt;While I was out on vacation, Microsoft posted two more of our Office 2010 feature videos on YouTube. I just published both of them to &lt;a href="http://getsharp.3sharp.com/Pages/pkshomepage.aspx"&gt;GetSharp&lt;/a&gt;...&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href="http://getsharp.3sharp.com/Pages/PodcastDetail.aspx?itemId=64&amp;amp;userId=32&amp;amp;caid=&amp;amp;csId=%257B268419CC-CF1E-466A-B32D-B006109B747A%257D%2540%257B410410E2-5E4F-40A7-8A22-C48A197B4423%257D"&gt;PowerPoint 2010 Presentation Sections&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://getsharp.3sharp.com/Pages/PodcastDetail.aspx?itemId=65&amp;amp;userId=32&amp;amp;caid=&amp;amp;csId=%257B268419CC-CF1E-466A-B32D-B006109B747A%257D%2540%257B410410E2-5E4F-40A7-8A22-C48A197B4423%257D"&gt;Word 2010 Translation&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We will continue to post these vignettes to GetSharp in the coming weeks...&lt;/p&gt;&lt;img src="http://blogs.3sharp.com/davidg/aggbug/5060.aspx" width="1" height="1" /&gt;</description><dc:creator>David Gerhardt</dc:creator></item><item><title>Stolen Thunder: Outlook for the Mac</title><link>http://blogs.3sharp.com/deving/archive/2009/08/13/stolen-thunder-outlook-for-the-mac.aspx</link><pubDate>Thu, 13 Aug 2009 12:01:51 GMT</pubDate><guid isPermaLink="true">http://blogs.3sharp.com/deving/archive/2009/08/13/stolen-thunder-outlook-for-the-mac.aspx</guid><wfw:comment>http://blogs.3sharp.com/deving/comments/5059.aspx</wfw:comment><wfw:commentRss>http://blogs.3sharp.com/deving/comments/commentRss/5059.aspx</wfw:commentRss><comments>http://blogs.3sharp.com/deving/archive/2009/08/13/stolen-thunder-outlook-for-the-mac.aspx#comment</comments><slash:comments>1</slash:comments><trackback:ping>http://blogs.3sharp.com/deving/services/trackbacks/5059.aspx</trackback:ping><source url="http://blogs.3sharp.com/deving/rss.aspx">Stolen Thunder: Outlook for the Mac</source><description>&lt;p&gt;I was going to write up a quick post about the release of Entourage for EWS (allowing it to work in native Exchange 2007, and, more importantly, Exchange 2010 environments) and the announcement that Office 2010 for the Mac would have Outlook, not Entourage, but &lt;a target="_blank" href="http://www.robichaux.net/blog/2009/08/ms-releases-entourage-ews-changes-name-t.php"&gt;Paul beat me to it&lt;/a&gt;, including my whole take on the thing. So go read his.&lt;/p&gt;
&lt;p&gt;For those keeping track at home, yes, I still owe you a second post on the Exchange 2010 calendar sharing. I’m working on it! Soon!&lt;/p&gt;&lt;img src="http://blogs.3sharp.com/deving/aggbug/5059.aspx" width="1" height="1" /&gt;</description><dc:creator>Devin L. Ganger</dc:creator></item><item><title>InfoPath 2010 Filtering</title><link>http://blogs.3sharp.com/davidg/archive/2009/07/27/5058.aspx</link><pubDate>Mon, 27 Jul 2009 13:12:46 GMT</pubDate><guid isPermaLink="true">http://blogs.3sharp.com/davidg/archive/2009/07/27/5058.aspx</guid><wfw:comment>http://blogs.3sharp.com/davidg/comments/5058.aspx</wfw:comment><wfw:commentRss>http://blogs.3sharp.com/davidg/comments/commentRss/5058.aspx</wfw:commentRss><comments>http://blogs.3sharp.com/davidg/archive/2009/07/27/5058.aspx#comment</comments><slash:comments>1</slash:comments><trackback:ping>http://blogs.3sharp.com/davidg/services/trackbacks/5058.aspx</trackback:ping><source url="http://blogs.3sharp.com/davidg/rss.aspx">InfoPath 2010 Filtering</source><description>&lt;p&gt;Control filtering is one of the out-of-the-box features not supported in InfoPath 2007 browser scenarios. The InfoPath team posted a &lt;a href="http://blogs.msdn.com/infopath/archive/2006/10/12/cascading-dropdowns-in-browser-forms.aspx"&gt;Web service workaround&lt;/a&gt; for this, and I described a &lt;a href="http://blogs.3sharp.com/davidg/archive/2007/01/16/2787.aspx"&gt;managed-code fix&lt;/a&gt; as well.&lt;/p&gt;
&lt;p&gt;With InfoPath 2010, it appears that these workarounds are no longer necessary. In the video I posted earlier this month about &lt;a href="http://getsharp.3sharp.com/Pages/PodcastDetail.aspx?itemId=63&amp;amp;userId=32&amp;amp;caid=&amp;amp;csId=%257B268419CC-CF1E-466A-B32D-B006109B747A%257D%2540%257B410410E2-5E4F-40A7-8A22-C48A197B4423%257D"&gt;richer browser forms&lt;/a&gt;, see the filtering functionality at work in an InfoPath 2010 browser scenario. At least that's one big improvement to the browser form experience...&lt;/p&gt;&lt;img src="http://blogs.3sharp.com/davidg/aggbug/5058.aspx" width="1" height="1" /&gt;</description><dc:creator>David Gerhardt</dc:creator></item><item><title>Office 2010 Videos: Part 1</title><link>http://blogs.3sharp.com/davidg/archive/2009/07/17/5057.aspx</link><pubDate>Fri, 17 Jul 2009 07:38:39 GMT</pubDate><guid isPermaLink="true">http://blogs.3sharp.com/davidg/archive/2009/07/17/5057.aspx</guid><wfw:comment>http://blogs.3sharp.com/davidg/comments/5057.aspx</wfw:comment><wfw:commentRss>http://blogs.3sharp.com/davidg/comments/commentRss/5057.aspx</wfw:commentRss><comments>http://blogs.3sharp.com/davidg/archive/2009/07/17/5057.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://blogs.3sharp.com/davidg/services/trackbacks/5057.aspx</trackback:ping><source url="http://blogs.3sharp.com/davidg/rss.aspx">Office 2010 Videos: Part 1</source><description>&lt;p&gt;Microsoft demonstrated many of the new Office 2010 features this week at the &lt;a href="http://www.digitalwpc.com/"&gt;Worldwide Partner Conference&lt;/a&gt;. Some of these feature demos were converted to 30-to-60-second vignettes and posted to YouTube. 3Sharp produced many of these vignettes, and I published a few of them to &lt;a href="http://getsharp.3sharp.com/Pages/pkshomepage.aspx"&gt;GetSharp&lt;/a&gt; as well...&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href="http://getsharp.3sharp.com/Pages/PodcastDetail.aspx?itemId=61&amp;amp;userId=32&amp;amp;caid=&amp;amp;csId=%257B268419CC-CF1E-466A-B32D-B006109B747A%257D%2540%257B410410E2-5E4F-40A7-8A22-C48A197B4423%257D"&gt;InfoPath 2010 One-Click Publishing&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://getsharp.3sharp.com/Pages/PodcastDetail.aspx?itemId=62&amp;amp;userId=32&amp;amp;caid=&amp;amp;csId=%257B268419CC-CF1E-466A-B32D-B006109B747A%257D%2540%257B410410E2-5E4F-40A7-8A22-C48A197B4423%257D"&gt;InfoPath 2010 Picture Button&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://getsharp.3sharp.com/Pages/PodcastDetail.aspx?itemId=63&amp;amp;userId=32&amp;amp;caid=&amp;amp;csId=%257B268419CC-CF1E-466A-B32D-B006109B747A%257D%2540%257B410410E2-5E4F-40A7-8A22-C48A197B4423%257D"&gt;InfoPath 2010 Richer Browser Forms&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://getsharp.3sharp.com/Pages/PodcastDetail.aspx?itemId=58&amp;amp;userId=32&amp;amp;caid=&amp;amp;csId=%257B268419CC-CF1E-466A-B32D-B006109B747A%257D%2540%257B410410E2-5E4F-40A7-8A22-C48A197B4423%257D"&gt;PowerPoint 2010 Animation Painter&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://getsharp.3sharp.com/Pages/PodcastDetail.aspx?itemId=59&amp;amp;userId=32&amp;amp;caid=&amp;amp;csId=%257B268419CC-CF1E-466A-B32D-B006109B747A%257D%2540%257B410410E2-5E4F-40A7-8A22-C48A197B4423%257D"&gt;Word 2010 Navigation Pane&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://getsharp.3sharp.com/Pages/PodcastDetail.aspx?itemId=60&amp;amp;userId=32&amp;amp;caid=&amp;amp;csId=%257B268419CC-CF1E-466A-B32D-B006109B747A%257D%2540%257B410410E2-5E4F-40A7-8A22-C48A197B4423%257D"&gt;Word 2010 Text Formatting&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For a sneak preview of Office 2010 functionality, check out these videos. We will be posting more to GetSharp in the coming weeks...&lt;/p&gt;&lt;img src="http://blogs.3sharp.com/davidg/aggbug/5057.aspx" width="1" height="1" /&gt;</description><dc:creator>David Gerhardt</dc:creator></item><item><title>EAS: King of Sync?</title><link>http://blogs.3sharp.com/deving/archive/2009/07/10/eas-king-of-sync.aspx</link><pubDate>Fri, 10 Jul 2009 19:06:09 GMT</pubDate><guid isPermaLink="true">http://blogs.3sharp.com/deving/archive/2009/07/10/eas-king-of-sync.aspx</guid><wfw:comment>http://blogs.3sharp.com/deving/comments/5056.aspx</wfw:comment><wfw:commentRss>http://blogs.3sharp.com/deving/comments/commentRss/5056.aspx</wfw:commentRss><comments>http://blogs.3sharp.com/deving/archive/2009/07/10/eas-king-of-sync.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://blogs.3sharp.com/deving/services/trackbacks/5056.aspx</trackback:ping><source url="http://blogs.3sharp.com/deving/rss.aspx">EAS: King of Sync?</source><description>&lt;p&gt;Seven months or so ago, IBM surprised a bunch of people by announcing that &lt;a target="_blank" href="http://www.robichaux.net/blog/2009/01/lotus-to-license-exchange-activesync.php"&gt;they were licensing Microsoft’s Exchange ActiveSync protocol&lt;/a&gt; (EAS) for use with a future version of Lotus Notes. I’m sure there were a few folks who saw it coming, but I cheerfully admit that I was not one of them. After about 30 seconds of thought, though, I realized that it made all kinds of sense. EAS is a well-designed protocol, I am told by my developer friends, and I can certainly attest to the relative lightweight load it puts on Exchange servers &lt;a target="_blank" href="http://blogs.msdn.com/douggowans/archive/2009/02/16/blackberry-without-bes.aspx"&gt;as compared to some of the popular alternatives&lt;/a&gt; – enough so that BlackBerry add-ons that speak EAS have become a not-unheard of alternative for many organizations.&lt;/p&gt;
&lt;p&gt;So, imagine my surprise when &lt;a target="_blank" href="http://nickw.stormsim.com/"&gt;my Linux geek friend Nick&lt;/a&gt; told me smugly that he now had a new Palm Pre and was synching it to his Linux-based email system using the Pre’s EAS support. “Oh?” said I, trying to stay casual as I was mentally envisioning the screwed-up mail forwarding schemes he’d put in place to route his email to an Exchange server somewhere. “Did you finally break down and migrate your email to an Exchange system? If not, how’d you do that?”&lt;/p&gt;
&lt;p&gt;Nick then proceeded to point me in the direction of &lt;a target="_blank" href="http://z-push.sourceforge.net/soswp/"&gt;Z-Push&lt;/a&gt;, which is an elegant little open source PHP-based implementation of EAS. A few minutes of poking around and I became convinced that this was a wicked cool project. I really like how Z-Push is designed:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;The core PHP module answers incoming requests for the &lt;em&gt;http://server/Microsoft-Server-ActiveSync&lt;/em&gt; virtual directory and handles all the protocol-level interactions. I haven’t dug into this deeply, but although it appears it was developed against Apache, folks have managed to get it working on a variety of web servers, including IIS! I’m not clear on whether authentication is handled by the package itself or by the web server. Now that I think about it, I suspect it just proxies your provided credentials on to the appropriate back-end system so that you don’t have to worry about integrating Z-Push with your authentication sources.&lt;/li&gt;
    &lt;li&gt;One or more back-end modules (also written in PHP), which read and write data from various data sources such as your IMAP server, a Maildir file system, or some other source of mail, calendar, or contact information. These back-end modules are run through a differential engine to help cut down on the amount of synching the back-end modules must perform. It looks like the API for these modules is very well thought-out; they obviously want developers to be able to easily write backends to tie in to a wide variety of data sources. You can mix and match multiple backends; for example, get your contact data from one system, your calendar from another, and your email from yet a third system.&lt;/li&gt;
    &lt;li&gt;If you’re running the Zarafa mail server, there’s a separate component that handles all types of data directly from Zarafa, easing your configuration. (Hey – Zarafa and Z-Push…I wonder if Zarafa provides developer resources; if so, way to go, guys!)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You do need to be careful about the back-end modules; because they’re PHP code running on your web server, poor design or bugs can slam your web server. For example, there’s currently a bug in how the IMAP back-end re-scans messages, and the resulting load can create a noticeable impact on an otherwise healthy Apache server with just a handful of users. It’s a good thing that there seems to be &lt;a target="_blank" href="http://z-push.sourceforge.net/soswp/index.php?pages_id=25&amp;amp;t=about"&gt;a lively and knowledgeable community on the Z-Push forums&lt;/a&gt;; they haven’t wasted any time in diagnosing the bug and providing suggested fixes.&lt;/p&gt;
&lt;p&gt;Very deeply cool – folks are using Z-Push to provide, for example, an EAS connection point on their Windows Home Server, synching to their Gmail account. I wonder how long it will take for Linux-based “Exchange killers” (other than Zarafa) to wrap this product into their overall packages.&lt;/p&gt;
&lt;p&gt;It’s products like this that help reinforce the awareness that EAS – and indirectly, Exchange – are a dominant enough force in the email market to make the viability of this kind of project not only potentially useful, but viable as an open source project.&lt;/p&gt;&lt;img src="http://blogs.3sharp.com/deving/aggbug/5056.aspx" width="1" height="1" /&gt;</description><dc:creator>Devin L. Ganger</dc:creator></item><item><title>Comparing PowerShell Switch Parameters with Boolean Parameters</title><link>http://blogs.3sharp.com/deving/archive/2009/07/02/comparing-powershell-switch-parameters-with-boolean-parameters.aspx</link><pubDate>Thu, 02 Jul 2009 11:33:07 GMT</pubDate><guid isPermaLink="true">http://blogs.3sharp.com/deving/archive/2009/07/02/comparing-powershell-switch-parameters-with-boolean-parameters.aspx</guid><wfw:comment>http://blogs.3sharp.com/deving/comments/5053.aspx</wfw:comment><wfw:commentRss>http://blogs.3sharp.com/deving/comments/commentRss/5053.aspx</wfw:commentRss><comments>http://blogs.3sharp.com/deving/archive/2009/07/02/comparing-powershell-switch-parameters-with-boolean-parameters.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://blogs.3sharp.com/deving/services/trackbacks/5053.aspx</trackback:ping><source url="http://blogs.3sharp.com/deving/rss.aspx">Comparing PowerShell Switch Parameters with Boolean Parameters</source><description>&lt;p&gt;If you’ve ever take a look at the help output (or TechNet documentation) for PowerShell cmdlets, you see that they list several pieces of information about each of the various parameters the cmdlet can use:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;The &lt;strong&gt;parameter name&lt;/strong&gt;&lt;/li&gt;
    &lt;li&gt;Whether it is a &lt;strong&gt;required&lt;/strong&gt; or &lt;strong&gt;optional&lt;/strong&gt; parameter&lt;/li&gt;
    &lt;li&gt;The .NET variable &lt;strong&gt;type&lt;/strong&gt; the parameter expects&lt;/li&gt;
    &lt;li&gt;A description of the &lt;strong&gt;behavior&lt;/strong&gt; the parameter controls&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Let’s focus on two particular types of parameters, the Switch (&lt;em&gt;System.Management.Automation.SwitchParameter&lt;/em&gt;) and the Boolean (&lt;em&gt;System.Boolean&lt;/em&gt;). While I never really thought about it much before reading a discussion on an email list earlier, these two parameter types seem to be two ways of doing the same thing. Let me give you a practical example from the Exchange 2007 Management Shell: the &lt;strong&gt;New-ExchangeCertificate&lt;/strong&gt; cmdlet. Table 1 lists an excerpt of its parameter list from the current &lt;a target="_blank" href="http://technet.microsoft.com/en-us/library/aa998327.aspx"&gt;TechNet article&lt;/a&gt;:&lt;/p&gt;
&lt;p align="left"&gt;&lt;strong&gt;Table 1: Selected parameters of the &lt;em&gt;New-ExchangeCertificate&lt;/em&gt; cmdlet&lt;/strong&gt;&lt;/p&gt;
&lt;table border="1" cellspacing="0" cellpadding="2"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td valign="top"&gt;&lt;strong&gt;Parameter&lt;/strong&gt;&lt;/td&gt;
            &lt;td valign="top"&gt;&lt;strong&gt;Description&lt;/strong&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top"&gt;
            &lt;p&gt;&lt;strong&gt;GenerateRequest&lt;br /&gt;
            &lt;em&gt;SwitchParameter)&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
            &lt;p&gt; &lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="top"&gt;
            &lt;p&gt;Use this parameter to specify the type of certificate object to create.&lt;/p&gt;
            &lt;p&gt;By default, this parameter will create a self-signed certificate in the local computer certificate store.&lt;/p&gt;
            &lt;p&gt;To create a certificate request for a PKI certificate (PKCS #10) in the local request store, set this parameter to &lt;code&gt;$True&lt;/code&gt;.&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top"&gt;
            &lt;p&gt;&lt;strong&gt;PrivateKeyExportable&lt;br /&gt;
            &lt;em&gt;(Boolean)&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="top"&gt;
            &lt;p&gt;Use this parameter to specify whether the resulting certificate will have an exportable private key.&lt;/p&gt;
            &lt;p&gt;By default, all certificate requests and certificates created by this cmdlet will not allow the private key to be exported.&lt;/p&gt;
            &lt;p&gt;You must understand that if you cannot export the private key, the certificate itself cannot be exported and imported.&lt;/p&gt;
            &lt;p&gt;Set this parameter to &lt;code&gt;$true &lt;/code&gt;to allow private key exporting from the resulting certificate.&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;On quick examination, both parameters control either/or behavior. So why the two different types? The mailing list discussion I referenced earlier pointed out the difference:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Boolean parameters control properties on the objects manipulated by the cmdlets. Switch parameters control behavior of the cmdlets themselves.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;So in our example, a digital certificate has a property as part of the certificate that marks whether the associated private key can be exported in the future. That property goes along with the certificate, independent of the management interface or tool used. For that property, then, PowerShell uses the Boolean type for the &lt;strong&gt;-PrivateKeyExportable&lt;/strong&gt; property.&lt;/p&gt;
&lt;p&gt;On the other hand, the &lt;strong&gt;–GenerateRequest&lt;/strong&gt; parameter controls the behavior of the cmdlet. With this property specified, the cmdlet creates a certificate request with all of the specified properties. If this parameter isn’t present, the cmdlet creates a self-signed certificate with all of the specified properties. The resulting object (CSR or certificate) has no corresponding sign of what option was chosen – you could just as easily submit that CSR to another tool on the same machine to create a self-signed certificate.&lt;/p&gt;
&lt;p&gt;I hope this helps draw the distinction. Granted, it’s one I hadn’t thought much about before today, but now that I have, it’s nice to know that there’s yet another sign of intelligence and forethought in the PowerShell architecture.&lt;/p&gt;&lt;img src="http://blogs.3sharp.com/deving/aggbug/5053.aspx" width="1" height="1" /&gt;</description><dc:creator>Devin L. Ganger</dc:creator></item><item><title>Some Thoughts on FBA (part 1)</title><link>http://blogs.3sharp.com/deving/archive/2009/07/01/some-thoughts-on-fba-part-1.aspx</link><pubDate>Wed, 01 Jul 2009 20:27:09 GMT</pubDate><guid isPermaLink="true">http://blogs.3sharp.com/deving/archive/2009/07/01/some-thoughts-on-fba-part-1.aspx</guid><wfw:comment>http://blogs.3sharp.com/deving/comments/5052.aspx</wfw:comment><wfw:commentRss>http://blogs.3sharp.com/deving/comments/commentRss/5052.aspx</wfw:commentRss><comments>http://blogs.3sharp.com/deving/archive/2009/07/01/some-thoughts-on-fba-part-1.aspx#comment</comments><slash:comments>1</slash:comments><trackback:ping>http://blogs.3sharp.com/deving/services/trackbacks/5052.aspx</trackback:ping><source url="http://blogs.3sharp.com/deving/rss.aspx">Some Thoughts on FBA (part 1)</source><description>&lt;p&gt;&lt;font face=""&gt;It’s funny how topics tend to come in clumps. Take the current example: forms-based authentication (FBA) in Exchange.&lt;/font&gt;&lt;/p&gt;
&lt;h3&gt;&lt;font face=""&gt;An FBA Overview&lt;/font&gt;&lt;/h3&gt;
&lt;p&gt;&lt;font face=""&gt;FBA was introduced in Exchange Server 2003 as a new authentication method for Outlook Web Access. It requires OWA to be published using SSL – which was not yet common practice at that point in time – and in turn allowed credentials to be sent a single time using plain-text form fields. It’s taken a while for people to get used to, but FBA has definitely become an accepted practice for Exchange deployments, and it’s a popular way to publish OWA for Exchange 2003, Exchange 2007, and the forthcoming Exchange 2010.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=""&gt;In fact, FBA is so successful, that the ISA Server group got into the mix by including FBA pre-authentication for ISA Server. With this model, instead of configuring Exchange for FBA you instead configure your ISA server to present the FBA screen. Once the user logs in, ISA takes the credentials and submits them to the Exchange 2003 front-end server or Exchange 2007 (or 2010) Client Access Server using the appropriately configured authentication method (Windows Integrated or Basic). In Exchange 2007 and 2010, this allows each separate virtual directory (OWA, Exchange ActiveSync, RPC proxy, Exchange Web Services, Autodiscover, Unified Messaging, and the new Exchange 2010 Exchange Control Panel) to have its own authentication settings, while ISA server transparently mediates them for remote users. Plus, ISA pre-authenticates those connections – only connections with valid credentials ever get passed on to your squishy Exchange servers – as shown in Figure 1:&lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="http://blogs.3sharp.com/images/blogs_3sharp_com/deving/WindowsLiveWriter/SomeThoughtsonFBA_12C57/exchange-and-fba_2.png"&gt;&lt;img style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="Publishing Exchange using FBA on ISA" border="0" alt="Publishing Exchange using FBA on ISA" width="480" height="260" src="http://blogs.3sharp.com/images/blogs_3sharp_com/deving/WindowsLiveWriter/SomeThoughtsonFBA_12C57/exchange-and-fba_thumb.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="center"&gt; &lt;/p&gt;
&lt;p align="center"&gt;&lt;em&gt;&lt;strong&gt;Figure 1: Publishing Exchange using FBA on ISA&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=""&gt;Now that you know more about how FBA, Exchange, and ISA can interact, let me show you one mondo cool thing today. In a later post, we’ll have an architectural discussion for your future Exchange 2010 deployments.&lt;/font&gt;&lt;/p&gt;
&lt;h3&gt;&lt;font face=""&gt;The Cool Thing: Kay Sellenrode’s FBA Editor&lt;/font&gt;&lt;/h3&gt;
&lt;p&gt;&lt;font face=""&gt;On Exchange servers, it is possible to modify both the OWA themes and the FBA page (although you should check about the supportability of doing so). Likewise, it is also possible to modify the FBA page on ISA Server 2006. This is a nice feature as it helps companies integrate the OWA experience into the overall look and feel of the rest of their Web presence. Making these changes on Exchange servers is a somewhat well-documented process. Doing them on ISA is a bit more arcane.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=""&gt;Fellow Exchange 2007 MCM &lt;a href="http://geekswithblogs.net/ksellenrode/Default.aspx"&gt;Kay Sellenrode&lt;/a&gt; has produced a free tool to simplify the process of modifying the ISA 2006 FBA – named, aptly enough, the FBA Editor. You can find the tool, as well as a YouTube video demo of how to use it, &lt;a href="http://geekswithblogs.net/ksellenrode/archive/2008/12/31/128271.aspx"&gt;from his blog&lt;/a&gt;. While I’ve not had the opportunity to modify the ISA FBA form myself, I’ve heard plenty of horror stories about doing so – and Kay’s tool is a very cool, useful community contribution.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=""&gt;In the next day or two &lt;em&gt;(edit: or more&lt;/em&gt;)&lt;em&gt;,&lt;/em&gt; we’ll move on to &lt;a href="http://blogs.3sharp.com/deving/archive/2009/08/21/some-thoughts-on-fba-part-2.aspx"&gt;part 2&lt;/a&gt; of our FBA discussion – deciding when and where you might want to use ISA’s FBA instead of Exchange’s.&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.3sharp.com/deving/aggbug/5052.aspx" width="1" height="1" /&gt;</description><dc:creator>Devin L. Ganger</dc:creator></item><item><title>ISA 2006 and the fun of a corrupt rule</title><link>http://blogs.3sharp.com/timr/archive/2009/06/16/5051.aspx</link><pubDate>Tue, 16 Jun 2009 13:07:43 GMT</pubDate><guid isPermaLink="true">http://blogs.3sharp.com/timr/archive/2009/06/16/5051.aspx</guid><wfw:comment>http://blogs.3sharp.com/timr/comments/5051.aspx</wfw:comment><wfw:commentRss>http://blogs.3sharp.com/timr/comments/commentRss/5051.aspx</wfw:commentRss><comments>http://blogs.3sharp.com/timr/archive/2009/06/16/5051.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://blogs.3sharp.com/timr/services/trackbacks/5051.aspx</trackback:ping><source url="http://blogs.3sharp.com/timr/rss.aspx">ISA 2006 and the fun of a corrupt rule</source><description>&lt;p&gt;It always seems like every time one thing if fixed, something else breaks. This morning I was working on Project A and I needed to look something up on our ISA 2006 firewall. While I was there I decided that I would look into, and fix, something odd that was happening with Project B's rule. Well, after fixing the rule into a corrupt state, I now had a Project C to work on as well. Corrupt rules are never fun, but I was able to figure out how to fix it, but I'm sure it's NOT a supported or recommended procedure. &lt;/p&gt;
&lt;p&gt;When I was trying to find out exactly what machine we are routing FTP traffic, I wanted to take a look at why my IMAP connections seemed to be getting mail that was MONTHS out of date. Looking up and down the list of rules, I found a duplicate IMAP(S) rule that was pointing to an old IP address of our Exchange 2007 server. I figured that somehow, that might be a reason why I'm not getting the correct e-mail. I clocked into the rule, and changed the internal endpoint to our current Exchange 2010 server, clicked Apply and then OK. &lt;/p&gt;
&lt;p&gt;On closing out of the ISA Management Console and looking at my e-mail, I noticed that my Inbox was starting to fill up with alerts from System Center: Operations Manager telling me that there was a problem with the configuration on one of our ISA machines, specifically the one that I was logged into. &lt;em&gt;Side Note: I know I should have been looking at the configuration on the Configuration server, not one of the nodes of the array, but the Configuration server is having problems of its own!!!&lt;/em&gt; &lt;/p&gt;
&lt;p&gt;Logging into the Configuration server, I opened up the Management Console and noticed that the rule I had edited was missing a bunch of information. Clicking on it (right or left) brought up an error dialog stating that "there is not enough memory to perform the action." After much fumbling and scrolling up and down, I realized that the name of the corrupt rule was the same as one farther down on the list, and when I changed the IP, the rules ended up being exactly the same. This led to the node pushing the change up to the configuration server before it was really sure that it SHOULD, and so, I am stuck with this dumb ghost rule. Since I know that I couldn't affect the corrupt rule, I decided to change the name of the good rule, so they wouldn't match! Brilliant!!! (: &lt;/p&gt;
&lt;p&gt;Things weren't quite that simple, however, and when I made any changes to anything else on the server, I wasn't able to commit the changes! I kept getting an error that the corrupt rule needed more information before the changes could be saved. Oops! I even tried Exporting the rule set, removing the offending rule from the XML file, and then Importing it back in, but I ran into the same error. &lt;/p&gt;
&lt;p&gt;It was time to bite the bullet and following the somewhat sparse directions from &lt;a href="http://forums.isaserver.org/m_2002074595/mpage_1/key_/tm.htm"&gt;this forum post&lt;/a&gt;, I fired up ADAM ADSI Edit to remove the offending rule, once and for all. &lt;/p&gt;
&lt;p&gt;&lt;img alt="" src="http://blogs.3sharp.com/images/blogs_3sharp_com/timr/061609_2207_ISA2006andt1.png" /&gt; &lt;/p&gt;
&lt;p&gt;Even though the directions weren't the best, it was enough for me to get there, so I'll post a little bit more coherent account: &lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Log into the machine that's hosting the ADAM database. &lt;/li&gt;
    &lt;li&gt;Open the ADAM ADSI Edit application by clicking "&lt;strong&gt;Start&lt;/strong&gt; -&amp;gt; &lt;strong&gt;All Programs&lt;/strong&gt; -&amp;gt; &lt;strong&gt;ADAM&lt;/strong&gt; -&amp;gt; &lt;strong&gt;ADAM ADSI Edit&lt;/strong&gt;" &lt;/li&gt;
    &lt;li&gt;Right-click the &lt;strong&gt;ADAM ADSI Edit&lt;/strong&gt; node in the tree pane, and select "Connect to…" &lt;/li&gt;
    &lt;li&gt;Leave the &lt;strong&gt;Server&lt;/strong&gt; name the default value of "localhost" and change the &lt;strong&gt;Port&lt;/strong&gt; to "2171" &lt;/li&gt;
    &lt;li&gt;Select the &lt;strong&gt;Distinguished name (DN) or naming context:&lt;/strong&gt; radio button and enter "CN=FPC2" into the box &lt;/li&gt;
    &lt;li&gt;Click OK. &lt;/li&gt;
    &lt;li&gt;
    &lt;div&gt;In the tree pane, expand the &lt;strong&gt;My Connection [localhost:2171]&lt;/strong&gt; node, and then the following nodes: &lt;/div&gt;
    &lt;ul&gt;
        &lt;li&gt;CN=FPC2 &lt;/li&gt;
        &lt;li&gt;CN=Array-Root &lt;/li&gt;
        &lt;li&gt;CN=Arrays &lt;/li&gt;
        &lt;li&gt;CN={GUID of affected Array} &lt;/li&gt;
        &lt;li&gt;CN=ArrayPolicy &lt;/li&gt;
        &lt;li&gt;CN=PolicyRules &lt;/li&gt;
    &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;Once in the right set of Policy Rules, find the GUID of the offending rule and delete it &lt;/li&gt;
    &lt;li&gt;Restart the &lt;strong&gt;Microsoft ISA Server Storage&lt;/strong&gt; service to re-populate the cache &lt;/li&gt;
    &lt;li&gt;Profit! &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTE: I am pretty sure this is NOT supported. Any time you mess with ANY of the raw editing tools, you stand a big chance of messing things up beyond recovery. DO NOT USE these steps if you are not willing to accept total failure as a possible case.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;&lt;img src="http://blogs.3sharp.com/timr/aggbug/5051.aspx" width="1" height="1" /&gt;</description><dc:creator>Tim Robichaux</dc:creator></item><item><title>Office 2007 Marketing Videos</title><link>http://blogs.3sharp.com/davidg/archive/2009/05/06/5050.aspx</link><pubDate>Wed, 06 May 2009 07:56:37 GMT</pubDate><guid isPermaLink="true">http://blogs.3sharp.com/davidg/archive/2009/05/06/5050.aspx</guid><wfw:comment>http://blogs.3sharp.com/davidg/comments/5050.aspx</wfw:comment><wfw:commentRss>http://blogs.3sharp.com/davidg/comments/commentRss/5050.aspx</wfw:commentRss><comments>http://blogs.3sharp.com/davidg/archive/2009/05/06/5050.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://blogs.3sharp.com/davidg/services/trackbacks/5050.aspx</trackback:ping><source url="http://blogs.3sharp.com/davidg/rss.aspx">Office 2007 Marketing Videos</source><description>&lt;p&gt;I just uploaded three marketing videos to &lt;a href="http://getsharp.3sharp.com"&gt;GetSharp&lt;/a&gt; showing features in the 2007 Microsoft Office system:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href="http://getsharp.3sharp.com/Pages/PodcastDetail.aspx?itemId=55&amp;amp;userId=32&amp;amp;caid=,34,&amp;amp;csId=%257B268419CC-CF1E-466A-B32D-B006109B747A%257D%2540%257B410410E2-5E4F-40A7-8A22-C48A197B4423%257D"&gt;OneNote 2007 Web Clipping&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://getsharp.3sharp.com/Pages/PodcastDetail.aspx?itemId=52&amp;amp;userId=32&amp;amp;caid=,34,&amp;amp;csId=%257B268419CC-CF1E-466A-B32D-B006109B747A%257D%2540%257B410410E2-5E4F-40A7-8A22-C48A197B4423%257D"&gt;PowerPoint 2007 SmartArt&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://getsharp.3sharp.com/Pages/PodcastDetail.aspx?itemId=56&amp;amp;userId=32&amp;amp;caid=&amp;amp;csId=%257B268419CC-CF1E-466A-B32D-B006109B747A%257D%2540%257B410410E2-5E4F-40A7-8A22-C48A197B4423%257D"&gt;Word 2007 Live Preview&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;At first glance these might seem unspectacular, given how late we are in the 2007 release cycle. These videos, however, are essentially a tease for feature videos related to Office 2010, which we will be uploading in the near future.&lt;/p&gt;&lt;img src="http://blogs.3sharp.com/davidg/aggbug/5050.aspx" width="1" height="1" /&gt;</description><dc:creator>David Gerhardt</dc:creator></item><item><title>Setting up a Domino Web Access redirect page</title><link>http://blogs.3sharp.com/timr/archive/2009/04/29/5049.aspx</link><pubDate>Wed, 29 Apr 2009 09:43:52 GMT</pubDate><guid isPermaLink="true">http://blogs.3sharp.com/timr/archive/2009/04/29/5049.aspx</guid><wfw:comment>http://blogs.3sharp.com/timr/comments/5049.aspx</wfw:comment><wfw:commentRss>http://blogs.3sharp.com/timr/comments/commentRss/5049.aspx</wfw:commentRss><comments>http://blogs.3sharp.com/timr/archive/2009/04/29/5049.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://blogs.3sharp.com/timr/services/trackbacks/5049.aspx</trackback:ping><source url="http://blogs.3sharp.com/timr/rss.aspx">Setting up a Domino Web Access redirect page</source><description>&lt;p&gt;I've been working with Domino and Lotus for a fairly short amount of time, but every time I have to touch it, I find myself gritting my teeth. I've been a Microsoft Exchange admin for a while, but I have a bunch of experience with several different e-mail platforms. While I am not as familiar with many of them as I am with Exchange, I can set up systems, start e-mail flow, provision users and just generally get by. One of the things that helps me do this is the rich environment of help and documentation that exists out on the Internet. Sometimes the gems of wisdom lurk in forums, sometimes they are on a product's support site, but more often than not, someone else has run into the same problem that I am having. This makes me feel a lot more comfortable and at home with a product, when I know that other people are actually using it and willing to SHARE their experiences. &lt;/p&gt;
&lt;p&gt;Well, IBM, you have earned my ire in a bad way! &lt;/p&gt;
&lt;p&gt;The situation is that one of Domino 8.0.1 systems I'm managing needed to have Domino Web Access set up so that the end user didn't have to know the whole long URL to his or her mail database file. In Microsoft Exchange 2003, 2007, and now 2010, this is a built in feature that, for the most part, works out of the box. So long as the user is configured for Outlook Web Access, they just have to navigate to a website that was installed on the server by default, enter in valid credentials, and off we go. &lt;/p&gt;
&lt;p&gt;This is not the case, however for Domino Web Access. By default, once the user is configured to use DWA, they have to type in an exact URL pointing to his or her specific mail database file. I had known this and just ignored it, since Domino didn't install with any web sites enabled as default, but the client wants people to be able to test the DWA experience without having to know that information. So began the journey (my Google searches): &lt;/p&gt;
&lt;p&gt;"how to create a lotus notes login page"&lt;br /&gt;
"how to create a login page for DWA"&lt;br /&gt;
"how to create a login page for Domino web access" &lt;/p&gt;
&lt;p&gt;Now, these searches didn't really net me anything useful, so I headed over to IBM's web site and went to the Documentation section to do some digging. After drilling down, I found this page with some helpful steps: &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Setting up Domino Web Access Redirect &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The Domino Web Access Redirect template (IWAREDIR.NTF) is in the Domino data directory. To set up Domino Web Access Redirect: &lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;Create an application using the IWAREDIR.NTF template. &lt;/li&gt;
    &lt;li&gt;In the IBM&lt;sup&gt;®&lt;/sup&gt; Lotus&lt;sup&gt;®&lt;/sup&gt; Notes&lt;sup&gt;®&lt;/sup&gt; client, open the application that you created. &lt;/li&gt;
    &lt;li&gt;Click Setup and follow the prompts to set up Domino Web Access Redirect. &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Note &lt;/strong&gt;If you select MailServer as the Redirection Type under Server Settings, the common name of the Domino mail server must be the same as its fully-qualified TCP/IP domain name. For example, if the mail server field in the Person document is set to serverA/domainA, the server's TCP/IP fully-qualified domain name must be serverA.lotus.com. &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Now, I have to say, this was a WTF moment. Once more, I know that I'm not an expert, but I like to think that I can figure things out. This set of instructions, however, left something to be desired. After poking around on the server, I found the template, and with a right-click, I found that "New..." wasn't an option. How am I supposed to create an application?!?!? More Googleing: &lt;/p&gt;
&lt;p&gt;"lotus domino create new application from template"&lt;br /&gt;
"lotus domino create new application template" &lt;/p&gt;
&lt;p&gt;Which led me to this page with some more detailed instructions on completing the FIRST step in the previous set of instructions: &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;span style="FONT-FAMILY: Times New Roman; COLOR: black"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;1. Open the Notes client.&lt;/span&gt;&lt;span style="FONT-SIZE: 12pt"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-FAMILY: Times New Roman; COLOR: black"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;2. Choose &lt;strong&gt;File-Application-New.&lt;/strong&gt; The &lt;strong&gt;New Application&lt;/strong&gt; box appears.&lt;/span&gt;&lt;span style="FONT-SIZE: 12pt"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-FAMILY: Times New Roman; COLOR: black"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;3. In the &lt;strong&gt;New Application&lt;/strong&gt; box, select the &lt;strong&gt;Blank Composite Application&lt;/strong&gt; template from the Template list.&lt;/span&gt;&lt;span style="FONT-SIZE: 12pt"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-FAMILY: Times New Roman; COLOR: black"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;4. Enter a title in the &lt;strong&gt;Title&lt;/strong&gt; field. The &lt;strong&gt;File&lt;/strong&gt; name is also created for you from your title. You may change the file name if you wish.&lt;/span&gt;&lt;span style="FONT-SIZE: 12pt"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-FAMILY: Times New Roman; COLOR: black"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;5. Click &lt;strong&gt;OK&lt;/strong&gt;. A blank composite application container appears with a message that the application does not have any content&lt;/span&gt;&lt;span style="FONT-SIZE: 12pt"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-FAMILY: Times New Roman; COLOR: black"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;6. Choose &lt;strong&gt;Action-Edit Application&lt;/strong&gt; to open the Composite Application Editor and begin working on your composite application. You can use the Composite Application Editor to edit the pages, components, and basic properties of a composite application&lt;/span&gt;&lt;span style="FONT-SIZE: 12pt"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This set of instructions is not perfect, but I can steal at least the first two, verbatim, and then monkey around with the settings until I manage to create the new application! Woo! Now I'm getting somewhere... &lt;/p&gt;
&lt;p&gt;&lt;img alt="" src="http://blogs.3sharp.com/images/blogs_3sharp_com/timr/042909_1843_SettingupaD1.png" /&gt;&lt;/p&gt;&lt;img src="http://blogs.3sharp.com/timr/aggbug/5049.aspx" width="1" height="1" /&gt;</description><dc:creator>Tim Robichaux</dc:creator></item><item><title>Introduction to Database Availability Groups - Full of WIN! (UPDATED)</title><link>http://blogs.3sharp.com/timr/archive/2009/04/16/5048.aspx</link><pubDate>Thu, 16 Apr 2009 14:36:10 GMT</pubDate><guid isPermaLink="true">http://blogs.3sharp.com/timr/archive/2009/04/16/5048.aspx</guid><wfw:comment>http://blogs.3sharp.com/timr/comments/5048.aspx</wfw:comment><wfw:commentRss>http://blogs.3sharp.com/timr/comments/commentRss/5048.aspx</wfw:commentRss><comments>http://blogs.3sharp.com/timr/archive/2009/04/16/5048.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://blogs.3sharp.com/timr/services/trackbacks/5048.aspx</trackback:ping><source url="http://blogs.3sharp.com/timr/rss.aspx">Introduction to Database Availability Groups - Full of WIN! (UPDATED)</source><description>&lt;h1&gt;Basic Overview &lt;/h1&gt;
&lt;p&gt;Now that Exchange 2010 has been released to beta, it's now time to talk about all the fun things that we've been working on and working with. To start off with, I want to point everyone over to the actual &lt;a href="http://www.microsoft.com/exchange/2010/en/us/default.aspx"&gt;Exchange 2010 Official site&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;Now that I've pointed you at the bits, let's get into some details about Database Availability Groups or "The DAG" as it's called! To start off with, it's a pretty simple concept. The DAG uses Windows Failover Clustering Services and a &lt;font color="#993300"&gt;NEW&lt;/font&gt;&lt;font size="+0"&gt; component in Microsoft Exchange, called Active Manager, to allow automatic failover and uses continuous replication to keep copies of a Mailbox database floating on servers other than the one actually hosting the "active" copy. This is VERY simplistic, but I want to gloss over the details for a moment to build up to the details later. What this means is that now, we can host a bunch of copies of a Mailbox database on several servers (up to 16 servers can be in one DAG) and thanks to the magic of continuous replication, the log files are shipped and we can have multiple, concurrent copies of the database. In the event of a failure, Exchange 2010 "promotes" one of the copies of the database to "active" status and the Mailbox role then takes up the task of serving up the mailboxes on that database. Each database maintains separate status, so one server can host copies of multiple databases and only have some of those copies active at one time. This can be confusing, so let's draw a diagram (ooo, pictures!): &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="This USED to be a Visio Drawing" src="http://www.3sharp.com/files/timr/Capture1.PNG" /&gt;&lt;/p&gt;
&lt;p&gt;In this diagram, we have three servers, and three copies of each database, one on each server. The "active" database copy is the one with the star. The flow of data from the "active" copy to the "passive" copies is concurrent. &lt;/p&gt;
&lt;p&gt;Hopefully, it's clear that a copy of each Mailbox database is hosted on two other servers in this scenario. There are actually several reasons for this, and let's start talking about some cases. In the first one, let's say that we lose MBDB01. In this case, it's just a simple failover and the next preferred server will elevate and start hosting the mailboxes (and for those of you wondering, YES you can set the preferred failover scheme, for example, if you want it to go 1, 3, 2 instead of 1, 2, 3, you can set that). That is a pretty simple case, why else would you want so many copies? In this case, we could use this type of architecture to fail a server, apply patches, and avoid nasty maintenance downtime, but will still be protected if one of the other servers fails during that time. Good 'ole double redundancy. The third case for maintaining at least three copies is that ensures that there are always enough servers in the DAG, up and running, to allow a quorum for the underlying cluster. &lt;/p&gt;
&lt;p&gt; &lt;img alt="This ALSO used to be a Visio Drawing" src="http://www.3sharp.com/files/timr/Capture2.PNG" /&gt;&lt;/p&gt;
&lt;p&gt;All of the mailboxes are hosted on one server, BUT, you are still able to have users access their e-mail, without long, expensive restores or complicated reconfiguration of your DNS or network! &lt;/p&gt;
&lt;h1&gt;How it actually works &lt;/h1&gt;
&lt;p&gt;Earlier on, I mentioned that the DAG uses Windows Failover Clustering and continuous replication to build the copies of the database. What is actually happening is (to me at least) much more interesting. The Windows Failover Clustering service is installed just for the purposes of the automatic failover. The way the databases are treated and how they are handled it much like the Exchange 2007 features of CCR with a few of the SCR features thrown in for good measure. One of the big differences between the DAG and CCR is that you can configure the number of database copies which allows you to make full use of the Clustering components. One of the reasons why I used the three server example, above, is because this is what Microsoft has recommended for the cluster to properly determine quorum decisions. You can get by with only two copies, but at least three is the recommended minimum. &lt;/p&gt;
&lt;p&gt;One of the great features of using a DAG is that it is completely managed from Exchange. What this means is that when you are configuring the clustering you don't have to be a clustering wizard or HA guru to set it up correctly. Exchange 2010 takes care of all the configuration for you, and as my co-worker &lt;a href="http://blogs.3sharp.com/deving/Default.aspx"&gt;Devin&lt;/a&gt; says, this is a HUGE win. &lt;/p&gt;
&lt;h1&gt;What people are saying and doing &lt;/h1&gt;
&lt;p&gt;All this talk about clustering and data redundancy brings up an interesting conversation that is currently floating around, and that is, with a sufficiently robust DAG structure, do you still have a need for on-site backups? This has opened up a whole can of worms, and I can say that I feel confident that using a properly designed DAG scheme can easily replace many of the functions of standard backups. There are still areas that I would feel more comfortable with a reliable set of backups (database corruption or total site failure), but the DAG can mitigate some of the risks. &lt;/p&gt;
&lt;p&gt;That being said, the way that we currently are using our DAG is a little bit different than the scenario I laid out above. To get even more complicated, I have plans to modify our structure to take advantage of Network Load Balancing and turning our current structure into one that it aimed at a high amount of availability! Here's the planned structure: &lt;/p&gt;
&lt;p&gt; &lt;img alt="THis was the third Visio Drawing." src="http://www.3sharp.com/files/timr/Capture3.PNG" /&gt;&lt;/p&gt;
&lt;p&gt;In this particular case, the plan is to basically mirror the servers using NLB to serve up one logical endpoint for the CAS, HT and UM roles (with the Hub Transport have to be careful to exclude the HT to HT traffic from the NLB, but that's a topic for another post). With that in place, and using the DAG to take care of two copies of a single database, we expand our ability to perform maintenance with minimal downtime to our internal clients while also providing a high amount of uptime in the case of a failure. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;EDIT:&lt;/strong&gt; It looks like, according to Microsoft, the combination of Windows Failover Clustering and Network Load Balancing is &lt;strong&gt;NOT SUPPORTED&lt;/strong&gt;. They also say that it won't work, but I want to give it a try, anyway. This is a big pain since for a small to medium size business, you want to reduce the number of servers you have. This is what the documentation actually has to say:&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;blockquote&gt;Unlike Exchange 2007, where clustered mailbox servers required dedicated hardware, Mailbox servers in a DAG can host other Exchange roles (Client Access, Hub Transport, Unified Messaging), providing full redundancy of Exchange services and data with just two servers.&lt;/blockquote&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;So, now I've talked about the DAG and what it can do, but there is quite a bit more. I'll follow this up shortly with some more advanced features like lag copies, off-site replication and other fun things!&lt;/p&gt;&lt;img src="http://blogs.3sharp.com/timr/aggbug/5048.aspx" width="1" height="1" /&gt;</description><dc:creator>Tim Robichaux</dc:creator></item><item><title>You, too, can Master Exchange</title><link>http://blogs.3sharp.com/deving/archive/2009/04/09/you-too-can-master-exchange.aspx</link><pubDate>Thu, 09 Apr 2009 14:08:27 GMT</pubDate><guid isPermaLink="true">http://blogs.3sharp.com/deving/archive/2009/04/09/you-too-can-master-exchange.aspx</guid><wfw:comment>http://blogs.3sharp.com/deving/comments/5047.aspx</wfw:comment><wfw:commentRss>http://blogs.3sharp.com/deving/comments/commentRss/5047.aspx</wfw:commentRss><comments>http://blogs.3sharp.com/deving/archive/2009/04/09/you-too-can-master-exchange.aspx#comment</comments><slash:comments>2</slash:comments><trackback:ping>http://blogs.3sharp.com/deving/services/trackbacks/5047.aspx</trackback:ping><source url="http://blogs.3sharp.com/deving/rss.aspx">You, too, can Master Exchange</source><description>&lt;p&gt;One of the biggest criticisms I’ve seen of the MCM program, even when it first was announced, was the cost – at a list price of $18,500 for the actual MCM program, discounting the travel, lodging, food, and opportunity cost of lost revenue, a lot of people are firmly convinced that the program is way too expensive for anybody but the bigger shops.&lt;/p&gt;
&lt;p&gt;This discussion has of course gone back and forth within the Exchange community. I think part of the pushback comes from the fact that MCM is the next evolution of the Exchange Ranger program, which felt very elitist and exclusive (and by many accounts was originally designed to be, back when it was only a Microsoft-only evolution designed to provide a higher degree of training for Microsoft consultants and engineers to better resolve their own customer issues). Starting off with that kind of background leaves a lot of lingering impressions, and the Exchange community has long memories. &lt;a target="_blank" href="http://www.robichaux.net/blog/2009/04/nows-the-time-to-invest-in-training.php"&gt;Paul has a great discussion of his point of view&lt;/a&gt; as a new MCM instructor and shares his take on the “is it worth it?” question.&lt;/p&gt;
&lt;p&gt;Another reason for pushback is the economy. The typical argument is, “I can’t afford to take this time right now.” Let’s take a ballpark figure here, aimed at the coming May 4 rotation, just to have some idea of the kinds of numbers folks are thinking about:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Imagine a consultant working a 40-hour week. Her bosses would like her to meet 90% (36 hours) billable. Given two weeks of vacation a year, that 50 weeks at 36 hours a week. &lt;/li&gt;
    &lt;li&gt;We’ll also imagine that she’s able to bill out at $100/hour. This brings her minimum annual revenue to $180,000. They set her opportunity cost (lost revenue) at $3,600/week. &lt;/li&gt;
    &lt;li&gt;We’ll assume she have the pre-requisites nailed (MCITP Enterprise Messaging, the additional AD exam for either Windows 2003 or Windows 2008, and the field experience). No extra cost there (otherwise it’s $150/test, or $600 total). &lt;/li&gt;
    &lt;li&gt;Let’s say her plane tickets are $700 for round-trip to Redmond and back. &lt;/li&gt;
    &lt;li&gt;And we’ll say that she needs to stay at a hotel, checking in Sunday May 3rd, checking out Sunday May 24th, at a daily rate of $200. &lt;/li&gt;
    &lt;li&gt;Let’s also assume she’ll need $75 a day for meals. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;That works out to $18,500 (class fee) + $700 (plane) + 21 x $275 (hotel + meals) + 3 x $3,600 (opportunity cost of work she won’t be doing) -- $18,500 + $700 + $5,775 + $10,800 = a whopping total of $35,775. That, many people argue, is far too much for what they get out of the course – it represents just over 10 weeks of her regular revenue, or approximately 1/5th of her year’s revenue.&lt;/p&gt;
&lt;p&gt;If those numbers were the final answer, they’d be right.&lt;/p&gt;
&lt;p&gt;However, Paul has some great talking points in his post; although he focuses on the non-economic piece, I’d like to tie some of those back in to hard numbers.&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;strong&gt;The level of training.&lt;/strong&gt; I don’t care how well you know Exchange. You will walk out of this class knowing a lot more and you will be immediately able to take advantage of that knowledge to the betterment of your customers. Plus, you will have ongoing access to some of the best Exchange people in the world. I don’t know a single consultant out there who can work on a problem that is stumping them for hours or days and be able to consistently bill every single hour they spend showing no results. Most of us end up eating time, which shows up in the bottom line. For the sake of argument, let’s say that our consultant ends up spending 30% instead of 10% of her time working on issues that she can’t directly bill for because of things like this. That drops her opportunity cost from $3,600/week to $2,520, or $7,560 for the three weeks (and it means she’s only got an annual revenue of $126,000). If she can reduce that non-billable time, she can increase my efficiency and get more real billable work done in the same calendar period. We’ll say she can gain back 10% of that lost time and get up to only 20% lost time, or 32 hours a week. &lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;The demonstration of competence.&lt;/strong&gt; This is a huge competitive advantage for two reasons. First, &lt;em&gt;it helps you land work you may not have been able to land before&lt;/em&gt;. This is great for keeping your pipeline full – always a major challenge in a rough economy. Second, &lt;em&gt;it allows you to raise your billing rates&lt;/em&gt;. Okay, true, maybe you can’t raise your billing rates for all the work that you do for all of your customers, but even some work at a higher rate directly translates to your pocket book. Let’s say she can bill 25% of those 32 hours at $150/hour. That turns her week’s take into (8 x $150) + (24 x $100) = $1,200 + $2,400 = $3,600. That modest gain in billing rates right there compensates for the extra 10% loss of billing hours and pays for itself every 3-4 weeks. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Let’s take another look at those overall numbers again. This time, let’s change our ballpark with numbers more closely matching the reality of the students at the classes:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;There’s a 30% discount on the class, so she pays only &lt;strong&gt;$12,950&lt;/strong&gt; (not $18,500). &lt;/li&gt;
    &lt;li&gt;We’ll keep the &lt;strong&gt;$700&lt;/strong&gt; for plane tickets. &lt;/li&gt;
    &lt;li&gt;From above, we know that her real lost opportunity cost is more like &lt;strong&gt;$7,560&lt;/strong&gt; (3 x $2,520 and not the $10,800 worst case). &lt;/li&gt;
    &lt;li&gt;She can get shared apartment housing with other students right close to campus for more like &lt;strong&gt;$67&lt;/strong&gt; a night (three bedrooms). &lt;/li&gt;
    &lt;li&gt;Food expenses are more typically averaged out to &lt;strong&gt;$40&lt;/strong&gt; per day. You can, of course, break the bank on this during the weekends, but during the days you don’t really have time. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This puts the cost of her rotation at $12,950 + $700 + (21 x $107) + $7,560, or &lt;strong&gt;$23,457&lt;/strong&gt;. That’s only 66% – two-thirds – of the worst-case cost we came up with above. With her adjusted annual revenue of $126,000, this is only 19%, or just less than 1/5th of her annual revenue.&lt;/p&gt;
&lt;p&gt;And it doesn’t stop there. Armed with the data points I gave above, let’s see how this works out for the future and when the benefits from the rotation pay back.&lt;/p&gt;
&lt;p&gt;Over the year, our hypothetical consultant, working only a 40-hour work week (I know, you can stop laughing at me now) brings in 50 x $2,520 = $126,000.  The MCM rotation represents 19% of her revenue for the year before costs.&lt;/p&gt;
&lt;p&gt;However, let’s figure out earning potential in that same year: (47 x $3,600) - ($13,650 + $700 + $2247) = &lt;strong&gt;$152,603&lt;/strong&gt;. That’s a 20% increase.&lt;/p&gt;
&lt;p&gt;Will these numbers make sense for everyone? No, and I’m not trying to argue that they do. What I am trying to point out, though, is that the business justification for going to the rotation may actually make sense once you sit down and work out the numbers. Think about your current projects and how changes to hours and billing rates may improve your bottom line. Think about work you haven’t gotten or been unwilling to pursue because you or the customer felt it was out of your league. Take some time to play with the numbers and see if this makes sense for you.&lt;/p&gt;
&lt;p&gt;If it does, or if you have any further questions, &lt;a target="_blank" href="mailto:deving@3sharp.com"&gt;let me know&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://blogs.3sharp.com/deving/aggbug/5047.aspx" width="1" height="1" /&gt;</description><dc:creator>Devin L. Ganger</dc:creator></item><item><title>Fixing interoperability problems between OCS 2007 R2 Public Internet Connectivity and AOL IM</title><link>http://blogs.3sharp.com/deving/archive/2009/04/07/fixing-interoperability-problems-between-ocs-2007-r2-public-internet-connectivity.aspx</link><pubDate>Tue, 07 Apr 2009 13:19:34 GMT</pubDate><guid isPermaLink="true">http://blogs.3sharp.com/deving/archive/2009/04/07/fixing-interoperability-problems-between-ocs-2007-r2-public-internet-connectivity.aspx</guid><wfw:comment>http://blogs.3sharp.com/deving/comments/5046.aspx</wfw:comment><wfw:commentRss>http://blogs.3sharp.com/deving/comments/commentRss/5046.aspx</wfw:commentRss><comments>http://blogs.3sharp.com/deving/archive/2009/04/07/fixing-interoperability-problems-between-ocs-2007-r2-public-internet-connectivity.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://blogs.3sharp.com/deving/services/trackbacks/5046.aspx</trackback:ping><source url="http://blogs.3sharp.com/deving/rss.aspx">Fixing interoperability problems between OCS 2007 R2 Public Internet Connectivity and AOL IM</source><description>&lt;p&gt;One of the cool things you can do with OCS is connect your internal organization to various public IM clouds (MSN/Windows Live, Yahoo!, and AOL) using the &lt;em&gt;Public Internet Connectivity&lt;/em&gt;, or PIC, feature. As you might imagine, though, PIC involves lots of fiddly bits that all have to work just right in order for there to be a seamless user experience. Recently, lots of people deploying OCS 2007 R2 have been reporting problems with PIC – specifically, in getting connectivity to the AOL IM cloud working properly.&lt;/p&gt;
&lt;h2&gt;Background&lt;/h2&gt;
&lt;p&gt;It turns out that the problem has to do with with changes that were made to the default SSL algorithm negotiations made in Windows Server 2008. If you deployed OCS 2007 R2 Edge roles on Windows Server 2003, you’d be fine; if you used Windows 2008, you’d see problems.&lt;/p&gt;
&lt;p&gt;When an HTTP client and server connect (and most IM protocols use HTTPS or HTTP + TLS as a firewall-friendly transport&lt;em&gt;[1]&lt;/em&gt;), one of the first things they do is negotiate the &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/aa374757(VS.85).aspx"&gt;specific suite of cryptographic algorithms&lt;/a&gt; that will be used for that session. The &lt;a target="_blank" href="http://httpd.apache.org/docs/2.0/ssl/ssl_intro.html#session"&gt;cipher suite includes three components&lt;/a&gt;:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;strong&gt;Key exchange method&lt;/strong&gt; – this is the algorithm that defines the way that the two endpoints will agree upon a shared symmetric key for the session. This session key will later be used to encrypt the contents of the session, so it’s important for it to be secure. This key should never be passed in cleartext – and since the session isn’t encrypted yet, there has to be some mechanism to do it. Some of the potential methods allow digital signatures, providing an extra level of confidence against a man-in-the-middle attack. There are two main choices: RSA public-private certificates and Diffie-Hellman keyless exchanges (useful when there’s no prior communication or shared set of trusted certificates between the endpoints). &lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Session cipher&lt;/strong&gt; – this is the cipher that will be used to encrypt all of the session data. A symmetric cipher is faster to process for both ends and reduces CPU overhead, but is more vulnerable in principal to discovery and attack (as both sides have to have the same key and therefore have to exchange it over the wire). The next choice is streaming cipher or cipher block chaining (CBC) cipher? For streaming, you have RC4 (40 and 128-bit variants). For CBC, you can choose RC2 (40-bit), DES (40-bit or 56-bit), 3DES (168-bit), Idea (128-bit), or Fortezza (96-bit). You can also choose none, but that’s not terribly secure. &lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Message digest algorithm&lt;/strong&gt; – the message digest is a hash cipher used to create the Hashed Message Authentication Code (HMAC), which is used to help verify the integrity of the cipher. It’s also used to guard against an attacker trying to replay this stream in the future and fool the server into giving up information it shouldn’t. In SSL 3.0, this is just a MAC. There are three choices: null (none), MD5 (128-bit), and SHA-1 (160-bit). &lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Problem&lt;/h2&gt;
&lt;p&gt;Windows Server 2003 uses the following &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/aa380512(VS.85).aspx"&gt;suites for TLS 1.0/SSL 3.0 connections&lt;/a&gt; by default:&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;TLS_RSA_WITH_RC4_128_MD5 (&lt;em&gt;RSA certificate key exchange, RC4 streaming session cipher with 128-bit key, and 128-bit MD5 HMAC; a safe, legacy choice of protocols, although definitely aging in today’s environment)&lt;/em&gt; &lt;/li&gt;
    &lt;li&gt;TLS_RSA_WITH_RC4_128_SHA (&lt;em&gt;RSA certificate key exchange, RC4 streaming session cipher with 128-bit key, and 160-bit SHA-1 HMAC; a bit stronger than the above, thanks to SHA-1 being not quite as brittle as MD5 yet)&lt;/em&gt; &lt;/li&gt;
    &lt;li&gt;TLS_RSA_WITH_3DES_EDE_CBC_SHA &lt;em&gt;(you can work out the rest)&lt;/em&gt; &lt;/li&gt;
    &lt;li&gt;TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA &lt;/li&gt;
    &lt;li&gt;TLS_RSA_WITH_DES_CBC_SHA &lt;/li&gt;
    &lt;li&gt;TLS_DHE_DSS_WITH_DES_CBC_SHA &lt;/li&gt;
    &lt;li&gt;TLS_RSA_EXPORT1024_WITH_RC4_56_SHA &lt;/li&gt;
    &lt;li&gt;TLS_RSA_EXPORT1024_WITH_DES_CBC_SHA &lt;/li&gt;
    &lt;li&gt;TLS_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA &lt;/li&gt;
    &lt;li&gt;TLS_RSA_EXPORT_WITH_RC4_40_MD5 &lt;/li&gt;
    &lt;li&gt;TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5 &lt;/li&gt;
    &lt;li&gt;TLS_RSA_WITH_NULL_MD5 &lt;/li&gt;
    &lt;li&gt;TLS_RSA_WITH_NULL_SHA &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Let’s contrast that with Windows Server 2008, which cleans out some cruft but adds support for quite a few new algorithms (new suites bolded):&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;&lt;strong&gt;TLS_RSA_WITH_AES_128_CBC_SHA &lt;em&gt;(Using AES 128-bit as a CBC session cipher)&lt;/em&gt;&lt;/strong&gt; &lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;TLS_RSA_WITH_AES_256_CBC_SHA &lt;em&gt;(Using AES 256-bit as a CBC session cipher)&lt;/em&gt;&lt;/strong&gt; &lt;/li&gt;
    &lt;li&gt;TLS_RSA_WITH_RC4_128_SHA &lt;/li&gt;
    &lt;li&gt;TLS_RSA_WITH_3DES_EDE_CBC_SHA &lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P256&lt;em&gt; (AES 128-bit, SHA 256-bit)&lt;/em&gt;&lt;/strong&gt; &lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P384&lt;em&gt;(AES 128-bit, SHA 384-bit)&lt;/em&gt;&lt;/strong&gt; &lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P521&lt;em&gt;(AES 128-bit, SHA 521-bit)&lt;/em&gt;&lt;/strong&gt; &lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P256&lt;em&gt;(AES 256-bit, SHA 256-bit)&lt;/em&gt;&lt;/strong&gt; &lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P384&lt;em&gt;(AES 256-bit, SHA 384-bit)&lt;/em&gt;&lt;/strong&gt; &lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P521&lt;em&gt;(AES 256-bit, SHA 521-bit)&lt;/em&gt;&lt;/strong&gt; &lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P256 &lt;em&gt;(you can work out the rest)&lt;/em&gt;&lt;/strong&gt; &lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P384&lt;/strong&gt; &lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P521&lt;/strong&gt; &lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P256&lt;/strong&gt; &lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384&lt;/strong&gt; &lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P521&lt;/strong&gt; &lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;TLS_DHE_DSS_WITH_AES_128_CBC_SHA&lt;/strong&gt; &lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;TLS_DHE_DSS_WITH_AES_256_CBC_SHA&lt;/strong&gt; &lt;/li&gt;
    &lt;li&gt;TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA &lt;/li&gt;
    &lt;li&gt;&lt;em&gt;TLS_RSA_WITH_RC4_128_MD5&lt;/em&gt; &lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;SSL_CK_RC4_128_WITH_MD5 &lt;em&gt;(not sure)&lt;/em&gt;&lt;/strong&gt; &lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;SSL_CK_DES_192_EDE3_CBC_WITH_MD5 &lt;em&gt;(not sure)&lt;/em&gt;&lt;/strong&gt; &lt;/li&gt;
    &lt;li&gt;TLS_RSA_WITH_NULL_MD5 &lt;/li&gt;
    &lt;li&gt;TLS_RSA_WITH_NULL_SHA &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Okay, so take a look at line 20 in the second list – see how &lt;em&gt;TLS_RSA_WITH_RC4_128_MD5&lt;/em&gt; got moved from first to darned near worst? Yeah, well, that’s because AES and SHA-1 are the strongest protocols of their type likely to be commonly supported, so Windows 2008 moves those to the default offered. Unfortunately, this causes problems with PIC to AOL.&lt;/p&gt;
&lt;h2&gt;Solution&lt;/h2&gt;
&lt;p&gt;Now that we know what the problem is, what can we do about it? For the fix, &lt;a target="_blank" href="http://blogs.msdn.com/scottos/archive/2009/04/03/resolved-ocs-2007-r2-pic-fails-against-aol.aspx"&gt;check out Scott Oseychik’s post here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;[1]&lt;/strong&gt; HTTPS is really Hop Through Tightened Perimeters Simply – aka the Universal Firewall Traversal Protocol.&lt;/em&gt;&lt;/p&gt;&lt;img src="http://blogs.3sharp.com/deving/aggbug/5046.aspx" width="1" height="1" /&gt;</description><dc:creator>Devin L. Ganger</dc:creator></item><item><title>ExMon released (no joke!)</title><link>http://blogs.3sharp.com/deving/archive/2009/04/01/exmon-released-no-joke.aspx</link><pubDate>Wed, 01 Apr 2009 07:28:18 GMT</pubDate><guid isPermaLink="true">http://blogs.3sharp.com/deving/archive/2009/04/01/exmon-released-no-joke.aspx</guid><wfw:comment>http://blogs.3sharp.com/deving/comments/5044.aspx</wfw:comment><wfw:commentRss>http://blogs.3sharp.com/deving/comments/commentRss/5044.aspx</wfw:commentRss><comments>http://blogs.3sharp.com/deving/archive/2009/04/01/exmon-released-no-joke.aspx#comment</comments><slash:comments>1</slash:comments><trackback:ping>http://blogs.3sharp.com/deving/services/trackbacks/5044.aspx</trackback:ping><source url="http://blogs.3sharp.com/deving/rss.aspx">ExMon released (no joke!)</source><description>&lt;p&gt;If you’re tempted to think this is an April Fool’s Day joke, no worries – this is the real deal. Yesterday, Microsoft published the Exchange 2007-aware version of &lt;strong&gt;Exchange Server User Monitor&lt;/strong&gt; (ExMon) &lt;a target="_blank" href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=9a49c22e-e0c7-4b7c-acef-729d48af7bc9"&gt;for download&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;“ExMon?” you ask. “What’s that?” I’m happy to explain!&lt;/p&gt;
&lt;p&gt;ExMon is a tool that gives you a real-time look inside your Exchange servers to help find out what kind of impact your MAPI clients are having on the system. That’s right – it’s a way to monitor MAPI connections. (Sorry; it doesn’t monitor WebDAV, POP3, IMAP, SMTP, OWA, EAS, or EWS.) With this release, you can now monitor the following versions of Exchange:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Exchange Server 2007 SP1+&lt;/li&gt;
    &lt;li&gt;Exchange Server 2003 SP1+&lt;/li&gt;
    &lt;li&gt;Exchange 2000 Server SP2+&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a target="_blank" href="http://technet.microsoft.com/en-us/library/bb508855.aspx"&gt;You can find out more about it from TechNet&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Even though the release date isn’t a celebration of April 1st, there is currently a bit of an unintentional joke, as shown by the current screenshot:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.3sharp.com/images/blogs_3sharp_com/deving/WindowsLiveWriter/ExMonreleasednojoke_8528/image_8.png"&gt;&lt;img style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="image" border="0" alt="image" width="244" height="99" src="http://blogs.3sharp.com/images/blogs_3sharp_com/deving/WindowsLiveWriter/ExMonreleasednojoke_8528/image_thumb_3.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Note that while the &lt;em&gt;Date Published&lt;/em&gt; is March 31, the &lt;em&gt;Version&lt;/em&gt; is only 06.05.7543 – which is the Exchange 2003 version published in 2005, as shown below:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.3sharp.com/images/blogs_3sharp_com/deving/WindowsLiveWriter/ExMonreleasednojoke_8528/image_6.png"&gt;&lt;img style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="image" border="0" alt="image" width="244" height="99" src="http://blogs.3sharp.com/images/blogs_3sharp_com/deving/WindowsLiveWriter/ExMonreleasednojoke_8528/image_thumb_2.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;So, for now, hold off trying to download and use it. I’ll update this post when the error is fixed.&lt;/p&gt;&lt;img src="http://blogs.3sharp.com/deving/aggbug/5044.aspx" width="1" height="1" /&gt;</description><dc:creator>Devin L. Ganger</dc:creator></item><item><title>Two CCR White Papers from Missy</title><link>http://blogs.3sharp.com/deving/archive/2009/03/17/two-ccr-white-papers-from-missy.aspx</link><pubDate>Tue, 17 Mar 2009 18:23:37 GMT</pubDate><guid isPermaLink="true">http://blogs.3sharp.com/deving/archive/2009/03/17/two-ccr-white-papers-from-missy.aspx</guid><wfw:comment>http://blogs.3sharp.com/deving/comments/5043.aspx</wfw:comment><wfw:commentRss>http://blogs.3sharp.com/deving/comments/commentRss/5043.aspx</wfw:commentRss><comments>http://blogs.3sharp.com/deving/archive/2009/03/17/two-ccr-white-papers-from-missy.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://blogs.3sharp.com/deving/services/trackbacks/5043.aspx</trackback:ping><source url="http://blogs.3sharp.com/deving/rss.aspx">Two CCR White Papers from Missy</source><description>&lt;p&gt;This actually happened last week, but I’ve been remiss in getting it posted (sorry, Missy!) &lt;a target="_blank" href="http://blogs.3sharp.com/missyk/"&gt;Missy&lt;/a&gt; recently completed two Exchange 2007 whitepapers, both centered around the CCR story.&lt;/p&gt;
&lt;p&gt;The first one, &lt;a target="_blank" href="http://www.3sharp.com/pdf/Continuous%20Cluster%20Replication%20or%20Single%20Copy%20Clustering.pdf"&gt;High Availability Choices for Exchange Server 2007: Continuous Cluster Replication or Single Copy Clustering&lt;/a&gt;, provides a thorough overview of the questions and issues to be considered by companies who are looking for Exchange 2007 availability:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;em&gt;Large mailbox support.&lt;/em&gt; In my experience, this is a major driver for Exchange 2007 migrations and for looking at CCR. Exchange 2007’s I/O performance increases have shifted the balance for the Exchange store being always I/O bound to now sometimes being capacity bound, depending on the configuration, and providing that capacity can be extremely expensive in SCC configurations (that typically rely on SANs). CCR offers some other benefits that Missy outlines. &lt;/li&gt;
    &lt;li&gt;&lt;em&gt;Points of failure.&lt;/em&gt; With SCC, you still only have a single copy of the data – making that data (and that SAN frame) a SPOF. There are mitigation steps you can take, but those are all expensive. When it comes to losing your Exchange databases, storage issues are the #1 cause. &lt;/li&gt;
    &lt;li&gt;&lt;em&gt;Database replication.&lt;/em&gt; Missy takes a good look at what replication means, how it affects your environment, and why CCR offers a best-of-breed solution for Exchange database replication. She also tackles the religious issue of why SAN-based availability solutions aren’t necessarily the best solution – and why people need to re-examine the question of whether Exchange-based availability features are the right way to go. &lt;/li&gt;
    &lt;li&gt;&lt;em&gt;RTO and RPO.&lt;/em&gt; These scary TLAs are popping up all over the place lately, but you really need to understand them in order to have a good handle on what your organization’s exact needs are – and which solution is going to be the best fit for you. &lt;/li&gt;
    &lt;li&gt;&lt;em&gt;Hardware and storage considerations.&lt;/em&gt; Years of cluster-based availability solutions have given many Exchange administrators and consultants a blind spot when it comes to how Exchange should be provisioned and designed. These solutions have limited some of the flexibility that you may need to consider in the current economic environment. &lt;/li&gt;
    &lt;li&gt;&lt;em&gt;Cost.&lt;/em&gt; Talk about money and you always get people’s attention. Missy details several areas of hidden cost in Exchange availability and shows how CCR helps address many of these issues. &lt;/li&gt;
    &lt;li&gt;&lt;em&gt;Management.&lt;/em&gt; It’s not enough to design and deploy your highly available Exchange solution – if you don’t manage and monitor it, and have good operational policies and procedures, your investment will be wasted. Missy talks about several realms of management. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I really recommend this paper for anyone who is interested in Exchange availability. It’s a cogent walkthrough of the major discussion points centering around the availability debate.&lt;/p&gt;
&lt;p&gt;Missy’s second paper, &lt;a target="_blank" href="http://www.3sharp.com/pdf/Continuous%20Cluster%20Replication%20and%20Direct%20Attached%20Storage.pdf"&gt;Continuous Cluster Replication and Direct Attached Storage: High Availability without Breaking the Bank&lt;/a&gt;, directly addresses one of the key assumptions underneath CCR – that DAS can be a sufficient solution. Years of Exchange experience have slowly moved organizations away from DAS to SAN, especially when high availability is a requirement – and many people now write off DAS solutions out of habit, without realizing that Exchange 2007 has in fact enabled a major switch in the art of Exchange storage design.&lt;/p&gt;
&lt;p&gt;In order to address this topic, Missy takes a great look at the history of Exchange storage and the technological factors that led to the initial storage design decisions and the slow move to SAN solutions. These legacy decisions continue to box today’s Exchange organizations into a corner with unfortunate consequences – unless something breaks demand for SAN storage.&lt;/p&gt;
&lt;p&gt;Missy then moves into how Exchange 2007 and CCR make it possible to use DAS, outlining the multiple benefits of doing so (not just cost – but there’s a good discussion of the money factor, too).&lt;/p&gt;
&lt;p&gt;Both papers are outstanding; I highly recommend them.&lt;/p&gt;&lt;img src="http://blogs.3sharp.com/deving/aggbug/5043.aspx" width="1" height="1" /&gt;</description><dc:creator>Devin L. Ganger</dc:creator></item><item><title>Haz Firewall, Want Cheezburger</title><link>http://blogs.3sharp.com/deving/archive/2009/03/17/haz-firewall-want-cheezburger.aspx</link><pubDate>Tue, 17 Mar 2009 08:57:33 GMT</pubDate><guid isPermaLink="true">http://blogs.3sharp.com/deving/archive/2009/03/17/haz-firewall-want-cheezburger.aspx</guid><wfw:comment>http://blogs.3sharp.com/deving/comments/5042.aspx</wfw:comment><wfw:commentRss>http://blogs.3sharp.com/deving/comments/commentRss/5042.aspx</wfw:commentRss><comments>http://blogs.3sharp.com/deving/archive/2009/03/17/haz-firewall-want-cheezburger.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://blogs.3sharp.com/deving/services/trackbacks/5042.aspx</trackback:ping><source url="http://blogs.3sharp.com/deving/rss.aspx">Haz Firewall, Want Cheezburger</source><description>&lt;p&gt;Although Window Server 2008 offers an impressive built-in firewall, in some cases we Exchange administrators don’t want to have to deal with it. Maybe you are building a demo to show a customer, or a lab environment to reproduce an issue. Maybe you just want to get Exchange installed now and will loop back to deal with fine-tuning firewall issues later. Maybe you have some other firewall product you’d rather use. Maybe, even, you don’t believe in defense in depth – or don’t think server-level firewall is useful.&lt;/p&gt;
&lt;p&gt;Whatever the reason, you’ve decided to disable the Windows 2008 firewall for an Exchange 2007 server. It turns out that there is a right way to do it and a wrong way to do it.&lt;/p&gt;
&lt;h5&gt;The wrong way&lt;/h5&gt;
&lt;p&gt;&lt;a href="http://blogs.3sharp.com/images/blogs_3sharp_com/deving/WindowsLiveWriter/HazFirewallWantCheezburger_9A17/image_2.png"&gt;&lt;img style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="image" border="0" alt="image" width="324" height="244" src="http://blogs.3sharp.com/images/blogs_3sharp_com/deving/WindowsLiveWriter/HazFirewallWantCheezburger_9A17/image_thumb.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;This seems pretty intuitive to long-term Exchange administrators who are used to Windows Server 2003. The problem is, the Windows firewall service in Windows 2008 has been re-engineered and works a bit differently. It now includes the concept of profiles, a feature that built into the networking stack at a low level, enabling Windows to identify the network you’re on and apply the appropriate sets of configuration (such as enabling or disabling firewall rules and services).&lt;/p&gt;
&lt;p&gt;Because this functionality is now tied into the network stack, disabling the Windows Firewall service and shutting it off can actually lead to all sorts of interesting and hard-to-fix errors.&lt;/p&gt;
&lt;h5&gt;The right way&lt;/h5&gt;
&lt;p&gt;Doing it the right way involves taking advantage of those network profiles.&lt;/p&gt;
&lt;p&gt;Method 1 (GUI):&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;Open the &lt;strong&gt;Windows Firewall with Advanced Security&lt;/strong&gt; console (&lt;strong&gt;Start&lt;/strong&gt;, &lt;strong&gt;Administrative Tools&lt;/strong&gt;, &lt;strong&gt;Windows Firewall with Advanced Security&lt;/strong&gt;). &lt;/li&gt;
    &lt;li&gt;In the &lt;strong&gt;Overview&lt;/strong&gt; pane, click &lt;strong&gt;Windows Firewall Properties&lt;/strong&gt;. &lt;/li&gt;
    &lt;li&gt;For each network profile (Domain network, Public network, Private network) that the server or image will be operating in, select &lt;strong&gt;Firewall state&lt;/strong&gt; to &lt;strong&gt;Off&lt;/strong&gt;. Typically, setting the Domain network profile is sufficient for an Exchange server, unless it’s an Edge Transport box. &lt;/li&gt;
    &lt;li&gt;Once you’ve set all the desired profiles, click &lt;strong&gt;OK&lt;/strong&gt;. &lt;/li&gt;
    &lt;li&gt;Close the &lt;strong&gt;Windows Firewall with Advanced Security&lt;/strong&gt; console. &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;a href="http://blogs.3sharp.com/images/blogs_3sharp_com/deving/WindowsLiveWriter/HazFirewallWantCheezburger_9A17/image_6.png"&gt;&lt;img style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="image" border="0" alt="image" width="449" height="399" src="http://blogs.3sharp.com/images/blogs_3sharp_com/deving/WindowsLiveWriter/HazFirewallWantCheezburger_9A17/image_thumb_2.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Method 2 (CLI):&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;Open your favorite CLI interface: CMD.EXE or PowerShell. &lt;/li&gt;
    &lt;li&gt;Type the following command: &lt;br /&gt;
    &lt;br /&gt;
    &lt;strong&gt;netsh advfirewall set &lt;/strong&gt;&lt;em&gt;profiles&lt;/em&gt; &lt;strong&gt;state off&lt;/strong&gt; &lt;br /&gt;
    &lt;br /&gt;
    Fill in &lt;em&gt;profiles&lt;/em&gt; with one of the following values:
    &lt;ul&gt;
        &lt;li&gt;&lt;strong&gt;DomainProfile&lt;/strong&gt; -- the Domain network profile. Typically the profile needed for all Exchange servers except Edge Transport. &lt;/li&gt;
        &lt;li&gt;&lt;strong&gt;PrivateProfile&lt;/strong&gt; -- the Private network profile. Typicall the profile you'll need for Edge Transport servers if the perimeter network has been identified as a private network. &lt;/li&gt;
        &lt;li&gt;&lt;strong&gt;PublicProfile&lt;/strong&gt; -- the Public network profile. Typicall the profile you'll need for Edge Transport servers if the perimeter network has been identified as a public network (which is what I'd recommend). &lt;/li&gt;
        &lt;li&gt;&lt;strong&gt;CurrentProfile&lt;/strong&gt; -- the currently selected network profile &lt;/li&gt;
        &lt;li&gt;&lt;strong&gt;AllProfiles&lt;/strong&gt; -- all network profiles &lt;/li&gt;
    &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;Close the command prompt. &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;a href="http://blogs.3sharp.com/images/blogs_3sharp_com/deving/WindowsLiveWriter/HazFirewallWantCheezburger_9A17/image_8.png"&gt;&lt;img style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="image" border="0" alt="image" width="505" height="252" src="http://blogs.3sharp.com/images/blogs_3sharp_com/deving/WindowsLiveWriter/HazFirewallWantCheezburger_9A17/image_thumb_3.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;And there you have it – the right way to disable the Windows 2008 firewall for Exchange Server 2007, complete with FAIL/LOLcats.&lt;/p&gt;&lt;img src="http://blogs.3sharp.com/deving/aggbug/5042.aspx" width="1" height="1" /&gt;</description><dc:creator>Devin L. Ganger</dc:creator></item><item><title>White Paper Announcement - CCR and DAS</title><link>http://blogs.3sharp.com/missyk/archive/2009/03/10/5041.aspx</link><pubDate>Tue, 10 Mar 2009 12:28:48 GMT</pubDate><guid isPermaLink="true">http://blogs.3sharp.com/missyk/archive/2009/03/10/5041.aspx</guid><wfw:comment>http://blogs.3sharp.com/missyk/comments/5041.aspx</wfw:comment><wfw:commentRss>http://blogs.3sharp.com/missyk/comments/commentRss/5041.aspx</wfw:commentRss><comments>http://blogs.3sharp.com/missyk/archive/2009/03/10/5041.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://blogs.3sharp.com/missyk/services/trackbacks/5041.aspx</trackback:ping><source url="http://blogs.3sharp.com/missyk/rss.aspx">White Paper Announcement - CCR and DAS</source><description>&lt;p&gt;My new white paper on CCR and DAS is now available!! &lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.3sharp.com/pdf/Continuous%20Cluster%20Replication%20and%20Direct%20Attached%20Storage.pdf"&gt;Continuous Cluster Replication and Direct Attached Storage: High Availability Without Breaking the Bank&lt;/a&gt; can be found on &lt;a href="http://www.3sharp.com/notable_accomplishments.htm"&gt;3Sharp's Notable Accomplishments&lt;/a&gt; page, or downloaded directly from the link I've provided. Here's a quick synopsis of the paper:&lt;/p&gt;
&lt;p&gt;The days of 2GB drives, tiny user mailbox sizes, and limiting Exchange Server to run on a single database have long since passed; storage options now abound, and disk space is cheap. Over the past ten years, storage area networks (SANs) have become ubiquitous, and IT management has often been persuaded that all data should reside on the SAN. However, the idea that the SAN is the best option for Exchange Server storage needs to be revisited; there are other options available today that provide the necessary reliability at greatly reduced cost. &lt;/p&gt;
&lt;p&gt;The choice of building Exchange Server 2007 as a 64-bit architecture, and the availability of massive, cheap RAM, leads to greatly-reduced input/output operations per second (IOPS) for disk access. The synchronicity between this fact, and the availability of cheap disk space allows organizations to rethink their approach to storage. In this whitepaper, we explain the benefits of using Direct Attached Storage (DAS) as opposed to a SAN for Exchange Server Cluster Continuous Replication (CCR). We argue the use of DAS for CCR clusters, and provide a counterpoint to the idea that a SAN is the best storage option for CCR deployments. &lt;/p&gt;&lt;img src="http://blogs.3sharp.com/missyk/aggbug/5041.aspx" width="1" height="1" /&gt;</description><dc:creator>Missy Koslosky</dc:creator></item><item><title>White Paper Announcement - CCR or SCC?</title><link>http://blogs.3sharp.com/missyk/archive/2009/03/10/5040.aspx</link><pubDate>Tue, 10 Mar 2009 12:23:32 GMT</pubDate><guid isPermaLink="true">http://blogs.3sharp.com/missyk/archive/2009/03/10/5040.aspx</guid><wfw:comment>http://blogs.3sharp.com/missyk/comments/5040.aspx</wfw:comment><wfw:commentRss>http://blogs.3sharp.com/missyk/comments/commentRss/5040.aspx</wfw:commentRss><comments>http://blogs.3sharp.com/missyk/archive/2009/03/10/5040.aspx#comment</comments><slash:comments>1</slash:comments><trackback:ping>http://blogs.3sharp.com/missyk/services/trackbacks/5040.aspx</trackback:ping><source url="http://blogs.3sharp.com/missyk/rss.aspx">White Paper Announcement - CCR or SCC?</source><description>&lt;p&gt;My new white paper on CCR vs. SCC is now available!! &lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.3sharp.com/pdf/Continuous%20Cluster%20Replication%20or%20Single%20Copy%20Clustering.pdf"&gt;High Availability Choices for Exchange Server 2007: Continuous Cluster Replication or Single Copy Clustering&lt;/a&gt; can be found on &lt;a href="http://www.3sharp.com/notable_accomplishments.htm"&gt;3Sharp's Notable Accomplishments&lt;/a&gt; page, or downloaded directly from the link I've provided. Here's a quick synopsis of the paper:&lt;/p&gt;
&lt;p&gt;With today's reliance on e-mail services, the need for highly available systems where messaging services must be accessible at all times has become more apparent, and organizations are making significant investments in their messaging systems. Many organizations have come to the conclusion that redundancy is the only reliable way to keep e-mail services continuously available to their users. Exchange Server 2007 includes numerous high availability options that provide continuity of service and redundancy to help ensure messaging services are always up and operational. This whitepaper describes the benefits of Cluster Continuous Replication (CCR) for Exchange Server 2007, in contrast with Single Copy Clustering (SCC), and details the advantages and disadvantages of each. &lt;/p&gt;&lt;img src="http://blogs.3sharp.com/missyk/aggbug/5040.aspx" width="1" height="1" /&gt;</description><dc:creator>Missy Koslosky</dc:creator></item><item><title>Off-topic: trying to refurbish a Mac mini</title><link>http://blogs.3sharp.com/deving/archive/2009/03/10/off-topic-trying-to-refurbish-a-mac-mini.aspx</link><pubDate>Tue, 10 Mar 2009 11:30:50 GMT</pubDate><guid isPermaLink="true">http://blogs.3sharp.com/deving/archive/2009/03/10/off-topic-trying-to-refurbish-a-mac-mini.aspx</guid><wfw:comment>http://blogs.3sharp.com/deving/comments/5039.aspx</wfw:comment><wfw:commentRss>http://blogs.3sharp.com/deving/comments/commentRss/5039.aspx</wfw:commentRss><comments>http://blogs.3sharp.com/deving/archive/2009/03/10/off-topic-trying-to-refurbish-a-mac-mini.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://blogs.3sharp.com/deving/services/trackbacks/5039.aspx</trackback:ping><source url="http://blogs.3sharp.com/deving/rss.aspx">Off-topic: trying to refurbish a Mac mini</source><description>&lt;p&gt;&lt;a target="_blank" href="http://blogs.thecabal.org/blogs/devin/archive/2009/03/10/wanted-your-broken-mac-mini.aspx"&gt;Full details on my home blog&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://blogs.3sharp.com/deving/aggbug/5039.aspx" width="1" height="1" /&gt;</description><dc:creator>Devin L. Ganger</dc:creator></item><item><title>Migrating OCS 2007 to OCS 2007 R2 (Part 1 of Many)</title><link>http://blogs.3sharp.com/timr/archive/2009/03/03/5038.aspx</link><pubDate>Tue, 03 Mar 2009 21:41:04 GMT</pubDate><guid isPermaLink="true">http://blogs.3sharp.com/timr/archive/2009/03/03/5038.aspx</guid><wfw:comment>http://blogs.3sharp.com/timr/comments/5038.aspx</wfw:comment><wfw:commentRss>http://blogs.3sharp.com/timr/comments/commentRss/5038.aspx</wfw:commentRss><comments>http://blogs.3sharp.com/timr/archive/2009/03/03/5038.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://blogs.3sharp.com/timr/services/trackbacks/5038.aspx</trackback:ping><source url="http://blogs.3sharp.com/timr/rss.aspx">Migrating OCS 2007 to OCS 2007 R2 (Part 1 of Many)</source><description>&lt;p&gt;With all the nifty features and functions that are available in the new version of OCS, I can't really see a reason to hold back and NOT migrate. Being the type of company that we are, it's important to keep up with the latest products and show that we can make them work. That being said, sometimes it's hard to hit the ground running when you don't have a large customer base for that type of work. 
&lt;/p&gt;&lt;p&gt;One of the struggles with any small company is that with the limited resources available, sometimes you can't set up a whole new lab environment just to test the new software. In my case, my work on other paying projects put a lot of internal IT projects on hold. This is not to say that the projects were being ignored, just that they took a much lower priority than I would have liked to assigned them.
&lt;/p&gt;&lt;p&gt;My current project of love and devotion is our migration as a company to Office Communications Server 2007 R2, which was recently released. This is a big deal to me, being a Unified Communications consultant, so I've taken the time at work and at home to learn about what needs to be done.
&lt;/p&gt;&lt;p&gt;I don't want to sit here and outline all the dinky step-by-step screen shots, since I'm sure that there are other sites out there that have those. What I'd rather do is outline the thought process and planning steps that are required for the migration. 
&lt;/p&gt;&lt;p&gt;Okay, on to the fun stuff... Let's talk about migration paths!
&lt;/p&gt;&lt;h1&gt;Supported Migration Paths
&lt;/h1&gt;&lt;p&gt;Microsoft has put a bunch of OCS 2007 R2 documentation on &lt;a href="http://technet.microsoft.com/en-us/library/dd250572(office.13).aspx"&gt;Technet&lt;/a&gt;, but none of it is available for download, so I'll just sum up some of the recommendations and provide the link so that you can get more detail about them on the site. Oh, wait... There isn't any more detail!
&lt;/p&gt;&lt;p&gt;To start off with, there are two supported &lt;a href="http://technet.microsoft.com/en-us/library/dd425356(office.13).aspx"&gt;upgrade or migration&lt;/a&gt; paths:
&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Side-by-side migration
&lt;/li&gt;&lt;li&gt;Uninstall/reinstall
&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;Side-by-side Migration
&lt;/h2&gt;&lt;p&gt;This is the one that sounded like a really good idea for us, due to my limited time to ensure that everything was set up correctly. In this scenario, you stand up a second pool in the same Forest and then migrate users at your leisure.
&lt;/p&gt;&lt;h3&gt;Pros:
&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;You have the ability to deploy the environment and validate/test it before you deploy it
&lt;/li&gt;&lt;li&gt;It could be done with minimal downtime for users, theoretically no loss of service
&lt;/li&gt;&lt;li&gt;Pool co-existence allows for cross communication and migration
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
 &lt;/p&gt;&lt;h2&gt;Uninstall/reinstall
&lt;/h2&gt;&lt;p&gt;For this install, the process is dead simple. You remove all the old stuff, and you install the new stuff. Of course, there are more steps to it than that, but the idea is pretty simple. I didn't think that this would be a good fit for us because of the downtime that would be incurred. Okay, who am I kidding? I didn't want to take the time to listen to people complain about downtime. I think we, as a company, could handle it
&lt;/p&gt;&lt;h3&gt;Pros:
&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;It minimizes the use of extra hardware (rebuild on the same platform)
&lt;/li&gt;&lt;li&gt;The installation is simplified when dealing with back ends (more on this in the details)
&lt;/li&gt;&lt;li&gt;This is a good chance to completely rebuild and redesign your OCS infrastructure
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
 &lt;/p&gt;&lt;h1&gt;The Devil is in the Details
&lt;/h1&gt;&lt;p&gt;When the dust settles, it's all comes down to what actually the details of the situation are. In the case of migrating any production system from one version to another, there are going to be a host of issues and minor settings that can either slip through the cracks, or come back to bite you, later. The details always start out as a high level overview and then drill down to individual check boxes and radio buttons. 
&lt;/p&gt;&lt;p&gt;In Part 2, I'll cover the details of the &lt;strong&gt;Side-by-side Migration&lt;/strong&gt; and in Part 3 I'll cover the &lt;strong&gt;Uninstall/reinstall&lt;/strong&gt; details. More to follow!
&lt;/p&gt;&lt;img src="http://blogs.3sharp.com/timr/aggbug/5038.aspx" width="1" height="1" /&gt;</description><dc:creator>Tim Robichaux</dc:creator></item></channel></rss>