<?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>elorg.net &#187; HowTo</title>
	<atom:link href="http://www.elorg.net/cat/howto/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.elorg.net</link>
	<description>Ramblings and other miscellany.</description>
	<lastBuildDate>Wed, 25 Aug 2010 12:50:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Make &#8220;Choice&#8221; Fields Easier to be Managed by Users</title>
		<link>http://www.elorg.net/2010/08/make-choice-fields-easier-to-be-managed-by-users/</link>
		<comments>http://www.elorg.net/2010/08/make-choice-fields-easier-to-be-managed-by-users/#comments</comments>
		<pubDate>Wed, 11 Aug 2010 02:42:00 +0000</pubDate>
		<dc:creator>elorg</dc:creator>
				<category><![CDATA[HowTo]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[tips & tricks]]></category>

		<guid isPermaLink="false">http://www.elorg.net/?p=588</guid>
		<description><![CDATA[If there&#8217;s one thing that I&#8217;ve learned about SharePoint, it&#8217;s that there&#8217;s about a dozen different approaches that you can take to implement just about anything in it. The &#8220;choice&#8221; field in SharePoint is no different. The direct approach is to open the settings of your list or library, and add a new column of [...]]]></description>
			<content:encoded><![CDATA[<p>If there&#8217;s one thing that I&#8217;ve learned about SharePoint, it&#8217;s that there&#8217;s about a dozen different approaches that you can take to implement just about anything in it. The &#8220;choice&#8221; field in SharePoint is no different.</p>
<p><strong>The direct approach</strong> is to open the settings of your list or library, and add a new column of type &#8220;Choice&#8221;. Populate the choice options in the settings, and choose your choice &#8220;type&#8221; (dropdown, radio, checkbox). The down side to that is in order to edit or add new choices, more than contributor access is required. In many cases, the power users want to be able to add new choices without having to ask for assistance, but we don&#8217;t necessarily want to grant additional access in most cases.<span id="more-588"></span></p>
<p><strong>Enter the Lookup field.</strong></p>
<p>I create a new custom list and give it an appropriate name like &#8220;Types&#8221;, &#8220;Choices&#8221;, &#8220;Business Unit Names&#8221; &#8211; you get the idea.  If the site will have multiple choice options that I&#8217;ll want to &#8220;delegate&#8221; user control on (to a specific few users, of course) I&#8217;ll name it something more generic.  The column names don&#8217;t matter &#8211; you can keep the &#8220;Title&#8221; field as-is, or you can rename it (e.g. to something like &#8220;Business Unit Names&#8221;). If you&#8217;re going to want to use this single list for all of your choice fields in a site, add more columns (of type &#8220;single line of text&#8221;) with names that will be intuitive for your users. Also, make sure to make NONE of the columns a required field! This is important if you&#8217;re using multiple columns.</p>
<p>So, for example you&#8217;ll have a list titled &#8220;My Choice Field Options&#8221;, with columns &#8220;Choices A&#8221;, &#8220;Choices B&#8221;, &#8220;Choices C&#8221;, etc. Again, none of which are required. Now, each column can have any number of &#8220;options&#8221; entered &#8211; all independent of each other. It looks counter-intuitive at first glance, but works like a charm.</p>
<div id="attachment_607" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.elorg.net/wp/wp-content/uploads/2010/08/MyChoiceFieldOptions.png"><img src="http://www.elorg.net/wp/wp-content/uploads/2010/08/MyChoiceFieldOptions-300x87.png" alt="Example screenshot of the list with options added." title="MyChoiceFieldOptions" width="300" height="87" class="aligncenter size-medium wp-image-607" /></a><p class="wp-caption-text">My example list with some options populated</p></div>
<p>Now that that&#8217;s all setup, navigate to your list or library where you want to use these options.  Create a new field &#8211; of type &#8220;lookup&#8221;. Set the field requirement, title, and description as you like. For the &#8220;get information from&#8221; field, select your new custom list that you&#8217;ve prepped.</p>
<p><strong>NOTE: This will only work if the list or library using these choices is located in the SAME site as the custom list containing the choice options.</strong> See below for more on this.</p>
<p>For the &#8220;in this column&#8221; field, select the appropriate column from your prepped list (&#8220;Column A&#8221;, &#8220;Column B&#8221;, etc.). Allow multiple items if you prefer, and click OK.</p>
<p>Now, as soon as options are added to your new custom list, there will be options available to choose from (as seen in my screenshot above). You can reuse these columns on lists and libraries throughout your site without duplicating the data! As soon as a new option is added to your custom list, it&#8217;ll be available for all of these places.</p>
<p>The most access that you will need to grant is Contributor. Heck, you could be a real stickler and create a custom permission level to allow read + add, but not edit or delete. The users will be able to see the options available, and add to them, but nothing more. (Admittedly, this is not the <em>best</em> option if you&#8217;re using a single list to host multiple choice field lookups.)</p>
<p><strong>Going a step further&#8230;</strong></p>
<p>The plain old &#8220;lookup&#8221; will only work within the <strong>same</strong> site. But what if you want to use and reuse these lookups in your subsites too? Site columns!</p>
<p>Choosing the location of a lookup field is a no-brainer since it has to be located within the same site that it&#8217;s content will be consumed. However, the location of your custom list when using site columns needs a little forethought. Consider the highest level where you&#8217;re planning on using it, and who will need to have access to update the choices.</p>
<p>Let&#8217;s just say that we setup our custom list at the root of our portal. We create it, setup the columns, and grant the necessary access. Initial prep work done.</p>
<p>Now go to <strong>Site Actions > Site Settings > Galleries > Site columns > Create</strong></p>
<p>Set your column name as appropriate. Set it as type &#8220;lookup&#8221; the same way mentioned earlier. I like to put my site columns in a custom group &#8211; usually the name of the client or department to help me find them later. And that&#8217;s it for the prep work. To put it to use, you&#8217;ll need to take a slightly different approach.</p>
<p>Open your list or library that will need to use this site column. This can now be within the same site, or any sub-site. Open the list settings, scroll down to the &#8220;Columns&#8221; section and &#8220;Add from existing site columns&#8221;. If you put it in a custom group, you can filter the available site columns by group to find it easier. Select the site column, click the &#8220;Add >&#8221; button and click OK. If you don&#8217;t like the site column&#8217;s name or description, once it&#8217;s added to your list or library you can go back to the list settings and click on the column&#8217;s name to edit those properties, set it to a required field, allow multiple options, etc.</p>
<p><strong>One weird thing to note.</strong></p>
<p>In either case (plain lookup, or lookup by way of site column), since these &#8220;options&#8221; are actually referring back to <strong>list items</strong>, these options will have <em>links</em> back to the original item&#8230; It&#8217;s confusing to the users that may stumble onto it, and click the link to see what it does, but makes complete sense from an admin/configuration perspective. It&#8217;s harmless, but a potential cause of questions or confusion. I haven&#8217;t had the time to figure out a way to strip that link. If you know of one that doesn&#8217;t require coding your own custom web part from scratch, let me know!</p>
<div id="attachment_614" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.elorg.net/wp/wp-content/uploads/2010/08/underlined_choice.png"><img src="http://www.elorg.net/wp/wp-content/uploads/2010/08/underlined_choice-300x77.png" alt="Screenshot of underline example" title="underlined_choice" width="300" height="77" class="size-medium wp-image-614" /></a><p class="wp-caption-text">Screenshot of underline example</p></div>
<p><strong>Keep it clean.</strong></p>
<p>I can be a bit of a perfectionist at times. I like to keep things clean and orderly, and remove or disable anything unnecessary. While you&#8217;re configuring the custom list, remove it from the QuickNav &#8211; the normal portal users don&#8217;t need to be aware of it. Disable attachments and folders. That should be it!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.elorg.net/2010/08/make-choice-fields-easier-to-be-managed-by-users/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Problems with SharePoint Site and Folder Names</title>
		<link>http://www.elorg.net/2010/07/problems-with-sharepoint-site-and-folder-names/</link>
		<comments>http://www.elorg.net/2010/07/problems-with-sharepoint-site-and-folder-names/#comments</comments>
		<pubDate>Mon, 26 Jul 2010 16:54:43 +0000</pubDate>
		<dc:creator>elorg</dc:creator>
				<category><![CDATA[HowTo]]></category>
		<category><![CDATA[frustrations]]></category>
		<category><![CDATA[SharePoint]]></category>

		<guid isPermaLink="false">http://www.elorg.net/?p=580</guid>
		<description><![CDATA[Sure, you can find posts and articles out there with lists of character limitations and restrictions for List and Site names and URLs for SharePoint, but what about combinations of legal characters that will cause you problems? A long while ago I learned the hard way never to create a folder titled &#8220;Forms&#8221; within a [...]]]></description>
			<content:encoded><![CDATA[<p>Sure, you can find posts and articles out there with lists of <a href="http://blogs.msdn.com/b/joelo/archive/2007/06/27/file-name-length-size-and-invalid-character-restrictions-and-recommendations.aspx">character limitations and restrictions</a> for List and Site names and URLs for SharePoint, but what about combinations of <strong>legal</strong> characters that will cause you problems?<span id="more-580"></span></p>
<p>A long while ago I learned the hard way never to create a folder titled &#8220;Forms&#8221; within a document library. SharePoint will let you &#8220;create&#8221; this folder (even though it already exists as hidden for internal purposes), but then will not let you delete it, rename it, and will exhibit other weird behavior.</p>
<p>This week I&#8217;ve found another interesting combination.  If you create a site and set the URL to &#8220;con&#8221; the site will be useless.  You can set the title to &#8220;con&#8221; &#8211; you just can&#8217;t set the URL to that value.  I still haven&#8217;t figured out why &#8211; I haven&#8217;t found any mention of this anywhere online.</p>
<p>It&#8217;s not related to the template, site permissions, which parent site you&#8217;re creating it in, or title. There were no other sites or lists with that name or URL anywhere I&#8217;ve tested to cause a conflict. I can use other 3-letter titles, just not that specific one.  I&#8217;ve tried creating a site with this URL in various locations on the portal as well as another portal entirely.  Both portals are running MOSS 2007, one is using AD authentication while the other is using FBA.</p>
<p>On one portal I receive an error that the resource cannot be found when trying to complete the site creation, or attempting to view anything inside the site (including the site settings).  When trying to open the mostly-created site in SharePoint Designer I receive an error that &#8220;the version of windows sharepoint services running on the server is more recent than the version of sharepoint designer you are using&#8221; &#8211; only on this one site.  I receive just a blank page on the other portal when trying to open the site.</p>
<p>I&#8217;m assuming that this is similar to the &#8220;Forms&#8221; folder issue that I&#8217;ve run into before, though I don&#8217;t have any hard evidence.</p>
<p>Has anyone else experienced this behavior? Have you found any other &#8220;problem&#8221; names or URLs?</p>
<blockquote><p><strong>Update!</strong><br />
Thanks to my awesome friend Jim, this does appear to be a known issue&#8230; of sorts.  I&#8217;ve tested this with some of the other &#8220;reserved words&#8221; (e.g. &#8220;AUX&#8221;) and confirmed that it&#8217;s consistent.  See here for more details:<br />
<a href="http://www.windowsitpro.com/article/dns/windows-xp-and-2000-tips-tricks-update-august-26-2002.aspx">http://www.windowsitpro.com/article/dns/windows-xp-and-2000-tips-tricks-update-august-26-2002.aspx</a>
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.elorg.net/2010/07/problems-with-sharepoint-site-and-folder-names/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Fun With SharePoint Migrations</title>
		<link>http://www.elorg.net/2010/06/fun-with-sharepoint-migrations/</link>
		<comments>http://www.elorg.net/2010/06/fun-with-sharepoint-migrations/#comments</comments>
		<pubDate>Sat, 19 Jun 2010 00:19:38 +0000</pubDate>
		<dc:creator>elorg</dc:creator>
				<category><![CDATA[HowTo]]></category>
		<category><![CDATA[migration]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[upgrade]]></category>

		<guid isPermaLink="false">http://www.elorg.net/?p=543</guid>
		<description><![CDATA[In my latest project, we have installed MOSS 2007 in a client&#8217;s environment and are working on upgrading/migrating their old WSS 2003 content over. This is somewhere between a parallel and in-place upgrade. I&#8217;ve learned quite a bit along the way &#8211; mostly through trial and error. Lots of issues. Lots of quirks. Lots of [...]]]></description>
			<content:encoded><![CDATA[<p>In my latest project, we have installed MOSS 2007 in a client&#8217;s environment and are working on upgrading/migrating their old WSS 2003 content over.  This is somewhere between a parallel and in-place upgrade. I&#8217;ve learned quite a bit along the way &#8211; mostly through trial and error. Lots of issues. Lots of quirks. Lots of workarounds.</p>
<p>This is a very long, and involved process &#8211; so far (it&#8217;s still in process) using nothing more than out of the box commands, and SharePoint Designer.<span id="more-543"></span></p>
<p>The original data is in a single WSS site collection. Their end goal is to break things up and better organize their content using multiple site collections. Initially we were hoping to be able to use stsadm&#8217;s export/import to migrate the original sites over individually, and directly into their end destination in MOSS.  After much research and testing, that does not appear to be possible.</p>
<ul>
<li>The &#8220;backup&#8221; and &#8220;restore&#8221; options for stsadm are available in both 2003 and 2007, but they will only work for an entire site collection. This was not an option for us.</li>
<li>The stsadm &#8220;export&#8221; and &#8220;import&#8221; options that will save permissions, versions, and modified meta &#8211; is only available in 2007.</li>
<li>2003 has &#8220;smigrate&#8221;, but 2007 does not.</li>
<li>&#8220;smigrate&#8221; saves in a file format that&#8217;s incompatible with 2007&#8242;s stsadm &#8220;import&#8221; &#8211; so we can&#8217;t combine the two to go directly from one to the other.</li>
<li>SharePoint Designer has backup &#038; restore capabilities, but you can&#8217;t use it as a method of upgrading a site. The SPD backup on 2003 creates the same file type as the &#8220;smigrate&#8221; method, while creating the same file type as the stsadm &#8220;export&#8221; method for a 2007 backup. You can only use SPD&#8217;s backup/restore to migrate within the same type of portal, and of the same version (e.g., WSS 3.0 to WSS 3.0, MOSS 3.0 to MOSS 3.0, WSS 2.0 to WSS 2.0 &#8211; you get the idea). We need to go from WSS 2.0 to MOSS 3.0, so this is definitely out.</li>
</ul>
<p>Migration options then become:</p>
<ol>
<li>Backup &#038; restore the entire portal to the new environment. Then perform the cleanup.</li>
<ul>
<li>This will do an in-place upgrade of the portal&#8217;s content.</li>
<li>We would either need to take one long &#8220;outage&#8221;, or do this in batches and backup/restore the database multiple times to make sure we have the most current data.</li>
</ul>
<li>Or the slower, more tedious manual methods:</li>
<ul>
<li>Save each site as a template, copy over, and recreate site using new template.</li>
<li>Save each List and Library as a template individually, and copy them over&#8230;</li>
<li>Or manually recreate each site, and each library, and copy/paste the content across.</li>
<ul>
<li>Down sides to all are that the templates have file size limitations (but you may be able to get around this by changing settings in Central Admin).</li>
<li>It&#8217;s SLOW.</li>
<li>You lose all of the creation/modified meta.</li>
<li>Web parts will most likely need to be recreated &#8211; at least on each site&#8217;s landing pages unless you can copy the default.aspx file over without too much fuss.</li>
<li>Beware of custom columns using these methods if not saving as templates.</li>
<li>Custom column meta may be lost with file types like PDFs when copying/pasting across.</li>
<li>Also &#8211; you will need to recreate your views if not saving as templates.</li>
</ul>
</ul>
</ol>
<p>The client has already been through a SharePoint upgrade to 2003 &#8211; and lost all of their created/modified meta.  Retaining as much meta as possible was our priority, so we opted to go the first route. We performed a test migration and had hashed out a plan for the real migration. The steps have since evolved quite a bit through a lot of trial &#038; error. Also, as things progressed we found that some of our previous steps had stopped working properly so we had to get creative and alter our migration steps accordingly.</p>
<p><strong>** Don&#8217;t forget to run the <a href="http://technet.microsoft.com/en-us/library/cc262231(office.12).aspx">pre-upgrade scan tool</a> before starting! **</strong></p>
<p>This process becomes significantly faster and easier if you perform a thorough review of your content, make note of the permission structure (where it&#8217;s inherited, where it&#8217;s not), plan out the starting location vs. final destination, remove any DVWPs (data view web parts) from web part pages, etc.</p>
<p>Now, let&#8217;s get started.</p>
<p><strong>First &#8211; Backing Up:</strong><br />
Scheduled an &#8220;outage&#8221; with the users (in quotes because the data would still be available to <em><strong>view</strong></em>). We attempted to set the site collection as read-only via SharePoint&#8217;s commandline tools, but GetSiteLock didn&#8217;t appear to be a valid command for 2003?  We ended up locating the content database in SQL (2000) and setting the database read-only <a href="http://www.sharepointjoel.com/Lists/Posts/Post.aspx?List=0cd1a63d-183c-4fc2-8320-ba5369008acb&#038;ID=329">very similar to these instructions</a>.  When we were satisfied that the old portal was no longer being written to, we used SQL to backup the database, copied it over to the new location, and restored it to a new database in SQL 2008.</p>
<p><strong>Second &#8211; Upgrading:</strong><br />
The upgrade was actually the easiest part (though I&#8217;m sure there&#8217;s an easier, more direct method than the following steps).</p>
<ol>
<li>Login to Central Admin and create a new temporary site collection.</li>
<li>Remove the database that was created for this site collection.</li>
<p><code>stsadm -o deletecontentdb -url http://MyPortal/MyTempSiteCollectionURL/ -databasename SPAutoDBName -databaseserver MySQLServerName</code></p>
<li>Set the old portal&#8217;s database that was restored to the new environment to be used as the temporary site collection&#8217;s database.</li>
<p><code>stsadm -o addcontentdb -url http://MyPortal/MyTempSiteCollectionURL/ -databasename MyOldPortalsDBName -databaseserver MySQLServerName\MyCustomInstance</code></p>
<ul>
<li>This will take quite a while depending on how much content you have. This is where it upgrades your content.</li>
<li>We actually had to &#8220;<a href="http://technet.microsoft.com/en-us/library/cc262449(office.12).aspx">deletecontentdb</a>&#8221; and then &#8220;<a href="http://technet.microsoft.com/en-us/library/cc263422(office.12).aspx">addcontentdb</a>&#8221; a second time during our initial test. Not during the real migration though. If your site collection doesn&#8217;t seem to have content, give that a quick try.</li>
</ul>
</ol>
<p><strong>Third &#8211; Preparations:</strong><br />
We found that we had to perform the following steps to each site to clean things up and &#8220;2007-ify&#8221; everything.</p>
<ul>
<li>In Site Actions > Site Settings</li>
<li>Reset all pages to the site definition.</li>
<li>Reset the theme to the default.</li>
<ul>
<li>In some cases this is already done.</li>
<li>In some cases it appears to be done, but isn&#8217;t.</li>
<li>In most cases, it&#8217;s very obvious that it needs to be done.</li>
</ul>
<li>Inherit the global navigation.</li>
<li>Grant full control to any accounts that will be used to perform any exports/imports, etc.! This will save headaches.</li>
<li>It&#8217;s a good idea to look through the web parts on your pages for web parts with errors and delete them. Don&#8217;t forget to check for this in your &#8220;closed&#8221; web parts or you may run into warnings/failures in your export/import.</li>
</ul>
<p>In our case, to help down the road we had to also:</p>
<ul>
<li>Add the accounts that we were using to the Site Collection Admins.</li>
<li>The upgraded portal was not Publishing.  We enabled the Enterprise features to have access to the &#8220;Manage Content &#038; Structure&#8221; functionality.</li>
<ul>
<li>Site Actions > Site Settings > All Site Settings</li>
<li>Site Collection Features > end enable the Office SharePoint Server Enterprise Site Collection features.</li>
</ul>
</ul>
<p><strong>Fourth &#8211; The Migration!</strong><br />
Initially we exported and imported via <code>stsadm</code>, but it was giving us errors on the first few sites that we tried.  I don&#8217;t recall the exact details at this point, but we eventually tried SharePoint Designer which seemed to do the trick.</p>
<ul>
<li>Open SharePoint Designer.</li>
<ul>
<li>If the account that you&#8217;re logged into your computer with does not have appropriate access, right-click on the SPD shortcut and &#8220;run as&#8230;&#8221; an account that does.</li>
<li>File > Open Site > type in the URL of the site to be migrated > click &#8220;Open&#8221;</li>
<li>In the SPD menus open Site > Administration > Backup&#8230;</li>
<li>File > New&#8230; > Web site</li>
<li>Specify &#8220;Empty Web Site&#8221; and enter the full URL to the destination site on the appropriate site collection.</li>
<li>Site > Administration > Restore&#8230;</li>
</ul>
</ul>
<p>Voila! If you don&#8217;t run into issues with file sizes, or a number of other misc. errors, you have just upgraded &#038; migrated your first site.</p>
<p><strong>Fifth &#8211; Oops, Missing Documents:</strong><br />
The above steps seemed to work just fine for a while. Then when reviewing our migrated sites in more detail, we started noticing that Document &#038; Picture Libraries were randomly missing files.  Lists appeared fine.</p>
<p>None of the libraries in the original portal had versioning or content approval enabled or required. However it seems as though during the upgrade process SharePoint believed some of the files to be drafts? This is the only explanation that I have been able to think of that makes sense.</p>
<p>The solution was to use <code>stsadm</code> to export the sites. SPD is essentially using <code>stsadm</code> already, but with some default settings. In order to set other options (like setting the version levels to export) you will need to use <code>stsadm</code>:</p>
<p><code>stsadm -o export -url http://MyPortal/MyTempSiteCollectionURL/MySite/ -filename MyFileName -versions 4 -includeusersecurity</code></p>
<p>I won&#8217;t spell out the details of importing via <code>stsadm</code> because&#8230;</p>
<p><strong>Sixth &#8211; Oops, Now What Happened to the Meta?</strong><br />
That worked great. For a few sites. Then for some reason (still to be determined?) all of the created/modified meta was reset to the import user account and timestamp.</p>
<p>After further testing, the best combination appeared to be:</p>
<ol>
<li>Export via commandline as above.</li>
<li>Using SPD, create an empty site at the destination.</li>
<li>Restore using SPD.</li>
</ol>
<p><strong>Seventh &#8211; Where&#8217;s the Love for Workspaces?</strong><br />
Workspace migration was a different story. They seem to be tied to their parent site and could not be exported &#038; restored like the other sites.  Given that I could not find an option in <code>stsadm</code> to &#8220;include children&#8221; &#8211; I assumed that this was not available. When in fact, <code>stsadm</code> appears to include child sites and workspaces automatically.</p>
<p>Before we figured this out, we started  using SPD and checked the option to include subsites.  This lost us a few of our files, but in those cases we weren&#8217;t overly concerned about the meta and manually copied those over.</p>
<p>Another option (especially if you&#8217;re relocating the workspace within your site structure) is to:</p>
<ul>
<li>Use <code>stsadm</code> to export the parent site</li>
<li>Use SPD to create an empty site.</li>
<li>Use SPD to restore the parent &#038; subsites.</li>
<li>Use &#8220;Content &#038; Structure&#8221; to move the workspace from its imported location to its final destination.</li>
</ul>
<p><strong>Another few notes:</strong><br />
Some sites would duplicate their list items (and in one case, triplicate) on import. When possible, using SPD to perform the import seemed to do the trick. If you prefer the <code>stsadm</code> method, try using the <a href="http://technet.microsoft.com/en-us/library/cc261866(office.12).aspx">updateversions</a> option.</p>
<p>There are a few other &#8220;quirks&#8221; that we&#8217;ve run into while migrating content, but I&#8217;ll save that for the next post.</p>
<p><strong>Update:</strong><br />
For some reason, reverting back to the stsadm import method worked just fine after returning from the weekend. Not sure why this stopped working in the first place &#8211; but very happy that it&#8217;s behaving now.</p>
<p>Lesson? SharePoint Designer and stsadm are finicky and fragile. When one starts acting up, try using the other to see if it does the trick.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.elorg.net/2010/06/fun-with-sharepoint-migrations/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ASP Parser Error</title>
		<link>http://www.elorg.net/2010/05/asp-parser-error/</link>
		<comments>http://www.elorg.net/2010/05/asp-parser-error/#comments</comments>
		<pubDate>Fri, 07 May 2010 19:17:56 +0000</pubDate>
		<dc:creator>elorg</dc:creator>
				<category><![CDATA[HowTo]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://www.elorg.net/?p=531</guid>
		<description><![CDATA[More &#8220;dreaded&#8221; errors in SharePoint. We started receiving the this fun error when loading one of our portals: Server Error in &#8216;/&#8217; Application. Runtime Error Description: An application error occurred on the server.[...] We hadn&#8217;t recently patched, or performed any updates except for increasing the max allowed upload file size and timeouts (a client needed [...]]]></description>
			<content:encoded><![CDATA[<p>More &#8220;dreaded&#8221; errors in SharePoint. We started receiving the this fun error when loading one of our portals:</p>
<blockquote><p>Server Error in &#8216;/&#8217; Application.<br />
Runtime Error<br />
Description: An application error occurred on the server.[...]</p></blockquote>
<p><span id="more-531"></span></p>
<p>We hadn&#8217;t recently patched, or performed any updates except for increasing the max allowed upload file size and timeouts (a client needed to upload LARGE files).  The server application logs revealed something slightly more useful:</p>
<blockquote><p>Event Type:	Warning<br />
Event Source:	ASP.NET 2.0.50727.0<br />
Event Category:	Web Event<br />
Event ID:	1310<br />
Date:		5/6/2010<br />
Time:		4:50:11 PM<br />
User:		N/A<br />
Computer:	ServerName<br />
Description:<br />
Event code: 3006<br />
Event message: A parser error has occurred.<br />
Event time: 5/6/2010 4:50:11 PM<br />
Event time (UTC): 5/6/2010 8:50:11 PM<br />
Event ID: 57cbaa6a1f804cb2aefe80de4ceec102<br />
Event sequence: 5<br />
Event occurrence: 1<br />
Event detail code: 0</p>
<p>Application information:<br />
Application domain: /LM/W3SVC/1965610693/Root-1-129176526056583668<br />
Trust level: WSS_Minimal<br />
Application Virtual Path: /<br />
Application Path: C:\Inetpub\wwwroot\wss\VirtualDirectories\foldername443\<br />
Machine name: ServerName</p>
<p>Process information:<br />
Process ID: 1944<br />
Process name: w3wp.exe<br />
Account name: NT AUTHORITY\NETWORK SERVICE</p>
<p>Exception information:<br />
Exception type: HttpParseException<br />
Exception message: Could not load file or assembly &#8216;System?Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a&#8217; or one of its dependencies. The system cannot find the file specified. (C:\Inetpub\wwwroot\wss\VirtualDirectories\foldername443\web.config line 106)</p></blockquote>
<p>Now, the web.config wasn&#8217;t manually edited by anyone, but the modified date matched the date &amp; time when this problem started as well as the beginning of these ASP.NET errors.  All the evidence seemed to point to what I can only assume was caused by a hiccup when the settings were being saved from IIS &#8211; that corrupted the web.config.</p>
<p>I found 4 or 5 randomly placed &#8220;?&#8221; in the web.config.  I couldn&#8217;t just remove the question marks because they appeared to have replaced characters in the file instead of being inserted.  I didn&#8217;t have a backup, but we did have multiple AAMs for this portal and I was able to look at another web.config.  This gave me a better idea of what characters should have been in the file wherever I wasn&#8217;t able to make a good educated guess.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.elorg.net/2010/05/asp-parser-error/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Dreaded &#8220;Access Denied&#8221; on SPD Workflows</title>
		<link>http://www.elorg.net/2010/04/dreaded-access-denied-on-spd-workflows/</link>
		<comments>http://www.elorg.net/2010/04/dreaded-access-denied-on-spd-workflows/#comments</comments>
		<pubDate>Mon, 26 Apr 2010 16:52:21 +0000</pubDate>
		<dc:creator>elorg</dc:creator>
				<category><![CDATA[HowTo]]></category>
		<category><![CDATA[SharePoint]]></category>

		<guid isPermaLink="false">http://www.elorg.net/?p=528</guid>
		<description><![CDATA[A client called stating that they had lost access to the majority of their content. It looks like in the process of creating a new Doc Library at the root of their portal, either there was a hiccup, or they accidentally edited the root site&#8217;s permissions instead of just the Doc Library. Oops. While walking [...]]]></description>
			<content:encoded><![CDATA[<p>A client called stating that they had lost access to the majority of their content.  It looks like in the process of creating a new Doc Library at the root of their portal, either there was a hiccup, or they accidentally edited the root site&#8217;s permissions instead of just the Doc Library. Oops.</p>
<p>While walking through the portal to verify that all the access was fixed where it needed, they reported that one of their users could no longer start or edit a workflow.  This started on the same day as the permissions issue, so I had initially assumed the workflow was trying to write somewhere that the user no longer had access to. The &#8220;Access denied&#8221; message is usually a giveaway.<span id="more-528"></span></p>
<p>I spent almost an hour troubleshooting trial by error and walking the user through testing with no result. I tried giving &#8220;Full Control&#8221; to the Doc Library, the Task List, and the Workflow History list &#8211; no effect. I even tried to remove &#038; re-grant access.  Same results.</p>
<p>Symptoms:</p>
<ul>
<li>Upon starting a workflow, the user receives &#8220;Access denied.&#8221;</li>
<li>The workflow actually starts (as evident by viewing the workflows on the document).</li>
<li>The user can view the task created by the workflow.</li>
<li>The user <strong>cannot</strong> edit the task created by the workflow (&#8220;Access denied&#8221;).</li>
<li>The user can create &#038; edit a new task in the same task list manually.</li>
</ul>
<p>After trying everything that I could think of &#8211; which included opening the workflow in SharePoint Designer and verifying that there were no other locations that the workflow was attempting to write to &#8211; I reached out to Google.</p>
<p>For some people, this is simply a permissions problem.  For my situation, apparently this is a bug that crops up from time to time in SharePoint Designer created workflows. I found <a href="http://www.binarywave.com/blogs/eshupps/Lists/Posts/Post.aspx?ID=160">this post</a> with a proposed solution that ultimately resolved my problem.</p>
<p>Solution:</p>
<ol>
<li>Open SharePoint Designer and navigate to the workflow.</li>
<li>Right-click on the offending workflow&#8217;s folder and check it out.</li>
<li>Right-click on the offending workflow&#8217;s folder and check it back in.</li>
</ol>
<p>Simple as that.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.elorg.net/2010/04/dreaded-access-denied-on-spd-workflows/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
