﻿<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type="text/xsl" href="http://www.bluedoglimited.com/SharePointThoughts/_wpresources/BluedogLimited.WebParts.Syndication/2.0.0.0__94f7066d43ae7eb6/PageView.xsl"?><rss version="2.0"><channel SG:aggregatedData="False" xmlns:SG="BluedogLimited:SyndicationGenerator"><title>SharePoint Thoughts - Maurice Prather [MCM, MVP]</title><description>A blog centered on the SharePoint platform</description><link>http://www.bluedoglimited.com/SharePointThoughts</link><image><title>SharePoint Thoughts - Maurice Prather [MCM, MVP]</title><url>http://www.bluedoglimited.com/_wpresources/BluedogLimited.WebParts.Syndication/2.0.0.0__94f7066d43ae7eb6/sg32_v2.png</url><link>http://www.bluedoglimited.com/SharePointThoughts</link></image><language>en-US</language><copyright>Copyright © 2004-2011 BluedogLimited.com.  All rights reserved.</copyright><pubDate>Thu, 17 May 2012 10:14:12 GMT</pubDate><lastBuildDate>Tue, 11 Oct 2011 04:32:00 GMT</lastBuildDate><docs>http://backend.userland.com/rss</docs><category>Posts</category><generator>Syndication Generator for Windows® SharePoint® Services v2.0.0.12</generator><ttl>60</ttl><item><title>Using PowerShell to create new sites based on site-scoped WebTemplates</title><description>&lt;div class="ExternalClass5BB8B3B13886407290A2E1B052B8C287"&gt;&lt;p&gt;WebTemplates are definitely a powerful new construct in our SharePoint 2010 toolbox.  WebTemplates definitely come in handy as they can be deployed as sandbox-compatible features.&lt;/p&gt;
&lt;p&gt;Creating a site based on a web template is pretty straightforward via the UI. Basically it just shows up as another site template option. As a user creating a site, you’d never the know the difference between a farm-scoped or site-scoped WebTemplate. However, if you want to use PowerShell, you will notice that your PS scripts will take on a slightly different shape based on how the WebTemplate is scoped.&lt;/p&gt;
&lt;p&gt;If the WebTemplate is deployed as a farm-scoped feature, then you can easily use &lt;a href="http://technet.microsoft.com/en-us/library/ff607579.aspx" target="_blank"&gt;New-SPWeb&lt;/a&gt; in the following manner:&lt;/p&gt;
&lt;div class="ms-rteElement-CodeSample"&gt;new-spweb $url –template “{GUID}#WebTemplateName”&lt;/div&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;where GUID represents the parent feature ID. &lt;/p&gt;
&lt;p&gt;If the WebTemplate is deployed as a site-scoped feature, then your PowerShell needs to be adjusted.  Otherwise, if you attempt to use new-spweb, you’ll get the following error message: Template is not found and is not applied.  This effectively means the cmdlet could not locate a farm-level template to apply to the new site.&lt;/p&gt;
&lt;p&gt;For example...&lt;/p&gt;
&lt;p&gt;&lt;a href="/SharePointThoughts/Lists/Posts/Attachments/340/image_4_3458E128.png"&gt;&lt;img width="644" height="165" title="image" alt="image" src="/SharePointThoughts/Lists/Posts/Attachments/340/image_thumb_1_3458E128.png" border="0" style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:block;float:none;margin-left:auto;border-top:0px;margin-right:auto;border-right:0px;padding-top:0px" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;There are two ways to circumvent this problem:&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;Once the site is created, call ApplyWebTemplate &lt;/li&gt;
&lt;li&gt;Before the site created, grab a reference to the appropriate WebTemplate and provide it as a value to the &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spwebcollection.add.aspx" target="_blank"&gt;SPWebCollection.Add&lt;/a&gt; method on the parent site.&lt;/li&gt;&lt;/ol&gt;
&lt;h2 class="ms-rteElement-H2B"&gt;Examples&lt;/h2&gt;
&lt;p&gt;Calling ApplyWebTemplate &lt;/p&gt;
&lt;div class="ms-rteElement-CodeSample"&gt;&lt;p&gt;$url = &amp;quot;http://sitecollection/site1&amp;quot;&lt;/p&gt;
&lt;p&gt;$w = new-spweb $url&lt;/p&gt;
&lt;p&gt;$w.ApplyWebTemplate(&amp;quot;{GUID}#WebTemplateName&amp;quot;)&lt;/p&gt;&lt;/div&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Calling SPWebCollection.Add &lt;/p&gt;
&lt;div class="ms-rteElement-CodeSample"&gt;&lt;p&gt;$url = &amp;quot;http://sitecollection&amp;quot;&lt;/p&gt;
&lt;p&gt;$w = get-spweb $url &lt;/p&gt;
&lt;p&gt;$template = $w.GetAvailableWebTemplates(1033) | ? { $_.name -eq &amp;quot;{GUID}#WebTemplateName&amp;quot; }&lt;/p&gt;
&lt;p&gt;$w.Webs.Add(&amp;quot;site1&amp;quot;, &amp;quot;sample site 1&amp;quot;, &amp;quot;sample description&amp;quot;, 1033, $template, $false, $false)&lt;/p&gt;&lt;/div&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;The difference between the two methods basically boils down to the language selection for the new site. With the simple call to ApplyWebTemplate, the new site uses the same language as the parent. By grabbing the reference to the web template beforehand, you have more control.&lt;/p&gt;
&lt;p&gt;-Maurice&lt;/p&gt;&lt;/div&gt;&lt;hr/&gt;&lt;div style="text-align:center; color: silver;font-size: 65%"&gt;Copyright © 2004-2011 BluedogLimited.com. Licensed under a &lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/"&gt;Creative Commons License&lt;/a&gt;.&lt;/div&gt;
    </description><link>http://www.bluedoglimited.com/SharePointThoughts/Lists/Posts/ViewPost.aspx?ID=340</link><comments>http://www.bluedoglimited.com/SharePointThoughts/Lists/Posts/ViewPost.aspx?ID=340#Comments</comments><category>Posts</category><guid isPermaLink="true">http://www.bluedoglimited.com/SharePointThoughts/Lists/Posts/ViewPost.aspx?ID=340</guid><pubDate>Tue, 11 Oct 2011 04:32:00 GMT</pubDate></item><item><title>SharePoint Conference 2011 Wrap Up</title><description>&lt;div class="ExternalClass99AD7B1FEAB940B3AB96233A6068C853"&gt;&lt;p&gt;This year’s SharePoint Conference was probably one of the most interesting conferences that Microsoft has hosted in the past few years.  The attendance was solid and presentations covered the spectrum from 101 fundamentals over all the way over to nitty-gritty details.&lt;/p&gt;  &lt;p&gt;Monday morning I had a chance to present on managing the Sandboxed Code Service (SP376).  I was a little skeptical that we’d fill a room with 700 seats, but I was very pleasantly surprised to see the room fill up before we switched on the microphone.  There were a ton of good questions afterwards as well.  Thanks to everyone who attended and posted all the great messages on Twitter. If you have any questions I was unable to answer, please feel free to reach out. &lt;/p&gt;  &lt;p&gt;The conference was also a great chance to run into folks.  I saw many old friends – some that I haven’t seen literally in years – as well as many clients and former &lt;a href="http://www.criticalpathtraining.com/" target="_blank"&gt;Critical Path Training&lt;/a&gt; admin and dev students.  It’s always amazing to see the positive energy!&lt;/p&gt;  &lt;p&gt;The &lt;a href="http://www.aptillon.com" target="_blank"&gt;Aptillon&lt;/a&gt; team also had record number of presentations at the conference.  We had 7 presentations by 6 different teammates.  As a company partner, that is definitely very cool stat however the nicer fact is that we had a chance to hang out.  Since we’re spread out all over the US and constantly on the go, it’s rare to have more than 2 people in the same room at the same time.  &lt;/p&gt;  &lt;p&gt;There was also a record number of Microsoft Certified Masters from across the globe at the conference.  How cool is that?  I remember the days when Spence and I were the only MCMs who weren’t employed by Microsoft. :) MSL also announced a new certification – Microsoft Certified Architect.  It’s really nice to see program growing! &lt;/p&gt;  &lt;p&gt;Great conversations all around. New projects, new ideas, confirmation of design decisions... chatting about the sandbox, helping folks get a better perspectives on PowerPivot and it’s amazing potential, the cloud, getting out of the sandbox (aka azure), Windows Phone 7, watching cloud-servicing applications such as &lt;a href="http://www.sharevolutionhq.com/" target="_blank"&gt;Sharevolution&lt;/a&gt; hit their stride, building new partnerships... truly exciting stuff!&lt;/p&gt;  &lt;p&gt;-Maurice&lt;/p&gt;&lt;/div&gt;&lt;hr/&gt;&lt;div style="text-align:center; color: silver;font-size: 65%"&gt;Copyright © 2004-2011 BluedogLimited.com. Licensed under a &lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/"&gt;Creative Commons License&lt;/a&gt;.&lt;/div&gt;
    </description><link>http://www.bluedoglimited.com/SharePointThoughts/Lists/Posts/ViewPost.aspx?ID=339</link><comments>http://www.bluedoglimited.com/SharePointThoughts/Lists/Posts/ViewPost.aspx?ID=339#Comments</comments><category>Posts</category><guid isPermaLink="true">http://www.bluedoglimited.com/SharePointThoughts/Lists/Posts/ViewPost.aspx?ID=339</guid><pubDate>Fri, 07 Oct 2011 18:23:33 GMT</pubDate></item><item><title>Regex for Wiki Page regions</title><description>&lt;div class="ExternalClass1B9B525A40B64923ABDDA8FD01B4941A"&gt;&lt;p&gt;In an earlier &lt;a href="/SharePointThoughts/Lists/Posts/Post.aspx?ID=337" target="_blank"&gt;post&lt;/a&gt;, I briefly touched on the value of creating your own InsertWebPartIntoWikiPage method. Part 1 – solved.  Now comes Part 2 – where am I injecting my web part? &lt;/p&gt;
&lt;p&gt;That’s a valid question that is easily answered whenever you’re using the SharePoint wiki page editing tools within the browser.  The tools allow users to basically pick a spot in the rendered text, click on Add Web Part, and you are done.  The tools know how to safely inject your web part without forming bad html under the hood.&lt;/p&gt;
&lt;p&gt;From a programmatic sense, this is much harder because we don’t get the “smarts” of knowing where to insert the web part markup.  Most users that try to use InsertWebPartIntoWikiPage invariably fail the first few times because they forget to account for the fact that they are injecting web part markup into an html blob and therefore need to properly account for well-formedness (is that a word?).&lt;/p&gt;
&lt;p&gt;The net result is that folks will create code that looks like…&lt;/p&gt;
&lt;blockquote&gt;&lt;div class="ms-rteElement-CodeSample"&gt;InsertWebPartIntoWikiPage (file, webpart, &lt;span class="ms-rteStyle-Keyword"&gt;randomValueKeepFingersCrossedNothingBreaks&lt;/span&gt;)&lt;/div&gt;&lt;/blockquote&gt;
&lt;p&gt;The validity of the resulting HTML becomes something like rolling the dice at the casino.  Most folks can start with an empty page and count the number of characters to the first legitimate location where web part markup can be injected.  However, once the page is created and populated, all bets are off and IWPIWP becomes more of a hindrance than an aid but it doesn’t have to be that way.&lt;/p&gt;
&lt;p&gt;Wouldn’t it be nice to be able to readily determine where the valid injection points are located? Sure! The answer comes in the form of good old fashioned regular expressions.&lt;/p&gt;
&lt;p&gt;If you’re like me, you’ve got a nice little regex library for most any html operation (tag stripping, tag collection, validation, etc).  Well, here’s one more that you can add to the list… a regex to safely identify the your Wiki page regions!&lt;/p&gt;
&lt;p&gt;&lt;a href="/SharePointThoughts/Lists/Posts/Attachments/338/image_14_5971AA7D.png"&gt;&lt;img width="644" height="194" title="image" alt="image" src="/SharePointThoughts/Lists/Posts/Attachments/338/image_thumb_6_5971AA7D.png" border="0" style="background-image:none;border-bottom:0px;border-left:0px;margin:12px auto;padding-left:0px;padding-right:0px;display:block;float:none;border-top:0px;border-right:0px;padding-top:0px" /&gt;&lt;/a&gt;This little regex allows you to easily determine how many regions are in your Wiki page and, more importantly, where they begin and end.  The regex groups the valid editable regions with the name “InnerHtml”.  They represent the blue-bordered regions whenever you are editing a wiki page in the browser (as shown below).&lt;/p&gt;
&lt;p&gt;&lt;a href="/SharePointThoughts/Lists/Posts/Attachments/338/image_18_5971AA7D.png"&gt;&lt;img width="244" height="176" title="image" alt="image" src="/SharePointThoughts/Lists/Posts/Attachments/338/image_thumb_8_5971AA7D.png" border="0" style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:block;float:none;margin-left:auto;border-top:0px;margin-right:auto;border-right:0px;padding-top:0px" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In it’s simplest form, you can now inject your web parts in the right places without destroying your existing HTML.  For example, in the following clip, we add a web part at the start of the second region in the page.&lt;/p&gt;
&lt;p&gt;&lt;a href="/SharePointThoughts/Lists/Posts/Attachments/338/image_16_4480280A.png"&gt;&lt;img width="644" height="52" title="image" alt="image" src="/SharePointThoughts/Lists/Posts/Attachments/338/image_thumb_7_4480280A.png" border="0" style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:block;float:none;margin-left:auto;border-top:0px;margin-right:auto;border-right:0px;padding-top:0px" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Done! Page is updated with my web part in the right place and it all just works.&lt;/p&gt;
&lt;p&gt;The really nice thing is that since we’re only identifying the HTML within the region, we can easily use the regex to update the text as needed in the region of my choice.  &lt;/p&gt;
&lt;p&gt;Here’s another example where we identify a region and then replace it with new text.&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="/SharePointThoughts/Lists/Posts/Attachments/338/image_12_4480280A.png"&gt;&lt;img width="644" height="75" title="image" alt="image" src="/SharePointThoughts/Lists/Posts/Attachments/338/image_thumb_5_4480280A.png" border="0" style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:block;float:none;margin-left:auto;border-top:0px;margin-right:auto;border-right:0px;padding-top:0px" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;What other tricks can you come up with?  How about identifying the web parts that exist in the page?  How about placing the new web parts in mid-stream w/o breaking the existing HTML structure?  All possible with regex, especially now that we’ve clearly identified the InnerHtml of your regions!  &lt;/p&gt;
&lt;p&gt;You got to love the power of regular expressions because with a little ingenuity you can solve each one of those problems.  &lt;/p&gt;
&lt;p&gt;-Maurice &lt;/p&gt;&lt;/div&gt;&lt;hr/&gt;&lt;div style="text-align:center; color: silver;font-size: 65%"&gt;Copyright © 2004-2011 BluedogLimited.com. Licensed under a &lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/"&gt;Creative Commons License&lt;/a&gt;.&lt;/div&gt;
    </description><link>http://www.bluedoglimited.com/SharePointThoughts/Lists/Posts/ViewPost.aspx?ID=338</link><comments>http://www.bluedoglimited.com/SharePointThoughts/Lists/Posts/ViewPost.aspx?ID=338#Comments</comments><category>Posts</category><guid isPermaLink="true">http://www.bluedoglimited.com/SharePointThoughts/Lists/Posts/ViewPost.aspx?ID=338</guid><pubDate>Tue, 27 Sep 2011 20:09:00 GMT</pubDate></item><item><title>Fixing the HTML that InsertWebPartIntoWikiPage generates</title><description>&lt;div class="ExternalClass55EF12EE2DD4445298A74424F490894D"&gt;   &lt;p&gt;Buried deep in the recess of the WebPartPages class, there is a static method that belongs to the WikiEditPage class and its sole purpose is to allow you to insert WebParts into a wiki page.&lt;/p&gt;    &lt;p&gt;The static method &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.webpartpages.wikieditpage.insertwebpartintowikipage(office.14).aspx" target="_blank"&gt;Microsoft.SharePoint.WebPartPages.WikiEditPage.InsertWebPartIntoWikiPage&lt;/a&gt; basically takes 3 parameters – the file, the webpart, and the text position of where you want to inject the web part.&lt;/p&gt;    &lt;p&gt;All is fine and dandy except for one thing – the html that is produced by the method is invalid.  The method basically injects the html shown on the slide below.  &lt;/p&gt;    &lt;p&gt;&lt;a href="/SharePointThoughts/Lists/Posts/Attachments/337/image_2_442348F8.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:block;float:none;margin-left:auto;border-top:0px;margin-right:auto;border-right:0px;padding-top:0px" title="image" border="0" alt="image" src="/SharePointThoughts/Lists/Posts/Attachments/337/image_thumb_442348F8.png" width="244" height="184" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;Take special note of the next to last &amp;lt;div&amp;gt; tag.  &lt;/p&gt;    &lt;p class="ms-rteElement-Callout2"&gt;&lt;em&gt;Self-closing tag results in broken wiki page!&lt;/em&gt;       &lt;br /&gt;      &lt;br /&gt;&amp;lt;div style='display:none' id=&amp;quot;vid_{0}&amp;quot;&lt;font style="background-color:#ffff00"&gt;/&lt;/font&gt;&amp;gt;       &lt;br /&gt;&lt;/p&gt;    &lt;p&gt;The tag as written is self-closing.  Unfortunately, when the text is processed by SharePoint’s parser, the self-closing notation is not recognized as valid html and the parser leaves this tag open.  This results in a very broken wiki page because the closing &amp;lt;/div&amp;gt; does not exist for the segment of html that was just injected into the page.  Take a look at the image below – 3 start tags but only 2 end tags.&lt;/p&gt;    &lt;p&gt;&lt;a href="/SharePointThoughts/Lists/Posts/Attachments/337/image_4_442348F8.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;margin:6px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px" title="image" border="0" alt="image" src="/SharePointThoughts/Lists/Posts/Attachments/337/image_thumb_1_442348F8.png" width="644" height="136" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;The fix is pretty easy.  Create your own version of InsertWebPartIntoWikiPage!  &lt;/p&gt;    &lt;p&gt;All you need to do is change that next to last div tag from one that uses the self-closing notation over to one that properly uses an end tag.&lt;/p&gt;    &lt;p&gt;&lt;a href="/SharePointThoughts/Lists/Posts/Attachments/337/image_6_442348F8.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;margin:6px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px" title="image" border="0" alt="image" src="/SharePointThoughts/Lists/Posts/Attachments/337/image_thumb_2_442348F8.png" width="644" height="88" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;Once you do this, your html segment will look like...&lt;/p&gt;    &lt;p&gt;&lt;a href="/SharePointThoughts/Lists/Posts/Attachments/337/image_8_442348F8.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;margin:6px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px" title="image" border="0" alt="image" src="/SharePointThoughts/Lists/Posts/Attachments/337/image_thumb_3_442348F8.png" width="644" height="103" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;Nice and clean with the right number of start and end tags. More importantly, your wiki page will work as expected.&lt;/p&gt;    &lt;p&gt;Later this week, I’ll show you a really cool way to use regex to control the location of the web parts that you’re trying to add to the wiki page.&lt;/p&gt;    &lt;p&gt;-Maurice&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;Reference Post: &lt;a title="Regex for Wiki Page regions" href="/SharePointThoughts/Lists/Posts/Post.aspx?ID=338"&gt;Regex for Wiki Page regions&lt;/a&gt;&lt;/p&gt;&lt;hr/&gt;&lt;div style="text-align:center; color: silver;font-size: 65%"&gt;Copyright © 2004-2011 BluedogLimited.com. Licensed under a &lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/"&gt;Creative Commons License&lt;/a&gt;.&lt;/div&gt;
    </description><link>http://www.bluedoglimited.com/SharePointThoughts/Lists/Posts/ViewPost.aspx?ID=337</link><comments>http://www.bluedoglimited.com/SharePointThoughts/Lists/Posts/ViewPost.aspx?ID=337#Comments</comments><category>Posts</category><guid isPermaLink="true">http://www.bluedoglimited.com/SharePointThoughts/Lists/Posts/ViewPost.aspx?ID=337</guid><pubDate>Tue, 09 Aug 2011 08:34:02 GMT</pubDate></item><item><title>Options to using Import/Export</title><description>&lt;div class="ExternalClass05A7F4901E094C579AC63B0312F65C38"&gt;&lt;p&gt;Earlier today, Todd Klindt and I had a brief twitter chat.  Basically, he ran into some problems with a site that had been run through the wringer with Import/Export.  Todd asked a really good question for which the answer requires a little more space than twitter allows.  :)&lt;/p&gt;  &lt;p&gt;For those that are relatively new to SharePoint, they don’t often times don’t get a chance to learn what works or what needs to be avoided until it’s too late. Let’s take a brief look at the history of this feature set so that if you’re new to SharePoint, you’ll know where some issues may pop up.&lt;a href="/SharePointThoughts/Lists/Posts/Attachments/336/image_2_3A17EF48.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;margin:6px;padding-left:0px;padding-right:0px;display:inline;float:right;border-top:0px;border-right:0px;padding-top:0px" title="image" border="0" alt="image" align="right" src="/SharePointThoughts/Lists/Posts/Attachments/336/image_thumb_3A17EF48.png" width="244" height="214" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Import/Export is one of those features that needs to be used with caution.  Why?  Well, we have to go back to RTM of 2007 when the world was first introduced to Import/Export (aka PRIME).  It was a very &lt;a href="/SharePointThoughts/Lists/Posts/Post.aspx?ID=278" target="_blank"&gt;broken toolset&lt;/a&gt;.  Fast forward a year or so, then the Infrastructure Updates for 2007 was released.  This was a special set of fixes designed to repair the underlying Import/Export engine.  The IU made the feature set much more usable; however, there were a core set of things Import/Export still could not do.  To the average SharePoint administrator, this basically means &lt;u&gt;&lt;em&gt;Import/Export is NOT a full fidelity solution for backing up and moving data&lt;/em&gt;&lt;/u&gt;.  Again fast forward to 2010 RTM.  Import/export is still pretty much unchanged.&lt;/p&gt;  &lt;p&gt;At the site (aka web) level, Import/Export is without a doubt a very problematic feature. Import/export does not offer full fidelity data export. Thus, at the site level, you’re somewhat gambling with your data. Sometimes it will work and other times it may not. There are a lot of threads all over the place that help us see that Import/Export-ed sites tends to have weird and random behaviors.  As an administrator, the last thing I want to do is chase down problems with restored data.&lt;/p&gt;  &lt;div class="ms-rteElement-Callout2"&gt;&lt;strong&gt;Thought to ponder&lt;/strong&gt;: Did you ever wonder why 2010’s SP1 added &lt;a href="/SharePointThoughts/Lists/Posts/Post.aspx?ID=334" target="_blank"&gt;site Recycle Bin functionality&lt;/a&gt;? &lt;/div&gt;  &lt;p&gt;Is Import/Export really that unreliable?  The answer is generally yes.  However, we definitely need to give Import/Export some credit.  &lt;/p&gt;  &lt;p&gt;At the list and item level, Import/Export can actually go the full cycle.  &lt;/p&gt;  &lt;p&gt;The more granular you are (i.e. items), the easier it is for Import/Export to actually work as we expect it to. Using Import/Export to move items is what is known as “cherry picking”.  It works and that leads us to the one of the possible options to Todd’s question...&lt;/p&gt;  &lt;h2 class="ms-rteElement-H2B"&gt;“What (are the) other options for breaking up a site collection?”&lt;/h2&gt;  &lt;p&gt;Generally speaking you need to migrate your data.  You’ll either need to ...&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;explore using Import/Export at the item level or &lt;/li&gt;    &lt;li&gt;work with a custom solution (written in C# or PowerShell) that extracts the data locally and pushes it to a new destination.  &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Migration is not nearly as simple as just clicking on the Central Admin ui to export a site, then repositioning it.  However, it’s the only way you be assured that all the data you care about is where it needs to be and that your site is fully functional. &lt;/p&gt;  &lt;p&gt;Should you build or buy the tools to migrate your data? It depends on your needs, skills, and timeframes.  There are lot of good tools – from free to pay.  PowerShell and custom code are definitely viable options.&lt;/p&gt;  &lt;p&gt;Migration does take a little more planning but it inevitably makes for a much nicer end result.  It’s a great way to reduce clutter (e.g. no need to migrate stuff that doesn’t matter!) and you can rest easier when the process is done.  It’s worth calling out that with any migration plan, though, you should incorporate a testing strategy.  Testing will validate that your migration technique will successfully meet your requirements.  &lt;/p&gt;  &lt;p&gt;Happy migrations!&lt;/p&gt;  &lt;p&gt;-Maurice&lt;/p&gt;&lt;/div&gt;&lt;hr/&gt;&lt;div style="text-align:center; color: silver;font-size: 65%"&gt;Copyright © 2004-2011 BluedogLimited.com. Licensed under a &lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/"&gt;Creative Commons License&lt;/a&gt;.&lt;/div&gt;
    </description><link>http://www.bluedoglimited.com/SharePointThoughts/Lists/Posts/ViewPost.aspx?ID=336</link><comments>http://www.bluedoglimited.com/SharePointThoughts/Lists/Posts/ViewPost.aspx?ID=336#Comments</comments><category>Posts</category><guid isPermaLink="true">http://www.bluedoglimited.com/SharePointThoughts/Lists/Posts/ViewPost.aspx?ID=336</guid><pubDate>Fri, 05 Aug 2011 22:15:53 GMT</pubDate></item><SG:syndicationAddress>http://www.bluedoglimited.com/SharePointThoughts/rss.aspx?Channel=SharePointThoughts</SG:syndicationAddress><SG:image>http://www.bluedoglimited.com/SharePointThoughts/_wpresources/BluedogLimited.WebParts.Syndication/2.0.0.0__94f7066d43ae7eb6/sg32_v2.png</SG:image><SG:channelImage>http://www.bluedoglimited.com/_wpresources/BluedogLimited.WebParts.Syndication/2.0.0.0__94f7066d43ae7eb6/sg32_v2.png</SG:channelImage></channel></rss>
