Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mark update conflicts as resolved on Entity Detail page #506

Closed
matthew-white opened this issue Sep 26, 2023 · 10 comments
Closed

Mark update conflicts as resolved on Entity Detail page #506

matthew-white opened this issue Sep 26, 2023 · 10 comments
Assignees
Labels
backend Requires a change to the API server behavior verified Behavior has been manually verified enhancement New feature or behavior entities Multiple Encounter workflows frontend Requires a change to the UI

Comments

@matthew-white matthew-white added enhancement New feature or behavior backend Requires a change to the API server frontend Requires a change to the UI needs testing Needs manual testing needs design review Needs verification from designer entities Multiple Encounter workflows labels Sep 26, 2023
@matthew-white matthew-white changed the title Mark update conflicts as resolved Mark update conflicts as resolved on Entity Detail page Sep 28, 2023
@sadiqkhoja sadiqkhoja self-assigned this Oct 2, 2023
@matthew-white matthew-white self-assigned this Nov 1, 2023
@sadiqkhoja sadiqkhoja removed their assignment Nov 7, 2023
@issa-tseng
Copy link
Member

not sure why the button is red, and szymon isn't seeing the project viewer behavior implemented

@dbemke
Copy link

dbemke commented Dec 1, 2023

I'm not sure what should be the expected in this case:
If I can see a table with conflicts and in another tab I resolve the conflict (just by clicking the button - no edits). I go back to the first tab (in which I can still see the table with conflict) which I didn't refresh (to the resolved conflict) I edit the entity. Then I can see the edit in the table with conflict.
Should the conflict summary box be closed after editing as the conflict had been resolved before and the box is refreshed?
https://jam.dev/c/4796f628-b56b-4f3a-a37e-b1984cd1405b
If it's the Entity Detail page with the conflict box, after editing should there be the conflict box at the top? (If I refresh the page then the conflict table is gone and there is the info about the edit)
https://jam.dev/c/cf0c1725-e5e7-46e0-ad6a-b5eb9140a109

If before resolving the conflict I edit the submission, then in the second tab I see an info to refresh the page to see current state of the entity.

@dbemke
Copy link

dbemke commented Dec 1, 2023

If I resolve a conflict in another tab and try to resolve (a resolved) conflict in a different tab I get a message "The entity doesn't have any conflicts". Is it possible to for example add some information to refresh the page? I image a situation in which I'm a user I see a conflict box and I don't know that someone else has just resolved the conflict while I was reading the data in the box and then I read info "The entity doesn't have any conflicts" . So at the same time I can see the conflict box and info no conflict and I don't know what to do next/how to fix it.

Image

@matthew-white
Copy link
Member Author

Good questions! We do think it's possible that two users could inadvertently be working on the same entity at the same time, and we hope to provide at least some messaging if both users modify the entity (either updating/editing it or marking it as resolved).

If I can see a table with conflicts and in another tab I resolve the conflict (just by clicking the button - no edits). I go back to the first tab (in which I can still see the table with conflict) which I didn't refresh (to the resolved conflict) I edit the entity. Then I can see the edit in the table with conflict.

At that point, the UI has received information that there is no longer a conflict, so I think it should remove the conflict indicator. Would you mind filing an issue for this?

Should the conflict summary box be closed after editing as the conflict had been resolved before and the box is refreshed?
https://jam.dev/c/4796f628-b56b-4f3a-a37e-b1984cd1405b

This looks like a bug to me. The table shouldn't be shown in the modal if the conflict has been marked as resolved in another tab. A message should be shown about needing to refresh data. I'm not sure about closing the modal automatically, because then the user would see that the conflict has been resolved and not know why. But they should definitely see something different from what they do today. Would you mind filing a separate issue about this?

If it's the Entity Detail page with the conflict box, after editing should there be the conflict box at the top? (If I refresh the page then the conflict table is gone and there is the info about the edit)
https://jam.dev/c/cf0c1725-e5e7-46e0-ad6a-b5eb9140a109

I'm not sure what the right answer is here, but I think we should discuss further. Would you mind filing another issue about this? (Sorry to ask for so many issues!)

If I resolve a conflict in another tab and try to resolve (a resolved) conflict in a different tab I get a message "The entity doesn't have any conflicts". Is it possible to for example add some information to refresh the page?

Yes, that's a good idea. I'll make that change (no issue needed).

@dbemke
Copy link

dbemke commented Dec 4, 2023

@matthew-white I filed issues #555 and #556 about tables with conflicts after resolving the conflict in a different tab in the Entity Detail page and "Parallel updates" dialog with the summary box.
In the first issue you mentioned "we hope to provide at least some messaging if both users modify the entity (either updating/editing it or marking it as resolved)" I'm not sure if issues 555 and 556 are examples of that or you're considering adding some more information in other parts. If yes, please let me know and I'll file a general issue (without only one flow of steps to reproduce), too.

@matthew-white
Copy link
Member Author

In the first issue you mentioned "we hope to provide at least some messaging if both users modify the entity (either updating/editing it or marking it as resolved)" I'm not sure if issues 555 and 556 are examples of that or you're considering adding some more information in other parts.

Here's what we currently have in place:

  • Navigate to an entity data table with at least one conflict.
  • Open the conflict in a new tab.
  • Mark the conflict as resolved in the new tab.
  • Without refreshing the table, click the "Review parallel updates" button for the entity (which is still shown in the table as a conflict).
  • An error message should be shown, and the conflict summary table should not be shown.
Screen Shot 2023-12-04 at 11 58 44 PM

Though I can see that the "There are no conflicts" message needs to be aligned. 😅

That's the only functionality I had in mind, but we should definitely address the issues that you've found.

@matthew-white
Copy link
Member Author

@dbemke, I think I've now made all the changes we discussed. #555 and #556 should be resolved now.

If I resolve a conflict in another tab and try to resolve (a resolved) conflict in a different tab I get a message "The entity doesn't have any conflicts". Is it possible to for example add some information to refresh the page?

This should be done now (in getodk/central-frontend#906). The new behavior can be seen on staging.

Here's what we currently have in place: … An error message should be shown

I've also updated this error message so that the first sentence is: "Another user has already marked the conflict as resolved."

Though I can see that the "There are no conflicts" message needs to be aligned. 😅

This should be fixed now (in getodk/central-frontend#907).

@matthew-white
Copy link
Member Author

not sure why the button is red, and szymon isn't seeing the project viewer behavior implemented

The button should now be the normal blue (done in getodk/central-frontend#900). The project viewer behavior should also now be implemented (done in #538).

@srujner
Copy link

srujner commented Dec 7, 2023

Tested with success!

@dbemke
Copy link

dbemke commented Dec 7, 2023

Tested with success!

@dbemke dbemke added behavior verified Behavior has been manually verified and removed needs testing Needs manual testing labels Dec 7, 2023
@matthew-white matthew-white removed the needs design review Needs verification from designer label Dec 19, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend Requires a change to the API server behavior verified Behavior has been manually verified enhancement New feature or behavior entities Multiple Encounter workflows frontend Requires a change to the UI
Projects
Status: ✅ done
Development

No branches or pull requests

5 participants