You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It is useful to think about the various abstract functional components nbgitpuller has, so we can separate the various improvements and changes we need to make. It has five functional parts:
Fetch content (currently this is git only)
Resolve conflicts between changes in the upstream content and the user's changes (uses git, currently entangled with (1))
A web UI to show progress of this fetching and conflict resolution
A commandline UI to automatically do fetching and conflict resolution
This is one of 4 separate but related SOWs we are producing, so they can be discussed, funded and worked on clearly.
The Problem
nbgitpuller's core purpose was to remove the accidental complexity of using git for consuming content from the user side. But it left the possible accidental complexity of having to use git for creating content from the producer side. As we expand to more and more users, this starts becoming a problem.
Currently, git is used for both fetching the content (1) as well as resolving conflicts (2). We want to support multiple different sources for (1) while still supporting using git for (2).
Definition of Done
The SOW should propose implementation plans for:
A mechanism to provide for alternate sources where the content can come from.
two additional implementations for a new content source to make sure we have added an extensible method for future content sources. Pick sources that do not require authentication.
Improvements to the url builder (5) to support additional content sources.
Improvements to the command line UX (4) to make sure that also supports additional content sources
Out of scope
The mechanism design should be left open to possibly support authenticated sources (as part of a different SOW, but the implementations only necessarily need to work with content sources that don't require authentication.
nbgitpuller is focused on distributing content (notebooks, code files, etc) rather than data. So let's focus on content providers that are predominantly used for sharing content rather than data.
Prior Art
Four years ago, I spent time trying to make this happen with jupyterhub/nbgitpuller#194. It failed for a variety of primarily social reasons that I'm happy to provide context for to whoever is working on this project.
nbgitpuller componentsNote
Draft in progress here
It is useful to think about the various abstract functional components
nbgitpullerhas, so we can separate the various improvements and changes we need to make. It has five functional parts:gitonly)git, currently entangled with (1))This is one of 4 separate but related SOWs we are producing, so they can be discussed, funded and worked on clearly.
The Problem
nbgitpuller's core purpose was to remove the accidental complexity of using git for consuming content from the user side. But it left the possible accidental complexity of having to use git for creating content from the producer side. As we expand to more and more users, this starts becoming a problem.
Currently, git is used for both fetching the content (1) as well as resolving conflicts (2). We want to support multiple different sources for (1) while still supporting using git for (2).
Definition of Done
The SOW should propose implementation plans for:
Out of scope
Prior Art
Four years ago, I spent time trying to make this happen with jupyterhub/nbgitpuller#194. It failed for a variety of primarily social reasons that I'm happy to provide context for to whoever is working on this project.