NW 2013 - change order of approval outcomes

  • 31 December 2015
  • 6 replies
  • 3 views

Badge +3

Hi all,

ran into a problem I haven't encountered before and hoping someone can point me in the right direction to get it solved.

We recently deployed a workflow to one of our client's production environments and discovered after running some tests that the approval outcomes (on the standard Approve/Reject.aspx page) were in a different order than they were in the DEV environment we migrated from. I've tried every trick i can think of to change the order to no avail.

In DEV the order is:

  1. Approve
  2. Reject
  3. More info needed

In PROD the order is:

  1. Reject
  2. Approve
  3. More info needed

Thanks for your help!


6 replies

Badge +3

Hi Steve,

To avoid this issue (I don't know why it happens) use button instead of radio control. You'll get a better UI and manage button order :

Replacing a Decision Control with Save and Submit Buttons on a Flexi Task

Look at the end of Anthony's article  "Why do it this way?"

Badge +3

Hey Jean-François Legras​,

Thanks for the pointer. We were hoping to be able to do this without creating custom task forms for each approval step.

Attempting to find a fix, I created a simple test workflow and was able to reorder the outcomes on the OOB approve/reject page. This makes me think that there is some mapping defined within the individual task, separate from (or in addition to) the ConfiguredOutcomes table in the NW content database, that carries forward even when copying a flexi task action.

Badge +3

Quick update - I discovered the component inside of the NWF file that drives this behavior.

If you export your workflow to an NWF file and open it in a text editor you will discover a block that looks something like this. In order to read it you have to xmldecode it... The xPath will look something like this:

'/ExportedWorkflowWithListMetdata/ExportedWorkflowSeralized/ExportedWorkflow/Configurations/ActionConfigs/NWActionConfig/ChildActivities/NWActionConfig/ChildActivities/NWActionConfig/ChildActivities/NWActionConfig/ChildActivities/NWActionConfig/Outcomes':

<Outcomes>

  <Outcome Id="0" Name="Approve" CommentsMode="Optional" Description="" BranchIndex="1" />

  <Outcome Id="0" Name="Reject" CommentsMode="Required" Description="" BranchIndex="0" />

  <Outcome Id="0" Name="Pending Additional Info" CommentsMode="Required" Description="" BranchIndex="2" />

  </Outcomes>

The order that the outcomes are listed here drives their rendering in the OOB Approve/Reject page - thus if you were feeling lucky you could manually reorder them the 'Outcome' nodes, reimport the NWF file, and publish. This was merely a test though so proceed with caution should you choose to do anything with this tidbit of knowledge!

Disclaimer - don't try this at home.. You've been warned wink.png

Badge +3

Hi Steve Dark

not sure it is simplier wink.png.

Badge +3

Can't say I disagree! You're answer is better for the masses.

Cheers!

Badge +5

The order of the outcomes in the task form is a direct representation of the order in the Flexi-Task action:

2382iB98EBC3862DD46A8.png

 

This is what I did to fix the order:

  1. First create a copy of your Flexi-Task action to preserve the branch actions,
  2. Open the Flexi-Task action,
  3. Delete an outcome,
  4. Add an outcome,
  5. Save the Flexi-Task action

In my case I deleted "Reject" and then added "Reject" which preserved the branch actions.

Reply