Hi,

This particular topic and the discussion are interesting to me and it also
has a huge impact on my task[1].
Nice Idea!!!

Since my task involve introducing a chart library to Zeppelin. Charting
library also can be included here. Implementation of charting library can
be compatible to the new rich UI concept as a pluggable or extension.

[1] email subjected: [GSoC 2015][COMDEV-119] Zeppelin GSoC Project: add
more D3 visualization

On Mon, Mar 23, 2015 at 9:22 AM, Corneau Damien <cornead...@gmail.com>
wrote:

> Right,
> Technically the only thing the user can break would be it's own web browser
> rendering, and it wouldn't affect the other users of the Zeppelin Instance.
> (Also since it's web browser, you can break anything you want using the Dev
> Tool :p)
> However if you can package and distribute your template, or have other user
> on your instance that will use your code, it would be best to try to
> sandbox as much as possible.
>
> Possible good material for cross app communication:
>
> http://stackoverflow.com/questions/15143984/communication-between-two-modules-in-angularjs
> http://embed.plnkr.co/vaieOO
>
> http://stackoverflow.com/questions/17043804/communication-between-modules-in-angularjs
>
> On Mon, Mar 23, 2015 at 11:43 AM, moon soo Lee <leemoon...@gmail.com>
> wrote:
>
> > I think if there're some sort of sandbox technique we can use for html,
> > it'll be really helpful on view side. As far as i know, the only safe
> > sandbox in html is using iframe and it's not seamless and difficult to
> use.
> > So for now, i think causing problem on view side (like overriding css) is
> > up to user.
> >
> > On Sun, Mar 22, 2015 at 11:31 PM Corneau Damien <cornead...@apache.org>
> > wrote:
> >
> > > I didn't see the original email... :'(
> > >
> > > There should not be any problem with user affecting the current
> notebook
> > > UI, at least on the scope level.
> > > Since we could create a particular scope variable in the app to take
> care
> > > of this kind of values.
> > >
> > > For things like event ($broadcast) and controllers, it could be a bit
> > more
> > > complicated, and we might need to run it as a separate angular app.
> > > That's something we will have to investigate more.
> > >
> > > It would be nice to take it slow, and maybe start with only scope
> > variable
> > > first.
> > >
> > > In some way we could have a similar result with %HTML, but it could
> bring
> > > some nice features:
> > >  - Create angular template that could be use to extend Zeppelin UI
> > >  - Allowing people to import javascript library (including graph
> library)
> > >  - Being able to have angular binding between the result of a query in
> a
> > > paragraph and an angular template in a different paragraph
> > >
> > > One limitation if we decide to go for full angular code, would be that
> > > cross-notebook relations would not work.
> > >
> > >
> > >
> > > On Sun, Mar 22, 2015 at 11:06 PM, RJ Nowling <rnowl...@gmail.com>
> wrote:
> > >
> > > > This sounds very useful. Would there be issues where users could
> easily
> > > > cause problems with the notebook's own UI?
> > > >
> > > >
> > > > > On Mar 22, 2015, at 7:57 AM, moon soo Lee <m...@apache.org> wrote:
> > > > >
> > > > > Hi,
> > > > >
> > > > > Zeppelin currently has feature that creates form dynamically. (
> > > > > http://zeppelin.incubator.apache.org/docs/dynamicform.html)
> > > > > It's only supporting simple input text and dropdown list.
> > > > >
> > > > > Recently Damien and Me discussed about ability to create rich GUI,
> > and
> > > > i'm
> > > > > bringing the discussion to the online.
> > > > >
> > > > > Basic idea is adding '%angular' to display system
> > > > > <http://zeppelin.incubator.apache.org/docs/display.html>.
> > > > > Like currently supported '%html' that prints output as html code,
> > > > > '%angular' displays output as angular view. For example,
> > > > >
> > > > > println("""%angular Your name is {{ z.name }}. <a
> > > > > ng-click="z.onClickOkay()">ok</a>""")
> > > > >
> > > > > will compiled and rendered as angular view code. For variable (
> > z.name)
> > > > and
> > > > > function (z.onClickOkay()), we can develop some kind of Js(angular
> > > > > controller) - JVM gateway so user will able to bind Object or
> > Function
> > > > into
> > > > > the angular scope, like
> > > > >
> > > > > val name = "Zeppelin"
> > > > > z.angularBind("name", name)
> > > > >
> > > > > def onClickOkay() = {
> > > > >    ...}
> > > > > z.angularBind("onClickOkay", onClickOkay)
> > > > >
> > > > >
> > > > > In this way, user can implement their own customized visualizations
> > and
> > > > > user interface without (almost) any limitation.
> > > > >
> > > > > What do you think?
> > > > > I'd appreciate any feedback!
> > > > >
> > > > > Best,
> > > > > moon
> > > >
> > >
> >
>



-- 
Cheers,
Madhuka Udantha
http://madhukaudantha.blogspot.com

Reply via email to