[Engine-devel] UI by-products of Neutron integration

Lior Vernia lvernia at redhat.com
Wed Aug 28 05:55:22 UTC 2013



On 26/08/13 23:39, Malini Rao wrote:
> 
> ----- Original Message -----
>> From: "Lior Vernia" <lvernia at redhat.com>
>> To: "engine-devel" <engine-devel at ovirt.org>
>> Sent: Sunday, August 25, 2013 4:12:36 AM
>> Subject: [Engine-devel] UI by-products of Neutron integration
>>
>> Hello everyone and specifically UI peeps,
>>
>> Just wanted to turn your attention to a couple of reusable UI components
>> that have been introduced along with the 3.3 Neutron integration
>> feature, and that might be of interest elsewhere.
>>
>> The most interesting of them are link columns to be used within
>> EntityModelCellTable instances, that upon clicking enable one to "jump"
>> to a different UI context by selecting a different entity in the system
>> tree. I've attached a couple of screenshots that show how we've used it
>> to quickly navigate from the context of a network provider to that of
>> one of its imported networks.
>>
>> This could be useful wherever one might want to move quickly to a main
>> tab context of an entity that is secondary in the current context. For
>> example, say I just moved a storage domain to maintenance and now I
>> would like to edit its properties - the domain name might be a good
>> candidate to link to that storage domain item in the system tree.
> 
> Lior, this is a good interaction paradigm but it is good only if it is a consistent interaction paradigm. Based on my conversations with various users so far, I see some emerging issues on the way the system tree is perceived and also some of the confusions it is causing in people. Because of the way it is positioned prominently and permanently on the left, it looks like it drives the content on the left but that is not 'always' the case. Based on which main tab you are on and based on the level of granularity on the tree, the changes on the right change or sometimes only the search box updates. At some point, we should definitely look into trying to make the expectation between the tree and content more obvious and consistent and your approach seems to be pointing in the right direction - i.e, the tree should always reflect your current context on the right.
> 
> Having said that, I am not sure we should plug this interaction in as an additional variant in some places as the users will totally be lost as to what behavior will occur anytime they click a link or node.
> 
> If you guys are ready to look into this in a more holistic manner, Eldan and I will be more than willing to spend some time coming up with a proposal to share with you all and/or we will be open to ideas from all.
> 

I think it would be good to have consistent guidelines as to if/how
links should be used. We just implemented this as part of the Neutron
integration feature because it was useful, we didn't have any UX concept
in mind.

> 
>>
>> The usage is pretty straightforward, the recipe is as follows:
>> 1. Add tree items that are potential targets to the map member in
>> SystemTreeModel (map works by ID).
>> 2. Add LinkColumnWithTooltip to required table.
>> 3. Set the column's FieldUpdater to set the selected item of
>> SystemTreeModelProvider according to the ID of the clicked EntityModel.
>>
>> Examples can be found in the following patches:
>> http://gerrit.ovirt.org/#/c/15523/
>> http://gerrit.ovirt.org/#/c/15524/
>>
>> A couple more components which might be useful:
>> * HorizontalSplitTable comprises two tables separated horizontally, to
>> be used in import/export situations.
>> * ListModelListBoxColumn to be used with EntityModelCellTable, contains
>> a list box that's linked to a ListModel.
>> * EditTextColumnWithTooltip to be used with EntityModelCellTable,
>> contains text that can be edited upon clicking.
>>
>> All three can be observed by navigating to the Networks main tab and
>> clicking "Import", examples for usage may be found in
>> ImportNetworksModel and ImportNetworksPopupView.
>>
>> Lior.
>>
>> _______________________________________________
>> Engine-devel mailing list
>> Engine-devel at ovirt.org
>> http://lists.ovirt.org/mailman/listinfo/engine-devel
>>



More information about the Devel mailing list