Skip to content

Resolving conflicts

A record can change in two places at once: someone edits it on a device offline while someone else edits the same record in CensusIO. When the device syncs, CensusIO has to reconcile the two. It does this carefully, and it never throws away either version.

CensusIO compares both changes against the record as it was before either edit (the common starting point):

  • Different fields changed: the device set the water temperature, headquarters fixed the site name. There is no disagreement, so CensusIO merges both changes automatically. Nothing lands in the queue.
  • The same field changed to different values: the device says the species is pollock, headquarters says haddock. That is a real conflict, so CensusIO holds it for a person to decide.

Only genuine disagreements reach you, and only the fields that actually disagree are flagged.

Open Conflicts in the navigation to see the records waiting on a decision. Each one shows the disagreeing fields side by side in three columns:

  • Base: the value before either edit (the starting point).
  • Field: the value from the device.
  • HQ: the current value in CensusIO.

For each field, choose the Field or the HQ value, or use Use all field values / Use all HQ values to take one side in one click. Write a short reason (it is kept on the record’s history), then Resolve. The record drops off the queue.

A record that a device deleted while headquarters edited it appears as its own card, with a Keep the record action so the edit is not lost to a stray deletion.

A field crew does not have to wait for someone at a laptop. The CensusIO mobile and desktop apps have the same Review conflicts screen: open it, and for each disagreeing field choose the device value (Mine) or the server value (Server), with use all mine / use all server shortcuts and a required reason. The record is resolved exactly as it is from the web Conflicts page, and both versions are kept on its history. Anyone whose role can edit records can resolve a conflict on the device; a viewer cannot. The delete-versus-edit case and typed (manual) values are handled from the web Conflicts page for now.

A record cannot be approved while it has an open conflict. Resolve the conflict first, then approve it as usual. This keeps a record from being signed off while a device and headquarters still disagree on it.

Reviewing by hand is the default, and the safest choice. If your team would rather not review every conflict, an admin can turn on automatic resolution under Settings → Conflict resolution, and choose which side wins:

  • The headquarters value wins: a change made in CensusIO takes precedence over the device.
  • The field value wins: the device that collected the data takes precedence.

With this on, a conflict is resolved the moment it arrives, using the side you chose, and never reaches the queue. The value that did not win is still kept in the record’s history, exactly as with a hand resolution.