<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Ezequiel Jadib's Blog</title>
	
	<link>http://blogs.southworks.net/ejadib</link>
	<description>There is not place like 127.0.0.1</description>
	<pubDate>Fri, 10 Jul 2009 15:49:05 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/ejadib" type="application/rss+xml" /><item>
		<title>Live Smooth Streaming: How-to: Retrieve the configuration settings programmatically</title>
		<link>http://feedproxy.google.com/~r/ejadib/~3/CepBtSv6hos/</link>
		<comments>http://blogs.southworks.net/ejadib/2009/04/17/live-smooth-streaming-how-to-retrieve-the-configuration-settings-programmatically/#comments</comments>
		<pubDate>Fri, 17 Apr 2009 07:39:16 +0000</pubDate>
		<dc:creator>ejadib</dc:creator>
		
		<category><![CDATA[Adaptive Streaming]]></category>

		<category><![CDATA[IIS7]]></category>

		<category><![CDATA[Live Smooth Streaming]]></category>

		<category><![CDATA[RSCA]]></category>

		<category><![CDATA[Smooth Streaming]]></category>

		<guid isPermaLink="false">http://blogs.southworks.net/ejadib/?p=202</guid>
		<description><![CDATA[In my previous post, I explained how the Microsoft.Web.Administration API of IIS7 helped us to manage the Live Smooth Streaming Publishing Points programmatically. In this post I&#8217;m going to show you how, using the same API, you can retrieve the Live Smooth Streaming configuration settings.
First, let&#8217;s take a look at the Live Smooth Streaming configuration [...]]]></description>
			<content:encoded><![CDATA[<p>In my <a href="http://blogs.southworks.net/ejadib/2009/04/16/live-smooth-streaming-how-to-start-stop-shutdown-a-publishing-point-programmatically/" target="_blank">previous post</a>, I explained how the <a href="http://msdn.microsoft.com/en-us/library/microsoft.web.administration.aspx" target="_blank">Microsoft.Web.Administration API</a> of IIS7 helped us to manage the Live Smooth Streaming Publishing Points programmatically. In this post I&#8217;m going to show you how, using the same API, you can retrieve the Live Smooth Streaming configuration settings.</p>
<p>First, let&#8217;s take a look at the Live Smooth Streaming configuration settings window</p>
<p><img src="http://blogs.southworks.net/ejadib/files/2009/04/image2.png" border="0" alt="image" width="600" height="374" /></p>
<p>The main idea here is to read the Live Streaming configuration section and get the attributes values from there. The piece of code looks like:</p>
<table border="0" cellspacing="0" cellpadding="0" width="600">
<tbody>
<tr>
<td width="600" valign="top">
<pre><span style="color: #0000ff">const string </span>LiveStreamingSectionPath = <span style="color: #a31515">&#8220;system.webServer/media/liveStreaming&#8221;</span>;

<span style="color: #2b91af">ServerManager </span>serverManager = <span style="color: #0000ff">new </span><span style="color: #2b91af">ServerManager</span>();

<span style="color: #2b91af">Configuration </span>configuration = serverManager.GetApplicationHostConfiguration();
<span style="color: #2b91af">ConfigurationSection </span>section = configuration.GetSection(LiveStreamingSectionPath);

<span style="color: #0000ff">if </span>(section != <span style="color: #0000ff">null</span>)
{
    <span style="color: #0000ff">foreach </span>(<span style="color: #2b91af">ConfigurationAttribute </span>attribute <span style="color: #0000ff">in </span>section.Attributes)
    {
        <span style="color: #2b91af">Console</span>.WriteLine(<span style="color: #a31515">&#8220;{0}: {1}&#8221;</span>, attribute.Name, attribute.Value);
    }

    <span style="color: #2b91af">Console</span>.ReadLine();
}</pre>
</td>
</tr>
</tbody>
</table>
<p>Running the preceding code will output the following:</p>
<p><img src="http://blogs.southworks.net/ejadib/files/2009/04/image3.png" border="0" alt="image" width="600" height="143" /></p>
<p>As you see, reading the configuration settings is easy and can enable you different scenarios, for example, deleting the archived streams of a publishing point.<br />
If you want to take a look at the Live Smooth Streaming schema, go to <em>%windir%\System32\inetsrv\config\schema</em> and open the<em> IISMedia_LiveStreaming_schema.xml</em> file.</p>
<p>Happy streaming!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ejadib?a=CepBtSv6hos:JATRl1AGlMM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ejadib?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ejadib?a=CepBtSv6hos:JATRl1AGlMM:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/ejadib?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ejadib?a=CepBtSv6hos:JATRl1AGlMM:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/ejadib?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ejadib?a=CepBtSv6hos:JATRl1AGlMM:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/ejadib?i=CepBtSv6hos:JATRl1AGlMM:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ejadib/~4/CepBtSv6hos" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blogs.southworks.net/ejadib/2009/04/17/live-smooth-streaming-how-to-retrieve-the-configuration-settings-programmatically/feed/</wfw:commentRss>
		<feedburner:origLink>http://blogs.southworks.net/ejadib/2009/04/17/live-smooth-streaming-how-to-retrieve-the-configuration-settings-programmatically/</feedburner:origLink></item>
		<item>
		<title>Live Smooth Streaming: How-to: Start, Stop &amp; Shutdown a Publishing Point Programmatically</title>
		<link>http://feedproxy.google.com/~r/ejadib/~3/TTTLqnq7PAY/</link>
		<comments>http://blogs.southworks.net/ejadib/2009/04/16/live-smooth-streaming-how-to-start-stop-shutdown-a-publishing-point-programmatically/#comments</comments>
		<pubDate>Thu, 16 Apr 2009 12:05:17 +0000</pubDate>
		<dc:creator>ejadib</dc:creator>
		
		<category><![CDATA[Adaptive Streaming]]></category>

		<category><![CDATA[IIS7]]></category>

		<category><![CDATA[Live Smooth Streaming]]></category>

		<category><![CDATA[RSCA]]></category>

		<category><![CDATA[Silverlight]]></category>

		<category><![CDATA[Silverlight 2]]></category>

		<category><![CDATA[Silverlight 3]]></category>

		<category><![CDATA[Smooth Streaming]]></category>

		<guid isPermaLink="false">http://blogs.southworks.net/ejadib/2009/04/16/live-smooth-streaming-how-to-start-stop-shutdown-a-publishing-point-programmatically/</guid>
		<description><![CDATA[During the last months I have been working in a project highly related to multimedia and client development technologies such as Silverlight. And in the last few weeks, I started to look to some of the new IIS Media services such as Smooth Streaming and Live Smooth Streaming in order to gather as much knowledge [...]]]></description>
			<content:encoded><![CDATA[<p>During the last months I have been working in a project highly related to multimedia and <img style="margin-left: 0px;margin-right: 0px" src="http://blogs.southworks.net/ejadib/files/2009/04/iissmooth.jpg" border="0" alt="iis-smooth" width="182" height="134" align="right" />client development technologies such as Silverlight. And in the last few weeks, I started to look to some of the new <a href="http://www.iis.net/media">IIS Media services</a> such as <a href="http://www.iis.net/extensions/SmoothStreaming">Smooth Streaming</a> and <a href="http://www.iis.net/extensions/LiveSmoothStreaming">Live Smooth Streaming</a> in order to gather as much knowledge about them to perform some spikes for the project.</p>
<p>One of the things that came up while spiking was finding a way to start, stop &amp; shutdown a publishing point via code.</p>
<h5><strong>Microsoft.Web.Administration to the Rescue</strong></h5>
<p><a href="http://blogs.msdn.com/carlosag/archive/2006/04/17/MicrosoftWebAdministration.aspx" target="_blank"><img style="margin-left: 0px;margin-right: 0px" src="http://blogs.southworks.net/ejadib/files/2009/04/servermanager.png" border="0" alt="ServerManager" width="297" height="188" align="left" /></a>With IIS7 a <a href="http://msdn.microsoft.com/en-us/library/microsoft.web.administration.aspx" target="_blank">new API</a> to administer IIS from managed code was introduced. This API is really simple to use and with a few lines of code you can manipulate the server configuration as any other information available in IIS7. (if you want to taste the power of this API, I recommend you to read <a href="http://blogs.msdn.com/carlosag/archive/2006/04/17/MicrosoftWebAdministration.aspx" target="_blank">this post</a> from <a href="http://blogs.msdn.com/carlosag" target="_blank">Carlos Aguilar Mares</a>).</p>
<p>So, I used the Microsoft.Web.Administration.dll assembly, that can be found at IIS Directory (%windir%\System32\inetSrv), to perform the operations over the publishing point. But it was not so easy to do it, as there is no information available yet about what RSCA function has to be called  and which parameters need to be used in order get the desired results.</p>
<p>Then, I started to look at the different IIS configuration files (%windir%\System32\inetsrv\config) searching for clues and I came up with the Microsoft.Web.Management.Media.LiveStreaming.dll assembly (this assembly can be found in the GAC after installing the <a href="http://www.iis.net/extensions/LiveSmoothStreaming" target="_blank">Live Smooth Streaming bits</a>).</p>
<p>In that moment I summoned my best friend Reflector and together went to the depths of this assembly until we found some code that might be useful for our objective.</p>
<p>After doing some tests, I ended up with the following method:</p>
<table border="0" cellspacing="0" cellpadding="0" width="604">
<tbody>
<tr>
<td width="602" valign="top">
<pre><span style="color: blue">private static void </span>ExecuteRscaFunction(<span style="color: #2b91af">ConfigurationElement </span>workerProcess,</pre>
<pre>                                        <span style="color: blue">string </span>siteName, <span style="color: blue">string </span>applicationPath,</pre>
<pre>                                        <span style="color: blue">string </span>fileName, <span style="color: blue">string </span>functionName)
{
    <span style="color: #2b91af">ConfigurationMethod </span>configurationMethod = workerProcess.Methods[<span style="color: #a31515">"GetCustomData"</span>];

    <span style="color: #2b91af">ConfigurationMethodInstance </span>instance = configurationMethod.CreateInstance();
    instance.Input[<span style="color: #a31515">"guidIdOfFunctionCall"</span>] = <span style="color: #a31515">&#8220;Media_LiveStreaming_Control&#8221;</span>;

    <span style="color: blue">string </span>currentLogicalPath = applicationPath;

    <span style="color: blue">if </span>(!currentLogicalPath.EndsWith(<span style="color: #a31515">&#8220;/&#8221;</span>, <span style="color: #2b91af">StringComparison</span>.OrdinalIgnoreCase))
    {
        currentLogicalPath = currentLogicalPath + <span style="color: #a31515">&#8220;/&#8221;</span>;
    }

    <span style="color: blue">string </span>fullPath = <span style="color: blue">string</span>.Concat(currentLogicalPath, fileName);
    <span style="color: blue">string </span>parameters = <span style="color: blue">string</span>.Format(<span style="color: #2b91af">CultureInfo</span>.InvariantCulture, <span style="color: #a31515">&#8220;{0};{1};{2}&#8221;</span>,
                                      functionName, siteName, fullPath);
    instance.Input[<span style="color: #a31515">"parametersOfFunctionCall"</span>] = parameters;
    instance.Execute();
}</pre>
<p><a href="http://11011.net/software/vspaste"></a></td>
</tr>
</tbody>
</table>
<p>The most important thing of the method above is the <em>functionName</em> parameter. This parameter can be one the following values depending on what you want to accomplish:</p>
<ul>
<li><strong>StartPublishingPoint</strong>. This is used to start a publishing point.</li>
<li><strong>StopPublishingPoint</strong>.<strong> </strong>This is used to stop the live source of the publishing point.</li>
<li><strong>ShutdownPublishingPoint</strong>. This is used to shutdown a publishing point.</li>
</ul>
<p>To understand where the others parameters should come from, let’s take a look at the following example:  <img src="http://blogs.southworks.net/ejadib/files/2009/04/image.png" border="0" alt="image" width="486" height="231" /> So, if we want to the start the <em>LiveSmoothStream</em> publishing point associated to the <em>SmoothStreaming</em> application from the <em>Default Web Site</em>, we should call the ExecuteRscaFunction method in this way:</p>
<table border="0" cellspacing="0" cellpadding="0" width="600">
<tbody>
<tr>
<td width="600" valign="top">
<pre>ExecuteRscaFunction(workerProcess,</pre>
<pre>                    <span style="color: #a31515">&#8220;Default Web Site&#8221;</span>, <span style="color: #a31515">&#8220;/SmoothStreaming&#8221;</span>,</pre>
<pre>                    <span style="color: #a31515">&#8220;LiveSmoothStream.isml&#8221;</span>, <span style="color: #a31515">&#8220;StartPublishingPoint&#8221;</span>);</pre>
</td>
</tr>
</tbody>
</table>
<p>The remaining parameter (<em>workerProcess</em>) must be retrieved from the application pool associated to the application.</p>
<p><strong>Note</strong>: You can use the Microsoft.Web.Administration API to get all the values previously mentioned.</p>
<p>To see if the function is working you can add the following lines of code at the end of the method to parse the output and print it on the console.</p>
<table border="0" cellspacing="0" cellpadding="0" width="600">
<tbody>
<tr>
<td width="600" valign="top">
<pre><span style="color: blue">string </span>rawOutput = instance.Output[<span style="color: #a31515">"data"</span>] <span style="color: blue">as string</span>;

<span style="color: blue">byte</span>[] bytes = <span style="color: #2b91af">Convert</span>.FromBase64String(rawOutput);
<span style="color: #2b91af">ASCIIEncoding </span>encoding = <span style="color: blue">new </span><span style="color: #2b91af">ASCIIEncoding</span>();

<span style="color: #2b91af">Console</span>.WriteLine(encoding.GetString(bytes));</pre>
</td>
</tr>
</tbody>
</table>
<p>The output after executing the Stop, Shutdown and Start functions:</p>
<p><img src="http://blogs.southworks.net/ejadib/files/2009/04/image1.png" border="0" alt="image" width="578" height="198" /></p>
<p>Hope this helps!. If you want to learn more about Smooth Streaming you might find useful the following links:</p>
<ul>
<li><a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=03d22583-3ed6-44da-8464-b1b4b5ca7520" target="_blank">IIS Smooth Streaming Technical Overview</a></li>
<li><a href="http://alexzambelli.com/blog/2009/02/10/smooth-streaming-architecture/">Smooth Streaming Architecture</a></li>
<li><a href="http://alexzambelli.com/blog/2009/02/04/the-birth-of-smooth-streaming/">The Birth of Smooth Streaming</a></li>
<li><a href="http://learn.iis.net/page.aspx/620/live-smooth-streaming-for-iis-70---getting-started/" target="_blank">Live Smooth Streaming for IIS 7.0 - Getting Started</a></li>
<li><a href="http://learn.iis.net/page.aspx/622/iis-live-smooth-streaming---creating-and-managing-publishing-points/" target="_blank">IIS Live Smooth Streaming - Creating and Managing Publishing Points</a></li>
<li><a href="http://blogs.iis.net/jboch/archive/2009/02/19/smooth-streaming-questions-we-ve-got-answers.aspx">Smooth Streaming Questions? We’ve Got Answers!</a></li>
<li><a href="http://blogs.iis.net/jboch/archive/2008/10/28/i-ve-seen-the-future-and-the-future-is-smooth.aspx" target="_blank">I’ve seen the future and the future is… Smooth!</a></li>
<li><a href="http://alexzambelli.com/blog/2008/12/17/a-brief-history-of-multi-bitrate-streaming/">A Brief History of Multi-Bitrate Streaming</a></li>
</ul>
<p>Happy streaming!.</p>
<p><a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fblogs.southworks.net%2fejadib%2f2009%2f04%2f16%2flive-smooth-streaming-how-to-start-stop-shutdown-a-publishing-point-programmatically%2f"><img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fblogs.southworks.net%2fejadib%2f2009%2f04%2f16%2flive-smooth-streaming-how-to-start-stop-shutdown-a-publishing-point-programmatically%2f" border="0" alt="kick it on DotNetKicks.com" /></a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ejadib?a=TTTLqnq7PAY:QFLkzP8VODo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ejadib?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ejadib?a=TTTLqnq7PAY:QFLkzP8VODo:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/ejadib?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ejadib?a=TTTLqnq7PAY:QFLkzP8VODo:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/ejadib?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ejadib?a=TTTLqnq7PAY:QFLkzP8VODo:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/ejadib?i=TTTLqnq7PAY:QFLkzP8VODo:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ejadib/~4/TTTLqnq7PAY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blogs.southworks.net/ejadib/2009/04/16/live-smooth-streaming-how-to-start-stop-shutdown-a-publishing-point-programmatically/feed/</wfw:commentRss>
		<feedburner:origLink>http://blogs.southworks.net/ejadib/2009/04/16/live-smooth-streaming-how-to-start-stop-shutdown-a-publishing-point-programmatically/</feedburner:origLink></item>
		<item>
		<title>Prism v2: Migrating from Drop 9 to Drop 10</title>
		<link>http://feedproxy.google.com/~r/ejadib/~3/ZsTxU9DuoQE/</link>
		<comments>http://blogs.southworks.net/ejadib/2009/02/03/prism-v2-migrating-from-drop-9-to-drop-10/#comments</comments>
		<pubDate>Tue, 03 Feb 2009 17:23:44 +0000</pubDate>
		<dc:creator>ejadib</dc:creator>
		
		<category><![CDATA[CWPF]]></category>

		<category><![CDATA[Composite Application Guidance for Silverlight]]></category>

		<category><![CDATA[Composite Application Guidance for WPF]]></category>

		<category><![CDATA[Composite Application Library]]></category>

		<category><![CDATA[Composite WPF]]></category>

		<category><![CDATA[Patterns &amp; Practices]]></category>

		<category><![CDATA[Powershell]]></category>

		<category><![CDATA[Prism]]></category>

		<category><![CDATA[Silverlight]]></category>

		<category><![CDATA[WPF]]></category>

		<category><![CDATA[WPF Composite Client]]></category>

		<category><![CDATA[Windows Presentation Foundation]]></category>

		<guid isPermaLink="false">http://blogs.southworks.net/ejadib/?p=192</guid>
		<description><![CDATA[As you may know, last Friday a new drop of the Composite Application Guidance for WPF &#38; Silverlight was released.
As Erwin said in this post, one of the breaking changes of this new drop is that they removed the .Silverlight and .Desktop extensions from the Assembly names. If you are like me and have more [...]]]></description>
			<content:encoded><![CDATA[<p>As you may know, last Friday a <a href="http://www.codeplex.com/CompositeWPF/Release/ProjectReleases.aspx?ReleaseId=22566">new drop</a> of the <a href="http://www.codeplex.com/CompositeWPF">Composite Application Guidance for WPF &amp; Silverlight</a> was released.</p>
<p>As <a href="http://blogs.msdn.com/erwinvandervalk/">Erwin</a> said in <a href="http://blogs.msdn.com/erwinvandervalk/archive/2009/01/30/prism-v2-drop-10-composite-application-guidance.aspx">this post</a>, one of the breaking changes of this new drop is that they removed the .Silverlight and .Desktop extensions from the Assembly names. If you are like me and have more than one solution using <a href="http://www.codeplex.com/CompositeWPF">Prism v2</a> with a bunch of projects, you will probably find really annoying going over each project to update the references and the xaml files.</p>
<p>So, in order to accomplish this, I created a Powershell script that will look for all the .csproj and .xaml that contain references to the old prism assemblies and will update it to the new version of them.</p>
<p><strong>Note</strong>: If you have your code in TFS, make sure to go offline before running the script, so when you go back online it will detect the changes.</p>
<p><strong>Disclaimer </strong></p>
<p>This code is provided &#8220;AS IS&#8221; with no warranties, and confers no rights.</p>
<p><strong>Download </strong></p>
<p>You can find the script <a href="http://blogs.southworks.net/ejadib/files/2009/02/migratefromdrop9todrop10.zip" target="_blank">here</a>.</p>
<p> </p>
<p>Hope you find it useful.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ejadib?a=ZsTxU9DuoQE:_dMpBt21bFk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ejadib?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ejadib?a=ZsTxU9DuoQE:_dMpBt21bFk:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/ejadib?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ejadib?a=ZsTxU9DuoQE:_dMpBt21bFk:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/ejadib?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ejadib?a=ZsTxU9DuoQE:_dMpBt21bFk:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/ejadib?i=ZsTxU9DuoQE:_dMpBt21bFk:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ejadib/~4/ZsTxU9DuoQE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blogs.southworks.net/ejadib/2009/02/03/prism-v2-migrating-from-drop-9-to-drop-10/feed/</wfw:commentRss>
		<feedburner:origLink>http://blogs.southworks.net/ejadib/2009/02/03/prism-v2-migrating-from-drop-9-to-drop-10/</feedburner:origLink></item>
		<item>
		<title>PDC 2008 Time: Meet Me In Los Angeles</title>
		<link>http://feedproxy.google.com/~r/ejadib/~3/GqZ4qM5xrho/</link>
		<comments>http://blogs.southworks.net/ejadib/2008/10/27/pdc-2008-time-meet-me-in-los-angeles/#comments</comments>
		<pubDate>Mon, 27 Oct 2008 04:00:50 +0000</pubDate>
		<dc:creator>ejadib</dc:creator>
		
		<category><![CDATA[PDC]]></category>

		<category><![CDATA[PDC 2008]]></category>

		<category><![CDATA[Redmond]]></category>

		<guid isPermaLink="false">http://blogs.southworks.net/ejadib/2008/10/27/pdc-2008-time-meet-me-in-los-angeles/</guid>
		<description><![CDATA[
 During the latest months at Southworks, we have been working on several demos and materials for the Microsoft’s Professional Developer Conference 2008. 
And in the last two weeks, with Matias and Edgardo, we were in Redmond (Microsoft Corp Main Campus) working hard with the Microsoft Developer &#38; Platform Evangelism (DPE) Team on many different [...]]]></description>
			<content:encoded><![CDATA[</p>
<p><a href="http://blogs.southworks.net/ejadib/files/2008/10/meetme.jpg"><img height="188" alt="meetme" src="http://blogs.southworks.net/ejadib/files/2008/10/meetme-thumb.jpg" width="138" align="left" border="0" /></a> During the latest months at <a href="http://www.southworks.net">Southworks</a>, we have been working on several demos and materials for the <a href="http://www.microsoftpdc.com/">Microsoft’s Professional Developer Conference 2008</a>. </p>
<p>And in the last two weeks, with <a href="http://blogs.southworks.net/mwoloski">Matias</a> and <a href="http://blogs.southworks.net/erossetto">Edgardo</a>, we were in Redmond (Microsoft Corp Main Campus) working hard with the Microsoft Developer &amp; Platform Evangelism (DPE) Team on many different projects, all them related to PDC 2008.</p>
<p>Now is time to fly to LA. <a href="http://blogs.southworks.net/mwoloski">Matias</a>, <a href="http://blogs.southworks.net/erossetto">Edgardo</a>, <a href="http://blogs.southworks.net/tosborn">Tim</a>, Alex, <a href="http://blogs.southworks.net/jhalife">Johnny</a>, <a href="http://blogs.southworks.net/fjack">Fede</a>, and <a href="http://blogs.southworks.net/ejadib">myself</a> will be attending one of the biggest events designed for leading-edge developers and software architects.</p>
<p>There are a lot of <a href="https://sessions.microsoftpdc.com/public/sessions.aspx">sessions</a> about many different topics, but the star will be the cloud. Microsoft will be announcing new technologies around the development platform, including the Windows Live Services Platform.</p>
<p>&#160;</p>
<p>So if you are attending, let&#8217;s meet there. For sure that you will find me in the Cloud and Identity sessions.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ejadib?a=GqZ4qM5xrho:jqxlDgXHUYg:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ejadib?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ejadib?a=GqZ4qM5xrho:jqxlDgXHUYg:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/ejadib?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ejadib?a=GqZ4qM5xrho:jqxlDgXHUYg:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/ejadib?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ejadib?a=GqZ4qM5xrho:jqxlDgXHUYg:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/ejadib?i=GqZ4qM5xrho:jqxlDgXHUYg:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ejadib/~4/GqZ4qM5xrho" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blogs.southworks.net/ejadib/2008/10/27/pdc-2008-time-meet-me-in-los-angeles/feed/</wfw:commentRss>
		<feedburner:origLink>http://blogs.southworks.net/ejadib/2008/10/27/pdc-2008-time-meet-me-in-los-angeles/</feedburner:origLink></item>
		<item>
		<title>CompositeWPF (Prism) Contrib Latest Additions (2008-10-26)</title>
		<link>http://feedproxy.google.com/~r/ejadib/~3/CVhBXF1_4NE/</link>
		<comments>http://blogs.southworks.net/ejadib/2008/10/26/compositewpf-prism-contrib-latest-additions-2008-10-26/#comments</comments>
		<pubDate>Mon, 27 Oct 2008 02:34:40 +0000</pubDate>
		<dc:creator>ejadib</dc:creator>
		
		<category><![CDATA[CWPF]]></category>

		<category><![CDATA[Composite Application Guidance for WPF]]></category>

		<category><![CDATA[Composite WPF]]></category>

		<category><![CDATA[Composite WPF Contrib]]></category>

		<category><![CDATA[Patterns &amp; Practices]]></category>

		<category><![CDATA[Prism]]></category>

		<category><![CDATA[Prism Contrib]]></category>

		<category><![CDATA[WPF]]></category>

		<category><![CDATA[WPF Composite Client]]></category>

		<category><![CDATA[Windows Presentation Foundation]]></category>

		<category><![CDATA[OutlookBar]]></category>

		<guid isPermaLink="false">http://blogs.southworks.net/ejadib/2008/10/26/compositewpf-prism-contrib-latest-additions-2008-10-26/</guid>
		<description><![CDATA[
These are the latest extensions added to the CompositeWPF Contrib community project:

Window Region Adapter (contributed by Ignacio Baumann Fonay). The Window Region Adapter provides a way to show views in separate windows with a custom style.             For more information about this adapter, see [...]]]></description>
			<content:encoded><![CDATA[</p>
<p>These are the latest extensions added to the <a href="http://www.codeplex.com/CompositeWPFContrib" target="_blank">CompositeWPF Contrib</a> community project:</p>
<ul>
<li><strong>Window Region Adapter</strong> (contributed by <a href="http://blogs.southworks.net/ibaumann/" target="_blank">Ignacio Baumann Fonay</a>). The Window Region Adapter provides a way to show views in separate windows with a custom style.      <br /><a href="http://blogs.southworks.net/ejadib/files/2008/10/image.png"><img height="241" alt="image" src="http://blogs.southworks.net/ejadib/files/2008/10/image-thumb.png" width="517" border="0" /></a>       <br />For more information about this adapter, see <a href="http://blogs.southworks.net/ibaumann/2008/09/26/windowregionadapter-for-compositewpf-prism/" target="_blank">WindowRegionAdapter for CompositeWPF (Prism)</a>.</li>
<li><strong>Composite Extensions for Windows Forms </strong>(contributed by <a href="http://briannoyes.net/" target="_blank">Brian Noyes</a>). This extensions allows you to use module loading and events in Windows Form.      <br />For more information about this extensions, see <a href="http://www.softinsight.com/bnoyes/2008/10/13/CompositeExtensionsForWindowsForms.aspx" target="_blank">Composite Extensions for Windows Forms</a>.</li>
<li><strong>Castle Windsor adapter</strong> (contributed by <a href="http://blog.hightech.ir" target="_blank">Hadi Eskandari</a>). This adapter allows you to use Castle Windsor as IOC container for your CompositeWPF Applications.      <br />For more information about this adapter, see <a href="http://blog.hightech.ir/2008/10/castle-windsor-adapter-for-prism.html" target="_blank">Castle Windsor Adapter for Prism</a>.</li>
<li><strong>Spring.NET adapter </strong>(contributed by <a href="http://blogs.infosupport.com/blogs/willemm" target="_blank">Willem Meints</a>). This adapter allows you to use Spring.NET as IOC container for your CompositeWPF applications.      <br />For more information about this adapter, see <a href="http://blogs.infosupport.com/blogs/willemm/archive/2008/09/16/Using-Spring.NET-as-IOC-container-for-Composite-WPF.aspx" target="_blank">Using Spring.NET as IOC container for Composite WPF</a>.</li>
</ul>
<h5><strong>Download</strong></h5>
<p>You can get these extensions, among others, by downloading <a href="http://www.codeplex.com/CompositeWPFContrib/SourceControl/ListDownloadableCommits.aspx">latest change set</a> of the <a href="http://www.codeplex.com/CompositeWPFContrib">CompositeWPF Contrib</a> source control.</p>
<h5><strong>Where I can find the documentation of the extensions added to the project?</strong></h5>
<p>To check the documentation of the extensions added so far, please visit the <a href="http://www.codeplex.com/CompositeWPFContrib/Wiki/View.aspx?title=Documentation&amp;referringTitle=Home">Documentation</a> page in the <a href="http://www.codeplex.com/CompositeWPFContrib">community site</a>.</p>
<p>&#160;</p>
<p>Enjoy!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ejadib?a=CVhBXF1_4NE:YZc9pt9Sads:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ejadib?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ejadib?a=CVhBXF1_4NE:YZc9pt9Sads:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/ejadib?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ejadib?a=CVhBXF1_4NE:YZc9pt9Sads:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/ejadib?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ejadib?a=CVhBXF1_4NE:YZc9pt9Sads:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/ejadib?i=CVhBXF1_4NE:YZc9pt9Sads:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ejadib/~4/CVhBXF1_4NE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blogs.southworks.net/ejadib/2008/10/26/compositewpf-prism-contrib-latest-additions-2008-10-26/feed/</wfw:commentRss>
		<feedburner:origLink>http://blogs.southworks.net/ejadib/2008/10/26/compositewpf-prism-contrib-latest-additions-2008-10-26/</feedburner:origLink></item>
		<item>
		<title>New Samples in CompositeWPF (Prism) Contrib (2008-09-13)</title>
		<link>http://feedproxy.google.com/~r/ejadib/~3/Xjg32yh5aes/</link>
		<comments>http://blogs.southworks.net/ejadib/2008/09/14/new-samples-in-compositewpf-prism-contrib-2008-09-13/#comments</comments>
		<pubDate>Sun, 14 Sep 2008 23:31:20 +0000</pubDate>
		<dc:creator>ejadib</dc:creator>
		
		<category><![CDATA[CWPF]]></category>

		<category><![CDATA[Composite Application Guidance for WPF]]></category>

		<category><![CDATA[Composite WPF]]></category>

		<category><![CDATA[Composite WPF Contrib]]></category>

		<category><![CDATA[OutlookBar]]></category>

		<category><![CDATA[Patterns &amp; Practices]]></category>

		<category><![CDATA[Presentation Model]]></category>

		<category><![CDATA[Prism]]></category>

		<category><![CDATA[Prism Contrib]]></category>

		<category><![CDATA[WPF]]></category>

		<category><![CDATA[WPF Composite Client]]></category>

		<category><![CDATA[Windows Presentation Foundation]]></category>

		<guid isPermaLink="false">http://blogs.southworks.net/ejadib/2008/09/14/new-samples-in-compositewpf-prism-contrib-2008-09-13/</guid>
		<description><![CDATA[Four new samples has been added to the CompositeWPF Contrib community project:

Presentation Model with DataTemplates. Julian Dominguez has been writing about Presentation Model and in his latest post he described how he updated the Commanding QuickStart we shipped in the CompositeWPF June 2008 release to use automatic DataTemplates.
Disconnected Service Agent (DSA) with CompositeWPF. This sample [...]]]></description>
			<content:encoded><![CDATA[<p>Four new samples has been added to the <a href="http://www.codeplex.com/CompositeWPFContrib" target="_blank">CompositeWPF Contrib</a> community project:</p>
<ul>
<li><strong>Presentation Model with DataTemplates. </strong><a href="http://blogs.southworks.net/jdominguez" target="_blank">Julian Dominguez</a> has been writing about <a href="http://blogs.southworks.net/jdominguez/category/presentation-model/" target="_blank">Presentation Model</a> and in his <a href="http://blogs.southworks.net/jdominguez/2008/09/presentation-model-with-datatemplates-in-compositewpf-prism-sample/" target="_blank">latest post</a> he described how he updated the Commanding QuickStart we shipped in the <a href="http://blogs.southworks.net/ejadib/2008/07/03/composite-application-guidance-for-wpf-prism-june-2008-released/" target="_blank">CompositeWPF June 2008 release</a> to use automatic DataTemplates.</li>
<li><strong>Disconnected Service Agent (DSA) with CompositeWPF. </strong>This sample created by <a href="http://blogs.southworks.net/mconverti/" target="_blank">Mariano Converti</a> and <a href="http://blogs.southworks.net/dschenkelman" target="_blank">Damian Schenkelman</a> demonstrate how to use the <a href="http://msdn.microsoft.com/en-us/library/cc540752.aspx" target="_blank">Disconnected Service Agent</a> (DSA) with CompositeWPF. For more information about this sample, see <a href="http://blogs.southworks.net/mconverti/2008/08/11/composite-wpf-with-dsa-sample/" target="_blank">How-to: Use the Disconnected Service Agent (DSA) with CompositeWPF (Prism)</a>.</li>
<li><strong>DialogWorkspace sample.</strong> In this sample you will find how to use the <a href="http://blogs.infosupport.com/blogs/willemm/archive/2008/09/05/Introducing-the-dialog-workspace-for-Composite-WPF.aspx" target="_blank">Dialog Workspace</a> created by <a href="http://blogs.infosupport.com/blogs/willemm" target="_blank">Willem Meints</a></li>
<li><strong>CAB WPF QuickStart migrated to CompositeWPF. </strong>In my <a href="http://blogs.southworks.net/ejadib/2008/08/22/interesting-in-migrating-from-composite-application-block-cab-to-compositewpf-prism-check-our-new-guidance/" target="_blank">previous post</a>, I announced the release of a new guidance to help CAB developers familiarize themselves with the Composite Application Guidance. This sample created by <a href="//blogs.southworks.net/ibaumann/" target="_blank">Ignacio Baumann Fonay</a>, <a href="http://blogs.southworks.net/esculli/" target="_blank">Ezequiel Sculli</a> and <a href="http://blogs.southworks.net/mconverti/" target="_blank">Mariano Converti</a>, shows how to migrate from CAB to CompositeWPF. (the application selected was the <a href="http://msdn.microsoft.com/en-us/library/cc540814.aspx" target="_blank">WPF QuickStart</a> included in the SCSF source code). I recommend you to read also the <a href="http://www.codeplex.com/CompositeWPFContrib/Wiki/View.aspx?title=Documentation" target="_blank">documentation</a>, because explains how the migration was performed. For more information see <a href="http://blogs.southworks.net/mconverti/2008/09/07/wpf-quickstart-shipped-with-scsf-regenerated-using-composite-wpf-prism/" target="_blank">WPF Quickstart (shipped with SCSF) regenerated using Composite WPF (Prism)</a>.</li>
</ul>
<h5><strong>Download</strong></h5>
<p>You can get these samples, among others extensions, by downloading <a href="http://www.codeplex.com/CompositeWPFContrib/SourceControl/ListDownloadableCommits.aspx" target="_blank">latest change set</a> of the <a href="http://www.codeplex.com/CompositeWPFContrib" target="_blank">CompositeWPF Contrib</a> source control.</p>
<h5><strong>Coming soon</strong></h5>
<p>Some people has been asking for an <a href="http://blogs.southworks.net/ejadib/2008/07/22/use-the-outlookbar-in-your-compositewpf-prism-applications/" target="_blank">OutlookBar</a> sample. The good news is that <a href="http://blogs.southworks.net/dschenkelman" target="_blank">Damian Schenkelman</a> and <a href="http://blogs.southworks.net/ejadib" target="_blank">me</a> are working on it, so stay tuned, we will publish it soon.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ejadib?a=Xjg32yh5aes:w2QJusBTmMQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ejadib?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ejadib?a=Xjg32yh5aes:w2QJusBTmMQ:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/ejadib?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ejadib?a=Xjg32yh5aes:w2QJusBTmMQ:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/ejadib?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ejadib?a=Xjg32yh5aes:w2QJusBTmMQ:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/ejadib?i=Xjg32yh5aes:w2QJusBTmMQ:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ejadib/~4/Xjg32yh5aes" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blogs.southworks.net/ejadib/2008/09/14/new-samples-in-compositewpf-prism-contrib-2008-09-13/feed/</wfw:commentRss>
		<feedburner:origLink>http://blogs.southworks.net/ejadib/2008/09/14/new-samples-in-compositewpf-prism-contrib-2008-09-13/</feedburner:origLink></item>
		<item>
		<title>Interested in migrating from Composite Application Block (CAB) to CompositeWPF (Prism)? Check our new guidance</title>
		<link>http://feedproxy.google.com/~r/ejadib/~3/rFS-zhYTCV8/</link>
		<comments>http://blogs.southworks.net/ejadib/2008/08/22/interesting-in-migrating-from-composite-application-block-cab-to-compositewpf-prism-check-our-new-guidance/#comments</comments>
		<pubDate>Fri, 22 Aug 2008 19:55:35 +0000</pubDate>
		<dc:creator>ejadib</dc:creator>
		
		<category><![CDATA[CAB]]></category>

		<category><![CDATA[CWPF]]></category>

		<category><![CDATA[Composite Application Block]]></category>

		<category><![CDATA[Composite Application Guidance for WPF]]></category>

		<category><![CDATA[Composite Application Library]]></category>

		<category><![CDATA[Composite WPF]]></category>

		<category><![CDATA[Patterns &amp; Practices]]></category>

		<category><![CDATA[Prism]]></category>

		<category><![CDATA[SCSF]]></category>

		<category><![CDATA[WPF]]></category>

		<category><![CDATA[WPF Composite Client]]></category>

		<category><![CDATA[Windows Presentation Foundation]]></category>

		<guid isPermaLink="false">http://blogs.southworks.net/ejadib/2008/08/22/interesting-in-migrating-from-composite-application-block-cab-to-compositewpf-prism-check-our-new-guidance/</guid>
		<description><![CDATA[As Diego Poza announced in his post, we have just published a new guidance to help CAB developers familiarize themselves with the Composite Application Guidance by comparing the main components of both libraries.
Let&#8217;s take a look at the guidance content index:
 







Because the Composite UI Application Block and the Composite Application Guidance are targeted to [...]]]></description>
			<content:encoded><![CDATA[<p>As <a href="http://blogs.southworks.net/dpoza" target="_blank">Diego Poza</a> announced in his <a href="/dpoza/2008/08/22/composite-application-library-prism-for-cab-developers-guidance-released/" target="_blank">post</a>, we have just <a href="http://www.codeplex.com/CompositeWPF/Wiki/View.aspx?title=Getting%20Started&amp;referringTitle=Home" target="_blank">published</a> a new guidance to help <a href="http://msdn.microsoft.com/en-us/library/aa480450.aspx" target="_blank">CAB</a> developers familiarize themselves with the <a href="http://msdn.microsoft.com/en-us/library/cc707819.aspx" target="_blank">Composite Application Guidance</a> by comparing the main components of both libraries.</p>
<p>Let&#8217;s take a look at the guidance content index:</p>
<p><img height="470" alt="image" src="http://blogs.southworks.net/ejadib/files/2008/08/image.png" width="579" border="0" /> </p>
</p>
</p>
</p>
</p>
</p>
</p>
</p>
<p>Because the Composite UI Application Block and the Composite Application Guidance are targeted to build composite applications, they have similar core concepts. These core concepts have different implementations. The following figure compares the implementation of the core concepts.    <br />&#160;<a href="http://blogs.southworks.net/ejadib/files/2008/08/image1.png"><img height="463" alt="image" src="http://blogs.southworks.net/ejadib/files/2008/08/image-thumb.png" width="644" border="0" /></a> </p>
</p>
</p>
<h5><strong>Want more?</strong></h5>
<p>Download the <a href="http://www.codeplex.com/CompositeWPF/Wiki/View.aspx?title=Getting%20Started&amp;referringTitle=Home" target="_blank">Composite Application Guidance for Composite UI Application Block Developers</a> from <a href="http://www.codeplex.com/CompositeWPF" target="_blank">Codeplex</a>.</p>
<h5><strong>Feedback</strong></h5>
</p>
</p>
<p>We really want your feedback on this guidance, so feel free to give us your feedback on the <a href="http://www.codeplex.com/CompositeWPF/Thread/List.aspx" target="_blank">discussion board</a>.</p>
<p>Enjoy!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ejadib?a=rFS-zhYTCV8:F8EMIeFx118:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ejadib?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ejadib?a=rFS-zhYTCV8:F8EMIeFx118:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/ejadib?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ejadib?a=rFS-zhYTCV8:F8EMIeFx118:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/ejadib?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ejadib?a=rFS-zhYTCV8:F8EMIeFx118:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/ejadib?i=rFS-zhYTCV8:F8EMIeFx118:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ejadib/~4/rFS-zhYTCV8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blogs.southworks.net/ejadib/2008/08/22/interesting-in-migrating-from-composite-application-block-cab-to-compositewpf-prism-check-our-new-guidance/feed/</wfw:commentRss>
		<feedburner:origLink>http://blogs.southworks.net/ejadib/2008/08/22/interesting-in-migrating-from-composite-application-block-cab-to-compositewpf-prism-check-our-new-guidance/</feedburner:origLink></item>
		<item>
		<title>Silverlight &amp; Composite Application Guidance (Prism): Spike published</title>
		<link>http://feedproxy.google.com/~r/ejadib/~3/4xAjALH_jko/</link>
		<comments>http://blogs.southworks.net/ejadib/2008/08/06/silverlight-composite-application-guidance-prism-spike-published/#comments</comments>
		<pubDate>Wed, 06 Aug 2008 15:52:37 +0000</pubDate>
		<dc:creator>ejadib</dc:creator>
		
		<category><![CDATA[CWPF]]></category>

		<category><![CDATA[Composite Application Guidance for WPF]]></category>

		<category><![CDATA[Composite Application Library]]></category>

		<category><![CDATA[Composite WPF]]></category>

		<category><![CDATA[Patterns &amp; Practices]]></category>

		<category><![CDATA[Prism]]></category>

		<category><![CDATA[Silverlight]]></category>

		<category><![CDATA[Silverlight 2 Beta 2]]></category>

		<category><![CDATA[WPF]]></category>

		<category><![CDATA[WPF Composite Client]]></category>

		<category><![CDATA[Windows Presentation Foundation]]></category>

		<guid isPermaLink="false">http://blogs.southworks.net/ejadib/?p=180</guid>
		<description><![CDATA[Weeks ago we shipped the Composite Application Guidance for WPF and with the Prism team we started to spike around the migration of the Composite Application Library to Silverlight 2 Beta 2. The good news is that yesterday we published that spike. (A &#8217;spike&#8217; is a small and quickly developed sample application in order to [...]]]></description>
			<content:encoded><![CDATA[<p>Weeks ago we <a href="http://blogs.southworks.net/ejadib/2008/07/03/composite-application-guidance-for-wpf-prism-june-2008-released" target="_blank">shipped</a> the Composite Application Guidance for WPF and with the <a href="http://blogs.msdn.com/gblock/archive/2008/04/27/the-prism-team-and-how-we-develop.aspx" target="_blank">Prism team</a> we started to spike around the migration of the Composite Application Library to <a href="http://www.microsoft.com/silverlight/resources/install.aspx?v=2.0" target="_blank">Silverlight 2 Beta 2</a>. The good news is that yesterday we <a href="http://www.codeplex.com/CompositeWPF/SourceControl/ListDownloadableCommits.aspx" target="_blank">published</a> that spike. (A &#8217;spike&#8217; is a small and quickly developed sample application in order to mitigate some risks).</p>
<p>After downloading and decompressing the <a href="http://www.codeplex.com/CompositeWPF/SourceControl/ListDownloadableCommits.aspx" target="_blank">latest change set</a> of the source control, you will find a new folder named <strong>spikes</strong> that contains the <strong>Composite Application Library</strong> migrated to Silverlight. As you may imagine, there were many challenges that we had to address in order to make it &#8220;work&#8221;  (<a href="http://devlicio.us/blogs/rob_eisenberg" target="_blank">Rob Eisenberg</a> wrote two articles describing differences between WPF and Silverlight that you might want to check: <a href="http://devlicio.us/blogs/rob_eisenberg/archive/2008/03/13/there-s-some-darkness-in-your-silver-light.aspx" target="_blank">There&#8217;s some darkness in your silver light</a> and <a href="http://devlicio.us/blogs/rob_eisenberg/archive/2008/07/26/silverlight-problems-that-affect-me.aspx" target="_blank">Silverlight Problems That Affect Me</a>).</p>
<p><strong>Note</strong>: The migration is not complete, we used the spike to have a perspective of the challenges.</p>
<p> </p>
<h4><strong>Modularity</strong></h4>
<p>Module loading in Silverlight is very different from WPF, so this was a challenge. We continued spiking on different approaches, but those spikes are not uploaded to Codeplex yet.</p>
<p>Regarding the module enumerators, <strong>System.Configuration</strong> is not supported by Silverlight current version, so we are using a new XML file module enumerator (not published either).</p>
<h4><strong>Regions</strong></h4>
<p>In WPF, the <strong>RegionManager</strong> attached property value gets inherited by the elements in the visual tree. This cannot be done in Silverlight due to the lack of the <strong>FrameworkPropertyMetadataOptions.Inherits</strong> option. However, we have found a workaround for this issue.</p>
<p>If you want to declare regions in XAML, you have to create an application resource to store the <strong>RegionManager</strong> instance, so it can be used by the views. This can be done in the <strong>Bootstrapper</strong>, as shown in the code below:</p>
<p><a href="http://11011.net/software/vspaste"></a></p>
<p><span style="color: #0000ff">protected override void </span>ConfigureContainer()<br />
{<br />
<span style="color: #0000ff">   base</span>.ConfigureContainer(); <span style="color: #2b91af">IRegionManager </span>regionManager = Container.Resolve&lt;<span style="color: #2b91af">IRegionManager</span>&gt;();<br />
   <span style="color: #2b91af">Application</span>.Current.Resources.Add(<span style="color: #a31515">&#8220;RegionManager&#8221;</span>, regionManager);<br />
}</p>
<p>And the view has to explicitly set the <strong>RegionManager</strong> attached property to the resource created previously.</p>
<p><span style="color: #0000ff">&lt;</span><span style="color: #a31515">ItemsControl </span><span style="color: #ff0000">x</span><span style="color: #0000ff">:</span><span style="color: #ff0000">Name</span><span style="color: #0000ff">=&#8221;MainRegionControl&#8221; </span><span style="color: #ff0000">cal</span><span style="color: #0000ff">:</span><span style="color: #ff0000">RegionManager.RegionName</span><span style="color: #0000ff">=&#8221;MainRegion&#8221; </span><span style="color: #ff0000">cal</span><span style="color: #0000ff">:</span><span style="color: #ff0000">RegionManager.RegionManager</span><span style="color: #0000ff">=&#8221;{</span><span style="color: #a31515">StaticResource </span><span style="color: #ff0000">RegionManager</span><span style="color: #0000ff">}&#8221; /&gt;</span></p>
<p><a href="http://11011.net/software/vspaste"></a></p>
<h4><strong>Events</strong></h4>
<p>Events has been migrated successfully, however, the unit tests are still a challenge because of the differences in threading between Silverlight and WPF. One difference we found, is that if you are subscribing to an event using weak references, for this reason you can only use public methods as delegates (lambdas, anonymous delegates or private methods won&#8217;t work) because of security restrictions enforced by Silverlight.</p>
<h4><strong>Commands</strong></h4>
<p>As you might know, the support for commands is missing in Silverlight. This is really bad news, considering that big part of our guidance talk about using <a href="http://msdn.microsoft.com/en-us/library/cc707894.aspx" target="_blank">Commands</a> for communication between the modules and from the view.</p>
<p>I&#8217;m not going into deep details on this because <a href="http://blogs.southworks.net/jdominguez" target="_blank">Julian Dominguez</a> published a <a href="http://blogs.southworks.net/jdominguez/2008/08/icommand-for-silverlight-with-attached-behaviors/" target="_blank">great post</a> explaining how to use commands in Silverlight.</p>
<p><strong></strong></p>
<p><strong>Download</strong></p>
<p>You can get the spike by downloading the <a href="http://www.codeplex.com/CompositeWPF/SourceControl/ListDownloadableCommits.aspx" target="_blank">latest change set</a> of the <a href="http://www.codeplex.com/CompositeWPF" target="_blank">CompositeWPF</a> source control.</p>
<p><strong>Notes</strong></p>
<ul>
<li>We didn&#8217;t ship the Unity Application Block, so I recommend you to see <a href="http://michaelsync.net/2008/07/11/unity-application-block-unity-for-silverlight-and-stoplight-quickstart" target="_blank">Michael Sync&#8217;s post</a> in order to have Unity working on Silverlight.</li>
<li>In order to run the Unit tests, check <a href="http://www.jeff.wilcox.name/2008/03/31/silverlight2-unit-testing/" target="_blank">Jeff Wilcox&#8217;post</a>.</li>
</ul>
<p><strong>Feedback  / Contributions</strong></p>
<p>Feel free to give us your feedback on the <a href="http://www.codeplex.com/CompositeWPF/Thread/List.aspx" target="_blank">discussion board</a>. If you want to contribute with the <a href="http://www.codeplex.com/CompositeWPF" target="_blank">CompositeWPF</a> project, check the <a href="http://www.codeplex.com/CompositeWPFContrib" target="_blank">CompositeWPF contrib</a>. community site.</p>
<p>Enjoy!</p>
<div id="2e3ab181-6e69-4087-9893-258bba4e3258" class="wlWriterSmartContent" style="padding-right: 0px;padding-left: 0px;float: none;padding-bottom: 0px;margin: 0px;padding-top: 0px">Technorati Tags: <a rel="tag" href="http://technorati.com/tags/CWPF">CWPF</a>,<a rel="tag" href="http://technorati.com/tags/Composite+Application+Guidance+for+WPF">Composite Application Guidance for WPF</a>,<a rel="tag" href="http://technorati.com/tags/Composite+Application+Library">Composite Application Library</a>,<a rel="tag" href="http://technorati.com/tags/Composite+WPF">Composite WPF</a>,<a rel="tag" href="http://technorati.com/tags/Patterns+%26+Practices">Patterns &amp; Practices</a>,<a rel="tag" href="http://technorati.com/tags/Prism">Prism</a>,<a rel="tag" href="http://technorati.com/tags/WPF">WPF</a>,<a rel="tag" href="http://technorati.com/tags/WPF+Composite+Client">WPF Composite Client</a>,<a rel="tag" href="http://technorati.com/tags/Windows+Presentation+Foundation">Windows Presentation Foundation</a>,<a rel="tag" href="http://technorati.com/tags/Silverlight">Silverlight</a>,<a rel="tag" href="http://technorati.com/tags/Siliverlight+2+Beta+2">Siliverlight 2 Beta 2</a></div>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ejadib?a=4xAjALH_jko:N4YdD3NVkzE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ejadib?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ejadib?a=4xAjALH_jko:N4YdD3NVkzE:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/ejadib?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ejadib?a=4xAjALH_jko:N4YdD3NVkzE:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/ejadib?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ejadib?a=4xAjALH_jko:N4YdD3NVkzE:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/ejadib?i=4xAjALH_jko:N4YdD3NVkzE:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ejadib/~4/4xAjALH_jko" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blogs.southworks.net/ejadib/2008/08/06/silverlight-composite-application-guidance-prism-spike-published/feed/</wfw:commentRss>
		<feedburner:origLink>http://blogs.southworks.net/ejadib/2008/08/06/silverlight-composite-application-guidance-prism-spike-published/</feedburner:origLink></item>
		<item>
		<title>CompositeWPF (Prism) Contrib Latest Additions (2008-07-26)</title>
		<link>http://feedproxy.google.com/~r/ejadib/~3/xthBMNjpYo8/</link>
		<comments>http://blogs.southworks.net/ejadib/2008/07/27/compositewpf-prism-contrib-latest-additions-2008-07-26/#comments</comments>
		<pubDate>Sun, 27 Jul 2008 17:56:21 +0000</pubDate>
		<dc:creator>ejadib</dc:creator>
		
		<category><![CDATA[CWPF]]></category>

		<category><![CDATA[Composite Application Guidance for WPF]]></category>

		<category><![CDATA[Composite Application Library]]></category>

		<category><![CDATA[Composite WPF]]></category>

		<category><![CDATA[Composite WPF Contrib]]></category>

		<category><![CDATA[OutlookBar]]></category>

		<category><![CDATA[Patterns &amp; Practices]]></category>

		<category><![CDATA[Prism]]></category>

		<category><![CDATA[Prism Contrib]]></category>

		<category><![CDATA[WPF]]></category>

		<category><![CDATA[WPF Composite Client]]></category>

		<category><![CDATA[Windows Presentation Foundation]]></category>

		<guid isPermaLink="false">http://blogs.southworks.net/ejadib/2008/07/27/compositewpf-prism-contrib-latest-additions-2008-07-26/</guid>
		<description><![CDATA[These are the latest extensions added to the CompositeWPF Contrib community project:

Extended Module Loader Service (contributed by Willem Meints). The extended module loader service can be used to load modules on demand. When the module loader service loads a module it will check if the module being loaded is actually installed and install it from [...]]]></description>
			<content:encoded><![CDATA[<p>These are the latest extensions added to the <a href="http://www.codeplex.com/CompositeWPFContrib" target="_blank">CompositeWPF Contrib</a> community project:</p>
<ul>
<li><strong>Extended Module Loader Service </strong>(contributed by <a href="http://blogs.infosupport.com/blogs/willemm" target="_blank">Willem Meints</a>).<strong> </strong>The extended module loader service can be used to load modules on demand. When the module loader service loads a module it will check if the module being loaded is actually installed and install it from the original installation source. </li>
<li><strong>Module Status Service </strong>(contributed by <a href="http://blogs.infosupport.com/blogs/willemm" target="_blank">Willem Meints</a>). The module status service can be used to retrieve a list of modules and their status (loaded or unloaded). This is particular useful when you want to show the user of your CompositeWPF application what modules are available to the application and which modules are actually active at this moment. <img height="282" alt="image" src="http://blogs.southworks.net/ejadib/files/2008/07/image4.png" width="502" border="0" />      <br />For more information about this service, see <a href="http://blogs.infosupport.com/blogs/willemm/archive/2008/07/17/Module-status-service-for-CompositeWPF.aspx" target="_blank">Module status service for CompositeWPF</a>. </li>
<li><strong>OutlookBar control and region adapter</strong>.      <br /><img alt="" src="http://blogs.southworks.net/ejadib/files/2008/07/clip-image0011.png" />&#160; <br />For more information about this control, see <a href="http://blogs.southworks.net/ejadib/2008/07/22/use-the-outlookbar-in-your-compositewpf-prism-applications/" target="_blank">Use the OutlookBar in your CompositeWPF (Prism) Applications</a>. </li>
</ul>
<h5><strong>Where I can find the documentation of the extensions added to the project?</strong></h5>
<p>To check the documentation of the extensions added so far, please visit the <a href="http://www.codeplex.com/CompositeWPFContrib/Wiki/View.aspx?title=Documentation&amp;referringTitle=Home" target="_blank">Documentation</a> page in the <a href="http://www.codeplex.com/CompositeWPFContrib" target="_blank">community site</a>.</p>
<p>To learn more about other additions to the project, see <a href="http://blogs.southworks.net/ejadib/2008/07/13/compositewpf-prism-contrib-latest-additions/" target="_blank">this post</a>.</p>
<p>Enjoy!</p>
<div class="wlWriterSmartContent" id="eb3f78d8-0a78-4814-a308-a52e57df3a77" style="padding-right: 0px;padding-left: 0px;float: none;padding-bottom: 0px;margin: 0px;padding-top: 0px">Technorati Tags: <a href="http://technorati.com/tags/Composite+Application+Guidance+for+WPF" rel="tag">Composite Application Guidance for WPF</a>,<a href="http://technorati.com/tags/Composite+Application+Library" rel="tag">Composite Application Library</a>,<a href="http://technorati.com/tags/Composite+WPF" rel="tag">Composite WPF</a>,<a href="http://technorati.com/tags/Composite+WPF+Contrib" rel="tag">Composite WPF Contrib</a>,<a href="http://technorati.com/tags/CWPF" rel="tag">CWPF</a>,<a href="http://technorati.com/tags/OutlookBar" rel="tag">OutlookBar</a>,<a href="http://technorati.com/tags/Patterns+%26+Practices" rel="tag">Patterns &amp; Practices</a>,<a href="http://technorati.com/tags/Prism" rel="tag">Prism</a>,<a href="http://technorati.com/tags/Prism+Contrib" rel="tag">Prism Contrib</a>,<a href="http://technorati.com/tags/Windows+Presentation+Foundation" rel="tag">Windows Presentation Foundation</a>,<a href="http://technorati.com/tags/WPF" rel="tag">WPF</a>,<a href="http://technorati.com/tags/WPF+Composite+Client" rel="tag">WPF Composite Client</a></div>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ejadib?a=xthBMNjpYo8:1q3lu0IpLxE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ejadib?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ejadib?a=xthBMNjpYo8:1q3lu0IpLxE:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/ejadib?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ejadib?a=xthBMNjpYo8:1q3lu0IpLxE:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/ejadib?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ejadib?a=xthBMNjpYo8:1q3lu0IpLxE:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/ejadib?i=xthBMNjpYo8:1q3lu0IpLxE:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ejadib/~4/xthBMNjpYo8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blogs.southworks.net/ejadib/2008/07/27/compositewpf-prism-contrib-latest-additions-2008-07-26/feed/</wfw:commentRss>
		<feedburner:origLink>http://blogs.southworks.net/ejadib/2008/07/27/compositewpf-prism-contrib-latest-additions-2008-07-26/</feedburner:origLink></item>
		<item>
		<title>Use the OutlookBar in your CompositeWPF (Prism) Applications</title>
		<link>http://feedproxy.google.com/~r/ejadib/~3/rkeCQY7nuYs/</link>
		<comments>http://blogs.southworks.net/ejadib/2008/07/22/use-the-outlookbar-in-your-compositewpf-prism-applications/#comments</comments>
		<pubDate>Tue, 22 Jul 2008 18:56:45 +0000</pubDate>
		<dc:creator>ejadib</dc:creator>
		
		<category><![CDATA[CWPF]]></category>

		<category><![CDATA[Composite Application Guidance for WPF]]></category>

		<category><![CDATA[Composite Application Library]]></category>

		<category><![CDATA[Composite WPF]]></category>

		<category><![CDATA[Composite WPF Contrib]]></category>

		<category><![CDATA[OutlookBar]]></category>

		<category><![CDATA[Patterns &amp; Practices]]></category>

		<category><![CDATA[Prism]]></category>

		<category><![CDATA[Prism Contrib]]></category>

		<category><![CDATA[WPF]]></category>

		<category><![CDATA[WPF Composite Client]]></category>

		<category><![CDATA[Windows Presentation Foundation]]></category>

		<guid isPermaLink="false">http://blogs.southworks.net/ejadib/2008/07/22/use-the-outlookbar-in-your-compositewpf-prism-applications/</guid>
		<description><![CDATA[
Two years ago, together with Matias Woloski we wrote the Outlook Bar for the Composite Application Block (CAB). I can say that it was a popular workspace, with more than 19,000 downloads!. Now that we shipped CompositeWPF (Prism), some people at the CompositeWPF community started asking for the OutlookBar for CompositeWPF, so Julian Dominguez, Matias [...]]]></description>
			<content:encoded><![CDATA[</p>
<p>Two years ago, together with <a href="http://blogs.southworks.net/mwoloski" target="_blank">Matias Woloski</a> we wrote the <a href="http://blogs.southworks.net/mwoloski/2006/05/01/outlookbar/" target="_blank">Outlook Bar</a> for the Composite Application Block (CAB). I can say that it was a popular workspace, with more than <a href="http://www.codeplex.com/scsfcontrib/stats/view" target="_blank">19,000 downloads</a>!. Now that we <a href="http://blogs.southworks.net/ejadib/2008/07/03/composite-application-guidance-for-wpf-prism-june-2008-released/" target="_blank">shipped</a> CompositeWPF (Prism), some people at the <a href="http://www.codeplex.com/CompositeWPF" target="_blank">CompositeWPF community</a> started <a href="http://www.codeplex.com/CompositeWPF/Thread/View.aspx?ThreadId=31645" target="_blank">asking</a> for the OutlookBar for <a href="http://msdn.microsoft.com/en-us/library/cc707819.aspx" target="_blank">CompositeWPF</a>, so <a href="http://blogs.southworks.net/jdominguez" target="_blank">Julian Dominguez</a>, <a href="http://blogs.southworks.net/mwoloski" target="_blank">Matias Woloski</a> and <a href="http://blogs.southworks.net/ejadib">me</a> decided to spend some time and create the Composite WPF version.</p>
<p align="center"><img height="366" alt="clip_image001" src="http://blogs.southworks.net/ejadib/files/2008/07/clip-image0011.png" width="161" border="0" /></p>
<p>&#160;</p>
<p><strong><span style="font-size: 10.5pt;font-family: &quot;Trebuchet MS&quot;,&quot;sans-serif&amp;quot">Usage</span></strong><span style="font-size: 10.5pt;font-family: &quot;Trebuchet MS&quot;,&quot;sans-serif&amp;quot"> </span></p>
</p>
</p>
<p><span style="font-size: 10.5pt;font-family: &quot;Trebuchet MS&quot;,&quot;sans-serif&amp;quot">First of all, you have to register the region adapter mapping in the <a href="http://msdn.microsoft.com/en-us/library/cc707847.aspx" target="_blank">Bootstrapper</a> as shown in the code below: </span></p>
</p>
</p>
<pre><span style="color: blue">protected override </span><span style="color: #2b91af">RegionAdapterMappings </span>ConfigureRegionAdapterMappings()
{
    <span style="color: #2b91af">IEventAggregator </span>eventAggregator = Container.Resolve&lt;<span style="color: #2b91af">IEventAggregator</span>&gt;();

    <span style="color: #2b91af">RegionAdapterMappings </span>mappings = <span style="color: blue">base</span>.ConfigureRegionAdapterMappings();

    mappings.RegisterMapping(<span style="color: blue">typeof</span>(<span style="color: #2b91af">OutlookBarControl</span>), <span style="color: blue">new </span><span style="color: #2b91af">OutlookBarControlRegionAdapter</span>(eventAggregator));

    <span style="color: blue">return </span>mappings;
}</pre>
<p><a href="http://11011.net/software/vspaste"></a></p>
<p><span style="font-size: 10.5pt;font-family: &quot;Trebuchet MS&quot;,&quot;sans-serif&amp;quot">Now you can add the <b>OutlookBarControl</b> to your Shell/View XAML (you have to declare the namespace on the top of the file): </span></p>
<pre><span style="color: blue">&lt;</span><span style="color: #a31515">Controls</span><span style="color: blue">:</span><span style="color: #a31515">OutlookBarControl </span></pre>
<pre><span style="color: #a31515"></span><span style="color: red">       cal</span><span style="color: blue">:</span><span style="color: red">RegionManager.RegionName</span><span style="color: blue">=&quot;{</span><span style="color: #a31515">x</span><span style="color: blue">:</span><span style="color: #a31515">Static </span><span style="color: red">infrastructure</span><span style="color: blue">:</span><span style="color: red">RegionNames</span><span style="color: blue">.OutlookBarRegion}&quot;</span><span style="color: blue">/&gt;
                </span></pre>
<pre><span style="color: blue"></span><span style="font-size: 10.5pt;font-family: &#39;Trebuchet MS&#39;,&#39;sans-serif&amp;#39">To add views, just obtain the region and call the <strong>Add</strong> method as you do with other regions: </span></pre>
</p>
</p>
<pre><span style="color: #2b91af">IRegionManager </span>regionManager = Container.Resolve&lt;<span style="color: #2b91af">IRegionManager</span>&gt;();
<span style="color: #2b91af">MyView </span>view = <span style="color: blue">new </span><span style="color: #2b91af">MyView</span>();
<span style="color: #2b91af">OutlookBarControl</span>.SetOutlookBarMetadata(view, <span style="color: blue">new </span><span style="color: #2b91af">OutlookBarMetadata
    </span>{
        Title = <span style="color: #a31515">&quot;Mail&quot;</span>,
        Payload = <span style="color: #a31515">&quot;MyPayload&quot;
    </span>});

regionManager.Regions[<span style="color: #2b91af">RegionNames</span>.OutlookBarRegion].Add(view);
regionManager.Regions[<span style="color: #2b91af">RegionNames</span>.OutlookBarRegion].Activate(view);</pre>
<p><a href="http://11011.net/software/vspaste"></a></p>
<p><span style="font-size: 10.5pt;font-family: &quot;Trebuchet MS&quot;,&quot;sans-serif&amp;quot">As you may noticed, in the preceding code we are<span style="color: #1f497d"> </span>also setting the <b>OutlookBarMetadata</b> attached property to the view. This attached property is used by the control template and by the <b>OutlookBarControlRegionAdapter</b>. </span></p>
<ul>
<li><span style="font-size: 10.5pt;font-family: &quot;Trebuchet MS&quot;,&quot;sans-serif&amp;quot"></span><span style="font-size: 10.5pt;font-family: &quot;Trebuchet MS&quot;,&quot;sans-serif&amp;quot">In the control template we are using the <b>Title </b>property in the <b>OutlookBarControl</b> header and in the buttons.</span> </li>
<li><span style="font-size: 10.5pt;font-family: &quot;Trebuchet MS&quot;,&quot;sans-serif&amp;quot"></span><span style="font-size: 10.5pt;font-family: &quot;Trebuchet MS&quot;,&quot;sans-serif&amp;quot">In the region adapter we are using the <strong>payload</strong> to publish the <b>OutlookBarEvent</b>. This event is published every time you select a view. </span>
</p>
</li>
</ul>
<p><span style="font-size: 10.5pt;font-family: &quot;Trebuchet MS&quot;,&quot;sans-serif&amp;quot">The <strong>OutlookBarMetadata</strong> serves a similar purpose the <strong>OutlookBarSmartPartInfo</strong> served in the CAB version. </span></p>
</p>
</p>
<p class="MsoNormal"><b>Disclaimer </b></p>
</p>
</p>
<p class="MsoNormal">This code is provided &quot;AS IS&quot; with no warranties, and confers no rights.</p>
<p class="MsoNormal"><b>Acknowledgments</b></p>
<p class="MsoNormal">The control template is based on this <a href="http://www.codeproject.com/KB/WPF/XAML_OutlookBar.aspx" target="_blank">article</a> on CodeProject.</p>
<p class="MsoNormal"><b>Download </b></p>
</p>
</p>
<p class="MsoNormal">You can get the OutlookBar by downloading the <a href="http://www.codeplex.com/CompositeWPFContrib/SourceControl/ListDownloadableCommits.aspx" target="_blank">latest change set</a> of the <a href="http://www.codeplex.com/CompositeWPFContrib" target="_blank">CompositeWPF Contrib</a> source control. </p>
</p>
<p class="MsoNormal">
<p>&#160;</p>
</p>
<p class="MsoNormal">Stay tuned, we are working on v1.1 of the OutlookBar.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ejadib?a=rkeCQY7nuYs:sMVcJrXrumw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ejadib?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ejadib?a=rkeCQY7nuYs:sMVcJrXrumw:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/ejadib?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ejadib?a=rkeCQY7nuYs:sMVcJrXrumw:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/ejadib?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ejadib?a=rkeCQY7nuYs:sMVcJrXrumw:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/ejadib?i=rkeCQY7nuYs:sMVcJrXrumw:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ejadib/~4/rkeCQY7nuYs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blogs.southworks.net/ejadib/2008/07/22/use-the-outlookbar-in-your-compositewpf-prism-applications/feed/</wfw:commentRss>
		<feedburner:origLink>http://blogs.southworks.net/ejadib/2008/07/22/use-the-outlookbar-in-your-compositewpf-prism-applications/</feedburner:origLink></item>
	</channel>
</rss>
