<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Mythical Man Moth</title>
	<atom:link href="http://www.mythicalmanmoth.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.mythicalmanmoth.com</link>
	<description>IT Mythbusting</description>
	<lastBuildDate>Wed, 25 Apr 2012 16:42:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Creating reusable UI components for ASP.Net MVC</title>
		<link>http://www.mythicalmanmoth.com/?p=420</link>
		<comments>http://www.mythicalmanmoth.com/?p=420#comments</comments>
		<pubDate>Wed, 25 Apr 2012 16:25:31 +0000</pubDate>
		<dc:creator>Pieter van der Westhuizen</dc:creator>
				<category><![CDATA[ASP.Net MVC]]></category>
		<category><![CDATA[ASP.NET MVC 3 Themed Web Application]]></category>
		<category><![CDATA[ASP.Net]]></category>
		<category><![CDATA[MVC]]></category>

		<guid isPermaLink="false">http://www.mythicalmanmoth.com/?p=420</guid>
		<description><![CDATA[If you have not seen my MVC Themed Web App Visual Studio Project template yet, go check it out. I was toying with an idea when I started the VS template but never got around to it…How do I create reusable UI components for a ASP.Net MVC website? What I mean is most websites consists [...]]]></description>
			<content:encoded><![CDATA[<p>If you have not seen my MVC Themed Web App Visual Studio Project template yet, go <a href="http://www.mythicalmanmoth.com/?p=358" target="_blank">check it out</a>.</p>
<p>I was toying with an idea when I started the VS template but never got around to it…How do I create reusable UI components for a ASP.Net MVC website? What I mean is most websites consists of numerous elements, for example the sidebar widgets on this blog:</p>
<p><a href="http://www.mythicalmanmoth.com/wp-content/uploads/2012/04/image.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.mythicalmanmoth.com/wp-content/uploads/2012/04/image_thumb.png" width="412" height="277" /></a></p>
<p>If you look closely the Recent Posts and Tag Cloud widget uses the exact same Html mark-up, only their contents differ. Wouldn&#8217;t it be great if I could write a simple ASP.Net MVC extension that would create the basic mark-up for the widget and then I only need to add the content?</p>
<p>The good news is, I’ve done it for the <a href="http://www.mythicalmanmoth.com/?p=358" target="_blank">MVC Themed Web App Visual Studio Project template</a> sidebar components. As you can see in the following screenshot, the standard sidebar consists of 3 UI elements, a Simple Block,&#160; Notice and a Sidebar Inner Block:</p>
<p><a href="http://www.mythicalmanmoth.com/wp-content/uploads/2012/04/image1.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.mythicalmanmoth.com/wp-content/uploads/2012/04/image_thumb1.png" width="211" height="484" /></a></p>
<p>The html for these 3 components looks like:</p>
<pre style="width: 767px; height: 650px" class="code"><span style="color: blue">&lt;</span><span style="color: maroon">div </span><span style="color: red">id</span><span style="color: blue">=&quot;sidebar&quot;&gt;
    &lt;</span><span style="color: maroon">div </span><span style="color: red">class</span><span style="color: blue">=&quot;block&quot;&gt;
        &lt;</span><span style="color: maroon">h3</span><span style="color: blue">&gt;
            </span>Simple Block<span style="color: blue">&lt;/</span><span style="color: maroon">h3</span><span style="color: blue">&gt;
        &lt;</span><span style="color: maroon">div </span><span style="color: red">class</span><span style="color: blue">=&quot;content&quot;&gt;
            &lt;</span><span style="color: maroon">p</span><span style="color: blue">&gt;
                </span>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor
                incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud
                exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.<span style="color: blue">&lt;/</span><span style="color: maroon">p</span><span style="color: blue">&gt;
        &lt;/</span><span style="color: maroon">div</span><span style="color: blue">&gt;
    &lt;/</span><span style="color: maroon">div</span><span style="color: blue">&gt;
    &lt;</span><span style="color: maroon">div </span><span style="color: red">class</span><span style="color: blue">=&quot;block notice&quot;&gt;
        &lt;</span><span style="color: maroon">h4</span><span style="color: blue">&gt;
            </span>Notice Title<span style="color: blue">&lt;/</span><span style="color: maroon">h4</span><span style="color: blue">&gt;
        &lt;</span><span style="color: maroon">p</span><span style="color: blue">&gt;
            </span>Morbi posuere urna vitae nunc. Curabitur ultrices, lorem ac aliquam blandit, lectus
            eros hendrerit eros, at eleifend libero ipsum hendrerit urna. Suspendisse viverra.
            Morbi ut magna. Praesent id ipsum. Sed feugiat ipsum ut felis. Fusce vitae nibh
            sed risus commodo pulvinar. Duis ut dolor. Cras ac erat pulvinar tortor porta sodales.
            Aenean tempor venenatis dolor.<span style="color: blue">&lt;/</span><span style="color: maroon">p</span><span style="color: blue">&gt;
    &lt;/</span><span style="color: maroon">div</span><span style="color: blue">&gt;
    &lt;</span><span style="color: maroon">div </span><span style="color: red">class</span><span style="color: blue">=&quot;block&quot;&gt;
        &lt;</span><span style="color: maroon">div </span><span style="color: red">class</span><span style="color: blue">=&quot;sidebar-block&quot;&gt;
            &lt;</span><span style="color: maroon">h4</span><span style="color: blue">&gt;
                </span>Sidebar Inner block Title<span style="color: blue">&lt;/</span><span style="color: maroon">h4</span><span style="color: blue">&gt;
            &lt;</span><span style="color: maroon">p</span><span style="color: blue">&gt;
                </span>Morbi posuere urna vitae nunc. Curabitur ultrices, lorem ac <span style="color: blue">&lt;</span><span style="color: maroon">a </span><span style="color: red">href</span><span style="color: blue">=&quot;#&quot;&gt;</span>aliquam blandit<span style="color: blue">&lt;/</span><span style="color: maroon">a</span><span style="color: blue">&gt;
                </span>, lectus eros hendrerit eros, at eleifend libero ipsum hendrerit urna. Suspendisse
                viverra. Morbi ut magna. Praesent id ipsum. Sed feugiat ipsum ut felis. Fusce vitae
                nibh sed risus commodo pulvinar. Duis ut dolor. Cras ac erat pulvinar tortor porta
                sodales. Aenean tempor venenatis dolor.
            <span style="color: blue">&lt;/</span><span style="color: maroon">p</span><span style="color: blue">&gt;
        &lt;/</span><span style="color: maroon">div</span><span style="color: blue">&gt;
    &lt;/</span><span style="color: maroon">div</span><span style="color: blue">&gt;
&lt;/</span><span style="color: maroon">div</span><span style="color: blue">&gt;
</span></pre>
<p>After doing some digging in the <a href="http://aspnet.codeplex.com/" target="_blank">ASP.Net source code</a>, I’ve based my extension on the @Html.BeginForm helper. This means that the mark-up above can be replaced by the following:</p>
<pre class="code"><span style="background: yellow">@</span><span style="color: blue">using </span>MVCThemedApp1.Infrastructure
<span style="color: blue">&lt;</span><span style="color: maroon">div </span><span style="color: red">id</span><span style="color: blue">=&quot;sidebar&quot;&gt;
    </span><span style="background: yellow">@</span><span style="color: blue">using </span>(Html.SimpleBlock(<span style="color: #a31515">&quot;Simple Block&quot;</span>))
    {
        <span style="color: blue">&lt;</span><span style="color: maroon">p</span><span style="color: blue">&gt;
            </span>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor
            incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud
            exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.<span style="color: blue">&lt;/</span><span style="color: maroon">p</span><span style="color: blue">&gt;
    </span>}
    <span style="background: yellow">@</span><span style="color: blue">using </span>(Html.NoticeBlock(<span style="color: #a31515">&quot;Notice Title&quot;</span>))
    {
        <span style="color: blue">&lt;</span><span style="color: maroon">p</span><span style="color: blue">&gt;
            </span>Morbi posuere urna vitae nunc. Curabitur ultrices, lorem ac aliquam blandit, lectus
            eros hendrerit eros, at eleifend libero ipsum hendrerit urna. Suspendisse viverra.
            Morbi ut magna. Praesent id ipsum. Sed feugiat ipsum ut felis. Fusce vitae nibh
            sed risus commodo pulvinar. Duis ut dolor. Cras ac erat pulvinar tortor porta sodales.
            Aenean tempor venenatis dolor.<span style="color: blue">&lt;/</span><span style="color: maroon">p</span><span style="color: blue">&gt;
    </span>}
    <span style="background: yellow">@</span><span style="color: blue">using </span>(Html.InnerBlock(<span style="color: #a31515">&quot;Sidebar Inner block Title&quot;</span>))
    {
        <span style="color: blue">&lt;</span><span style="color: maroon">p</span><span style="color: blue">&gt;
            </span>Morbi posuere urna vitae nunc. Curabitur ultrices, lorem ac <span style="color: blue">&lt;</span><span style="color: maroon">a </span><span style="color: red">href</span><span style="color: blue">=&quot;#&quot;&gt;</span>aliquam blandit<span style="color: blue">&lt;/</span><span style="color: maroon">a</span><span style="color: blue">&gt;
            </span>, lectus eros hendrerit eros, at eleifend libero ipsum hendrerit urna. Suspendisse
            viverra. Morbi ut magna. Praesent id ipsum. Sed feugiat ipsum ut felis. Fusce vitae
            nibh sed risus commodo pulvinar. Duis ut dolor. Cras ac erat pulvinar tortor porta
            sodales. Aenean tempor venenatis dolor.
        <span style="color: blue">&lt;/</span><span style="color: maroon">p</span><span style="color: blue">&gt;
    </span>}
<span style="color: blue">&lt;/</span><span style="color: maroon">div</span><span style="color: blue">&gt;
</span></pre>
<p>You’ll notice that I’ve created three helpers, one for each different style of sidebar widget. I then only need to specify the widgets’ Title as a parameter and add the widget content as standard html.</p>
<p>To use this in your own ASP.Net MVC project based on my Themed App project template, simply create a new folder called <strong>Infrastructure</strong> and add a <strong>HtmlHeper.cs</strong> class to it:</p>
<pre style="width: 943px; height: 798px" class="code"><span style="color: blue">using </span>System;
<span style="color: blue">using </span>System.Web.Mvc;

<span style="color: blue">namespace </span>MVCThemedApp1.Infrastructure
{
    <span style="color: blue">public static class </span><span style="color: #2b91af">HtmlHelper
    </span>{
        <span style="color: blue">public static </span><span style="color: #2b91af">ThemedBox </span>NoticeBlock(<span style="color: blue">this </span>System.Web.Mvc.<span style="color: #2b91af">HtmlHelper </span>html, <span style="color: blue">string </span>title)
        {
            <span style="color: #2b91af">TagBuilder </span>divBuilder = <span style="color: blue">new </span><span style="color: #2b91af">TagBuilder</span>(<span style="color: #a31515">&quot;div&quot;</span>);
            divBuilder.AddCssClass(<span style="color: #a31515">&quot;block notice&quot;</span>);
            html.ViewContext.Writer.Write(<span style="color: #2b91af">String</span>.Format(<span style="color: #a31515">&quot;{0}&lt;h4&gt;{1}&lt;/h4&gt;&quot;</span>, divBuilder.ToString(<span style="color: #2b91af">TagRenderMode</span>.StartTag), title));

            <span style="color: #2b91af">ThemedBox </span>theBox = <span style="color: blue">new </span><span style="color: #2b91af">ThemedBox</span>(html.ViewContext);
            <span style="color: blue">return </span>theBox;
        }

        <span style="color: blue">public static </span><span style="color: #2b91af">ThemedBox </span>InnerBlock(<span style="color: blue">this </span>System.Web.Mvc.<span style="color: #2b91af">HtmlHelper </span>html, <span style="color: blue">string </span>title)
        {
            <span style="color: #2b91af">TagBuilder </span>blockDiv = <span style="color: blue">new </span><span style="color: #2b91af">TagBuilder</span>(<span style="color: #a31515">&quot;div&quot;</span>);
            blockDiv.AddCssClass(<span style="color: #a31515">&quot;block&quot;</span>);
            html.ViewContext.Writer.Write(blockDiv.ToString(<span style="color: #2b91af">TagRenderMode</span>.StartTag));

            <span style="color: #2b91af">TagBuilder </span>divBuilder = <span style="color: blue">new </span><span style="color: #2b91af">TagBuilder</span>(<span style="color: #a31515">&quot;div&quot;</span>);
            divBuilder.AddCssClass(<span style="color: #a31515">&quot;sidebar-block&quot;</span>);
            html.ViewContext.Writer.Write(<span style="color: #2b91af">String</span>.Format(<span style="color: #a31515">&quot;{0}&lt;h4&gt;{1}&lt;/h4&gt;&quot;</span>, divBuilder.ToString(<span style="color: #2b91af">TagRenderMode</span>.SelfClosing), title));

            <span style="color: #2b91af">ThemedBox </span>theBox = <span style="color: blue">new </span><span style="color: #2b91af">ThemedBox</span>(html.ViewContext,2);
            <span style="color: blue">return </span>theBox;
        }

        <span style="color: blue">public static </span><span style="color: #2b91af">ThemedBox </span>SimpleBlock(<span style="color: blue">this </span>System.Web.Mvc.<span style="color: #2b91af">HtmlHelper </span>html, <span style="color: blue">string </span>title)
        {
            <span style="color: #2b91af">TagBuilder </span>blockDiv = <span style="color: blue">new </span><span style="color: #2b91af">TagBuilder</span>(<span style="color: #a31515">&quot;div&quot;</span>);
            blockDiv.AddCssClass(<span style="color: #a31515">&quot;block&quot;</span>);
            html.ViewContext.Writer.Write(<span style="color: #2b91af">String</span>.Format(<span style="color: #a31515">&quot;{0}&lt;h3&gt;{1}&lt;/h3&gt;&quot;</span>, blockDiv.ToString(<span style="color: #2b91af">TagRenderMode</span>.StartTag), title));

            <span style="color: #2b91af">TagBuilder </span>contentDiv = <span style="color: blue">new </span><span style="color: #2b91af">TagBuilder</span>(<span style="color: #a31515">&quot;div&quot;</span>);
            contentDiv.AddCssClass(<span style="color: #a31515">&quot;content&quot;</span>);
            html.ViewContext.Writer.Write(contentDiv.ToString(<span style="color: #2b91af">TagRenderMode</span>.SelfClosing));

            <span style="color: #2b91af">ThemedBox </span>theBox = <span style="color: blue">new </span><span style="color: #2b91af">ThemedBox</span>(html.ViewContext,2);
            <span style="color: blue">return </span>theBox;
        }
    }
}</pre>
<p>Next, you also need to add a new class called <strong>ThemedBox.cs</strong> to the <strong>Infrastructure</strong> folder:</p>
<pre class="code"><span style="color: blue">using </span>System;
<span style="color: blue">using </span>System.Web;
<span style="color: blue">using </span>System.Web.Mvc;
<span style="color: blue">using </span>System.IO;

<span style="color: blue">namespace </span>MVCThemedApp1.Infrastructure
{
    <span style="color: blue">public class </span><span style="color: #2b91af">ThemedBox </span>: <span style="color: #2b91af">IDisposable
    </span>{
        <span style="color: blue">private bool </span>_disposed;
        <span style="color: blue">private readonly </span><span style="color: #2b91af">ViewContext </span>_viewContext;
        <span style="color: blue">private readonly </span><span style="color: #2b91af">TextWriter </span>_writer;
        <span style="color: blue">private int </span>NumberOfClosingDivs = 1;

        <span style="color: blue">public </span>ThemedBox(<span style="color: #2b91af">HttpResponseBase </span>httpResponse)
        {
            <span style="color: blue">if </span>(httpResponse == <span style="color: blue">null</span>)
            {
                <span style="color: blue">throw new </span><span style="color: #2b91af">ArgumentNullException</span>(<span style="color: #a31515">&quot;httpResponse&quot;</span>);
            }

            _writer = httpResponse.Output;
        }

        <span style="color: blue">public </span>ThemedBox(<span style="color: #2b91af">ViewContext </span>viewContext, <span style="color: blue">int </span>numberOfClosingDivs=1)
        {
            <span style="color: blue">if </span>(viewContext == <span style="color: blue">null</span>)
            {
                <span style="color: blue">throw new </span><span style="color: #2b91af">ArgumentNullException</span>(<span style="color: #a31515">&quot;viewContext&quot;</span>);
            }
            NumberOfClosingDivs = numberOfClosingDivs;
            _viewContext = viewContext;
            _writer = viewContext.Writer;
        }

        <span style="color: blue">public void </span>Dispose()
        {
            Dispose(<span style="color: blue">true </span><span style="color: green">/* disposing */</span>);
            <span style="color: #2b91af">GC</span>.SuppressFinalize(<span style="color: blue">this</span>);
        }

        <span style="color: blue">protected virtual void </span>Dispose(<span style="color: blue">bool </span>disposing)
        {
            <span style="color: blue">if </span>(!_disposed)
            {
                _disposed = <span style="color: blue">true</span>;

                <span style="color: blue">for </span>(<span style="color: blue">int </span>i = 1; i &lt;= NumberOfClosingDivs; i++)
                {
                    _writer.Write(<span style="color: #a31515">&quot;&lt;/div&gt;&quot;</span>);
                }                

                <span style="color: blue">if </span>(_viewContext != <span style="color: blue">null</span>)
                {
                    _viewContext.OutputClientValidation();
                }
            }
        }
    }
}</pre>
<p>&#160;</p>
<p>You would need to compile your solution first in order for the Html helper to become available and as easy as that you have an easy reusable UI component. </p>
<p>The other good news is that if you created your project based on the <a href="http://www.mythicalmanmoth.com/?p=358" target="_blank">MVC Themed App project template</a>, the widgets will also be automatically themed</p>
<p>If you have any comments or questions, please feel free to ask leave a comment or drop me a line on <a href="http://twitter.com/pietervander" target="_blank">Twitter</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mythicalmanmoth.com/?feed=rss2&#038;p=420</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to share Outlook Views and changes between folders</title>
		<link>http://www.mythicalmanmoth.com/?p=414</link>
		<comments>http://www.mythicalmanmoth.com/?p=414#comments</comments>
		<pubDate>Mon, 16 Apr 2012 16:59:00 +0000</pubDate>
		<dc:creator>Pieter van der Westhuizen</dc:creator>
				<category><![CDATA[Add-in Express]]></category>
		<category><![CDATA[Ms Outlook]]></category>

		<guid isPermaLink="false">http://www.mythicalmanmoth.com/?p=414</guid>
		<description><![CDATA[Every now and again, Eugene comes up with a certain challenge and asks me whether I would like to give it a go. In most of these cases it does involve a lot of trial and error and even more head scratching : ) The one challenge I’ll describe in todays’ article involves creating an [...]]]></description>
			<content:encoded><![CDATA[<p>Every now and again, <a href="http://www.add-in-express.com/team/eugene-starostin.php" target="_blank">Eugene</a> comes up with a certain challenge and asks me whether I would like to give it a go. In most of these cases it does involve a lot of trial and error and even more head scratching : ) The one challenge I’ll describe in todays’ article involves creating an Outlook folder view and applying it to two or more folders.</p>
<p>This in itself is not very hard to do. However, what if the user adds or removes fields from the one folder via the View Settings dialog?</p>
<p>Read more at <a href="http://www.add-in-express.com/creating-addins-blog/2012/04/16/share-outlook-views/">Add-in Express</a>.</p>
<blockquote><p>To see all my Add-in Express blog posts visit my <a href="http://www.add-in-express.com/creating-addins-blog/author/pieter-van-der-westhuizen/">author page.</a></p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.mythicalmanmoth.com/?feed=rss2&#038;p=414</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to create an Internet Explorer Bar for Microsoft Dynamics CRM</title>
		<link>http://www.mythicalmanmoth.com/?p=413</link>
		<comments>http://www.mythicalmanmoth.com/?p=413#comments</comments>
		<pubDate>Thu, 12 Apr 2012 16:57:00 +0000</pubDate>
		<dc:creator>Pieter van der Westhuizen</dc:creator>
				<category><![CDATA[Add-in Express]]></category>

		<guid isPermaLink="false">http://www.mythicalmanmoth.com/?p=413</guid>
		<description><![CDATA[Back in July 2010 I showed how using Add-in Express 2010, you can easily build additional integrations between Microsoft Outlook and Microsoft Dynamics CRM. In today’s post I’ll show you how to write another integration to Dynamics CRM, only this time it is using Add-in Express for Internet Explorer and .net. We will write an [...]]]></description>
			<content:encoded><![CDATA[<p>Back in July 2010 I showed how using Add-in Express 2010, you can easily build additional integrations between <a href="http://www.add-in-express.com/creating-addins-blog/2010/07/26/outlook-dynamics-crm/" target="_blank">Microsoft Outlook and Microsoft Dynamics CRM</a>. In today’s post I’ll show you how to write another integration to Dynamics CRM, only this time it is using <a href="http://www.add-in-express.com/programming-internet-explorer/index.php" target="_blank">Add-in Express for Internet Explorer and .net</a>.</p>
<p>We will write an add-on for Internet Explorer which will show the selected contact in Dynamics CRM’s orders on an IE bar.</p>
<p>Read more at <a href="http://www.add-in-express.com/creating-addins-blog/2012/04/12/internet-explorer-bar-microsoft-dynamics-crm/">Add-in Express</a>.</p>
<blockquote><p>To see all my Add-in Express blog posts visit my <a href="http://www.add-in-express.com/creating-addins-blog/author/pieter-van-der-westhuizen/">author page.</a></p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.mythicalmanmoth.com/?feed=rss2&#038;p=413</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to customize Outlook views programmatically</title>
		<link>http://www.mythicalmanmoth.com/?p=412</link>
		<comments>http://www.mythicalmanmoth.com/?p=412#comments</comments>
		<pubDate>Mon, 09 Apr 2012 16:54:00 +0000</pubDate>
		<dc:creator>Pieter van der Westhuizen</dc:creator>
				<category><![CDATA[Add-in Express]]></category>
		<category><![CDATA[MS Office]]></category>
		<category><![CDATA[Ms Outlook]]></category>

		<guid isPermaLink="false">http://www.mythicalmanmoth.com/?p=412</guid>
		<description><![CDATA[When creating Outlook add-ins I used to always use the Add-in Express Web view when I wanted to display my own data in the folder view. Until recently, when I realized that Outlook does expose a lot of properties that make it easy to display your custom data using the built-in Outlook types as well [...]]]></description>
			<content:encoded><![CDATA[<p>When creating Outlook add-ins I used to always use the Add-in Express Web view when I wanted to display my own data in the folder view. Until recently, when I realized that Outlook does expose a lot of properties that make it easy to display your custom data using the built-in Outlook types as well as Outlook views.</p>
<p>In today’s article I’ll walk you through importing product data from the Northwind database and only display the fields of the Northwind Products table in an Outlook view.</p>
<p>Read more at <a href="http://www.add-in-express.com/creating-addins-blog/2012/04/09/customize-outlook-views-programmatically/">Add-in Express</a>.</p>
<blockquote><p>To see all my Add-in Express blog posts visit my <a href="http://www.add-in-express.com/creating-addins-blog/author/pieter-van-der-westhuizen/">author page.</a></p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.mythicalmanmoth.com/?feed=rss2&#038;p=412</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WPF Controls for Office development smackdown</title>
		<link>http://www.mythicalmanmoth.com/?p=411</link>
		<comments>http://www.mythicalmanmoth.com/?p=411#comments</comments>
		<pubDate>Thu, 05 Apr 2012 16:53:00 +0000</pubDate>
		<dc:creator>Pieter van der Westhuizen</dc:creator>
				<category><![CDATA[Add-in Express]]></category>

		<guid isPermaLink="false">http://www.mythicalmanmoth.com/?p=411</guid>
		<description><![CDATA[We saw some interesting results with 3rd party UI control vendor products and Microsoft Office in my last article: Windows Forms controls for MS Office smack down. In today’s article we’ll see how the same vendors’ Windows Presentation Foundation (WPF) controls suites look like in Microsoft Office. We’ll build a standard WPF UI as our [...]]]></description>
			<content:encoded><![CDATA[<p>We saw some interesting results with 3rd party UI control vendor products and Microsoft Office in my last article: <a href="http://www.add-in-express.com/creating-addins-blog/2012/04/02/windows-forms-controls-office/">Windows Forms controls for MS Office smack down</a>. In today’s article we’ll see how the same vendors’ Windows Presentation Foundation (WPF) controls suites look like in Microsoft Office.</p>
<p>We’ll build a standard WPF UI as our baseline project. The UI will include 2 data grids, a combo box and 3 buttons.</p>
<p>Read more at <a href="http://www.add-in-express.com/creating-addins-blog/2012/04/05/wpf-controls-office-development/">Add-in Express</a>.</p>
<blockquote><p>To see all my Add-in Express blog posts visit my <a href="http://www.add-in-express.com/creating-addins-blog/author/pieter-van-der-westhuizen/">author page.</a></p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.mythicalmanmoth.com/?feed=rss2&#038;p=411</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows Forms controls smackdown (for MS Office)</title>
		<link>http://www.mythicalmanmoth.com/?p=410</link>
		<comments>http://www.mythicalmanmoth.com/?p=410#comments</comments>
		<pubDate>Mon, 02 Apr 2012 16:51:00 +0000</pubDate>
		<dc:creator>Pieter van der Westhuizen</dc:creator>
				<category><![CDATA[Add-in Express]]></category>

		<guid isPermaLink="false">http://www.mythicalmanmoth.com/?p=410</guid>
		<description><![CDATA[Add-in Express provides us with some awesome tools for adding our own Office Task Panes and advance Outlook form and view regions, but making the UI elements on those panes and regions look good, is up to us. Luckily for us there are a host of 3rd party UI control vendors providing a rich set [...]]]></description>
			<content:encoded><![CDATA[<p>Add-in Express provides us with some awesome tools for adding our own Office Task Panes and advance Outlook form and view regions, but making the UI elements on those panes and regions look good, is up to us.</p>
<p>Luckily for us there are a host of 3rd party UI control vendors providing a rich set of both Windows Forms and WPF controls. Which 3rd party vendor’s products work best for Microsoft Office developers? We’ll judge the controls on two areas:</p>
<ol>
<li>&#160;&#160;&#160; How fast do the components load in an Office Add-in? </li>
<li>&#160;&#160;&#160; Which control suite looks the best in Microsoft Office? </li>
</ol>
<p>Read more at <a href="http://www.add-in-express.com/creating-addins-blog/2012/04/02/windows-forms-controls-office/">Add-in Express</a>.</p>
<blockquote><p>To see all my Add-in Express blog posts visit my <a href="http://www.add-in-express.com/creating-addins-blog/author/pieter-van-der-westhuizen/">author page.</a></p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.mythicalmanmoth.com/?feed=rss2&#038;p=410</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Add-in Express vs. VSTO &#8211; Microsoft Office developer happiness</title>
		<link>http://www.mythicalmanmoth.com/?p=409</link>
		<comments>http://www.mythicalmanmoth.com/?p=409#comments</comments>
		<pubDate>Tue, 13 Mar 2012 05:50:00 +0000</pubDate>
		<dc:creator>Pieter van der Westhuizen</dc:creator>
				<category><![CDATA[Add-in Express]]></category>

		<guid isPermaLink="false">http://www.mythicalmanmoth.com/?p=409</guid>
		<description><![CDATA[This being the seventh and final instalment of the Add-in Express vs. VSTO series, I thought I’d wrap up with what could possibly be the most important feature of Add-in Express: Developer Happiness. Let’s face it; we do our best work when we enjoy what we do. I know I do. Add-in Express makes creating [...]]]></description>
			<content:encoded><![CDATA[<p>This being the seventh and final instalment of the Add-in Express vs. VSTO series, I thought I’d wrap up with what could possibly be the most important feature of Add-in Express: Developer Happiness.</p>
<p>Let’s face it; we do our best work when we enjoy what we do. I know I do. Add-in Express makes creating Microsoft Office add-ins fun. It’s great to have an idea, fire up Visual Studio and have a proof of concept within a few minutes and with zero frustration. Personally, I think having Add-in Express when developing Office extensions should be part of the Programmer’s Bill of Rights, let’s see why.</p>
<p>Read more at <a href="http://www.add-in-express.com/creating-addins-blog/2012/03/13/microsoft-office-developer-happiness/">Add-in Express</a>.</p>
<blockquote><p>To see all my Add-in Express blog posts visit my <a href="http://www.add-in-express.com/creating-addins-blog/author/pieter-van-der-westhuizen/">author page.</a></p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.mythicalmanmoth.com/?feed=rss2&#038;p=409</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Add-in Express vs. VSTO: Office add-in deployment</title>
		<link>http://www.mythicalmanmoth.com/?p=407</link>
		<comments>http://www.mythicalmanmoth.com/?p=407#comments</comments>
		<pubDate>Fri, 09 Mar 2012 20:27:00 +0000</pubDate>
		<dc:creator>Pieter van der Westhuizen</dc:creator>
				<category><![CDATA[Add-in Express]]></category>

		<guid isPermaLink="false">http://www.mythicalmanmoth.com/?p=407</guid>
		<description><![CDATA[Planning the deployment of any software product is something most of us leave right to the end of the project. It makes logical sense to do so, everything that needs to be built is built and we know what we need to deploy. Unfortunately, the setup program is also quite often something we do quickly, [...]]]></description>
			<content:encoded><![CDATA[<p>Planning the deployment of any software product is something most of us leave right to the end of the project. It makes logical sense to do so, everything that needs to be built is built and we know what we need to deploy. Unfortunately, the setup program is also quite often something we do quickly, trusting the Visual Studio tools to take care of all the prerequisites and dependencies.</p>
<p>Visual Studio does a pretty decent job of building setup projects when it comes to non-VSTO projects but one of the major pain areas with VSTO is deployment. In this post, I’ll walk you through some of the steps in building a setup project for a simple VSTO Office Add-in and then I’ll show you how Add-in Express builds the setup project for <em>you</em>.</p>
<p>Read more at <a href="http://www.add-in-express.com/creating-addins-blog/2012/03/09/office-addin-deployment/">Add-in Express</a>.</p>
<blockquote><p>To see all my Add-in Express blog posts visit my <a href="http://www.add-in-express.com/creating-addins-blog/author/pieter-van-der-westhuizen/">author page.</a></p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.mythicalmanmoth.com/?feed=rss2&#038;p=407</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Add-in Express vs. VSTO: Custom Office task panes</title>
		<link>http://www.mythicalmanmoth.com/?p=406</link>
		<comments>http://www.mythicalmanmoth.com/?p=406#comments</comments>
		<pubDate>Tue, 06 Mar 2012 03:54:00 +0000</pubDate>
		<dc:creator>Pieter van der Westhuizen</dc:creator>
				<category><![CDATA[Add-in Express]]></category>
		<category><![CDATA[MS Excel]]></category>

		<guid isPermaLink="false">http://www.mythicalmanmoth.com/?p=406</guid>
		<description><![CDATA[A task pane is a dockable window which was first introduced in Microsoft Office XP. It provided a new and convenient way for users to gather information and access common features and commands. Chances are that if you&#8217;ve used any application in the Microsoft Office suite you would have used a task pane. One of [...]]]></description>
			<content:encoded><![CDATA[<p>A task pane is a dockable window which was first introduced in Microsoft Office XP. It provided a new and convenient way for users to gather information and access common features and commands. Chances are that if you&#8217;ve used any application in the Microsoft Office suite you would have used a task pane.</p>
<p>One of the task panes I use rather often is the Clipboard. You access this task pane by clicking the dialog box launcher button on the Clipboard group in applications such as Word, Excel and Outlook.</p>
<p>Read more at <a href="http://www.add-in-express.com/creating-addins-blog/2012/03/06/custom-office-task-panes/">Add-in Express</a>.</p>
<blockquote><p>To see all my Add-in Express blog posts visit my <a href="http://www.add-in-express.com/creating-addins-blog/author/pieter-van-der-westhuizen/">author page.</a></p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.mythicalmanmoth.com/?feed=rss2&#038;p=406</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Add-in Express vs. VSTO: Outlook regions</title>
		<link>http://www.mythicalmanmoth.com/?p=404</link>
		<comments>http://www.mythicalmanmoth.com/?p=404#comments</comments>
		<pubDate>Tue, 28 Feb 2012 05:04:00 +0000</pubDate>
		<dc:creator>Pieter van der Westhuizen</dc:creator>
				<category><![CDATA[Add-in Express]]></category>
		<category><![CDATA[Advanced Regions]]></category>
		<category><![CDATA[Ms Outlook]]></category>

		<guid isPermaLink="false">http://www.mythicalmanmoth.com/?p=404</guid>
		<description><![CDATA[Microsoft Outlook regions are cool. It offers developers the ability to add their own custom functionality to the standard Microsoft Outlook Inspector or Explorer windows. VSTO provides a fairly respectable Outlook Form Region project item template for use in Visual Studio. Read more at Add-in Express. To see all my Add-in Express blog posts visit [...]]]></description>
			<content:encoded><![CDATA[<p>Microsoft Outlook regions are cool. It offers developers the ability to add their own custom functionality to the standard Microsoft Outlook Inspector or Explorer windows.</p>
<p>VSTO provides a fairly respectable Outlook Form Region project item template for use in Visual Studio.</p>
<p>Read more at <a href="http://www.add-in-express.com/creating-addins-blog/2012/02/28/outlook-regions/">Add-in Express</a>.</p>
<blockquote><p>To see all my Add-in Express blog posts visit my <a href="http://www.add-in-express.com/creating-addins-blog/author/pieter-van-der-westhuizen/">author page.</a></p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.mythicalmanmoth.com/?feed=rss2&#038;p=404</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

