getodk / getodk/central

Surface entity processing errors as conflicts

Open
#688 5 comments 1 reaction 0 assignees View on GitHub
backend frontend
Dominant language
JavaScript
Stars
226
Forks
235
Avg merge
2d 22h
Merged PRs (30d)
19

Description

An error can occur when a submission is processed for entities. For example, a submission that tries to create an entity, but doesn't specify a UUID will result in an error. We show entity processing errors on the submission detail page.

However, it's easy for the user to miss these errors. We don't indicate in the submissions table whether a submission had an entity processing error, so unless the user visits the submission details page, they won't see the error. That's in contrast to entity conflicts, which we show in the entities table and elsewhere in Frontend. The idea of this issue is to surface entity processing errors as entity conflicts wherever possible, increasing their visibility.

Some entity processing errors refer to an existing entity. For example:

- A submission tries to create an entity with a UUID that is already in use.
- A submission tries to update an existing entity with a property that isn't on the entity list.

We could show these errors not just on the submission detail page, but also on the entity detail page. They would be counted as entity conflicts so that users would notice them from the entities table and other places. As with conflicts between entity updates, it would be possible to mark these errors as resolved. When an entity is marked as resolved, any current entity processing errors associated with it would no longer be shown as conflicts. (A future processing error about the entity would cause the entity to enter a conflict state again.)

At https://github.com/getodk/central/issues/682#issuecomment-2226462687, @ktuite suggested handling one case involving offline entities as an entity processing error. It'd be great if that error were surfaced in more places so that the user doesn't miss any entity data that's been collected. If this issue were implemented, the error would be surfaced as a conflict.

[Brainstorming doc
](https://docs.google.com/document/d/1lVcRaxSup-Sls4brEkbwTSq-zfZM_KKsjmoY4lFxVPU/edit?tab=t.8o3mgzvpx2jo)
[Figma](https://www.figma.com/design/ULpCuTKkIys6Y99YGyMcrF/Central?node-id=3162-4748&t=Bz3jQRz3dFbE35Kz-1)

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.