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/

Reply via email to