Logo SharePoint Thoughts   Downloads   About   Up to Bluedog Limited
Beware of Import/Export
Posted on 10/15/2007 5:20 PM by Maurice Prather

Today's post is one that has been on the sidelines since RTM.  I've gone back and forth many times on whether to discuss Import/Export and, more importantly, how to best present the story.

 

First and foremost, I want everyone to realize information in this post is based on personal experience derived during the march to RTM.  I've shared my opinion in person with several MVPs (some prior to RTM) and various clients and field experts over the past year.

 

There is only 1 feature set in WSS/MOSS that I will not use or advocate using.  The feature set is Import/Export (aka PRIME).  Fundamentally, I believe the area to be too fraught with bugs and weird behaviors to trust my data to the API.

 

Did you ever see the Micheal Keaton movie Gung Ho?  It's a movie about an embattled factory trying to stave off closure by meeting an impossible deadline of a bazillion cars (or something close to that).  The feel good moment came when the factory team was able to meet the deadline by throwing together something that looked like a car.  Sure it looked like a car, but it could barely standup on its own.  It was nothing that you would ever trust your life to, much less drive it around your neighborhood… well, the Import/Export feature set is that little car with parts falling off left and right.

 

To help you see why and how I came to this conclusion, let me share a story…

 

Everyone is probably very familiar with how products are built.  You build, test, fix bugs, and repeat the last two steps until you get to a point where there are few bugs.  Think of a plane landing, with a smooth 3 degree glide slope.  You start high, but eventually you land smoothly.

 

PRIME was the exact opposite.  It was a plane in a nose dive. 

 

In the months leading to RTM, features are locked down - development (in theory) is complete, only code changes are bug fixes.  Everyone is testing the product in weird and arcane ways trying to find the showstoppers.  Testers spend days looking for hard to reproduce bugs, they jump across feature areas trying to see how well all pieces of the puzzle integrate.  The days of finding easy design bugs were over months, if not years ago. 

 

PRIME was exactly the opposite.  Core development was still happening up until the last days before RTM.

 

Why?  It was broken.  Really broken.

 

I happened to stumble on the feature set in late August.  It was a fun new feature set that promised a lot of functionality and I had the perfect test case - this site bluedoglimited.com.  Look around and you will see that my site is composed of three sites (root and 2 child sites), utilizes a mixture of customized and OOB pages, where lists are displayed with mostly with LVWP and DVWPs. On a scale of 1 to 10, with 10 being a super customized site, I would say that my site was a 2 or 3.  In other words, I would never consider this site to be anything more than a standard SharePoint site with some minor tweaks.  This site should have sailed through the tests.

 

Import/Export could not handle the simple task of exporting, then importing any of my sites (either the entire site collection or even a single site).  Keep in mind that RTM was scheduled for mid-November.  Starting in the August time frame, a lot of energy was spent trying to get Import/Export to work against my site.  For nearly 2 months, bug after bug was found.  It was a painful process, if there was a way to stop the process from working - we ran across it. We went from not being able to even complete the export process, to not completing the import process, to any variation in between a broken site, page, list, web part, etc.

 

In late September, I stopped looking at Import/Export.  I was never able to see any of my sites work through an entire Export and Import process. I wrote a letter that I had never written in the nearly 7 years at Microsoft.  My recommendation was to cut Import/Export from the RTM product even though we were less than a month and half away from RTM.  I shared my frustrations with my lead and the lead responsible for Import/Export.  I suggested that we cut the entire Import/Export API to ensure that we didn’t ship a core platform area wasn't working as designed.  If it couldn't deal with my simple site, how did we expect it to work against other more complex sites?  In my view, it was our responsibility (WSS) to ship the best API possible.  We could pull the entire feature set, redesign, test, and bake perhaps by SP1 or at worst by v4 release Import/Export to the world.  I wanted us to ship something that worked and would not introduce a ton of PSS calls.  We needed to get it right, not just ship it.

 

In the weeks following, many hard and heated discussions were had.  There was a strong push to have the feature set removed.  The bug count was astronomical, the feature was broken, the core engine had been rewritten just a month prior with the hopes of making the final run to RTM smoother but such a move had introduced just as bugs as it was trying to avoid.

 

The sticking point was that the CMS team relied on the Import/Export functionality.  So pulling the Import/Export API would have killed  the their story.  The net result was that a partner team needed the feature set and therefore the core WSS Import/Export team was stuck between the proverbial rock and a hard place.  Cut it and another key feature is also killed, or keep it and deal with the issues associated with shipping a faulty API.

 

In the end, there was a huge list of "oh yeah, you can't do that" items on a whiteboard.  In theory, each one of those items/bugs should have made it into the documentation explaining the limitations of Import/Export.  I haven't verified if those issues were documented - simply because I knew that I would never use, recommend or be involved in a project that required Import/Export.

 

So what types of problems do you encounter?

 

  • All personalizations are completely lost
  • Various customizations are also lost
  • Sites based off v2 site templates are not handled
  • During import, files are dropped due to the blocked items list
  • There are wacky versioning and security issues

 

The biggest problem is the simple fact this area is bound to have a variety of undiscovered bugs.  The problem here is really two fold…

 

  1. Without full realization of the problem, there is no way to effectively log the condition as an error in the ULS logs.  It's not like you can go the logs and get a complete list of "things to fix", you will have to find them the hard way - reviewing each page, webpart, list, etc.
  2. Something that is not apparently broken today, may show up tomorrow… long after the import… and the relationship between an error introduced by the Export/Import process is lost (i.e. you believe the problem is the result of some other change).

 

The best analogy that I can give you is an onion - there are many layers of problems.  I can't even begin to think of the mess that would result from multiple iterations of Export/Import further munging your data. 

 

Bottom line is that import/Export cannot preserve my data from one instance to the next.  As a content owner, I need a means by which data can be rapidly exported and imported with 100% fidelity.  I can't copy, move or even archive my data with Import/Export.  As was seen in the march to RTM, Import/Export treads a line that is too delicate. Anything beyond a basic site makes it impossible to rely on the feature set. 

 

Why do I say that?  My data is important.  Without it, I don t have an operational site.  I have no time to chase down the differences between the original and newly imported sites.  The current Import/Export mechanism ensures that I will not be able to carry my data forward in fashion that is remotely close to the original form.  This is bad.  This is exactly why I won't use or recommend using Import/Export.

 

 

Side notes:

  1. My experience was isolated to the Site and Web levels only (i.e. actions available via stsadm.exe).  I was told the granular single list item (aka cherry picking) import/export functionality was in better shape.  I have never utilized/verified cherry picking.
  2. In the defense of Import/Export, some of the problems we ran across were upgrade bugs.  PRIME was in fact a good upgrade testing path.  Nonetheless, once those bugs were fixed, there were still plenty of prime-specific bugs.

 

re: Beware of Import/Export
great post. I have been looking for a location that specified what is lost in a import/export operation. i falsely assumed users/groups did not export, but i found out that was wrong! It would be great if Microsoft would post this on MSDN or TechNet so we could reference it to customers. btw, it was nice meeting you in Vegas!
ben @ 11/10/2007 10:17 AM
re: Beware of Import/Export
Wow, our consultant (Microsoft) is currently steering us into the Import/Export direction.  We've planned the whole environment move around this and now after reading this article, we are going to have to come up with another plan... but what? We have a ton of content.
 
 
Tom - Boca Raton, FL @ 11/14/2007 7:51 AM
re: Beware of Import/Export
Tom,
 
Unfortunately, there is no easy answer.  It basically comes down to two things...  accept the consequences of using import/export or bring in a 3rd party tool that specializes in moving/migrating data (or build your tool). 
 
I wish I had a better answer.
 
-Maurice
 
Maurice Prather @ 11/17/2007 12:25 PM
re: Beware of Import/Export
Thank you for the article.
The more I read (and try) the more issues I see.
We'are in the the beginning of a big migration from SP2003 to SP2007. Huge site with more than 10Gb of data.
What 3rd party tool(s) did you try (aware of/suggest) ?
---
Thanks
 
Oleg @ 11/19/2007 11:50 AM
Etienne
Excellent article and I'm glad to see someone sharing my view of the Import/Export functions in SharePoint... However as I was reading I was hoping to find more suggestions to overcome this lack of functionality/stability. Every single SharePoint developer I know and working with need this kind of function badly. How do you code your SharePoint site and deploy it easily to "Dev", "Staging" and "Prod" environments??? I thought SharePoint Solution Generator & Visual Studio SharePoint Extensions would be the answer but they have their limitations too and you basically need to code everything it cannot import: For instance Quicklaunch & Web part page customizations. All and all, a shocking catch 22 situation and after a lot of playing around, I found that for the projects I am working on right now, the Import/Export is the least problematic!!! That basically means that after any import, I need to go through the site and manually change anything that's broken!!! Awful... Please keep me up-to date if anyone hears anything new. Haven't had a look at MOSS 2007 SP1 yet, any improvements? Happy SharePointing!
Anonymous User @ 12/18/2007 9:49 AM
re: Beware of Import/Export
thank you @ 1/17/2008 7:35 AM
re: Beware of Import/Export
I created a simple site with UI changes and minimal content and structure changes with custom acls and groups.  I have had an impossible battle with import export getting to the point to where I lost all the themes, iis bindings, master page defaults, etc.  I have been using the Content Deployment Wizard heavily after the problems with the built in import/export.  The only problem I have ran across with this was top navigation and quick launch didn't carry over to my new site, but every piece of content and all sub sites including permissions worked like a charm the very first time.  I am currently trying to find a solution for the navigation, but I may just script it. 
 
Very well written article.  I wish I had known this prior to the last two weeks of hell. 
Eric Rock @ 8/5/2008 11:06 AM
This is still a nightmare..
I've been building SP sites for last two years and now it's time to do a major migration of my sites to new server... I've developed many new SharePoint features and customised themes. What's the point in having SharePoint to share information if we cannot move them without any problems.. This is a fantastic article.. Microsoft need to do more homework before releasing their features, although they sound good when you read thease words.. export / import
Nilanka @ 3/22/2010 8:29 AM
re: Beware of Import/Export
It's been over 2 years since the article was written.
I'm betting that the situation isn't as bad now as it was then.
Can anyone confirm or deny this?
 
HugoFirst @ 6/25/2010 11:01 AM
RSS feed
Microsoft Certified Master
MVP Logo
Follow me on Twitter!
Keyword Search
 
View by category
 

Disclaimer:
The contents of this site represent thoughts and opinions of the authors , not those of anyone else - such as past, present and future employers.  This a forum of the exchange of ideas centered on SharePoint technologies.  It is not a support channel.  :)

Copyright © 2004-2010 Maurice Prather, Inc. All rights reserved.