Thursday, September 30, 2010

Update the Nintex workflow to multiple lists and libraries in a SharePoint site

Special thanks to Vadim Tabakman.
 It is a special requirement. Nintex workflows are very  helpful in some scenarios to achieve things in simple and easy way. I got a requirement that I have to implement a workflow which needs to be used in many document libraries and list. As we know the SharePoint limitation, we can not apply the workflow for the content type. So, the only way we can do is adding workflow to each and every library needed. This is difficult, but I believe this is the only way we have to proceed. The big problem here is, when we have the requirement to change the workflow according to new changes then the problem starts. We have to change it in each and every library or list where workflow is deployed. This is very difficult in real time. So, we need some other way which we have to do automation. I am googling for the solution and luckily I found a wonderful solution here.

I will explain you very detail what "Vadim Tabakman" solution is.
He has created a document library and custom list which are used to add or update the custom nintex workflow in all libraries and lists.

 Lists Used:
  1. Master List of Workflows [Document library]
  2. Workflow to List Map [Generic List] [Columns: Workflow Name [Title field renamed to Workflow Name], Destination Workflow Name, List Name]
Master List of Workflows: This is the main library which is holding the Nintex workflow files which we have to add to all document libraries [.NWF file]. And according to his solution, he has provided the nwf file which runs and updates the uploaded nwf file to the libraries. So, for removing confusion I will explain you clearly what we need to do.
  1. We have to upload the actual custom NWF file which you have created to the document library. Which is the file we have to add or update all document libraries in the site.
  2. To update all document libraries we need another workflow. So, according to his solution there is a NWF file named "Update Workflows" he written and which does that job for us.
Workflow to List Map: This is the generic custom SharePoint list which holds the records of what workflow to be added to which library or list and what name we have to give for the workflow. SharePoint also has another limitation that the workflow names should not be same across the site. So, we have to use different names for each workflow.
Workflow Name field should be same as, the name you are uploading to the Master List of Workflows.

I believe you understood what we are doing and why the need of two lists.

So, now download the UpdateWorkflows.nwf file from his site and add this to the Master List of Workflows library. And upload the original custom nintex workflow you have developed to the library. Once you are done please add all entries in the Workflow to List Map list. Now, go back to library and select the workflow which one you want to add to all libraries and manually fire the update workflow.

That's it. Once you run it, the update workflow will add the custom nintex workflow to all list and libraries you have mentioned in the Workflow to List Map list.

Note: You have to change the user and password in the update workflows nwf file.

Hope this will be a big help as it helped me alot. So, use it and make your life easy.

2 comments:

  1. Great stuff Praveen. I really like your explanation.

    ReplyDelete
  2. Could we not update all the workflows using NWAdmin.exe -o DeployWorkflow command with the overwrite option?

    ReplyDelete