data-dot-all / dataall

A modern data marketplace that makes collaboration among diverse users (like business, analysts and engineers) easier, increasing efficiency and agility in data projects on AWS.
https://data-dot-all.github.io/dataall/
Apache License 2.0
236 stars 82 forks source link

Create generic shares_base and s3_datasets_shares modules from current dataset_sharing #1283

Closed dlpzx closed 5 months ago

dlpzx commented 6 months ago

Is your feature request related to a problem? Please describe. It is difficult to add new sharing item types with the current implementation of the datasets_sharing module.

Describe the solution you'd like If we want to add more types of sharing(e.g. Redshift dataset sharing, notebook sharing) a first step will be the creation of a generic class that defines a data.all Shares abstraction that can be used by each of the particular sharing implementations.

Describe alternatives you've considered This are rough design considerations that might change during implementation:


⚠️ WIP This item is a continuation of https://github.com/data-dot-all/dataall/issues/1123 that implements the top part of the diagram, the separation between datasets_base and s3_datasets. Now we need to do the same for shares.

Backend

image

1. shares_base module

With the generic code to create share objects and share items.

image

2. s3_datasets_shares module

With the specific code to share S3 dataset items.

Frontend

Most views related to shares are very generic. If anything, share item tables and share details (consumption details) might be s3-specific. Since the shares view is being modified in other workstreams this is paused at the moment.

Config.json

tbd

dlpzx commented 6 months ago

Step-by-step implementation plan

The next items are enhancements

dlpzx commented 5 months ago

The core functionality has been completed. There will be follow-up enhancements related to shares tackled in separate github issues