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