<?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>SUPERNOVA</title>
	<atom:link href="http://blog.metrostarsystems.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.metrostarsystems.com</link>
	<description>Stellar Social Media &#38; Technology Solutions</description>
	<lastBuildDate>Thu, 26 Apr 2012 17:31:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Is Your Website Committing Pinterest Suicide?</title>
		<link>http://blog.metrostarsystems.com/2012/04/26/is-your-website-committing-pinterest-suicide/</link>
		<comments>http://blog.metrostarsystems.com/2012/04/26/is-your-website-committing-pinterest-suicide/#comments</comments>
		<pubDate>Thu, 26 Apr 2012 17:31:17 +0000</pubDate>
		<dc:creator>Theresa Kattula</dc:creator>
				<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[Pinning items]]></category>
		<category><![CDATA[Pinterest]]></category>
		<category><![CDATA[Pinterest Optimization]]></category>

		<guid isPermaLink="false">http://blog.metrostarsystems.com/?p=5659</guid>
		<description><![CDATA[You may have heard about search engine optimization (SEO) but what about Pinterest optimization? Pinterest may be sky rocketing to the top of the social media world, but is your website optimized to keep up? If your website isn’t optimized for “pinning” then your content may get left behind. One “pin” from your website has<em> ... </em>]]></description>
			<content:encoded><![CDATA[<p>You may have heard about search engine optimization (SEO) but what about Pinterest optimization?</p>
<p>Pinterest may be sky rocketing to the top of the social media world, but is your website optimized to keep up? If your website isn’t optimized for “pinning” then your content may get left behind. One “pin” from your website has the potential to go a long way. A quick “pin” from your website has the potential to be viewed by thousands of users. But how do you get your website visitors to help spread your website’s content in the world of Pinterest?</p>
<p><img src="http://blog.metrostarsystems.com/wp-content/uploads/2012/04/1.jpg" alt="Pinterest Optimization" width="259" height="142" /></p>
<p><strong>Quick tips to help your website be “Pinterest optimized”</strong></p>
<ul>
<li>Review all your webpages and ensure that each page displays an image. Even content that is not truly graphical should have an accompanying photo in order to be eligible for “pinning”.</li>
</ul>
<ul>
<li>Code your website’s imagery with proper image (&lt;IMG&gt;) tags to ensure they’re correctly picked up by Pinterest’s browser plug-in. As a general rule at least one image on your webpage should be using an IMG tag.</li>
</ul>
<ul>
<li>Avoid uploading images that contain advertisement text as part of the image itself. Work with your web developer to place the HTML text atop of the image as a separate element. This will help your image appear as “re-pinnable” as possible to Pinterest users. People may not be as likely to “re-pin” graphics with a blatant advertisement as they may see the image as more of an advertisement rather than an inspirational graphic.</li>
</ul>
<ul>
<li>Make your graphics stand out! Displayed alongside other pinned images would your graphic stand out? Choose your graphics carefully. A graphic that stands out on your website may not stack up on Pinterest.</li>
</ul>
<p>&nbsp;</p>
<p>A quick review of your website’s code can help you see where you can make a few simple updates to help your content spread like wildfire on Pinterest.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.metrostarsystems.com/2012/04/26/is-your-website-committing-pinterest-suicide/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ReaderWriterLock vs. ReaderWriterLockSlim Performance</title>
		<link>http://blog.metrostarsystems.com/2012/02/13/readerwriterlock-vs-readerwriterlockslim-performance/</link>
		<comments>http://blog.metrostarsystems.com/2012/02/13/readerwriterlock-vs-readerwriterlockslim-performance/#comments</comments>
		<pubDate>Mon, 13 Feb 2012 16:45:11 +0000</pubDate>
		<dc:creator>Lee Kohn</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[locking]]></category>
		<category><![CDATA[ReaderWriterLock]]></category>
		<category><![CDATA[ReaderWriterLockSlim]]></category>
		<category><![CDATA[threading]]></category>

		<guid isPermaLink="false">http://blog.metrostarsystems.com/?p=5604</guid>
		<description><![CDATA[Here is handy comparison of the performance ReaderWriterLock and ReaderWriterLockSlim: ReaderWriterLock ReadLock -&#62; Release Lock = 0.00014 ms WriteLock -&#62; ReleaseLock = 0.00012 ms ReadLock -&#62; UpgradeToWriteLock -&#62; ReleaseLock = 0.00021 ms &#160; ReaderWriterLockSlim ReadLock -&#62; ExitReadLock = 0.00005 ms WriteLock -&#62; ExitWriteLock= 0.00004 ms ReadLockUpgradeable -&#62; WriteLock -&#62; ExitWriteLock -&#62; ExitReadLock  = 0.00009 ms &#160; So<em> ... </em>]]></description>
			<content:encoded><![CDATA[<p>Here is handy comparison of the performance ReaderWriterLock and ReaderWriterLockSlim:</p>
<p><strong>ReaderWriterLock</strong></p>
<p>ReadLock -&gt; Release Lock = 0.00014 ms</p>
<p>WriteLock -&gt; ReleaseLock = 0.00012 ms</p>
<p>ReadLock -&gt; UpgradeToWriteLock -&gt; ReleaseLock = 0.00021 ms</p>
<p>&nbsp;</p>
<p><strong>ReaderWriterLockSlim</strong></p>
<p>ReadLock -&gt; ExitReadLock = 0.00005 ms</p>
<p>WriteLock -&gt; ExitWriteLock= 0.00004 ms</p>
<p>ReadLockUpgradeable -&gt; WriteLock -&gt; ExitWriteLock -&gt; ExitReadLock  = 0.00009 ms</p>
<p>&nbsp;</p>
<p>So it appears that the ReaderWriterLockSlim is approximately ~3 times faster in most cases.</p>
<p><strong>Note</strong>: I came up with these number by writing a c# console App (.net 4.0) which aquired/released locks in a for loop 1,000,000 times with a StopWatch measuring the time taken.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.metrostarsystems.com/2012/02/13/readerwriterlock-vs-readerwriterlockslim-performance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IRequiresSessionState and long running Asynchronous HTTP Handlers</title>
		<link>http://blog.metrostarsystems.com/2012/02/04/irequiressessionstate-and-long-running-asynchronous-http-handlers/</link>
		<comments>http://blog.metrostarsystems.com/2012/02/04/irequiressessionstate-and-long-running-asynchronous-http-handlers/#comments</comments>
		<pubDate>Sat, 04 Feb 2012 13:59:46 +0000</pubDate>
		<dc:creator>Lee Kohn</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Tips & Tricks]]></category>

		<guid isPermaLink="false">http://blog.metrostarsystems.com/?p=5600</guid>
		<description><![CDATA[The other day I learned something interesting about the inner workings of ASP .Nets session state management.  One of the nice features it provides is automatically making usage of the session state thread safe between the various threads which may be handling requests from the same user (with the same sessionId). Apparently the way it<em> ... </em>]]></description>
			<content:encoded><![CDATA[<p>The other day I learned something interesting about the inner workings of ASP .Nets session state management.  One of the nice features it provides is automatically making usage of the session state thread safe between the various threads which may be handling requests from the same user (with the same sessionId).</p>
<p>Apparently the way it goes about doing this is by locking the session state object for a user for the lifetime of any handler that requires the session state (anything that implements IRequiresSessionState).  Normally this is a handy feature making it so that developers don&#8217;t have to worry about the thread safety issues that would normally come with sharing the same objects between threads.  However in some instances this can lead some some unexpected behavior if you&#8217;re not aware of this.</p>
<p>So the other day I was implementing an asynchronous HTTP handler in which I needed to access a user&#8217;s session state.  To do this you simply make the handler class inherit from IRequiresSessionState.  However in doing so the users session state becomes locked for the duration of the Async request (in this particular case it could be several minutes before the response was sent).  This caused any subsequent requests which required the session state to hang while they waited for the lock to be released.</p>
<p>So after all of this I can say I learned something interesting and have added a new best practice to my repertoire; don&#8217;t use the session state within long running handlers!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.metrostarsystems.com/2012/02/04/irequiressessionstate-and-long-running-asynchronous-http-handlers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setting up SSL on a Microsoft Azure application</title>
		<link>http://blog.metrostarsystems.com/2012/01/24/setting-up-ssl-on-a-microsoft-azure-application/</link>
		<comments>http://blog.metrostarsystems.com/2012/01/24/setting-up-ssl-on-a-microsoft-azure-application/#comments</comments>
		<pubDate>Tue, 24 Jan 2012 16:58:41 +0000</pubDate>
		<dc:creator>Lee Kohn</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Tips & Tricks]]></category>

		<guid isPermaLink="false">http://blog.metrostarsystems.com/?p=5583</guid>
		<description><![CDATA[Recently I as involved with adding SSL to a site which is hosted within Microsft&#8217;s Aure platform.  Overall the process went pretty smoothly having used the guide from MSDN: http://msdn.microsoft.com/en-us/library/windowsazure/ff795779.aspx &#160; The one thing it forgets to mention is that along with server certificate you also need all of the certificates along the chain of trust back<em> ... </em>]]></description>
			<content:encoded><![CDATA[<p>Recently I as involved with adding SSL to a site which is hosted within Microsft&#8217;s Aure platform.  Overall the process went pretty smoothly having used the guide from MSDN:</p>
<p><a href="http://msdn.microsoft.com/en-us/library/windowsazure/ff795779.aspx">http://msdn.microsoft.com/en-us/library/windowsazure/ff795779.aspx</a></p>
<p>&nbsp;</p>
<p>The one thing it forgets to mention is that along with server certificate you also need all of the certificates along the chain of trust back to the root CA which people&#8217;s browser trust.  There are multiple ways to do this but the way I found simplest was to import the certificate into a local IIS instance and then use the certificates MMC to export the certificate per this guide:</p>
<p><a href="https://support.comodo.com/index.php?_m=knowledgebase&amp;_a=viewarticle&amp;kbarticleid=1244">https://support.comodo.com/index.php?_m=knowledgebase&amp;_a=viewarticle&amp;kbarticleid=1244</a></p>
<p>Note: Make sure to check the box for &#8216;Include all certificates in the certificate path&#8217;</p>
<p>You&#8217;ll also need to reference these certificates in the XML files mentioned in the MSDN article and then you&#8217;re all done!</p>
<p>P.S. If you get an error about the certificates&#8217; thumbprint not matching make sure you&#8217;re copying the full thumbprint from Azure, the field is longer than what the screen shows, so there is some &#8216;scrolling&#8217; when highlighting it.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.metrostarsystems.com/2012/01/24/setting-up-ssl-on-a-microsoft-azure-application/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Updating large quantities of data in SQL Azure</title>
		<link>http://blog.metrostarsystems.com/2012/01/06/updating-large-quantities-of-data-in-sql-azure/</link>
		<comments>http://blog.metrostarsystems.com/2012/01/06/updating-large-quantities-of-data-in-sql-azure/#comments</comments>
		<pubDate>Fri, 06 Jan 2012 16:53:36 +0000</pubDate>
		<dc:creator>Lee Kohn</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Tips & Tricks]]></category>

		<guid isPermaLink="false">http://blog.metrostarsystems.com/?p=5570</guid>
		<description><![CDATA[Recently I ran into a scenario where I had a production database which contained a table with 1.4 million records in which I wanted to convert a varchar column containing numbers to a bigint column. I used a backup of the database to try out a few different methods; at first I tried simply running<em> ... </em>]]></description>
			<content:encoded><![CDATA[<p>Recently I ran into a scenario where I had a production database which contained a table with 1.4 million records in which I wanted to convert a varchar column containing numbers to a bigint column. I used a backup of the database to try out a few different methods; at first I tried simply running an ALTER TABLE statement to change the columns data type (the parsing of the varchar to a bigint is automatic).  However with the large amount of data in the table this kept timing out and would never complete.</p>
<p>So after some researching I came up with a solution in which I would create a new column of type bigint and then in small batches of 1000 I would update the rows with the converted bigint (I wrote a small C# console app with ADO .NET).  After doing this to every row I deleted the old varchar column and renamed the new column to the old varchar column&#8217;s name.</p>
<p>VIOLA!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.metrostarsystems.com/2012/01/06/updating-large-quantities-of-data-in-sql-azure/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Handy String Parsing Extension Methods</title>
		<link>http://blog.metrostarsystems.com/2011/11/04/handy-string-parsing-extension-methods/</link>
		<comments>http://blog.metrostarsystems.com/2011/11/04/handy-string-parsing-extension-methods/#comments</comments>
		<pubDate>Fri, 04 Nov 2011 15:26:45 +0000</pubDate>
		<dc:creator>Lee Kohn</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[bool]]></category>
		<category><![CDATA[extension]]></category>
		<category><![CDATA[int]]></category>
		<category><![CDATA[method]]></category>
		<category><![CDATA[parsing]]></category>
		<category><![CDATA[String]]></category>
		<category><![CDATA[TryParse]]></category>

		<guid isPermaLink="false">http://blog.metrostarsystems.com/?p=5557</guid>
		<description><![CDATA[Since I&#8217;ve never particularly liked the feel of C#&#8217;s int.TryParse and bool.TryParse methods I decided to create some extension methods for strings which I feel like make the code using them much more readable: &#160; /// &#60;summary&#62; /// Converts a string to an int, if the string cant be parsed then null is returned /// &#60;/summary&#62; ///<em> ... </em>]]></description>
			<content:encoded><![CDATA[            <script type="text/javascript" src="http://blog.metrostarsystems.com/wp-content/plugins/wordpress-code-snippet/scripts/shBrushCSharp.js"></script>
<p>Since I&#8217;ve never particularly liked the feel of C#&#8217;s int.TryParse and bool.TryParse methods I decided to create some extension methods for strings which I feel like make the code using them much more readable:<br />
&nbsp;<br />
<pre class="brush: csharp">/// &lt;summary&gt;
/// Converts a string to an int, if the string cant be parsed then null is returned
/// &lt;/summary&gt;
/// &lt;param name=&quot;txt&quot;&gt;The string to convert&lt;/param&gt;
/// &lt;returns&gt;&lt;/returns&gt;
public static int? ToInt(this string txt)
{
     int x = 0;
     if (int.TryParse(txt, out x))
         return x;
     else
         return null;
 }

/// &lt;summary&gt;
/// Converts a string to a boolean, if the string cannot be parsed then null is returned
/// &lt;/summary&gt;
/// &lt;param name=&quot;txt&quot;&gt;&lt;/param&gt;
/// &lt;returns&gt;&lt;/returns&gt;
public static bool? ToBool(this string txt)
{
     bool x = false
     if (bool.TryParse(txt, out x))
         return x;
     else
         return null;
}</pre></p>
<p>Usage:<br />
&nbsp;<br />
<pre class="brush: csharp">int imgID = Request.QueryString[&quot;Id&quot;].ToInt().Value;
int? height = Request.QueryString[&quot;height&quot;].ToInt();
bool? width = Request.QueryString[&quot;width&quot;].ToBool();</pre></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.metrostarsystems.com/2011/11/04/handy-string-parsing-extension-methods/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MetroStar Systems Supports the 36th Marine Corps Marathon</title>
		<link>http://blog.metrostarsystems.com/2011/11/02/metrostar-systems-supports-the-36th-marine-corps-marathon/</link>
		<comments>http://blog.metrostarsystems.com/2011/11/02/metrostar-systems-supports-the-36th-marine-corps-marathon/#comments</comments>
		<pubDate>Wed, 02 Nov 2011 19:12:24 +0000</pubDate>
		<dc:creator>Monica Huie</dc:creator>
				<category><![CDATA[Our Culture]]></category>
		<category><![CDATA[#36thMCM]]></category>
		<category><![CDATA[36th Marine Corps Marathon]]></category>
		<category><![CDATA[Amanda Rice]]></category>
		<category><![CDATA[Custom Twitter Solution]]></category>
		<category><![CDATA[Drew Carey]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[Marine Corps Marathon]]></category>
		<category><![CDATA[MCM]]></category>
		<category><![CDATA[MCM Health & Fitness Expo]]></category>
		<category><![CDATA[MCM10K]]></category>
		<category><![CDATA[MyStanly]]></category>
		<category><![CDATA[Reuben Mwei]]></category>
		<category><![CDATA[Social Media]]></category>
		<category><![CDATA[Twitter Display]]></category>
		<category><![CDATA[Twitter Moderation]]></category>
		<category><![CDATA[Twitter Moderation Solution]]></category>
		<category><![CDATA[United We Sing]]></category>

		<guid isPermaLink="false">http://blog.metrostarsystems.com/?p=5510</guid>
		<description><![CDATA[It was 3:45a.m., Sunday October 30th&#8230;Theresa and I sat in my car with the heat on full blast gearing up to be outside for the next six hours (at least!). It was still dark as night, but not far in the distance you could see the buzz and commotion of people setting up for one<em> ... </em>]]></description>
			<content:encoded><![CDATA[            <script type="text/javascript" src="http://blog.metrostarsystems.com/wp-content/plugins/wordpress-code-snippet/scripts/shBrushCSharp.js"></script>
<p>It was 3:45a.m., Sunday October 30th&#8230;Theresa and I sat in my car with the heat on full blast gearing up to be outside for the next six hours (at least!). It was still dark as night, but not far in the distance you could see the buzz and commotion of people setting up for one of the biggest events of the year &#8211; the <a title="36th Marine Corps Marathon" href="http://www.marinemarathon.com/">36th Marine Corps Marathon</a> (MCM). But first, let me tell you how we got there&#8230;</p>
<p>The Marine Corps Marathon Team went full force this year promoting <a title="Marine Corps Marathon Social Media" href="http://www.marinemarathon.com/Community/Social_Media.htm">social media</a> engagements. For the very first time, runners were able to have their split times automatically post to their personal Facebook and/or Twitter pages, allowing family and friends to track a runner&#8217;s progress. Our MetroStar Systems Team was proud to help the MCM Team enhance social media engagements at the MCM events by displaying live tweets on large screens at the expo, dinners, pep rallies, and of course, at the race. Leveraging <a title="myStanly, moderated Twitter solution" href="http://www.myStanly.com">myStanly</a>, our customizable moderated Twitter display solution, we were able to capture tweets with the hashtag #36thMCM and approve it for broadcast.</p>
<p>On Thursday, Friday, and Saturday we had myStanly Teams moderating and live tweeting from the Health &amp; Fitness Expo. The displays sat at both t-shirt pick up stations and sandwiched the Brooks Running store. People had the chance to see their tweets on the display screens almost instantaneously, getting their few moments of myStanly fame! Exhibitors were able to broadcast their booth specials and giveaways, and we were able to help spread the word without the message getting lost.</p>
<p style="text-align: center;"><a href="http://blog.metrostarsystems.com/2011/11/02/metrostar-systems-supports-the-36th-marine-corps-marathon/mcm_hfe/" rel="attachment wp-att-5520"><img class="aligncenter size-medium wp-image-5520" title="myStanly @ MCM Health &amp; Fitness Expo" src="http://blog.metrostarsystems.com/wp-content/uploads/2011/11/mcm_hfe-300x177.jpg" alt="myStanly @ MCM Health &amp; Fitness Expo" width="300" height="177" /></a><a href="http://blog.metrostarsystems.com/2011/11/02/metrostar-systems-supports-the-36th-marine-corps-marathon/mcm_hfe/" rel="attachment wp-att-5520"><br />
</a></p>
<p>On Friday, there were multiple events taking place so we gave people the chance to virtually be at all places at once through the Twittersphere.</p>
<p>The Runners Club mixer was an exclusive event for members of the MCM Runners Club. We were able to give those were were not available to attend an insider view of what was happening at the mixer by tweeting updates and pics, and those at the mixer, updates of what was going on elsewhere.</p>
<p>Later that evening, we attended the VIP Hall of Fame dinner at the Washington Post building, where special individuals were inducted into the MCM Hall of Fame. The United We Sing girls began the evening by singing the National Anthem and the honored inductees were recognized for the positive impact they have had on the Marine Corps Marathon. Messages of encouragement and support for runners were projected onto a large wall visible to all diners as they enjoyed a beautifully catered buffet dinner. Price is Right host, Drew Carey, was also in attendance as he prepped to run his first marathon.</p>
<p><a href="http://blog.metrostarsystems.com/2011/11/02/metrostar-systems-supports-the-36th-marine-corps-marathon/mcm_uws_girls/" rel="attachment wp-att-5521"><br class="Apple-interchange-newline" /><img class="size-thumbnail wp-image-5521 alignnone" style="border-style: initial; border-color: initial;" title="United We Sing" src="http://blog.metrostarsystems.com/wp-content/uploads/2011/11/mcm_uws_girls-150x150.jpg" alt="United We Sing @ MCM VIP Hall of Fame Dinner" width="150" height="150" /></a>    <a href="http://blog.metrostarsystems.com/2011/11/02/metrostar-systems-supports-the-36th-marine-corps-marathon/mcm_drewcarey/" rel="attachment wp-att-5519"><img class="size-thumbnail wp-image-5519 alignnone" title="Drew Carey @ MCM VIP Hall of Fame Dinner" src="http://blog.metrostarsystems.com/wp-content/uploads/2011/11/mcm_drewcarey-150x150.jpg" alt="Drew Carey @ MCM VIP Hall of Fame Dinner" width="150" height="150" /></a></p>
<p>Saturday, the day before the race, weather conditions were not looking good; temperatures were in the low 30s, heavy rain, high winds, and even some snow in October &#8211; not ideal running conditions! However, it didn&#8217;t stop all those who have been preparing for this race. Runners continued to flood #36thMCM with their tweets, sharing their pre-race jitters and excitement. We even had a small Twitter contest at the expo where three lucky runners tweeted to win a free myStanly t-shirt! Congratulations to our winners Anna, Ndegwa, and Joanne! Our MetroStar Systems Team headed home to prepare for the BIG event, Race Day!</p>
<p>Taking us to 3:45a.m., Sunday October 30th, sitting in the car, preparing to embrace the bitter cold&#8230;</p>
<p>As we prepared for race kickoff, bundled from head to toe, we departed the car and made our it down to the finish line where we first saw myStanly illuminating the dark sky with the Washington Monument standing proudly in the horizon.</p>
<p style="text-align: center;"> <a href="http://blog.metrostarsystems.com/2011/11/02/metrostar-systems-supports-the-36th-marine-corps-marathon/img_0349/" rel="attachment wp-att-5515"><img class="aligncenter size-medium wp-image-5515" title="myStanly at the Finish Line" src="http://blog.metrostarsystems.com/wp-content/uploads/2011/11/IMG_0349-300x225.jpg" alt="myStanly illuminating DC" width="300" height="225" /></a></p>
<p>The cold didn&#8217;t seem as bitter as the sun started to rise, droves of runners made their way to the start line, and friends, families, spectators filled the course. At race kickoff, 30 thousand runners charged DC, and tweets did not slow down. Even runners on the course continued to tweet! Our VIP badges allowed us direct access to the finish line and we were able to capture Reuben Mwei and Amanda Rice, the first finishers of the MCM10K for men and women, respectively, as they crossed the finish line and live tweet their victory pictures. A few hours later, marathon runner, Army Reserve 1st Lt. Charles Ware, rounded the corner towards the finish line becoming the 36th Marine Corps Marathon winner with the best MCM time since 1997 at 2 hours, 19 minutes, 16 seconds.</p>
<div>
<p><a href="http://blog.metrostarsystems.com/2011/11/02/metrostar-systems-supports-the-36th-marine-corps-marathon/mcm_10kmen/" rel="attachment wp-att-5516"><img class="alignnone size-thumbnail wp-image-5516" title="MCM10K Men's Winner Reuben Mwei" src="http://blog.metrostarsystems.com/wp-content/uploads/2011/11/mcm_10kmen-150x150.jpg" alt="MCM10K Men's Winner, Reuben Mwei" width="150" height="150" /></a>     <a href="http://blog.metrostarsystems.com/2011/11/02/metrostar-systems-supports-the-36th-marine-corps-marathon/mcm_10kwomen/" rel="attachment wp-att-5517"><img class="alignnone size-thumbnail wp-image-5517" title="MCM10K Women's Winner Amanda Rice" src="http://blog.metrostarsystems.com/wp-content/uploads/2011/11/mcm_10kwomen-150x150.jpg" alt="MCM10K Women's Winner Amanda Rice" width="150" height="150" /></a>     <a href="http://blog.metrostarsystems.com/2011/11/02/metrostar-systems-supports-the-36th-marine-corps-marathon/mcm_cw/" rel="attachment wp-att-5518"><img class="size-thumbnail wp-image-5518 alignnone" title="36th Marine Corps Marathon Winner Army Reserve 1st Lt. Charles Ware" src="http://blog.metrostarsystems.com/wp-content/uploads/2011/11/MCM_CW-150x150.jpg" alt="36th Marine Corps Marathon Winner Army Reserve 1st Lt. Charles Ware" width="150" height="150" /></a></p>
</div>
<div>Rapidly, congratulations and cheers flooded Twitter and we were able to capture and display them on the jumbotron.</div>
<div>This was my first marathon experience and to say the least, it was both exhilarating and inspiring. To have the chance to take part in such an amazing event was an honor. Being able to moderate and share people&#8217;s messages of encouragement and excitement made the experience surreal. Congratulations to all the runners and the Marine Corps Marathon for all your hard work!</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.metrostarsystems.com/2011/11/02/metrostar-systems-supports-the-36th-marine-corps-marathon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linq to SharePoint vs. CAML vs. SQL Performance</title>
		<link>http://blog.metrostarsystems.com/2011/10/25/linq-to-sharepoint-vs-caml-vs-sql-performance/</link>
		<comments>http://blog.metrostarsystems.com/2011/10/25/linq-to-sharepoint-vs-caml-vs-sql-performance/#comments</comments>
		<pubDate>Tue, 25 Oct 2011 13:59:26 +0000</pubDate>
		<dc:creator>Lee Kohn</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[CAML]]></category>
		<category><![CDATA[LINQ]]></category>
		<category><![CDATA[Preformance]]></category>
		<category><![CDATA[Sharepoint]]></category>
		<category><![CDATA[SPQuery]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[WFE]]></category>

		<guid isPermaLink="false">http://blog.metrostarsystems.com/?p=5492</guid>
		<description><![CDATA[On a project I&#8217;ve just recently started I was tasked to create some SharePoint web services which would serve up data stored in lists.  Having learned recently about a new tool for SharePoint 2010 called Linq to SharePoint I decided I would give it a try rather than taking my normal approach of using CAML<em> ... </em>]]></description>
			<content:encoded><![CDATA[            <script type="text/javascript" src="http://blog.metrostarsystems.com/wp-content/plugins/wordpress-code-snippet/scripts/shBrushCSharp.js"></script>
<p>On a project I&#8217;ve just recently started I was tasked to create some SharePoint web services which would serve up data stored in lists.  Having learned recently about a new tool for SharePoint 2010 called Linq to SharePoint I decided I would give it a try rather than taking my normal approach of using CAML inside of SPQuery objects.  Linq to SharePoint is supposed to speed up the development process by creating a DAL for you based on the structure of your SharePoint lists with type safety on all of the lists and the relationships within.  Also making use of Linq to write queries means there would no need for the fairly cumbersome CAML queries which all SharePoint developers have come to know and love.</p>
<p>After a day or so of development with this new tool the one thing that became immediately obvious to me was how limited the actual queries could be.  Perhaps it was because of the data model/relationships of the lists but the majority of the queries I needed to run could not be done with pure Linq since Linq to SharePoint can only run queries which span across no more than two lists which was a huge problem for me since many of my queries needed to span upwards of four lists. (I probably should have noticed that in the documentation).</p>
<p>Query limitations aside I was able to get my code working and decided to do some due diligence and fire up a load tester to see what kind of performance these web services would provide.  What I found was pretty shocking.</p>
<p><a href="http://blog.metrostarsystems.com/2011/10/25/linq-to-sharepoint-vs-caml-vs-sql-performance/linq/" rel="attachment wp-att-5493"><img class="alignnone size-medium wp-image-5493" title="Linq to SharePoint Perf" src="http://blog.metrostarsystems.com/wp-content/uploads/2011/10/linq-300x217.png" alt="" width="300" height="217" /></a></p>
<p>After reaching around six requests per second the CPU of the WFE (web front end) would become maxed out with page response times hitting nearly 2 seconds.  This seemed like a surprisingly low amount of performance since the server it was running on had four CPUs and four GB of ram (albeit it is a VM) so I decided to see where all of that CPU time was being spent so I hooked up the Visual Studio profiler and noticed that over 80% of the time was being spent in the inner workings of the Linq to SharePoint code.</p>
<p>At this point I decided to see what would happen if I replaced all of the Linq to SharePoint queries with plain old CAML queries running against the SPList.GetDataTable method.  The load tester was then run and came up with these numbers:</p>
<p><a href="http://blog.metrostarsystems.com/2011/10/25/linq-to-sharepoint-vs-caml-vs-sql-performance/caml2/" rel="attachment wp-att-5501"><img class="alignnone size-medium wp-image-5501" title="CAML Query" src="http://blog.metrostarsystems.com/wp-content/uploads/2011/10/caml2-300x217.png" alt="" width="300" height="217" /></a></p>
<p>By using CAML queries the WFE was able to handle around 20 requests per second until its CPU maxed out, quite an improvement!</p>
<p>Then per my bosses request I created the same data model with a plain old relational database (SQL 2008r2) to see what the performance for the web service would be like with SQL as opposed to SharePoint.</p>
<p><a href="http://blog.metrostarsystems.com/2011/10/25/linq-to-sharepoint-vs-caml-vs-sql-performance/sql/" rel="attachment wp-att-5502"><img class="alignnone size-medium wp-image-5502" title="SQL Query" src="http://blog.metrostarsystems.com/wp-content/uploads/2011/10/sql-300x217.png" alt="" width="300" height="217" /></a></p>
<p>As most people would suspect this preformed by far the best with the WFE being able to handle around 50 requests per second!</p>
<p>&nbsp;</p>
<p>Although this may not have been the most scientific test in the world it definitely shows the overhead which Linq to SharePoint introduces as well as the overhead which SharePoint lists have over plain old SQL.  The lesson I&#8217;ve taken away from this is that Linq to SharePoint is okay for smaller/simpler projects where performance is not as important as getting the development done quickly however I will be staying away from it in the future.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.metrostarsystems.com/2011/10/25/linq-to-sharepoint-vs-caml-vs-sql-performance/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>FedTalks2011</title>
		<link>http://blog.metrostarsystems.com/2011/10/13/fedtalks2011/</link>
		<comments>http://blog.metrostarsystems.com/2011/10/13/fedtalks2011/#comments</comments>
		<pubDate>Thu, 13 Oct 2011 14:33:11 +0000</pubDate>
		<dc:creator>Bryan Roberts</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[FedScoop]]></category>
		<category><![CDATA[FedTalks]]></category>
		<category><![CDATA[Government]]></category>
		<category><![CDATA[IT]]></category>

		<guid isPermaLink="false">http://blog.metrostarsystems.com/?p=5482</guid>
		<description><![CDATA[I had the pleasure of attending FedTalks2011 &#8211; an event held October 11, 2011 at the Warner Theater in Washington D.C. The event was hosted by FedScoop and brought together “the greatest minds in government and business technology to discuss how innovation can aid in the way government works.” I was introduced to top White<em> ... </em>]]></description>
			<content:encoded><![CDATA[            <script type="text/javascript" src="http://blog.metrostarsystems.com/wp-content/plugins/wordpress-code-snippet/scripts/shBrushCSharp.js"></script>
<p>I had the pleasure of attending FedTalks2011 &#8211; an event held October 11, 2011 at the Warner Theater in Washington D.C. The event was hosted by <a href="http://fedscoop.com/" target="_blank">FedScoop</a> and brought together “the greatest minds in government and business technology to discuss how innovation can aid in the way government works.”</p>
<p>I was introduced to top White House leaders, federal agencies, and the tech industry all in one sitting. The event was pioneered by founder and CEO of FedScoop, Goldy Kamali, who for the past three years has been providing attendees with exposure to great IT minds. Being relatively new to the world of IT, attending FedTalks2011 was a great way to meet and learn from some of the industry’s top commercial, and Government IT professionals. With speakers such as Aneesh Chopra, Assistant to the President &amp; U.S. CTO, Executive Office of the President, Terry Kline, CIO and VP of IT at General Motors, Craig Newmark, Founder of Craigslist.com, Robert Stephens, Founder of Geek Squad &amp; Chief Technology Officer of Best Buy, and a number of other industry influencers, it was difficult for me not to feel positively overwhelmed with valuable technology information.</p>
<p>Each speaker spoke to the audience about their work in IT with their organization on various topics such as Citizen Engagement, Cyber Security, and Lowering the Costs of Government with Technology to name off a short list of the abundance of topics that influenced my “think outside of the box,” mentality. I am told the event gets better every year which I can certainly believe after being moved by Robert Stephens of Best Buy’s delivery of how he started the popular in home computer fix-it company Geek Squad. Stephens delivered a brief overview of starting Geek Squad in college with $200 to his name. He joked about how it annoys him that people often think that Best Buy created Geek Squad as he laughed and said “I created Geek Squad and later acquired Best Buy.”</p>
<p>From Stephens, to Craig Newmark’s fireside chat with Dr. Peter Levin on Citizen Engagement, and Terry Kline’s convincing delivery of leveraging the consumerization of IT in an organization. I left FedTalks2011 eager to learn more about the IT and government fields of IT knowledge to carry with me until Fedtalks2012.</p>
<p>To learn more about FedTalks2011 visit <a href="http://fedscoop.com/fedtalks/fedtalks2011/">http://fedscoop.com/fedtalks/fedtalks2011/</a></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.metrostarsystems.com/2011/10/13/fedtalks2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jenny&#8217;s SharePoint Tip:  Rollup items across a site collection by creating a cross list data view web part.</title>
		<link>http://blog.metrostarsystems.com/2011/10/03/jennys-sharepoint-tip-rollup-items-across-a-site-collection-by-creating-a-cross-list-data-view-web-part/</link>
		<comments>http://blog.metrostarsystems.com/2011/10/03/jennys-sharepoint-tip-rollup-items-across-a-site-collection-by-creating-a-cross-list-data-view-web-part/#comments</comments>
		<pubDate>Mon, 03 Oct 2011 20:55:21 +0000</pubDate>
		<dc:creator>Jennifer Hersko</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[content rollup]]></category>
		<category><![CDATA[Data View Web Part]]></category>
		<category><![CDATA[DVWP]]></category>
		<category><![CDATA[Sharepoint]]></category>
		<category><![CDATA[SharePoint 2007]]></category>
		<category><![CDATA[tips & tricks]]></category>
		<category><![CDATA[XSLT]]></category>

		<guid isPermaLink="false">http://blog.metrostarsystems.com/?p=5402</guid>
		<description><![CDATA[While working on a client project I had a request to rollup all  calendar items across a single site collection on the home page of the root site.  After reviewing several blogs describing how to create a cross list data view web part (dvwp) I was able to successfully create a solution per the client<em> ... </em>]]></description>
			<content:encoded><![CDATA[            <script type="text/javascript" src="http://blog.metrostarsystems.com/wp-content/plugins/wordpress-code-snippet/scripts/shBrushCSharp.js"></script>
<p>While working on a client project I had a request to rollup all  calendar items across a single site collection on the home page of the root site.  After reviewing <em>several </em>blogs describing how to create a cross list data view web part (dvwp) I was able to successfully create a solution per the client request.  This blog provides step-by-step instructions for creating your own cross list dvwp.  </p>
<p>The below example creates a cross list dvwp that displays <em>all</em> calendar items <em>from across a site collection</em> on a web page or site.  After the cross list dvwp is created, any new sub site with a calendar list will have its entries compiled in the cross list dvwp. </p>
<p><strong><img src="http://blog.metrostarsystems.com/wp-content/uploads/2011/10/dvwp1.png" alt="" width="642" height="150" /></strong></p>
<p><strong style="font-size: 16px;">Things to know prior to starting  </strong></p>
<p><strong style="font-size: 12px;">List Server Template <br />
</strong>You need to know the list server template number for the list type you will querying for this solution.  I.e. A calendar list’s server template number is 106.  Each list type in SharePoint has a number associated with it and this number is required to create a cross list query.   For a listing of list types and their corresponding numbers,  visit this MSDN page: <a href="http://msdn.microsoft.com/en-us/library/dd340479(v=prot.13).aspx">http://msdn.microsoft.com/en-us/library/dd340479(v=prot.13).aspx</a></p>
<p><strong style="font-size: 12px;">Static/Internal Name versus Display Name for Columns<br />
</strong>Most often columns have two names; an internal name and a display name.  I.e. In a calendar list the <strong>Start Time</strong> column has an internal name of <strong>EventDate</strong>.  When creating a cross list query the internal names are required.  For more information on internal vs. display names, read this blog by Marc Anderson:  <a href="http://sympmarc.com/2009/12/11/staticname-versus-displayname-on-sharepoint-lists/">http://sympmarc.com/2009/12/11/staticname-versus-displayname-on-sharepoint-lists/</a> </p>
<p><strong style="font-size: 16px;">Keep in Mind</strong></p>
<p>There are pros and cons associated with using a cross list dvwp rather than purchasing a more robust 3rd party tool. <img src="http://blog.metrostarsystems.com/wp-content/uploads/2011/10/dvwp2.png" alt="" width="702" height="127" /></p>
<p> <strong style="font-size: 16px;">Create a cross list query       </strong></p>
<p><strong> 1.</strong>  In the <strong>browser</strong>, add a list view web part to a web part page or a site page. <br />
 <img src="http://blog.metrostarsystems.com/wp-content/uploads/2011/10/dvwp3.png" alt="" width="547" height="89" /></p>
<p><strong> 2.</strong>  Format the view – include all columns and in the order they should appear in the final product.<br />
<img src="http://blog.metrostarsystems.com/wp-content/uploads/2011/10/dvwp4.png" alt="" width="485" height="208" /></p>
<p><strong> 3.</strong>  Open <strong>SharePoint Designer</strong>.  Navigate to the web page or site where the list web part was added and view in <strong>Split</strong> mode.<br />
<img src="http://blog.metrostarsystems.com/wp-content/uploads/2011/10/dvwp5.png" alt="" width="223" height="91" /></p>
<p><strong>4. </strong> Convert the list view web part to a data view web part.  <strong>Right-click</strong> on the list view web part and choose <strong>Convert to XSLT Data View</strong>.<br />
<img src="http://blog.metrostarsystems.com/wp-content/uploads/2011/10/dvwp6.png" alt="" width="311" height="227" /></p>
<p><strong> 5.</strong>  The dvwp needs to know <em>where</em> to query.  From the tool bar, choose <strong>Edit</strong>, then <strong>Find</strong>.</p>
<p style="padding-left: 30px;"><strong>a.    </strong>Search for <strong>&lt;ParameterBindings&gt;</strong> </p>
<p style="padding-left: 60px;"><em>After</em> the open &lt;ParameterBindings&gt; tag, add the following parameter binding to the list using <em>your</em> <strong>site/sub site</strong> information (<strong>NOTE:</strong>  your site information may be /site/, or /site/subsite/, or, /site/sub site/sub sub site/, etc.): </p>
<p style="padding-left: 60px;">&lt;parameterbinding Name=&#8221;WebURL&#8221; Location=&#8221;None&#8221; DefaultValue=&#8221;<strong>/site/subsite/</strong>&#8220;/&gt; </p>
<p style="padding-left: 30px;"><strong>b.  </strong>Search for <strong>&lt;xsl:param</strong> </p>
<p style="padding-left: 60px;">Above the first entry, add the following using <em>your</em> <strong>site/sub site</strong> information: </p>
<p style="padding-left: 60px;">&lt;xsl:param name=&#8221;WebURL&#8221;&gt;/site/subsite/&lt;/xsl:param&gt; </p>
<p><img src="http://blog.metrostarsystems.com/wp-content/uploads/2011/10/dvwp7.png" alt="" width="284" height="321" />  </p>
<p><strong>6. </strong>  This section tells the query <em>what</em> columns to match and display.</p>
<p style="padding-left: 30px;"><strong>a. </strong> Search for <strong>&lt;DataSources&gt;</strong></p>
<p style="padding-left: 30px;"><strong>b. </strong> In the <strong>code pane</strong> in Designer, between the open &lt;DataSources&gt; and closing &lt;/DataSources&gt; tags, look for the id=&#8221;[id_name_here]&#8220;.  <strong>Copy the existing id name</strong> and save it somewhere.  You will need this information in <em>step 6d</em>.<br />
<img src="http://blog.metrostarsystems.com/wp-content/uploads/2011/10/dvwp8.png" alt="" width="324" height="111" /></p>
<p style="padding-left: 30px;"><strong>c. </strong> In the code pane<strong>, delete</strong> the following code:  <strong><em>open</em> &lt;DataSources&gt;</strong> tag to the <strong><em>closing</em> &lt;/DeleteParameters&gt;</strong> tag and <em>all</em> code between. <span style="text-decoration: underline;">This should leave you with the open &lt;SelectParameters&gt; tag to the closing &lt;/DataSources&gt; tag</span>. </p>
<p style="padding-left: 30px;"><em><strong>d. </strong>Above</em> the open &lt;SelectParameters&gt; tag<strong> copy and paste</strong> the below open &lt;DataSources&gt; tag and following code and <em>modify</em> the items highlighted in yellow to match your list needs.</p>
<p style="padding-left: 60px;">&lt;DataSources&gt;&lt;SharePoint:SPDataSource runat=&#8221;server&#8221; DataSourceMode=&#8221;<span style="color: #ff0000;">Cross</span>List&#8221; SelectCommand=&#8221;&lt;View&gt;&lt;Webs Scope=&#8217;Recursive&#8217;&gt;&lt;/Webs&gt;&lt;Lists ServerTemplate=&#8217;<span style="background-color: yellow;">106</span>&#8216;&gt;&lt;/Lists&gt;&lt;ViewFields&gt;&lt;FieldRef Name=&#8217;<span style="color: #ff0000;">FileDirRef</span>&#8216;/&gt;&lt;FieldRef Name=&#8217;<span style="color: #ff0000;">ID</span>&#8216;/&gt;&lt;FieldRef Name=&#8217;<span style="background-color: yellow;">Location</span>&#8216;/&gt;&lt;FieldRef Name=&#8217;<span style="background-color: yellow;">Title</span>&#8216;/&gt;&lt;FieldRef Name=&#8217;<span style="background-color: yellow;">EventDate</span>&#8216;/&gt;&lt;FieldRef Name=&#8217;<span style="background-color: yellow;">EndDate</span>&#8216;/&gt;&lt;<span style="color: #ff0000;">ProjectProperty Name=&#8217;Title</span>&#8216;/&gt;&lt;/ViewFields&gt;&lt;Query&gt;&lt;/Query&gt;&lt;/View&gt;&#8221; UseInternalName=&#8221;True&#8221; id=&#8221;<span style="background-color: yellow;">datasource2</span>&#8220;&gt;</p>
<p style="padding-left: 60px;"><strong>CODE OVERVIEW </strong> </p>
<p style="padding-left: 60px;"><span style="background-color: yellow;">Highlighted text</span> – readers of this blog should replace highlighted text with values that correspond to their solution.  <br />
***I.e. If your cross list is NOT querying calendar lists, then the list server template of 106 should be replaced with the correct value.<br />
***The &lt;FieldRef Name&gt; tags tell the data view what columns to display.  If a column should appear in the dvwp, be sorted on, or filtered on, the column name MUST have a &lt;FieldRef Name&gt; tag.  NOTE:  You can have as many or few &lt;FieldRef Name&gt; tags as necessary.  </p>
<p style="padding-left: 60px;"><span style="color: #ff0000;">Text in red</span> should not be deleted. <br />
***The <strong>Cross</strong> added in the <strong>DataSourceMode</strong> is the key to searching across the site collection for items of the same list server type. <br />
***The <strong>FileDirRef</strong> reference identifies information about the file directory.  Do no delete this FieldRef.<br />
***The <strong>ProjectProperty Name=”Title/”</strong> reference populates the site name the list item is popultating from.  Do not delete this reference if you want to note what site the item in your query is pulling from. </p>
<p>Click anywhere in the <strong>design pane</strong> of Designer.  The dvwp should now contain  items from across the site collection that are saved to lists using the list server template you defined in step 6d.<br />
  <img src="http://blog.metrostarsystems.com/wp-content/uploads/2011/10/dvwp9.png" alt="" width="646" height="192" /> </p>
<p><strong>7.</strong>  The Title field <span style="text-decoration: underline;">does not </span>link to item display forms.  To enable this functionality, search for <strong>select=&#8221;@Title&#8221;</strong> and locate the reference inside of a <strong>&lt;xsl:value-of  </strong>tag.</p>
<p style="padding-left: 30px;"><strong>a. </strong> The xsl:value-of tag that contains the <strong>@Title</strong> will reside inside of an &lt;a&gt; tag – delete the open &lt;a&gt; and closing &lt;/a&gt; tags and <em>all</em> code inside of it. </p>
<p style="padding-left: 30px;"><strong>b.</strong>  Replace the text with the following: </p>
<p style="padding-left: 60px;">&lt;a&gt;&lt;xsl:attribute name=&#8221;href&#8221;&gt;/&lt;xsl:value-of select=&#8221;substring-after(@FileDirRef,&#8217;;#&#8217;)&#8221; /&gt;/Dispform.aspx?ID=&lt;xsl:value-of select=&#8221;@ID&#8221; /&gt;&lt;/xsl:attribute&gt;&lt;xsl:value-of select=&#8221;@Title&#8221; /&gt;&lt;/a&gt;</p>
<p><strong>8. </strong> To add the site name where each item resides, <strong>Right-click</strong> the dvwp and choose <strong>Show Common Control Tasks</strong>, choose <strong>Edit Columns</strong>, then select <strong>ProjectProperty.Title</strong> and hit the <strong>Add</strong> button to display that column in the dvwp.  After the column is added, in the code pane, edit the column header to read as <strong>Site</strong>. </p>
<p> <img src="http://blog.metrostarsystems.com/wp-content/uploads/2011/10/dvwp10.png" alt="" width="355" height="187" /></p>
<p><img src="http://blog.metrostarsystems.com/wp-content/uploads/2011/10/dvwp11.png" alt="" width="283" height="151" /></p>
<p><img src="http://blog.metrostarsystems.com/wp-content/uploads/2011/10/dvwp12.png" alt="" width="521" height="340" /> </p>
<p><strong> </strong><strong>NOTE:</strong> My example does not contain any name columns, but if it did…  Columns that display names will contain extra characters (D’oh!).  To correct this, edit the xsl command containing the column name (thanks to <a href="http://blog.metrostarsystems.com/author/lee-kohn/">Lee Kohnn</a> for helping me with this one).  Columns that display names include but are not limited to: AssignedTo, Requestor, Author, Editor. </p>
<p>Search for <strong>select=”@[Column Internal Name]”</strong> and locate the reference inside of a <strong>&lt;xsl:value-of</strong> tag. </p>
<p style="padding-left: 30px;">a.  Replace the existing xsl with the following: </p>
<p style="padding-left: 60px;">&lt;xsl:value-of select=&#8221;substring-after(@[Column Internal Name],&#8217;;#&#8217;)&#8221; /&gt; </p>
<p style="font-size: 16px;"><strong>The finished product</strong></p>
<p>Voila, my cross list dvwp!  As new sub sites are added, any calendar list that contains items will automatically populate in my dvwp.  As items and/or sub sites are deleted, my dvwp will automatically update by removing those items.<br />
<img src="http://blog.metrostarsystems.com/wp-content/uploads/2011/10/final.png" alt="" width="575" height="175" /></p>
<p><strong style="font-size: 16px;">Links</strong></p>
<p>Here are some useful blogs I read to help unravel this solution for myself:</p>
<ul>
<li><a href="http://platinumdogs.wordpress.com/2009/07/21/querying-document-libraries-or-pulling-teeth-with-caml/">http://platinumdogs.wordpress.com/2009/07/21/querying-document-libraries-or-pulling-teeth-with-caml/</a></li>
<li><a href="http://sympmarc.com/2009/04/21/displaying-columns-in-a-crosslist-dvwp/">http://sympmarc.com/2009/04/21/displaying-columns-in-a-crosslist-dvwp/</a></li>
<li><a href="http://www.manliane.com/kb/157/">http://www.manliane.com/kb/157/</a></li>
</ul>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.metrostarsystems.com/2011/10/03/jennys-sharepoint-tip-rollup-items-across-a-site-collection-by-creating-a-cross-list-data-view-web-part/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

