I am having trouble figuring out a solution to stop users from taking advantage of my app.
At the moment people can perform duplicate actions by having multiple tabs open or timing certain button presses in unison. I have tried adding terminating into the workflows and different conditions but it seems that depending on the server times the results are inconsistant.
Does anyone know a way to stop this? Right now certain data is changed when a button is pressed and if you do it quick enough you can get 2 items.
You can probably add a yes/no field to current user and at start of the WF, Check if user is"no". Make change to current user = yes do the workflow, at the end of WF make change to current user = no.
Also, add a condition on the button âCurrent user = Yesâ This button isnât clickable.
I will test this out but the main issue is that if the user clicks on both buttons at around the same time they would be able to get around this since the server takes time to process the change from Yes to No. I have tried something like this with the data being changed and a Y/N option on that and it looks to be too slow to update in time to prevent the duplicate.
Yes No isnât fast enough. Use instead âadd in a listâ anything. If the list is not empty, do not perform another workflow. When the initial workflow is terminated, simply remove the item âfrom listâ.
Thank you for your idea. I will take a look at the add in a list idea but I am not too familiar with that workflow.
I might have found a solution by making a group in the repeating group that generates a random number. This number is attached to the user in the previous step. And the next button is only able to be pressed if the number attached to the user matches the random number that was generated. I am not sure if this will completely fix the problem especially when dealing with 2 separate users going after the same one item.