Specifically, before seeing the app in action, I thought of these as two distinct parts:
- (a) Saving/Retrieving queries to the database
- (b) Running queries and storing the results in Dataverse
- Run mongo query
- Write result to a temporary file
- Push the file and a related readme file to Dataverse
- Publish the Dataset, allowing the new file to be publicly viewable
Currently, the UI workflow runs (a) and (b) together. This is to discuss a workflow where they are potentially split apart.
The scenarios below are my (currently naive) understanding of possible use cases.
The researcher has worked with the system for 30 minutes, saving 5 queries. She/he can list, review, or delete the queries.
- Tech notes
- Handled by part (a)
- Fairly quick, simply saving/retrieving JSON using the SQL database
- Each saved query is tied to the logged in user
The researcher has worked with the system for 30 minutes, saving 5 queries. She/he has decided to save 1 of the queries and its result on Dataverse.
- Tech notes
- Handled by (b)
- May take a up to a few minutes to complete
- UI given a callback url to check the progress of the process
- Note: Next month, we can add websockets so the callback url won't be needed