BlueBrain / BlueBrain/nexus

Add support for using a storage through resolvers to create a file

Open
#1,919 0 comments 0 reactions 0 assignees View on GitHub
delta feature
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.