Commit Graph
11 Commits
Author SHA1 Message Date
José Manuel Domínguez 10de12c5f1 Implement file source to integrate Galaxy with RSpace
This commit implements a FilesSource that interacts with an RSpace [1] instance and includes a file source template so that users can define their own file sources based on it.

RSpace is an electronic lab notebook
(ELN) designed for documenting, managing and sharing scientific data. The central concepts in RSpace are the Workspace,
the Inventory and the Gallery.

The Workspace's role is organizing and managing research activities. It allows creating documents, folders and research
notebooks [2]. The Inventory is a tool to keep track of laboratory resources, such as reagents, samples and equipment
[3]. The Gallery is where any research data represented as files is stored [4].

The FilesSource implemented by this module accesses the Gallery of an RSpace instance. The Gallery is organized in
categories (e.g. Images, Audio, Documents, Chemistry), where each category is itself a tree structure with folders and
files just like a regular filesystem, although there is a key difference: categories and their subfolders can only
contain files of certain types (e.g. jpeg, bmp, png, etc. for the Images category).

This implementation is based on the rspace-client-python` library [5], which provides a PyFilesystem2 [6] interface
to interact with RSpace's Gallery (available as `GalleryFilesystem` in the rspace_client.eln.fs` module). It
consists just of a minimal wrapper (based on the base `PyFilesystem2FilesSource` provided by Galaxy) around the
`GalleryFilesystem` class.

References:

- [1] https://www.researchspace.com/
- [2] https://documentation.researchspace.com/article/bzgr8ea9e3-the-workspace
- [3] https://documentation.researchspace.com/category/zpizk20kgx-inventory
- [4] https://documentation.researchspace.com/article/sl6mo1i9do-the-gallery
- [5] https://github.com/rspace-os/rspace-client-python
- [6] https://docs.pyfilesystem.org/
2025-05-09 12:04:46 +02:00
davelopez 87d5773f2c Add Zenodo file source template documentation 2025-02-19 10:36:33 +01:00
David LópezandJosé Manuel Domínguez c896a28a95 Apply suggestions from code review
Co-authored-by: José Manuel Domínguez <43052541+kysrpex@users.noreply.github.com>
2025-02-17 13:44:24 +01:00
davelopez 61f9ebf34f Add InvenioRDM file source configuration documentation and templates 2025-02-17 13:44:19 +01:00
José Manuel Domínguez 2f4ac83cd5 Update eLabFTW file source template docs
Include the template itself and a screenshot of the form generated by the template in the docs, just like it is done for the other templates.
2025-02-17 13:10:32 +01:00
José Manuel Domínguez 1417037509 eLabFTW file source from file source templates
Support user-defined file sources based on `eLabFTWFilesSource`. Add a file source template for eLabFTW and the required documentation.
2025-02-13 15:33:56 +01:00
John Chilton edc5bc2a8f Allow oauth2 file sources with Dropbox initial implementation. 2024-10-14 15:16:41 +02:00
Sanjay Kumar Srikakulam 22791a8d43 Add WebDAV as user file source
Adds WebDAV example template, configuration and updates the docs, and the file source model along with the client API schema
2024-10-10 10:40:58 +00:00
John Chilton b598bff3e0 Big warning box about distributed object stores being required. 2024-05-20 12:19:01 -04:00
John Chilton 29ea0ba522 Implement many PR comments around Vue stuff and docs. 2024-05-20 12:19:01 -04:00
John Chilton f95da89b3d Implement file source templates 2024-05-20 12:18:47 -04:00