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

Integrate file manager support #5

Merged
merged 36 commits into from
Feb 24, 2024
Merged

Integrate file manager support #5

merged 36 commits into from
Feb 24, 2024

Conversation

RayPlante
Copy link
Collaborator

@RayPlante RayPlante commented Feb 24, 2024

This PR extends the MIDAS DBIO service to interact with a file manager service that provides storage space for a DAP author to upload and interact with data files that should be included in the publication. The DBIO (via the DAPService) leverages the File Manager's MIDAS-application-specific web service to create and manage file spaces on behalf of the front-end user, but it also leverages the File Manager's WebDAV service interface as well. This is interaction is encapsulated within the FileManager client class within the nistoar.midas.fm package. A specialized nistoar.midas.dap.nerdstore (fmfs) implementation leverages the File Manager's file scanning capability to generate NERDm metadata for files that have been uploaded into the user's file space. Information about the status of the file space is made available via a DAP-specific property in a DBIO Project record called file_space. It includes both summary information about the usage of space (e.g. the number of files, total size of the uploaded files) as well as web pointers to the space via a browser or via WebDAV.

The dockerized midasserver provided under the docker directory needs to be updated to allow starting a file manager to interact with (similar to how it can also start a MongoDB backend database).

MelvinMartins-NIST and others added 30 commits January 18, 2024 05:51
  * add get_uploads_directory() and determine_uploads_url() to FileManager
  * add fm/webdav.py to assist with access to webdav api
  * fix test_apiclient, add test data
@RayPlante
Copy link
Collaborator Author

This has been exercised extensively for the development and testing of the front end applications.

@RayPlante RayPlante merged commit e717f20 into integration Feb 24, 2024
3 checks passed
@RayPlante RayPlante deleted the fmfs-nerd branch May 22, 2024 19:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants