Add support for using a storage through resolvers to create a file
- Dominant language
- Scala
- Stars
- 301
- Forks
- 76
- PR merge metrics
- No merged PRs in 30d
Description
Currently when creating a file in a project, the storage has to exist in the same project (resolvers will be ignored).
This is not the same behaviour as for resources, where a resource can be created using a schema that might not exist in the current project (using resolvers).
This is an inconsistency of the behaviour. At the same time, having a resolver in a centralized project and using them from multiple projects can have its benefits (migration and data modeling, for example).
Currently, the `neurosciencegraph/datamodels` is used as a project to store schemas and each other project points to that project in order to **use** those schemas. Something similar could happen with storages.
The actual implementation is sort if trivial. You can find it implemented in the [following commit](https://github.com/BlueBrain/nexus/tree/c92efe0f63f5af940b523e9bf17a2a4db0d4301f/delta/plugins/storage/src/main/scala/ch/epfl/bluebrain/nexus/delta/plugins/storage)
Contributor guide
Research direction
Start in delta/plugins/storage/src/main/scala/ch/epfl/bluebrain/nexus/delta/plugins/storage and compare the current behavior with the referenced commit. Verify that creating a file can resolve a storage from another project, matching the existing resolver behavior for resources. Confirm the relevant storage tests or add coverage if the project provides them.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- scala
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 35/100