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. > >