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

Add v2024.1.0 for offline Entities #320

Merged
merged 1 commit into from
Nov 19, 2024

Conversation

lognaturel
Copy link
Member

@lognaturel lognaturel commented Oct 24, 2024

Closes #319

I considered different options for leaving breadcrumbs on what v2022.1.0 and v2023.1.0 forms would look like. At first I had examples for all versions but I felt it was too hard to understand. I ended up with notes describing the necessary changes and I'm very interested in feedback on whether that's enough.

Thanks!

The `entity` element for an offline-capable update additionally:
- MUST have a `branchId` attribute which is populated with a [RFC 4122 version 4 UUID](https://www.rfc-editor.org/rfc/rfc4122) generated by clients with an offline Entity representation.
- Clients that do have an offline Entity representation MUST keep the same `branchId` for a given Entity for an entire offline update sequence. They MUST generate a new `branchId` for a new update sequence after receiving a server update.
- When a `branchId` attribute is present in a submission, servers SHOULD attempt to process submissions with that same attribute in the correct order
Copy link

@lindsay-stevens lindsay-stevens Oct 25, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My only question is, after now having more experience with this feature in practice do you think that this (L179) needs to be a SHOULD rather than a MUST? Like as a ODK spec is there a plausible scenario where this aspect is not complied with.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the review!

I put this in mostly for other server implementations -- it's not a critical part of system function and they could choose that it's not all that important because it's not likely to be common. It feels helpful to call out things like this which could be cut from an implementation while still maintaining the spirit of the spec.

If you feel strongly, I'm happy to change it. It doesn't affect any of the core ODK tools.

@lognaturel lognaturel merged commit 224efe5 into getodk:gh-pages Nov 19, 2024
@lognaturel lognaturel deleted the offline-entities branch November 19, 2024 00:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Update entities spec to describe offline behaviour
2 participants