Hi,
I am a lecturer and I'm looking to create a coursework submission system for our students, many of whom create very large files (>5GB - they are film students). I've tried to link into Google Drive for this and have hit a roadblock in as much as their Picker (my preferred way of doing things - I want to remove the need to store uploaded files on my server when at all possible) will not allow for refreshed authorisation in the client library. So it will work for 1hour, then the auth token times out, and I am unable to get a new one without authenticating in the browser as me, which defeats the object.
So, here's what I want to do - can anyone give me some guidance on how best to implement? I've tried looking at Core API and got the basics of the theory under my belt, but the implementation is driving me crazy.
- I create an App in Dropbox that points to my Dropbox account (probably in an App folder).
- I authenticate with the app in code so that I have an access token that I can store privately and use when creating API calls in my web app - meaning my students never see Dropbox logins at all when accessing my app - it "runs" as me, and uploads files they choose to *my Dropbox*
- I have a form on my website to upload a file/files of pretty much any size. Ideally, I'd use the Chooser/Saver interface for this as a. it's standardised and b. it uses Dropbox's backend, so I don't have to mess around with chunking an upload to my server temp space to simply send it to Dropbox
- The form is password protected (I have done this) and will have expiration time/dates (again, I can do this).
- Resulting upload folder is shared with student and me (eventually, other tutors as well) so I can simply upload feedback into the Dropbox folder and student sees it automatically.
I have considered doing this through a convoluted sharing set up (e.g. manually create a folder for each student, share it with them) but a. that does not scale well past about 10 students, b. it doesn't handle case edges well and c. not every student will have or want to have a Dropbox account.
So, any ideas please? If I'm asking for the impossible, could someone let me down gently
? Also, I have researched services like DBInbox and the like and whilst they have some of my intended functionality they do not cover all areas, hence my desire to roll my own.
Thanks
Ryan