I was recently doing a SharePoint migration project and one of the tasks I was trying to do was copy SharePoint designer workflows (plus history) to a new SharePoint server. We weren’t doing a database attach in this case because we were significantly restructuring the site. When version 5 of Metalogix Migration Manager for SharePoint announced this functionality, I was excited to try it out. The tool can in fact copy these workflows but there are a lot of asterisks. These are the things you don’t know until after you try it and have opened up a support case. :) If you are thinking about migrating workflows in this manner, this post may be of some help to you.
There are a few things you need to know about migrating workflows:
- You can only copy workflows if you are doing a Full Site migration (no incremental or anything like that).
- You need to activate the SharePoint 2007 Workflows feature on the target site collection.
- Migrated workflow instances cannot be completed.
- You must set the EnableDBWriting element to true in EnvironmentSettings.xml located at %APPDATA%\Metalogix Software Corp\Migration Manager for SharePoint.
You probably just read that last bullet point thinking “Is that doing what I think it is?” The answer is “Yes”. You can only check the copy workflow instances settings in the Migration Manager if you have this value enabled. What does it do? It writes directly to the content database. Should red flags be going up? Probably, but when your client is screaming at you to get those workflows migrated at all cost, the option looks better and better. However, if you have an issue down the road and Microsoft support find out about it, they may be less inclined to help you. Does it work? Maybe. In my tests, I have found that it in fact does successfully attach the workflow to the list or content type you migrated. However, the running instances count shows as zero. I am not sure if this is part of the issue with the workflow instances not being able to be completed or it is a bug.
To actually copy workflows, close migration manager and go edit the EnvironmentSettings.xml file. Once you set the EnableDBWriting flag, re-open Migration Manager. Pick the site you want to copy and use the Copy Site command. Then use the Paste Site command at the destination. On the workflow tab, you will see a new section that is no longer disabled.
You’ll want to check the Preserve checkboxes for List scope or Content type scope depending on where your workflow is. Then you will want to check the Preserve workflow instance data checkbox along with Preserve running workflow instance statuses. Run the job and when the site is create with luck your workflows will be there.
I’ll continue testing this as I have time. If you try it out, let me know how it works for you.
Follow me on twitter: @coreyroth.