Ryan Rinaldi does a good job of pointing out an error in our MSDN documentation on the AlternateView class, part of System.Net.Mail. Our product documentation for the AlternateViews property in MSDN and in the SDK includes a sample for adding an HTML body to a MailMessage. The error is in the use of the AlternateView constructor…
AlternateView alternate = new AlternateView(body, MediaTypeNames.Text.Html);
While this use of the constructor does fit one of its signatures and the code will compile it is not correct in that the constructor is looking for a file path in the first string not the body text. In order to create an HTML AlternateView from an HTML string such as the body created in this example, use the static CreateAlternateViewFromString method as seen below…
AlternateView alternate = AlternateView.CreateAlternateViewFromString(body, MediaTypeNames.Text.HTML);
…I wish it was as simple as firing up notepad and correcting the documentation but it isn’t. We will get this content corrected. I definitely appreciate Ryan and my customer for pointing out this error…
…NOTE: An important note about how Support Services works here at Microsoft as it relates to this issue. A customer brought this documentation error to my attention through a support case at Microsoft. Please note that in the case of reporting a bug with our products or documentation, you will be refunded any payment made to Microsoft for a support incident. If you are still hesitant to open a case for whatever reason please contact me using the email link or contact our newsgroups. We do listen and we do want to improve our products and their documentation…
My good friend Steve Griffin has been hard at work updating MFCMAPI to now be worthy of a bland PR branding that strips it of all personality in MAPI Editor. Also he has MAPI Editor added to the Exchange source tree as an official product utility. Read more on his blog...
Announcing MAPI Editor (Formerly MFCMAPI)
http://blogs.msdn.com/stephen_griffin/archive/2006/06/07/621138.aspx
…Note that the source for MAPI Editor is not currently available. Steve is aware of this request and frankly it is quite helpful to make the source available as sample code from a support standpoint. Steve addresses this request in a later blog post, here…
http://blogs.msdn.com/stephen_griffin/archive/2006/06/08/622236.aspx
The Office 2007 Product teams have begun posting public information on the new Office suite including the Outlook 2007 team giving an overview of what is new for developers in Outlook 2007…
“…Outlook 2007 object model includes more than 85 new objects and the size of the object model has more than doubled…”
What is New for Developers in Outlook 2007? (Part 1)
http://msdn2.microsoft.com/en-us/ms772422(office.12).aspx
What is New for Developers in Outlook 2007? (Part 2)
http://msdn2.microsoft.com/en-us/ms772423(office.12).aspx
…Many of the changes, additions, and new features of Outlook 2007 development are quite significant and eagerly awaited by the development community. Most significant IMHO are the changes to security and the form region technology…
The new articles below give examples of Outlook 2007 Add-ins as well as discuss the security changes to Outlook 2007 which will greatly enhance the development experience as well as the user experience.
Outlook 2007 Sample Add-ins…
http://msdn2.microsoft.com/en-us/ms778811(office.12).aspx
Code Security Changes in Outlook 2007…
http://msdn2.microsoft.com/en-us/ms778202(office.12).aspx
Another important and less public announcement is the release of a free Visual Studio 2005 Add-on currently called Cypress which will allow you create Outlook 2007 Add-ins with VS 2005.
“...Cypress is an add-on and is incremental. It is not, itself a complete Visual Studio product release. Anyone who has a licensed version of Visual Studio 2005 will be eligible to download Cypress for free.”
Cypress Announcement…
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=459132&SiteID=1
…Keep in mind this is not a full feature set like Visual Studio Tools for Office. The release of the full Visual Studio Tools for Office is slated with the next release of Visual Studio currently code named Orcas. This is important as many were worried that VSTO 2005 would not be able to build Add-ins for Outlook 2007 (which it can’t without Cypress)…
The developer help files were updated for Office 2007 recently. As the product is in beta, we are providing updates to the documentation as it becomes available. Keep in mind that the documentation is in beta just like the product so feel free to voice your opinions on both.
Updated Developer Help files for Office 2007…
http://www.microsoft.com/downloads/details.aspx?familyid=066f9f31-9d7b-4d5e-8759-55fb4bf24d52&displaylang=en
Many times when scheduling appointments in Exchange, especially when you are already using HTTP requests with DAV, you might want to check the availability of people or resources via the public Free/Busy information in Exchange. I recently posted some C# code providing an example of how to do use the OWA command to get this data (yes, this is one of the few supported OWA commands)…
How To Get Free/Busy Information
http://blogs.msdn.com/mstehle/articles/628573.aspx
However, what you will notice is that when you post an appointment via WebDAV, OWA, CDOEX, or CDO 1.21 the Free/Busy information available from this OWA command is not up to date. In fact it takes about 5 minutes for it to get updated.
To understand this behavior we need to get the full story on Free/Busy in Exchange and Outlook. The following links layout the story…
Here is some of our product documentation on how OWA and Outlook publish free busy data. Note the section related to how OWA updates the Free Busy Folder...
http://www.microsoft.com/technet/prodtechnol/exchange/guides/WorkingE2k3Store/36ea912b-6040-499d-948b-762bec84e8fc.mspx?mfr=true
OWA, WebDAV, and CDOEX fall under the same design, relying on MSExchangeFBPublish to publish the Free/Busy data on an interval for public retrieval through the OWA command. This can be problematic if you have people scheduling resources on frequent intervals and what to get real time or at least very near real time availability information.
Here is information from the Exchange team blog on setting a regkey to control the polling interval for the MSExchangeFBPublish thread. Notice that the most frequent updates you can set are every 30 seconds...
http://msexchangeteam.com/archive/2004/08/19/217187.aspx
Here is a more detailed look at the "Free Busy Story" from the Exchange team blog...
http://msexchangeteam.com/archive/2004/06/02/146939.aspx
If you want to accurately determine what appointments are scheduled at a particular point in time then you should not rely on the Free/Busy query instead you should query the resource calendar yourself to find conflicts. Here is a sample I just posted for querying a calendar for conflicts via WebDAV in C#...
How To Search Calendar For Conflicts
http://blogs.msdn.com/mstehle/articles/628646.aspx
Updated 1/22/2009 – Noted broken links.