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

Put CVR last in XSD #27

Open
JDziurlaj opened this issue Sep 9, 2020 · 3 comments
Open

Put CVR last in XSD #27

JDziurlaj opened this issue Sep 9, 2020 · 3 comments
Labels
breaking Changes that may break backwards compatability enhancement

Comments

@JDziurlaj
Copy link
Collaborator

The CVR schema has its elements ordered alphabetically (with some exceptions). This means that all CVRs appear before any of the reusable data (e.g. Election, GpUnit, etc.). This precludes the effective use of streaming (or would require multiple passes). I propose we move CVR to the last element of CastVoteRecordReport.

@raylutz
Copy link

raylutz commented May 19, 2021

When people use prettyprint or other such utilities to print the JSON it defaults to sorting the keys. You can override that and keep them in a specific order.

Some NoSQL format, such as DynamoDB on AWS use a non-encapsulated JSON format. Each record is complete json and does not have any comma at the end, and does not need to be encapsulated. I also recommend for ease of use that some white space be added into the format in the form of newlines between records.

@JDziurlaj
Copy link
Collaborator Author

We'll need to put in a preference somewhere in the body of the specification for JSON, since you cannot specify key order in JSON schema.

@raylutz
Copy link

raylutz commented May 31, 2021

We'll need to put in a preference somewhere in the body of the specification for JSON, since you cannot specify key order in JSON schema.

@JDziurlaj -- When is key order important?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking Changes that may break backwards compatability enhancement
Projects
None yet
Development

No branches or pull requests

2 participants