Improve error messages about datasets #999
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Closes getodk/central#487
This PR makes slight changes to the error messages coming from Backend about problems parsing form XML containing entity definitions.
There is a somewhat generic message for entity form parsing problems that says "The entity definition within the form is invalid" followed by a
reason
more specific to the problem, e.g. what we were seeing before with "Invalid Dataset property." Both parts get passed through to Frontend. I'm not sure localization makes the most sense here because the problem was withreason
and we probably don't want to maintain translations for all possible reasons for this one case, especially since they are all within the same problem code.For this one case about "dataset property", it was easy to change it to "entity property", even within the world of still referring to datasets as datasets in the backend.
For other cases, like problems that mention "invalid dataset name", the error message should actually stay as it is because this only happens for XML parsing (pyxform will catch other errors upstream) and in that case, the field is still called "dataset" within the XML. The other problems that still mention "dataset" are also like this -- they are about the value of "dataset" within XML.
What has been done to verify that this works as intended?
Tests, trying it.
Why is this the best possible solution? Were any other approaches considered?
See reasoning above
How does this change affect users? Describe intentional changes to behavior and behavior that could have accidentally been affected by code changes. In other words, what are the regression risks?
Doesn't change much but hopefully makes this edge case a little less confusing.
Does this change require updates to the API documentation? If so, please update docs/api.md as part of this PR.
No
Before submitting this PR, please make sure you have:
make test-full
and confirmed all checks still pass OR confirm CircleCI build passes