[
https://issues.apache.org/jira/browse/AIRAVATA-3420?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Marcus Christie updated AIRAVATA-3420:
--------------------------------------
Description:
The airavata-mft API has methods for browsing directory resources and
downloading files. These APIs can be used to implement the user_storage
functions so that the Django portal can use a remote storage resource as the
gateway data storage resource.
h3. TODO
- [x] Update user_storage function to use UserStorageProvider
- [x] Add storage_resource_id to models.UserFiles
- [x] Finish implementing UserStorageProvider for the legacy Django FileSystem
storage
- [x] Implement UserStorageProvider for MFT API
- [x] fix content type determination code by using UserStorageProvider.open to
read some bytes from the file
- [x] Move file upload/download urls/views into airavata_django_portal_sdk
- [x] Testing: make sure sdk mft-integration branch is backwards compatible
with airavata-django-portal
-- mostly, there were some changes to how tus uploads are handled and the
develop branch of airavata-django-portal has been updated with those changes
- [x] fix SDK tests
- [x] separate /sdk/download and /sdk/download-file urls: /sdk/download will
get and redirect to the download file url, /sdk/download-file will do the
actual file download
- [x] update docs
- [ ] add owner_username override to listing experiment data directory
- [ ] add api token authorization for /sdk/download
h3. Wrinkles
- using DataProduct.replicaLocations[].storageResourceId for the MFT
resourceId? Technically they are separate things
was:
The airavata-mft API has methods for browsing directory resources and
downloading files. These APIs can be used to implement the user_storage
functions so that the Django portal can use a remote storage resource as the
gateway data storage resource.
h3. TODO
- [x] Update user_storage function to use UserStorageProvider
- [x] Add storage_resource_id to models.UserFiles
- [x] Finish implementing UserStorageProvider for the legacy Django FileSystem
storage
- [x] Implement UserStorageProvider for MFT API
- [x] fix content type determination code by using UserStorageProvider.open to
read some bytes from the file
- [x] Move file upload/download urls/views into airavata_django_portal_sdk
- [x] Testing: make sure sdk mft-integration branch is backwards compatible
with airavata-django-portal
-- mostly, there were some changes to how tus uploads are handled and the
develop branch of airavata-django-portal has been updated with those changes
- [x] fix SDK tests
- [x] separate /sdk/download and /sdk/download-file urls: /sdk/download will
get and redirect to the download file url, /sdk/download-file will do the
actual file download
- [x] update docs
h3. Wrinkles
- using DataProduct.replicaLocations[].storageResourceId for the MFT
resourceId? Technically they are separate things
> Integrate MFT API into the SDK's user_storage module
> ----------------------------------------------------
>
> Key: AIRAVATA-3420
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3420
> Project: Airavata
> Issue Type: Bug
> Components: Django Portal
> Reporter: Marcus Christie
> Assignee: Marcus Christie
> Priority: Major
>
> The airavata-mft API has methods for browsing directory resources and
> downloading files. These APIs can be used to implement the user_storage
> functions so that the Django portal can use a remote storage resource as the
> gateway data storage resource.
> h3. TODO
> - [x] Update user_storage function to use UserStorageProvider
> - [x] Add storage_resource_id to models.UserFiles
> - [x] Finish implementing UserStorageProvider for the legacy Django
> FileSystem storage
> - [x] Implement UserStorageProvider for MFT API
> - [x] fix content type determination code by using UserStorageProvider.open
> to read some bytes from the file
> - [x] Move file upload/download urls/views into airavata_django_portal_sdk
> - [x] Testing: make sure sdk mft-integration branch is backwards compatible
> with airavata-django-portal
> -- mostly, there were some changes to how tus uploads are handled and the
> develop branch of airavata-django-portal has been updated with those changes
> - [x] fix SDK tests
> - [x] separate /sdk/download and /sdk/download-file urls: /sdk/download will
> get and redirect to the download file url, /sdk/download-file will do the
> actual file download
> - [x] update docs
> - [ ] add owner_username override to listing experiment data directory
> - [ ] add api token authorization for /sdk/download
> h3. Wrinkles
> - using DataProduct.replicaLocations[].storageResourceId for the MFT
> resourceId? Technically they are separate things
--
This message was sent by Atlassian Jira
(v8.3.4#803005)