I had to develop a Holiday Approval Workflow with SharePoint Designer 2010. – I used a “List Workflow”. – Bad mistake! – It’s not possible to copy this kind of workflow to another list on the same site or another site.
I thought I could use the “Export to Visio” functionality with the workflow at my development site and the “Import from Visio” functionality at the destination list. – That’s impossible. You get this message:
(“This workflow cannot be imported because it was created in SharePoint Designer for a different site, or the original workflow has been moved or deleted. To move a workflow between sites, use Save as Template (.wsp file) instead of a Visio workflow drawing.”)
You cannot “Save as Template” because it’s a “List Workflow”.
Okay. – I’ve found a workaround.
Let’s do it in detail.
1. Create a site collection “http://sharepoint.local/sites/dev”.
2. Open SharePoint Designer 2010. Open the previously created site.
3. Open the “Workflows” view.
4. On the Ribbon click “List Workflow” and select “Shared Documents”. – We will create a workflow for the list “Shared Documents”.
Name the workflow “Workflow 1”. Leave “Description” empty.
5. Insert any workflow steps you like.
6. Change the workflow settings. Select “Task List” and “History List”.
7. Click “Publish” to publish the workflow
8. Click “Export to Visio”. Save to Workflow as .vwi file, e.g. on the desktop.
9. Let’s test the workflow. – I’ve created a text file “test.txt” on the desktop. Now I upload the file to the “Shared Documents” library of “http://sharepoint.local/sites/dev”.
Open the item context menu. Click “Workflow”.
Manually start the “Workflow 1”.
Click “Start”.
In the list view you see the workflow status.
Click on the status. In my case it’s “Completed”.
The workflow history says “Workflow executed” as specified in the workflow definition above.
10. Okay. Let’s copy the workflow to the production site “http://sharepoint.local”. – A simple “import” is impossible, because it’s a list workflow… Follow my steps.
11. Start the SharePoint Designer 2010 and open the site “http://sharepoint.local”.
12. On the Ribbon click “List Workflow” and select “Shared Documents”. – We will create a workflow for the list “Shared Documents”.
Name the workflow “Workflow 1 Production”. Leave “Description” empty.
11. Do not add any workflow step!
12. Click on “Workflow Settings” menu item on the Ribbon.
13. Click “Publish” to publish the (empty) workflow.
14. After publishing click “Export to Visio” and save the file as “workflow 1 production.vwi” on the desktop.
15. Open a Windows Explorer. Select “Desktop”. You see both “.vwi” files.
16. Add the extension “.zip” to both files.
17. Open both “.vwi.zip” files. You see:
18. Copy “workflow.xoml.wfconfig” from “workflow 1 production.vwi.zip” to “workflow 1.vwi.zip”.
19. Now remove the “.zip” extension from both files. You’ll get two “.vwi” files.
20. In SharePoint Designer 2010 open the site “http://sharepoint.local”.
21. Click “Import from Visio” and select “workflow 1.vwi”
Click “Next”. (Maybe you get a message: “You must close all views of this workflow before importing this file.” Then stop the import. Close all views of the Workflow and restart from Step 21.)
22. Now you see the this window:
That it!
23. Now the workflow designer opens:
24. Now you can publish the workflow and test it…
25. Be as happy as me with that !!!
PS: Of course you can use any library as destination. In the sample above it does not have to be “Shared Documents” on “http://sharepoint.local” It could be another list or library as well!