Github user bzz commented on the issue: https://github.com/apache/zeppelin/pull/1231 @onkarshedge >> Initial idea the we discussed was that `BittorrentNotebookRepo` encapsulates all the things that are required in order to get notebooks. > Could you please elaborate this point. Sure. The idea with P2P notebook storage implementation, be that Bittorrent or Dat or any other protocol is to have: - a self-contained implementation (that possibly can be extracted to maven submodule later) - of a single class, that `implements NotebookRepo` protocol - and is pluggable, instead or on the side with current `VFSNotebookRepo` (for now - pluggable though a simple configuration in `zeppelin-env.sh`, later I can imagine that would be also possible though GUI) In case only some parts of `VFSNotebookRepo` are required (not sure if that is the case or not) - we can extract them to the _skeletal implementation_ `AbstractFileSystemNotebookRepo` and make `BittorrentNotebookRepo extends AbstractFileSystemNotebookRepo`. For more details on this approach to design object oriented architecture please read infamous Joshua Bloch "Effective Java, 2nd edition" `Item18: Prefer interfaces to abstract classes` p.93 ------- Waiting for the diagram of current architecture and code improvements according to styleguide - please ping me and I'll be happy to make another pass tomorrow.
--- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---