Hi, This is about the UI extensibility of zeppelin.
I've read the Helium Proposal [1] and looked at the referenced helium examples in github. As far as I see, helium is an notebook centric approach - which means that only notebook functionality can be used. Right now it seems very hard to extend zeppelin overall functionality properly without hacking the core application, e.g. when adding additional visualization types to the core [2]. What seems to be missing is a kind of plugin concept for extending the front-end more easily. In another project I have worked with camunda [3] which is a backend system written in java (for executing business processes) that also contains a UI application [4] written in js with angular (called Cockpit for administering business processes). The camunda guys found a very neat approach [5, 6] allowing developers to extend their cockpit application in a modular manner and I wanted to share this with you, as it might be adaptable for the zeppelin-web project. Parts of their plugin concept: * client side extensions written in angular * server side extensions written in java (exposing REST apis) * single deployment artifact (jar/war) that can be referenced via maven (or any other dependency management tool) * clear file structure containing server & client side files * well-defined extension points for extending the UI [7] * priorities for sorting multiple plugins on the same extension point * plugin store for sharing plugins with the community [8] This approach could also be used to make the core artifact itself (zeppelin-web) become more modular - e.g. extract existing chart types into separate module. Let me know what you think. Cheers Andreas [1] http://madhukaudantha.blogspot.de/2015/08/introducing-new-chart-library- and-types.html [2] https://cwiki.apache.org/confluence/display/ZEPPELIN/Helium+proposal [3] https://camunda.org/ [4] https://docs.camunda.org/manual/7.5/webapps/cockpit/ [5] https://docs.camunda.org/manual/7.5/webapps/cockpit/extend/plugins/ [6] https://docs.camunda.org/manual/7.5/examples/tutorials/develop-cockpit-plugin/ [7] https://docs.camunda.org/manual/7.5/webapps/cockpit/ extend/plugins/#plugin-points [8] https://camunda.org/plugins/