What if you make a physical copy of the notebook? Then the socket list will 
have only one destination. Perhaps you can define a “notebook template” as 
follows:

Z -> Menu -> Create notebook template -> [ define your notebook template here ]
Z -> Menu -> Create notebook from template -> [ choose the above template ] -> 
make a physical copy of the template

If the template changes, the notebook is based on a previous version but I 
think that is fine for many use cases.

> On Jul 4, 2016, at 10:14 PM, ashish rawat <dceash...@gmail.com> wrote:
> 
> + user list, hoping someone can help here!
> 
> On Mon, Jul 4, 2016 at 10:48 PM, ashish rawat <dceash...@gmail.com 
> <mailto:dceash...@gmail.com>> wrote:
> Hi everyone,
> 
> I am trying to implement a functionality in Zeppelin, where a notebook copy 
> can be kept with each websocket associated with that notebook. This way the 
> notebook would be opened in read-only mode and changes made by one connection 
> would not be visible to the other connections over the same notebook. I would 
> additionally disable the note.persist in this case.
> 
> I explored the code a little and found that NotebookServer is keeping a map 
> of notebookIds to list of sockets. Further, it seems that any message to a 
> specific notebook gets broadcasted to the complete list of sockets associated 
> with that list.
> 
> My initial idea was to just maintain a notebook copy for each websocket, but 
> now this is looking a little complex, since it seems that for every job, I 
> would also need to maintain the websocket which triggered it, resulting in 
> changes across the codebase.
> 
> Can someone help me out in how to approach this change in the cleanest and 
> fastest way.
> 
> Regards,
> Ashish
> 
> PS: The motivation for making this change is mentioned in one of my earlier 
> questions "Zeppelin multi-user dashboards" on the users list.
> 
> 

Reply via email to