Have you experienced any UDA Gotchas when publishing to another site collection?


Badge +9

I am working on a deployment script to port a SharePoint/Nintex Application to multiple environments: Test, Staging, Production.

In order for my workflows to work correctly I need to publish the UDAs that they use, so I first exported my UDAs. (They are all TeamSite--I assume this is Web.)

In order to test the PowerShell Script I test one, then deleted it .

Then I published the remainder with my script.

Once I had them published, another developer informed me that all the UDAs were missing from the original site. I, then, scrambled to reimport and publish all the UDA on the original site collection. To do so I had to delete the UDAs on the other site collection that I was testing because Nintex was telling me the Guid was already in use.

My script was customized from Marty Harris The SharePoint Repair Joint

Is it possible to test installation of UDAs on a different Site Collect.  I'll probably move my testing to another SharePoint Box--but this dampens my enthusiasm for using UDAs.


4 replies

Badge +3

Hey Stephan,

Sorry not an answer but a comment - I was attempting this yesterday as well.  I have 5 site collections all wanting to use the same set of workflows, but in moving the UDA it creates a new version if you don't want to over write the original, what this means though is that none of your workflows using the UDA recognise the new UDA as being the same and if you overwrite, then the original is gone as per your example.

Its a real pain, if I find a solution I will let you know!

Craig

Badge +9

Amen

Badge +3

So I have found a workaround... Not exactly what I would call best practice but it works...

1) I copied the UDA from Site A to Site B and renamed it using the export method and NOT overwriting

2) I created a dummy workflow on Site B using the UDA and exported it to NWF file

3) I exported my original workflow on Site A to NWF file

4) I opened the two NWF files in NotePad and scoured through the XML until I found the references to the UDA action and saw they had a GUID associated to them - lets say Value="bfe1bf19-4ec5-4ad8-bd42-c193c59f73de" on the SITE A workflow and Value="aaaaxxxx-bbbb-4ad8-bd42-c193c59f73de" on the Site B workflow.

5) I did a find replace of the GUID to match the SITE B workflow, saved the NWF and imported into SITE B

Voila the UDA was found and I didn't have to reconfigure 70+ actions to the new UDA.

Hope that helps!

Craig

Badge +9

Thanks but this negates the usefulness of UDA when porting to mutiple environments

Reply