datapipe icon indicating copy to clipboard operation
datapipe copied to clipboard

WIP: Add Google Drive as alternative export

Open hawkrobe opened this issue 4 months ago • 0 comments

Problem

OSF/COS has proven to be an unreliable data storage solution, with multiple incidents of data loss (#120). This undermines the "born open" data collection model that DataPipe aims to support, as researchers are losing valuable experimental data due to OSF infrastructure issues.

Solution

This PR adds Google Drive as an alternative (or additional) export destination for experimental data. Users can choose to (1) Use OSF exclusively (existing behavior), (2) Use Google Drive exclusively, or (3) Use both Google Drive and OSF simultaneously for redundant backups.

Key Changes

  • Google Drive OAuth 2.0 authentication (/api/google-drive-auth, /api/google-drive-callback)
  • Google Drive file upload (put-file-google-drive.js)
  • Google Drive configuration component in account settings

Comments

This is intended to maintain full backward compatibility -- existing experiments using OSF should continue to work unchanged. This is an intricate PR so I'd be happy to break it into smaller pieces for review. I also ran into some issues running the testing suite with the local firebase emulator (because I don't have access to datapipe-test) so I'm hoping we can more carefully test these changes.

hawkrobe avatar Aug 22 '25 05:08 hawkrobe