Reusing Workflows on Multiple Document Libraries

  • 18 July 2018
  • 5 replies
  • 46 views

I've got a document approval site with multiple document libraries (each area of the facility has its own library and permissions are managed by the document library).  I have created a Nintex workflow to manage the document approval to replace the canned Sharepoint ones for additional information and address some issues.

 

The issue I have is that I would like to use the same workflow across multiple libraries (13).  It works fine except for references to metadata on the documents.  If I actually write to columns on the document (to show things like who is currently reviewing), those items may or may not come across when it is imported.  It originally caused issues with any references to columns on the current item (in forms, e-mails, or Update Item blocks.)  I've resolved all the forms and e-mail stuff by using workflow variables rather than references to the current item.  It's also kind of a pain, because the workflow will publish.  When I go into Update Item blocks, only half the stuff will be there and it seems random as to which ones cause issues.

 

First, I thought it might be column names, so I eliminated all spaces and punctuation, but that resolved some, but not all issues.  The columns I'm using are all Site Columns I added to a custom content type that is common across all libraries.  However, the libraries were not originally created off the same template.  They were all originally just created from scratch and the content type and site column approach was applied to existing libraries, so I'm guessing there is some internal column name that I can't ever get to match up.

 

Is there a solution to this, so that my workflow will be transferable across all document libraries?  Would it work if I start from scratch with new libraries built off a common template with the content type and site columns to maintain consistency?


5 replies

Badge +9

Hi Jeffrey,

Workflows should be usable across sites/libraries in the case you describe above, assuming you are exporting an NWP and importing that NWP to a new location.

The goal of the import NWP process is to remap the fields your workflow references to the fields available in the

destination.


To help you troubleshoot I can share how we do this:

  • The NWP contains the title, internal name and data type for the fields your workflow references
  • When we import we try to find new matches for these fields in the destination in the following order:
    • Find a field with the same title/display name, we will use that
    • We check that it is matching the data type
      • We consider the field type including the sub properties, e.g. a user field can be set to single user, or multiple, we consider the exact setting when matching to prevent strange runtime issues later.
    • If we don't find a match for Displayname/title of the field, we will check on the Internal Name

The reason we prefer the display name of the field over the internal name is for precisely the reason you mention above, since it is not possible to change the internal name of the field this means the reuse is limited to situations where reuse has been designed from the beginning, which is not all cases.

Let me know if that helps, if you're still having an issue we'll see if we can dig into it.

Thanks,

Callum

Thanks, Callum. 

That's how I hoped it would be done, but it doesn't seem to be working for me.

I am exporting from one library into an nwf file and then importing it back to another library.  The names and types are all the same.  I originally added the columns manually to each library, but as I was having issues went back deleted these, created site columns and a common content type and re-added the columns, so I know they have the same title/display name and data type. 

I have attached screen shots of the two Update List Item blocks showing the columns that were missing when imported along with screen shots of the two document libraries with the columns that are there.

Thanks for taking a look.

Bump?

Badge +9

Hi Jeffrey,

Sorry for the delay, it may be best if we can get a bit more detail on this to see what is going wrong, as by your description I'd expect it to work. Would you be able to contact the Nintex support team who can check this one out? They will be able to pass the details onto my team if necessary.


Thanks,

Callum

Badge +4

Hi, I too have the following situation, I have an approval workflow which will set the document permission based on the sub site's owner, contributor and visitor groupings. I have 8 site collections and 32 sub sites (4 sub sites within each site collection), currently I have to manually update the 32 instances of the workflow at the document library level.


 


I like to find out if there is any way for me to use reusable workflow so that I can implement one standard workflows at the site collection level and have to pass 3 values to the reusable workflows at the sub site level before the workflow can work property. How do I create these 3 global variables to be set at each of the sub site level and to pass it to the workflow instance within each sub site? or is there any better solutions to ease the maintenance nightmare?

Reply