We are having a bit of trouble with my team at the moment.
On paper, SQL notebook seemed to be a good tool to quickly share code and iterate over it.
But actually, once I connect to a notebook, if someone else does the same, we cannot see each others modification.
If I run a cell, the changes are registered on my side, but cannot appear on my partner's side, even after refreshing the page.
What I am most worried about is: what happens if me and my partner modify a cell at the same time ? If a third person checks the notebook, which version will they see ?
SQL notebooks are indeed not designed to have multiple users working on the same notebook at the same time. This is the reason why you get the "conflict warning" if two users are on the same notebook at the same time, to warn you of the risk of creating inconsistencies.
If two users ignore the warning and modify the same behavior at the same time, the exact behavior is undefined, and will depend on the precise sequencing of your changes.
thanks for the update !
Indeed, we elected to share our SQL code with another tool to be able to see each other's modifications.
However, at the moment it is not even possible to look at another's person notebook: when opening it for the first time, you get the latest version of the existing code.
But if you close the notebook and the author makes some changes, reopening the notebook still shows you only the version that was displayed the first time you opened it.
As we are working out on an alternative solution this has had no impact on us, but I just wanted to let you know
Hi @LoicM. I did have this same problem at the beginning of my collaborations with DSS, but this is not a shortcoming from DSS, but from the Jupyter Notebooks server itself. In this sense, DSS is doing a great job by popping up the warning whenever two users are on the same notebook.
What we did eventually, was to adapt our workflow to the Jupyter behavior. From a "philosophical" point of view, I think the problem is that the Jupyter projects is trying to be a tool for two different worlds, software development and data science, and by attempting this feat it ends up with being sometimes a mediocre tool. Sometimes, because is still amazing in a lot of areas!
Interesting topic, can give material for a long chat I think.