Adding bulk export of data to Briefcase GUI

I'd like to update the Export user interface to allow the selection of multiple forms, each one with a separate export directory, export type, private key, etc.

This is an important feature because some implementers (hi @noel :wave:t6:) have campaigns that need the flexibility to put different exports in different folders (just like the CLI supports) with different permissions, but they need to do it without requiring the complexities of writing a batch/shell script.

The changes I'm proposing are:

  • Update Export interface to mirror the Pull/Push interface.
    • Allow users to select some or all forms and then export the selection with a single button press (similar to Pull/Push)
    • Interface will have a list of Forms to Export with column headers for Selected, Form Name, and Configure
    • Interface will have other useful column headers (e.g., Last Exported Date, Details) from community feedback
    • Configure will allow user to select export directory, private key, and start/end date (similar to the current Export tab) for the specific form
    • Configure will allow user to enable pull before exporting and tries to use persisted pull credentials
  • Update application so all parameters are persisted between applications launches
    • Sensitive parameters (e.g., passwords) will have a checkbox to save

I'll do all the things to get it to ship in Briefcase, but I'd love feedback from Briefcase users if what I'm proposing sounds reasonable.

I think a global default for export configuration would be nice to have. And then you can select any number of forms and then allow specific export configuration for each form which will override the default export configuration.

Interesting idea! How would you represent this in the UI?

Hi, just to say that I agree with the suggestion as it would be a logical part of any system with multiple export folders. If the list of forms is long then there should be a default folder. This way errors are not produced whenever one of the forms in the list doesn't have a destination. Maybe this would sit best beside the storage location on the settings tab.

1 Like

I've been chewing over the idea of a global default and I was thinking we could do something like this. What do you think, @nribeka?

The detail above is for the configuration for each form presumably?

Yup. It could also say configure. I didn't want to get too crazy with Photoshop :joy:

Heading for the table should say "configuration" or "config" and the button I would go with "customize" :lollipop:

I think this is a good step.

1 Like

Hi everyone! This is a screenshot of my WIP on this feature:

You can check out the code and run Briefcase from the branch "multiple_export" on my fork. It's a working, rough on the edges version and next I want to focus on edge-case-proofing everything and working more on the design.

Any feedback will be very welcome!

1 Like

Just wanted to tell that I've created a PR for this feature: https://github.com/opendatakit/briefcase/pull/259

2 Likes