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

Collect should provide trunkVersion and branchId to servers #6245

Closed
3 tasks done
Tracked by #5991
seadowg opened this issue Jul 2, 2024 · 0 comments · Fixed by #6276
Closed
3 tasks done
Tracked by #5991

Collect should provide trunkVersion and branchId to servers #6245

seadowg opened this issue Jul 2, 2024 · 0 comments · Fixed by #6276
Assignees
Milestone

Comments

@seadowg
Copy link
Member

seadowg commented Jul 2, 2024

Blocked by #6267

So that servers are able to deal with conflicts from multiple clients performing offline updates, Collect should provide trunkVersion and branchId as part of entity submissions.

Acceptance

Using XForms that include branchId as described in the new spec, the submission resulting from each of these actions satisfy the conditions in each of these scenarios:

  • Updating a locally created entity
    • New branchId (UUID)
    • trunkVersion is blank
    • baseVersion is the updated entity's version (which will be 1)
  • Updating an entity in the entity list (an "online" one)
    • New branchId (UUID)
    • trunkVersion is entity is the updated entity's version
    • baseVersion is entity is the updated entity's version
  • Updating a locally updated entity
    • Same branchId as the last update submission for this entity
    • Same trunkVersion as the last update submission for this entity
    • baseVersion is entity is the updated entity's version

Additionally, XForms that do not behave as the spec describes and set baseVersion, branchId or trunkVersion to unexpected values should not affect Collect. For example, if a form always sets baseVersion to "5" instead of to the provided __version, Collect would still increment __version in its local representation instead of always ending up with "6".

@seadowg seadowg mentioned this issue Jul 2, 2024
24 tasks
@github-project-automation github-project-automation bot moved this to not ready in ODK Collect Jul 2, 2024
@seadowg seadowg added this to the v2024.3 milestone Jul 2, 2024
@seadowg seadowg moved this from not ready to ready in ODK Collect Jul 4, 2024
@seadowg seadowg self-assigned this Jul 19, 2024
@seadowg seadowg removed the blocked label Jul 19, 2024
@seadowg seadowg moved this from ready to in progress in ODK Collect Jul 22, 2024
@github-project-automation github-project-automation bot moved this from in progress to done in ODK Collect Jul 31, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: done
Development

Successfully merging a pull request may close this issue.

1 participant