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

Datafile cloud/local path duality #237

Open
cortadocodes opened this issue Sep 20, 2021 · 3 comments
Open

Datafile cloud/local path duality #237

cortadocodes opened this issue Sep 20, 2021 · 3 comments
Labels
backend Related to the back end decision needed A decision is required (e.g. on UX or company policy) tech-debt Technical debt (tidy up, refactoring, restructuring, caused by laziness now)

Comments

@cortadocodes
Copy link
Member

Datafile increasingly represents a hybrid local/cloud object with recent additions of the local_path and cloud_path attributes while the original path attribute remains. We've been thinking about if the natural and intuitive thing to do is just be explicit about cloud and local paths and deprecate path.

The problem we have currently is that path is a required path at instantiation which we need to make Datafile a Pathable, but this means we prioritise one either the cloud path or the local path. We can't have two equal-priority pathables without Pathable being used by composition for cloud_path and local_path in the constructor rather than as a mixin. At the moment, to instantiate a Datafile, you have to specify one of:

  • path and cloud_path where path is a local path
  • path and local_path where path is a cloud path

There is disparity in these options (which path is used for path matters to some extent) and problems will likely ensue if all of path, cloud_path, and local_path are specified.

Ultimately, we may need to deprecate path and fully embrace the duality of cloud/local. This will have implications for Pathable so we'll have to observe user behaviour as to whether the its capabilities are actually fully used or not.

@cortadocodes cortadocodes added architecture backend Related to the back end decision needed A decision is required (e.g. on UX or company policy) tech-debt Technical debt (tidy up, refactoring, restructuring, caused by laziness now) labels Sep 20, 2021
@cortadocodes
Copy link
Member Author

This issue arose from #236

@thclark thclark moved this to Priority 2 (Medium) in Octue Board Dec 1, 2021
@cortadocodes
Copy link
Member Author

Linked to #414

@cortadocodes
Copy link
Member Author

Partially resolved by #432

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend Related to the back end decision needed A decision is required (e.g. on UX or company policy) tech-debt Technical debt (tidy up, refactoring, restructuring, caused by laziness now)
Projects
Status: Priority 2 (Medium)
Development

No branches or pull requests

2 participants