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

Update with upstream changes from XLSForm/pyxform #8

Open
jkuester opened this issue Jun 6, 2022 · 2 comments
Open

Update with upstream changes from XLSForm/pyxform #8

jkuester opened this issue Jun 6, 2022 · 2 comments

Comments

@jkuester
Copy link

jkuester commented Jun 6, 2022

This fork of https://github.com/XLSForm/pyxform is many years out of date.

Updating to the latest version of pyxform would give the following benefits:

  • DETERMINISTIC ORDERING OF XML ATTRIBUTES
    • This is the most important change as currently, regenerating a form xml that has not changed can still result in a significant diff since the ordering of attributes in the xml elements is not deterministic and their order can change (even if the content of the xlsx file stayed the same).
  • Access to the latest ODK spec features and new fixes in pyxform

The https://github.com/medic/pyxform/tree/uplift_to_v1.10.0 branch has a proof-of-concept upgrade to version 1.10.0 of XLSFORM/pyxform. I was able to successfully convert this form using a slightly modified version of cht-conf. Then I was able to successfully submit the default delivery form using both the new version of Enekto in CHT 4.0.0 and also the old version of Enketo in 3.x.

Thoughts:

@jkuester
Copy link
Author

Once this issue has been resolved, medic/cht-core#6537 should be evaluated to make sure we can move cht-core and cht-conf to Python3.

@mrjones-plip
Copy link

Noting the nondeterministic ordering of XML attributes really messes up the sha256 hashes we include :( This was uncovered in a recent forum thread.

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

No branches or pull requests

2 participants