[Devel] NUMA Support - GUI Technical Session

Vojtech Szocs vszocs at redhat.com
Fri Apr 4 21:08:09 UTC 2014


Forgot to send some references on the matter:

  https://groups.google.com/forum/#!topic/google-web-toolkit/q0JUtbiUR8g
  http://stackoverflow.com/questions/13681541/best-way-to-implement-a-drag-and-drop-list-in-gwt

Regards,
Vojtech


----- Original Message -----
> From: "Vojtech Szocs" <vszocs at redhat.com>
> To: awels at redhat.com
> Cc: devel at ovirt.org, "chegu vinod" <chegu_vinod at hp.com>
> Sent: Friday, April 4, 2014 11:06:16 PM
> Subject: Re: [Devel] NUMA Support - GUI Technical Session
> 
> Hi Gilad,
> 
> to my understanding, we already use _HTML5_ Drag'n'Drop support
> (exposed by GWT API since 2.4) in "Setup Host Networks" dialog.
> 
> To utilize HTML5 Drag'n'Drop support in GWT widget, just extend
> FocusPanel and mark your widget's DOM element as "draggable".
> 
> For example, in UnassignedNetworksPanel constructor:
> 
>   getElement().setDraggable( ... );
>   addBitlessDomHandler(new DragEnterHandler() { ... });
>   addBitlessDomHandler(new DragOverHandler() { ... });
>   addBitlessDomHandler(new DragLeaveHandler() { ... });
>   addBitlessDomHandler(new DropHandler() { ... });
> 
> In other words, GWT already exposes API for working with HTML5
> Drag'n'Drop spec, so you don't need any 3rd party libraries.
> The downside is that HTML5 Drag'n'Drop spec is supported only
> in recent browsers (but this isn't an issue for us, AFAIK):
> 
>   http://caniuse.com/#feat=dragndrop
> 
> So in general we have two alternatives:
> 
>   1, use standard HTML5 Drag'n'Drop spec
> 
>      pros:
>      + no need for 3rd party library
>      + compliant with existing code, i.e. "Setup Host Networks"
> 
>      cons (not too relevant IMHO):
>      - requires browser support of HTML5 Drag'n'Drop spec
>      - HTML5 Drag'n'Drop spec deals with dragging data, not widgets
>        themselves (no HTML DOM re-parenting after drag finish)
> 
>   2, use 3rd party gwt-dnd library
> 
>      pros (which I don't think we really need):
>      + emulate Drag'n'Drop support in older browsers
>      + more advanced functionality, i.e. allows dragging widgets
>        so that HTML DOM is dynamically updated
> 
>      cons:
>      - dependency on 3rd party library
>      - this would mean we need to revisit existing code
>        (we should do Drag'n'Drop in one consistent way)
> 
> It's possible that I might be missing something, but I'd
> suggest to try using HTML5 Drag'n'Drop via GWT API as the
> first approach.
> 
> If we find out that HTML5 Drag'n'Drop doesn't work for us
> in given browser(s) or if we need extra functionality, we
> can always add gwt-dnd dependency.
> 
> Few more comments inline, let me know what you think.
> 
> Regards,
> Vojtech
> 
> 
> ----- Original Message -----
> > From: "Alexander Wels" <awels at redhat.com>
> > To: "Gilad Chaplik" <gchaplik at redhat.com>
> > Cc: ecohen at redhat.com, "Vojtech Szocs" <vszocs at redhat.com>,
> > dfediuck at redhat.com, engine-devel at ovirt.org, "chegu
> > vinod" <chegu_vinod at hp.com>, lvernia at redhat.com
> > Sent: Tuesday, April 1, 2014 7:24:12 PM
> > Subject: Re: NUMA Support - GUI Technical Session
> > 
> > On Tuesday, April 01, 2014 11:34:43 AM Gilad Chaplik wrote:
> > > Hi all,
> > > 
> > > Here are the resolutions from the meeting:
> > > 
> > > * option 1
> > > 1) Use gwt-dnd lib for oVirt's dnd (drag and drop) infrastructure.
> > > 2) Come up with a very simple POC that covers all of NUMA-support UX
> > > requirements. 3) Either do a POC, or get UX maintainers approval, that
> > > moving already existing dnd features to new infrastructure
> > > (setup-networks
> > > and scheduling policy dialogs) is feasible and possible.
> > > 
> > 
> > +1 for option 1. None of the drag and drop in the application now looks
> > terribly hard. The gwt-dnd library simply makes things easier to control
> > and
> > maintain.
> 
> Yeah, but the downside is adding 3rd party dependency which predates GWT's
> support for (API exposure of) HTML5 Drag'n'Drop spec.
> 
> > 
> > > * option 2
> > > Extract setup network dnd capabilities to a common general infrastructure
> > > and use that as an infrastructure. NOTE that setup-networks will not use
> > > it
> > > in oVirt-3.5.
> 
> GWT's HTML5 Drag'n'Drop API works directly on DOM element level, it's just
> a thin API overlay on top of HTML5Drag'n'Drop spec.
> 
> Do we really need custom DnD infra on top of that? Can't we just use GWT
> APIs like Element.setDraggable, Drag*Handler, Drop*Handler?
> 
> > > 
> > > I will start with option 1, just need UX team approval that [1] will be
> > > added to ovirt-3.5, and be used for dnd for now on. In case I fail to
> > > deliver option 1 (with the help and guidance of the UX team) in a quick
> > > cycle (a week or so), I will peruse option 2, which is trivial.
> > > 
> > > Moving forward, all new dnd enabled features will use the new
> > > infrastructure, and the motivation is to migrate existing ones as well.
> 
> I agree, there should be one consistent way to do DnD in oVirt UI.
> 
> I'm just saying we should consider existing GWT HTML5 Drag'n'Drop API
> before jumping into gwt-dnd 3rd party dependency. If it turns out that
> GWT DnD API is too basic (lacks functionality) or has issues with some
> browser(s) - we can add gwt-dnd dependency anytime.
> 
> > > 
> > > Thanks,
> > > Gilad.
> > > 
> > > [1] http://code.google.com/p/gwt-dnd/
> > > 
> > > ----- Original Message -----
> > > 
> > > > From: "Gilad Chaplik" <gchaplik at redhat.com>
> > > > To: "Einav Cohen" <ecohen at redhat.com>, "Alexander Wels"
> > > > <awels at redhat.com>, "Eyal Edri" <eedri at redhat.com>, "Steve Gordon"
> > > > <sgordon at redhat.com>, "Eli Mesika" <emesika at redhat.com>, "Otavio Luiz
> > > > Ferranti" <otavio.ferranti at eldorado.org.br>, "Sandro Bonazzola"
> > > > <sbonazzo at redhat.com>, "Greg Sheremeta" <gshereme at redhat.com>, "Doron
> > > > Fediuck" <dfediuck at redhat.com>, "Lior Vernia" <lvernia at redhat.com>,
> > > > "engine-devel" <engine-devel at ovirt.org>, "Martin Sivak"
> > > > <msivak at redhat.com>, "chuan liao" <chuan.liao at hp.com>, "xiao-lei shi"
> > > > <xiao-lei.shi at hp.com>, "chegu vinod" <chegu_vinod at hp.com>, "da-huai
> > > > tang"
> > > > <da-huai.tang at hp.com>
> > > > Sent: Sunday, March 30, 2014 2:06:59 AM
> > > > Subject: NUMA Support - GUI Technical Session
> > > > 
> > > > The following meeting has been modified:
> > > > 
> > > > Subject: NUMA Support - GUI Technical Session [MODIFIED]
> > > > Organizer: "Gilad Chaplik" <gchaplik at redhat.com>
> > > > 
> > > > Time: Tuesday, April 1, 2014, 5:00:00 PM - 6:00:00 PM GMT +02:00
> > > > Jerusalem
> > > > [MODIFIED]
> > > > 
> > > > Required: ecohen at redhat.com; awels at redhat.com; eedri at redhat.com;
> > > > sgordon at redhat.com; emesika at redhat.com;
> > > > otavio.ferranti at eldorado.org.br;
> > > > sbonazzo at redhat.com; gshereme at redhat.com
> > > > Optional: dfediuck at redhat.com; lvernia at redhat.com;
> > > > engine-devel at ovirt.org;
> > > > msivak at redhat.com; chuan.liao at hp.com; xiao-lei.shi at hp.com;
> > > > chegu_vinod at hp.com; da-huai.tang at hp.com
> > > > 
> > > > *~*~*~*~*~*~*~*~*~*
> > > > 
> > > > We will discuss on how to implement NUMA support GUI in oVirt for
> > > > version
> > > > 3.5 (see attached sketches).
> > > > 
> > > > Agenda:
> > > > 1) Brainstorming
> > > > 2) Resolution
> > > > 3) Split work/tasks among volunteers :)
> > > > 
> > > > GUI maintainers please join-in.
> > > > 
> > > > Bluejeans (video conference) session to follow [maybe], currently dial
> > > > in:
> > > > 
> > > > https://www.intercallonline.com/listNumbersByCode.action?confCode=71288674
> > > > 05
> > > > 
> > > > conf id: 712 886 7405#
> > 
> > 
> _______________________________________________
> Devel mailing list
> Devel at ovirt.org
> http://lists.ovirt.org/mailman/listinfo/devel
> 



More information about the Devel mailing list