Hi all,
I'm trying to set up a Pantheon-hosted Drupal 8 site where clients can log in and be given a signed URL (or similar) to download a large dataset (>1GB) that is associated with a particular bit of content. The dataset will be hosted on Google Cloud Storage or similar. Access control is important, this dataset needs to be private.
A nice feature would be if my content creators could upload the dataset through the same form they use to create the Drupal content, but I recognise this requires CORS etc. to bypass the file size limitations of PHP/Drupal/Pantheon.
I'm torn between some possible solutions and I'm hoping someone has the experience to guide me to the best one. To serve these files I could:
- Have my content creators upload the file to Google Cloud Storage themselves, then write a custom module that lets them input object location and renders a signed URL for clients using this process.
- Use the modules S3 File System CORS Upload and S3 File System, but I'm concerned about access control, it seems like one user could guess/brute force the URL for another user's dataset. Example.
- Flysystem. But I'm even more confused about how Flysystem works and if it can do what I want, the documentation is very scarce.
I'm leaning towards option one at the moment, but before I begin does anyone have any modules I've missed, or know of any technical hurdles I'm overlooking or obvious solutions I've missed? Thanks in advance.