You are viewing limited content. For full access, please sign in.

Question

Question

Teams parallel tasks, if two people attempt to update at same time

asked on September 19, 2019

We are testing a dynamic teams setting where the team is picked according to the choices in a Name drop down field in a collection.  We are testing what happens if two people try to update at the same time.  Would both changes get added safely?  Our tests are indicating not and we are not sure how to proceed.

Are there any recommendations for changes to our process that would ensure that if two people try to update the fields at the same time, everything will get saved safely?

0 0

Answer

SELECTED ANSWER
replied on September 20, 2019

I've attached a text file of a test process working as I described. Flip this back to XML and take a look. 

0 0
replied on September 20, 2019

Thanks!  I downloaded, then tried to upload it into my design window and got this:

0 0
replied on September 20, 2019

Can I send you the real XML and a video over email? Answers doesn't allow me to post XMLs or add videos of over 5 mb. I can grab your listed email from your support profile if you'd like. 

1 0
replied on September 20, 2019 Show version history

Sure, Thanks!

1 0
replied on September 20, 2019

Okay, so yours worked!  In looking for what is different between yours and ours, all I could find was:

But once I made those changes, it worked!  Thanks Jared!

1 0

Replies

replied on September 19, 2019

Our Process:

0 0
replied on September 19, 2019

I'm not sure I understand the question, are you talking about saving changes to the process? Or trying to fill out then submit a form? 

If your process and team filter works, it should be assigning the task to a handful of individual users. None of these users should be able to do anything with that user task until they claim the task, at which point it would be only theirs to complete. 

0 0
replied on September 19, 2019

The form is submitted, then two or three or four people have to fill in a field to report on what they have done for their part in the process, then once all of the people are finished, the supervisor will review and close the form process.

It's the inbetween part that we're concerned about.  Tom and Lisa might try adding their info at the same time.

0 0
replied on September 19, 2019

0 0
replied on September 19, 2019

We have tested by deliberately both going to the form under Team Tasks and opening it.  Chad opens it and makes a change.  Then, before he closes, I open it and make a change.  We both try saving as draft and yet, we will close out then go back in and the fields are empty.

0 0
replied on September 19, 2019

No, that won't work. Once one member of the team takes a task and submits a draft, it is theirs to complete and can't be worked on by other team members. You need to modify your process a bit to get this to work. 

Keep the user task the way it is, but for your outflow, go directly into an exclusive gateway that then either routes back to the same user task or on to the next thing. Put two action buttons at the bottom of the form for "Send back to team" or "Submit form". When the first person claims the form, they should fill out their part and click "Send back to team". The form will be submitted and the gateway will route the instance back to that same user task. The next person can grab it, fill out their part and also "Send back to team"... and so on. This will allow each person to actually complete the task and then create another copy of that same user task with their part filled out. When the last person finishes their part, have them click "Submit form" which will go to the exclusive gateway and then on to the next step. 

For the information to be saved and recorded from one user, you need to actually complete the form by pressing one of the form buttons at the bottom. Your key will be looping the instance back to that user task many times until the form is ready to move on. 

1 0
replied on September 19, 2019

I was wondering if an exclusive gateway was the way to go.  I've never used it before.  I will give this a try.  Thanks!

0 0
replied on September 19, 2019

Yea, use the two button approach and on the gateway set it so that
- If last user action is "Send back to team" go back to the user task
- If last user action is "Submit" go on to the next step

1 0
replied on September 20, 2019 Show version history

Okay, we have set this up and also successfully used a dynamic filter to find the right team members to send to.

Questions:

1) We noticed that Chad can see only Chads field additions; Connie can see only Connie's field additions; Who can see all additions to see what is done?  The supervisor needs to be able to see all.

2) How do we get this process to move on?  The two test users (Chad and Connie - who were sent emails to participate) have done their part now. Why hasn't the process moved on now to the next step?

0 0
replied on September 20, 2019

0 0
replied on September 20, 2019

1) How does each user interact with the form? If they are filling out different fields, each time the form is "Sent back to team", the additions should be shown for the next person. If they are acting on the same collection or table, each person should append their own row, which should accumulate each time it goes to another person. 

2) The final person needs to click the other action button on the bottom of the form "Final submission". When that other button is clicked, instead of circling back, it goes on the the work site inspection follow up. Is there anything else on the form that indicates that it's done? If you need a specific set of fields filled out, you could put a condition in the gateway that says
If field A isn't blank and field B isn't blank... go on to the follow up, otherwise loop back to the team user task. That would allow you to only have one button on the form and once all the proper fields were filled out, it would move on. It really depends on how you want to tell Forms that form is ready to move on. 

0 0
replied on September 20, 2019

Thanks, Jared.

1) Unfortunately, in testing, each person's addition to the field on the row that they were responsible for is saved, but not visible to other people.  Are we doing something wrong?

2) Okay, right. I had programmed that button to hide until all fields were filled.  In actual fact, all fields were filled, but the full result isn't showing up for any of us when assigned to us, so the system isn't recognizing that all fields are filled so the button isn't showing up.  This will not be resolved until we resolve Item #1 above.  Unless I remove the JavaScript to hide that submit button.

0 0
replied on September 20, 2019

How does each user interact?  Both Chad and I got emails to participate after submission of the test form.  I went in and "assigned" the Stage 2 form to me and added my notes to the row intended for me.  Then I called Chad and had him go in and "assign" the Stage 2 form to him and he added his part.  Both of us hit the submit button that takes the form back to Stage 2 for another user to do his part.  (The other submit button was hidden at this point.)  So then, each of us went back in and opened the form to see if we could see both fields now filled in.  Each of us could only see our own notes.

0 0
replied on September 20, 2019

When a task is sent to a team, only one team member can actually work with that form at a time. It would have to be released or re-assigned to another team member in order for someone else to work on it. Are you sure you're working on the same instance?

0 0
replied on September 20, 2019

Thanks, Blake!  Yes, absolutely!  I am certain it is the same form, the same instance, the same user task. 

Now, in this test, when I open the task again.  I see my post, but not Chad's.  He opens his and he sees only his.  There is only one test form.  There are no other instances.

0 0
replied on September 20, 2019

Are you able to post the instance history from Monitor? I'm curious what it is showing is going on.

0 0
replied on September 20, 2019 Show version history

It's funny that it doesn't show my step being done, between H&S Officer Submits... and the first line for Work Site Inspection Def...

0 0
replied on September 20, 2019

And now, after I have removed the JavaScript to hide the submit button, I have Submitted and let the process move onto the next step.  NOW, the form only shows Chad's submission.  Even though I went back in at least three times and only saw my entry on the row for me!!

0 0
replied on September 20, 2019

Are you sure it's not a Parallel Gateway I should be using???

0 0
replied on September 20, 2019

Experimenting with Parallel Gateways - how do you program it when you don't know how many people will be involved? 

It will depend on how many tasks are assigned on the initial form submission (team assignment based on a collection field with a drop down name, each row has a different person assigned, then a filter on the Team: $result=team.findMembersByRole($util.getValue('Tasks_Required','Person_Responsible'))

0 0
replied on September 20, 2019

I'm looking at this post.  I had been wondering if I needed to get Workflow involved.  Will try this:

https://answers.laserfiche.com/questions/121522/Provide-form-for-multiple-approvers#121778

0 0
replied on September 20, 2019

So it sounds like you got the field values showing for previous members of the team who filled it out. 

A parallel gateway isn't right for your case. A parallel gateway follows ALL outflows, so after the person fills out the form, it would both come back to the previous user task AND go on to the next one prematurely. Then every time someone else submitted the form, you'd get another copy of the follow up task AND it would again go back to the team. You need an exclusive gateway so only 1 outflow is followed. Either it comes back to the team OR it goes on to the next task. 

To be clear, in the solution I'm proposing, one person grabs the team task, assigns it to themselves, submits the form back to the team, THEN the next person does their part. Only one person can be interacting with the form at any time. 

0 0
replied on September 20, 2019

Thanks, Jared, but that is exactly what we did in our last test.  Essentially, the process followed the desired steps, however, it did not save everyone's additions.  It only saved the last person's addition for the form.

0 0
replied on September 20, 2019

I don't think the WF method will work for your case because you are trying to have different people edit the same field. In the post you linked, each person will get a read-only user task and asked to make an approval decision. That decision can be stored separately for each user. 

In your case, you need each person to add information to a specific form field. You cannot have them all work in parallel or they'll overwrite each other. You need each person to fill out their part, submit the form, then give it to the next person. 

1 0
replied on September 20, 2019

Same field, but on a different row.  Does that make a difference?

0 0
replied on September 20, 2019

We had hoped (initially) that the first person could add his part, then "Save As Draft", then another person add his part on another row, then "Save As Draft", then another person... etc.  until it was done.

0 0
You are not allowed to follow up in this post.

Sign in to reply to this post.