Question

Can we ADD to a current UDA? or Do we need to create another one?


Badge +4

Created a large main WF, which calls a UDA (image below) - which sets the ProxyAddresses attribute field in AD. 

Can I add to the configuration to this UDA?  

If not, do I need to create another UDA? 

We need to update the “MailNickname” attribute in AD .... (with the user's @CompanyName.com email address). 

 

Also, we have the TargetAddress config in the main wf... can this be removed and added to the UDA (inside 1 or in its own UDA)?

 

 


2 replies

Userlevel 5
Badge +14

You can add to a UDA, but you’ll need to publish both the UDA as well as any Workflow that relies on that UDA, otherwise it will use the previous version.

 

Example. Here is a simple workflow where I’m setting the value of a Column called “List WF Val” to the value of “A” in the workflow, and then invoking a UDA that will change a Column called “UDA Val” to the value of “B”:

 

Workflow that has an Update Item Action to change a column’s value to “A” and a UDA Action that will change a different column’s value to “B”

 

Showing the UDA in question
Showing the configuration of the UDA’s Update Item action​

 

When I run this workflow it does exactly what I would expect it to do:

Showing an item with the columns targeted by the workflow and uda changed to the expected values of “A” and “B”

 

However, if I update the UDA to set the value to “C” instead of “B”:

Showing the settings of the Update Item Action in the UDA, updated to push the value “C” instead of “B”
Showing the updated Update Item Action’s label in the UDA

If I were to publish ONLY the UDA, then when I run the main workflow against the item, it’ll do exactly the same thing as it did the first time (setting the columns to “A” and “B” respectively).

Showing how the UDA updates did not seem to work

 

It’s only until I publish the Workflow that is using the UDA that it will grab the new UDA’s configuration:

 

Showing the results of running the workflow again after having published both the updated UDA and the Workflow proper that uses it

 

As for your other questions - Yep. You can add whatever you’d like to a UDA (with a few exceptions). The biggest thing to remember is that UDAs are independent from any context, so you can’t rely on referencing anything regarding an Item’s Properties (meaning: the values of the columns of an item) as you would in a regular List Workflow.

So if you’re trying to target a certain List Item in a UDA, I would advise creating a required Parameter (which is like a Starting Variable for a typical workflow) that you’ll provide an Item’s ID to when you add the UDA to whichever workflow you’re using it from. In this way you can then reference that Input Parameter inside of UDA and do things like target a particular item b based on ID:

 

Example - In my UDA I’ve create a required input text Parameter called “input_TargetItemID”:

Showing navigation to the Parameters dropdown in a UDA Editor
Showing an input text parameter called “input_TargetItemID”

 

When I invoke the UDA in my regular workflow, I must pass along some value into the required parameter before it will allow me to publish the main workflow. In my case I simply pass the ID reference to the Item the Workflow is running on at the time of invocation:

 

You’ll notice in the example screenshots above when I show how the Update Item is setup in the UDA, I’m using that parameter as the value I’m matching against the ID of an item in the particular list that I’m targeting.

 

Though a bit cumbersome to deal with, UDAs are extremely powerful because they are Context Independent. Hopefully this example can help to make them a little less mysterious.

Let me know if you need additional help or have further questions.

 

 

 

 

Badge +4

Extensive reply - very grateful, much needed (still learning).  Will continue to review & update the UDA in question. 

Reply