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

725: always produce entity forms with the offline entities spec version #732

Merged
merged 1 commit into from
Dec 10, 2024

Conversation

lindsay-stevens
Copy link
Contributor

Closes #725

Why is this the best possible solution? Were any other approaches considered?

  • Removed the older create/update spec versions which are now unused.
  • Although it looks a bit useless now, the "entity_features" code in xls2json.py and survey.py was retained since it seems likely that this will be needed in the near future as the entities spec evolves.
  • Incorporated the previous opt-in test expectations for create/update entities into the respective "basic building blocks" tests.

What are the regression risks?

  • Pyxform will only emit entities version 2024.1.0 so if these are provided to an older version of Central (or another spec-compliant server) then they will be rejected.
  • The offline column is now undefined for the entities sheet, so like other undefined columns it will now raise an error. Any forms that added the offline opt-in column will now need to remove it during their next form version update.

Does this change require updates to documentation? If so, please file an issue here and include the link below.

Filed an issue to add the proposed offline version description to the spec: getodk/xforms-spec#319

Before submitting this PR, please make sure you have:

  • included test cases for core behavior and edge cases in tests
  • run python -m unittest and verified all tests pass
  • run ruff format pyxform tests and ruff check pyxform tests to lint code
  • verified that any code or assets from external sources are properly credited in comments

@lognaturel
Copy link
Contributor

I've given this a quick look and didn't see any issues. I'm going to let it marinate and give it some more thought.

Let's hold off on merging a bit because when we do it will go on the staging server and could cause some confusion. Entity forms converted after this is merged will not work with Collect v2024.2 and prior.

@lognaturel
Copy link
Contributor

Looks ready to go to me! Please fix conflict and merge when you get a chance @lindsay-stevens 🙏

@lognaturel
Copy link
Contributor

I was planning to fix the merge conflict myself so I could do a release but I just realized that I don't have permissions to do so! @lindsay-stevens if you could do today, that would be very helpful. If you're not able to I'll merge these commits from another PR at the end of my day!

- removed the older create/update spec versions which are now unused.
- although it looks a bit useless now, the "entity_features" code in
  xls2json.py and survey.py was retained since it seems likely that
  this will be needed in the near future as the entities spec evolves.
@lindsay-stevens lindsay-stevens merged commit 4df8448 into XLSForm:master Dec 10, 2024
10 checks passed
@lindsay-stevens lindsay-stevens deleted the pyxform-725 branch December 10, 2024 00:40
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.

Always produce Entity forms with the offline entities spec version
2 participants