Standardize on ISO8601 for date and time exports in Briefcase, Aggregate, Central

What is the general goal of the feature?
As a data manager, I would like to process dates and times that use standard formats.

What are some example use cases for this feature?
As described at Date format on export different on different machines (with identical setups), depending on the locale and version of Java you have, Briefcase will output date times in a different format. This makes it hard to write and manage downstream tools that work with the data.

What can you contribute to making this feature a reality?
Spec and implementation guidance. Also docs.

Risks

  • This will break a lot of downstream scripts so we need to have a longer beta and clear release notes.
  • Newer versions of Java change the date formats we're using, meaning that doing nothing will also get us into trouble.
  • Might not be possible to easily change formats with Aggregate or Central's publishers. That is, perhaps FusionTables or Tableau, might not love the new date formats. In that case, we can start with just CSV exports.

Checklist
Here are the steps that we'll need to take to complete this.
Understand the potential date/time data types the XForms supports
Understand what formats Briefcase and Aggregate can parse
Understand what formats Central can parse
Understand what date/time formats Briefcase exports
Understand what date/time formats Aggregate exports and publishes
Understand what date/time formats Central exports and publishes
Update Briefcase to export ISO8601
Update Aggregate to export/publish ISO8601
Update Central to export/publish ISO8601
Update documentation
Release betas with deprecation warnings
Release final

@ggalmazor We've had an issue at https://github.com/opendatakit/briefcase/issues/539 for a while, but I wanted to file a more formal feature request so we can be sure we aren't missing anything. Is there anything that I'm missing in my checklist?

Awesome! ᕕ( ᐛ )ᕗ

Thanks for putting the checklist together! It helps to understand the reach and scope of this change.

  • We can add to the risks section that newer versions of Java change the date formats we're using, meaning that doing nothing will also get us into trouble 100% sure (not very urgent, though, I guess)
  • I think we need to add to the checklists a pair of new items to understand what formats Briefcase and Aggregate can parse, since they have to interact with third-party compatible suites.
2 Likes

@LN Any other risks you can think of that we should document? If not, then, perhaps @ggalmazor can do a quick technical spike to explore the spec, Briefcase, and Aggregate to see if there are any gotchas.

1 Like

I've compiled information about how we deal with dates and times in Central (thanks, @issa!), Briefcase, Aggregate, and Collect to have a better understanding of the scope of this change and all the changes we'll have to coordinate.

You can check it out here

2 Likes