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

Should we allow users the ability to download an old export? #1091

Closed
taylortom opened this issue Mar 9, 2016 · 7 comments
Closed

Should we allow users the ability to download an old export? #1091

taylortom opened this issue Mar 9, 2016 · 7 comments
Labels
T: enhancement Adding additional functionality T: question Intended to open a discussion

Comments

@taylortom
Copy link
Member

The main scenario this affects is:

  • User starts export
  • User navigates away from AT for whatever reason
  • Export completes
@taylortom taylortom added T: enhancement Adding additional functionality T: question Intended to open a discussion labels Mar 9, 2016
@johnniezen
Copy link

Tom, what do you mean with the download? Quickly thinking of your use case, I would assume that the export should run in the background, and the user knows where the export contents are.

@taylortom
Copy link
Member Author

Hi John,

Basically, there's currently no UI endpoint for the user to access an existing export. The way that it works currently is:

  1. User clicks the export button
  2. Server creates the export, sends out message to UI (client) that it's done
  3. UI picks up this message, and asks the server for the zip

If something went wrong on the client's end during step 2, the message from the server will never be received, and no zip will be downloaded -- even though it might be there on the server. The only way to get an export if this happens is to run the whole process again, which is a bit unnecessary.

A possible solution could be to modify the backend to just send the zip if nothing's been changed (without any of the exporting process) -- how we'd work this out, I'm not 100% sure at this point.

Hope that makes sense :)

@johnniezen
Copy link

Ok, makes sense. Was a little confused on the title. Probably something like "Run export process in background, complete and report back even after AT closure", you guys are native English so you'll probably know a better sentence, but you get where I'm going to, I hope.

@markl55
Copy link
Member

markl55 commented Mar 9, 2016

Hi Tom,

I think your suggestion works, I've detailed the steps below.

  1. User clicks on download - process starts and marks itself as started - store in the db along with the date/time started.
  2. User cannot click on download again as the process is currently running, this is regardless if they totally close the browser and come back, or stay online and click it again - it keeps checking the table above.
  3. Once complete and if they have stayed online the download starts and gets delivered to the local device
  4. If they closed the browser the download continues and sits on the server once complete - it marks itself as complete, by updating the table (this re-enables the download button again)
  5. User logs back in and returns to the course and clicks on the download button - the course modification date is checked, if no changes have been made to the course since the last download (using the table), go get the existing download and deliver to the user. If the course has been modified/changed since the download was created, start a new download process.

@taylortom
Copy link
Member Author

Sounds like a sensible solution Mark, I think rigging the functionality to the existing export button makes most sense. We could also set up some notification on login to let the user know if this has happened (i.e. they didn't download their export)

@taylortom taylortom added this to the 0.?.0 Import/Export milestone Feb 9, 2017
@taylortom
Copy link
Member Author

@dancgray how does this one fit into your solution?

@taylortom taylortom removed this from the 0.5.0 Import/Export milestone Mar 5, 2018
@taylortom taylortom added this to the Suggested Next milestone Mar 26, 2019
@dancgray dancgray removed their assignment Oct 28, 2019
@taylortom
Copy link
Member Author

Closing due to inactivity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
T: enhancement Adding additional functionality T: question Intended to open a discussion
Projects
None yet
Development

No branches or pull requests

4 participants