getodk / briefcase

ODK Briefcase is a Java application for fetching and pushing forms and their contents. It helps make billions of data points from ODK portable. Contribute and make the world a better place! ✨💼✨
https://docs.getodk.org/briefcase-intro
Other
60 stars 156 forks source link

Support empty form versions when doing multi-version push to Central #891

Open lognaturel opened 3 years ago

lognaturel commented 3 years ago

Software versions

master (post https://github.com/getodk/briefcase/pull/872)

Problem description

https://github.com/getodk/briefcase/pull/872 introduces pushes of multi-version forms to Central. Currently, forms with blank version names are not supported.

Steps to reproduce the problem

  1. Pull a form with submissions referencing multiple versions including a version with a blank name (no version attribute)
  2. Push that form to Central

Expected behavior

A blank version should be treated the same as any other version.

Other information

There are a couple of issues. First, we need a way to represent empty form versions in the metadata json file. Then, we need a way to communicate the blank version name to Central. We currently use this endpoint to force a version on publish. It does not support forcing an empty version number. We could generate the submission locally and push it or perhaps consider changing the Central API.