Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
Bedrock Mission!

Learn more

View all

Sign in to view all badges

Adobe Summit 2023 [19th to 23rd March, Las Vegas and Virtual] | Complete AEM Session & Lab list

Merging Form Data


Not applicable
I currently have a process that assigns a task to multiple users in parallel using a gateway with a loop. Once all the users have completed the form the process then goes back to the process initiator. I have this all working fine, but my problem is merging the form data. I need to figure out how to merge the form data from the task with the original form data, without over writing any other fields that are filled out. Currently what is happening is the form data is being overwritten every time a user completes the form, and when the form goes back to the process initiator the data on the form is only showing the data from the last user who completed the form.
2 Replies


Level 6
The output from the assign to user step must be assigned to a different variable than your 'master copy'. I am doing something similar where each user can update a section on the form specifically allocated for him/her. As I loop through to assign the forms, I put the loop index into the form data. So each user has a separate copy with the corresponding index. After submit, I pull the index out and merge that one users data into the master copy.

/process_data/@processIndex = number(/process_data/tempForm/xdp/datasets/data/Formdata/userIndex)

/process_data/xfaForm/xdp/datasets/data/Formdata/Approvers/Approver[number(/process_data/@processIndex)] = /process_data/tempForm/xdp/datasets/data/Formdata/Approvers/Approver[number(/process_data/@processIndex)]

If anyone can edit any part of the form, you are not going to get around the whoever saves last wins issue. Each user's copy of the form is a snapshot at the point of assignment, not render. So the second (not counting originator) user will not see data entered by the first. I use a custom render that reads the latest master copy out the database.


Not applicable
That's great that worked perfectly, thanks for the help.