Thanks for providing some ideas to the topic. I guess this architecture could be explored when trying to improve Helium, or the overall plugin concept.
On Thu, Aug 25, 2016 at 6:12 PM, Andreas Weise <andreas.we...@gmail.com> wrote: > 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/exte > nd/plugins/#plugin-points > [8] https://camunda.org/plugins/ > >