[Engine-devel] static header only in VM dialog?

when reviewing the code for the "redesign of vm related dialogs", Daniel has raised an interesting question: Why do we want the static header only in VM dialog? (I assume that he refers to the top section of the New VM dialog as seen in [1], which contains the DC/Cluster, Quota, etc information, and is "static", i.e., it is always displayed, regardless of the selected side-tab within the dialog) I agree with what Daniel is implying here: for consistency, we would probably want to introduce this static header to other dialogs, at least to the ones that also contain side-tabs in which it makes sense to turn the "header" to static [e.g. "New Host" (which contains a DC + Cluster "header") - see http://oi39.tinypic.com/2z84xnp.jpg, "New Cluster" (which contains a DC "header") - see http://oi40.tinypic.com/2vmyj2x.jpg] [I assume, of course, that all the VM-like dialogs (e.g. New/Edit VM-Pool) will also have static headers - I don't know if the patch already takes care of that or not] Thoughts? [@Daniel - if you had something else in mind, and/or other dialogs in mind - please feel free to add/amend/etc] ---- Thanks, Einav [1] http://www.ovirt.org/images/9/9e/Instance_type.pdf ----- Original Message -----
From: derez@redhat.com To: "Tomas Jelinek" <tjelinek@redhat.com> Cc: "Vojtech Szocs" <vszocs@redhat.com>, "Einav Cohen" <ecohen@redhat.com>, "Frank Kobzik" <fkobzik@redhat.com>, "Eldan Hildesheim" <info@eldanet.com> Sent: Tuesday, May 28, 2013 5:05:38 PM Subject: Change in ovirt-engine[master]: userportal,webadmin: redesign of vm related dialogs
Daniel Erez has posted comments on this change.
Change subject: userportal,webadmin: redesign of vm related dialogs ......................................................................
Patch Set 5: (1 inline comment)
Code looks good. A few questions regarding the design: 1. Why do we want the static header only in VM dialog? 2. DC/Host are really relevant for all tabs? 3. Is it just a preparation for the final instance type dialog? 4. If it's indeed merely preparation, shouldn't it be merged only once we have the full picture of the new dialog?
.................................................... File frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/dialog/tab/DialogTabPanel.ui.xml Line 21: Line 22: .header { Line 23: background-color: #D3D3D3; Line 24: border-bottom: 1px solid #CED8DF; Line 25: margin-bottom: 15px; is it supposed to be that large? Line 26: padding-top: 6px; Line 27: margin-top: 4px; Line 28: margin-right: 3px; Line 29: display: none;
-- To view, visit http://gerrit.ovirt.org/14635 To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: comment Gerrit-Change-Id: Icad8098e286f821da25fac22fd0a840a42f105c9 Gerrit-PatchSet: 5 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Tomas Jelinek <tjelinek@redhat.com> Gerrit-Reviewer: Daniel Erez <derez@redhat.com> Gerrit-Reviewer: Einav Cohen <ecohen@redhat.com> Gerrit-Reviewer: Eldan Hildesheim <info@eldanet.com> Gerrit-Reviewer: Frank Kobzik <fkobzik@redhat.com> Gerrit-Reviewer: Tomas Jelinek <tjelinek@redhat.com> Gerrit-Reviewer: Vojtech Szocs <vszocs@redhat.com>

----- Original Message -----
From: "Einav Cohen" <ecohen@redhat.com> To: "Malini Rao" <mrao@redhat.com>, "Eldan Hildesheim" <info@eldanet.com>, "Eldan Hildesheim" <ehildesh@redhat.com> Cc: "Tomas Jelinek" <tjelinek@redhat.com>, derez@redhat.com, "engine-devel" <engine-devel@ovirt.org> Sent: Wednesday, May 29, 2013 12:53:47 AM Subject: static header only in VM dialog?
when reviewing the code for the "redesign of vm related dialogs", Daniel has raised an interesting question: Why do we want the static header only in VM dialog?
(I assume that he refers to the top section of the New VM dialog as seen in [1], which contains the DC/Cluster, Quota, etc information, and is "static", i.e., it is always displayed, regardless of the selected side-tab within the dialog)
I agree with what Daniel is implying here: for consistency, we would probably want to introduce this static header to other dialogs, at least to the ones that also contain side-tabs in which it makes sense to turn the "header" to static [e.g. "New Host" (which contains a DC + Cluster "header") - see http://oi39.tinypic.com/2z84xnp.jpg, "New Cluster" (which contains a DC "header") - see http://oi40.tinypic.com/2vmyj2x.jpg]
[I assume, of course, that all the VM-like dialogs (e.g. New/Edit VM-Pool) will also have static headers - I don't know if the patch already takes care of that or not]
Thoughts?
[@Daniel - if you had something else in mind, and/or other dialogs in mind - please feel free to add/amend/etc]
Besides consistency matters, I wanted to understand what's the motivation of keeping these widgets static. I.e. is it an essential preparation for the new instance type dialog or a new concept for tab based dialogs (as DC/Cluster values aren't necessarily relevant for each tab in the dialog)
---- Thanks, Einav
[1] http://www.ovirt.org/images/9/9e/Instance_type.pdf
----- Original Message -----
From: derez@redhat.com To: "Tomas Jelinek" <tjelinek@redhat.com> Cc: "Vojtech Szocs" <vszocs@redhat.com>, "Einav Cohen" <ecohen@redhat.com>, "Frank Kobzik" <fkobzik@redhat.com>, "Eldan Hildesheim" <info@eldanet.com> Sent: Tuesday, May 28, 2013 5:05:38 PM Subject: Change in ovirt-engine[master]: userportal,webadmin: redesign of vm related dialogs
Daniel Erez has posted comments on this change.
Change subject: userportal,webadmin: redesign of vm related dialogs ......................................................................
Patch Set 5: (1 inline comment)
Code looks good. A few questions regarding the design: 1. Why do we want the static header only in VM dialog? 2. DC/Host are really relevant for all tabs? 3. Is it just a preparation for the final instance type dialog? 4. If it's indeed merely preparation, shouldn't it be merged only once we have the full picture of the new dialog?
.................................................... File frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/dialog/tab/DialogTabPanel.ui.xml Line 21: Line 22: .header { Line 23: background-color: #D3D3D3; Line 24: border-bottom: 1px solid #CED8DF; Line 25: margin-bottom: 15px; is it supposed to be that large? Line 26: padding-top: 6px; Line 27: margin-top: 4px; Line 28: margin-right: 3px; Line 29: display: none;
-- To view, visit http://gerrit.ovirt.org/14635 To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: comment Gerrit-Change-Id: Icad8098e286f821da25fac22fd0a840a42f105c9 Gerrit-PatchSet: 5 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Tomas Jelinek <tjelinek@redhat.com> Gerrit-Reviewer: Daniel Erez <derez@redhat.com> Gerrit-Reviewer: Einav Cohen <ecohen@redhat.com> Gerrit-Reviewer: Eldan Hildesheim <info@eldanet.com> Gerrit-Reviewer: Frank Kobzik <fkobzik@redhat.com> Gerrit-Reviewer: Tomas Jelinek <tjelinek@redhat.com> Gerrit-Reviewer: Vojtech Szocs <vszocs@redhat.com>

----- Original Message ----- From: "Daniel Erez" <derez@redhat.com> Sent: Tuesday, May 28, 2013 6:18:20 PM
----- Original Message -----
From: "Einav Cohen" <ecohen@redhat.com> To: "Malini Rao" <mrao@redhat.com>, "Eldan Hildesheim" <info@eldanet.com>, "Eldan Hildesheim" <ehildesh@redhat.com> Cc: "Tomas Jelinek" <tjelinek@redhat.com>, derez@redhat.com, "engine-devel" <engine-devel@ovirt.org> Sent: Wednesday, May 29, 2013 12:53:47 AM Subject: static header only in VM dialog?
when reviewing the code for the "redesign of vm related dialogs", Daniel has raised an interesting question: Why do we want the static header only in VM dialog?
(I assume that he refers to the top section of the New VM dialog as seen in [1], which contains the DC/Cluster, Quota, etc information, and is "static", i.e., it is always displayed, regardless of the selected side-tab within the dialog)
I agree with what Daniel is implying here: for consistency, we would probably want to introduce this static header to other dialogs, at least to the ones that also contain side-tabs in which it makes sense to turn the "header" to static [e.g. "New Host" (which contains a DC + Cluster "header") - see http://oi39.tinypic.com/2z84xnp.jpg, "New Cluster" (which contains a DC "header") - see http://oi40.tinypic.com/2vmyj2x.jpg]
[I assume, of course, that all the VM-like dialogs (e.g. New/Edit VM-Pool) will also have static headers - I don't know if the patch already takes care of that or not]
Thoughts?
[@Daniel - if you had something else in mind, and/or other dialogs in mind - please feel free to add/amend/etc]
Besides consistency matters, I wanted to understand what's the motivation of keeping these widgets static. I.e. is it an essential preparation for the new instance type dialog or a new concept for tab based dialogs (as DC/Cluster values aren't necessarily relevant for each tab in the dialog)
[maybe Tomas/Eldan/Malini can help here as well] these static widgets (as well as the type ahead list box [1], for example) are part of the instance types feature that had its design details published in [2] and [3], and the implementation was done according to this design. I don't see any reason to not utilize this newly-introduced concept in other side-tab-based dialogs as well, if it makes sense (ui consistency considerations are sufficient, IMO, but I could be wrong - maybe it is relevant/correct to introduce this new concept only in the VM-like dialogs). regarding the specific concern about the DC/Cluster values that aren't necessarily relevant for each side-tab in the dialog: I agree with that statement, however: - putting the "Instance Type" drop-down at the top static section is very useful (see [4] for explanation), and as the Instance Types list is derived from the selected DC, it makes sense (to me) to put the DC in that top static section as well. - the DC/Cluster are relevant for some of the tabs in the dialog (Host, Resource Allocation?) so for consistency-within-the-dialog considerations, it is probably a good idea to simply always show these fields within this top static section. [there is a good chance that I am missing your point here - please correct me if necessary] [1] http://gerrit.ovirt.org/#/c/14936/ [2] http://www.ovirt.org/Features/Instance_Types [3] http://www.ovirt.org/images/9/9e/Instance_type.pdf [4] whenever changing the "Instance Type" value, you can automatically see how these changes affect the fields in the current tab on which you are standing (e.g. if you are standing on the "System" side-tab, you can change the "Instance Type" selected item and immediately see the changes within the "System" side-tab contents), and vice-versa: if you are changing a value that was originally propagated from the instance-type, you will see the instance-type automatically change to "custom"/"not applicable" as a result, so no need to "jump" between side-tabs in order to observe these changes.
---- Thanks, Einav
[1] http://www.ovirt.org/images/9/9e/Instance_type.pdf
----- Original Message -----
From: derez@redhat.com To: "Tomas Jelinek" <tjelinek@redhat.com> Cc: "Vojtech Szocs" <vszocs@redhat.com>, "Einav Cohen" <ecohen@redhat.com>, "Frank Kobzik" <fkobzik@redhat.com>, "Eldan Hildesheim" <info@eldanet.com> Sent: Tuesday, May 28, 2013 5:05:38 PM Subject: Change in ovirt-engine[master]: userportal,webadmin: redesign of vm related dialogs
Daniel Erez has posted comments on this change.
Change subject: userportal,webadmin: redesign of vm related dialogs ......................................................................
Patch Set 5: (1 inline comment)
Code looks good. A few questions regarding the design: 1. Why do we want the static header only in VM dialog? 2. DC/Host are really relevant for all tabs? 3. Is it just a preparation for the final instance type dialog? 4. If it's indeed merely preparation, shouldn't it be merged only once we have the full picture of the new dialog?
.................................................... File frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/dialog/tab/DialogTabPanel.ui.xml Line 21: Line 22: .header { Line 23: background-color: #D3D3D3; Line 24: border-bottom: 1px solid #CED8DF; Line 25: margin-bottom: 15px; is it supposed to be that large? Line 26: padding-top: 6px; Line 27: margin-top: 4px; Line 28: margin-right: 3px; Line 29: display: none;
-- To view, visit http://gerrit.ovirt.org/14635 To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: comment Gerrit-Change-Id: Icad8098e286f821da25fac22fd0a840a42f105c9 Gerrit-PatchSet: 5 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Tomas Jelinek <tjelinek@redhat.com> Gerrit-Reviewer: Daniel Erez <derez@redhat.com> Gerrit-Reviewer: Einav Cohen <ecohen@redhat.com> Gerrit-Reviewer: Eldan Hildesheim <info@eldanet.com> Gerrit-Reviewer: Frank Kobzik <fkobzik@redhat.com> Gerrit-Reviewer: Tomas Jelinek <tjelinek@redhat.com> Gerrit-Reviewer: Vojtech Szocs <vszocs@redhat.com>

----- Original Message -----
From: "Einav Cohen" <ecohen@redhat.com> To: "Daniel Erez" <derez@redhat.com>, "Malini Rao" <mrao@redhat.com>, "Eldan Hildesheim" <info@eldanet.com>, "Eldan Hildesheim" <ehildesh@redhat.com>, "Tomas Jelinek" <tjelinek@redhat.com> Cc: "engine-devel" <engine-devel@ovirt.org> Sent: Wednesday, May 29, 2013 2:30:09 AM Subject: Re: static header only in VM dialog?
----- Original Message ----- From: "Daniel Erez" <derez@redhat.com> Sent: Tuesday, May 28, 2013 6:18:20 PM
----- Original Message -----
From: "Einav Cohen" <ecohen@redhat.com> To: "Malini Rao" <mrao@redhat.com>, "Eldan Hildesheim" <info@eldanet.com>, "Eldan Hildesheim" <ehildesh@redhat.com> Cc: "Tomas Jelinek" <tjelinek@redhat.com>, derez@redhat.com, "engine-devel" <engine-devel@ovirt.org> Sent: Wednesday, May 29, 2013 12:53:47 AM Subject: static header only in VM dialog?
when reviewing the code for the "redesign of vm related dialogs", Daniel has raised an interesting question: Why do we want the static header only in VM dialog?
(I assume that he refers to the top section of the New VM dialog as seen in [1], which contains the DC/Cluster, Quota, etc information, and is "static", i.e., it is always displayed, regardless of the selected side-tab within the dialog)
I agree with what Daniel is implying here: for consistency, we would probably want to introduce this static header to other dialogs, at least to the ones that also contain side-tabs in which it makes sense to turn the "header" to static [e.g. "New Host" (which contains a DC + Cluster "header") - see http://oi39.tinypic.com/2z84xnp.jpg, "New Cluster" (which contains a DC "header") - see http://oi40.tinypic.com/2vmyj2x.jpg]
[I assume, of course, that all the VM-like dialogs (e.g. New/Edit VM-Pool) will also have static headers - I don't know if the patch already takes care of that or not]
Thoughts?
[@Daniel - if you had something else in mind, and/or other dialogs in mind - please feel free to add/amend/etc]
Besides consistency matters, I wanted to understand what's the motivation of keeping these widgets static. I.e. is it an essential preparation for the new instance type dialog or a new concept for tab based dialogs (as DC/Cluster values aren't necessarily relevant for each tab in the dialog)
[maybe Tomas/Eldan/Malini can help here as well]
these static widgets (as well as the type ahead list box [1], for example) are part of the instance types feature that had its design details published in [2] and [3], and the implementation was done according to this design. I don't see any reason to not utilize this newly-introduced concept in other side-tab-based dialogs as well, if it makes sense (ui consistency considerations are sufficient, IMO, but I could be wrong - maybe it is relevant/correct to introduce this new concept only in the VM-like dialogs).
regarding the specific concern about the DC/Cluster values that aren't necessarily relevant for each side-tab in the dialog: I agree with that statement, however:
- putting the "Instance Type" drop-down at the top static section is very useful (see [4] for explanation), and as the Instance Types list is derived from the selected DC, it makes sense (to me) to put the DC in that top static section as well.
- the DC/Cluster are relevant for some of the tabs in the dialog (Host, Resource Allocation?)
Only for Host. Resource Allocation is directly affected by the selected template. Therefore, it sounds very confusing to me... Unless we add template to the static header as well? (which will be odd for the other tabs). So I still don't get the motivation UX-wise. E.g. it seems really weird to change the entire DC from Console tab (or, as a matter of fact, from most other tabs). In the new instance type dialog, which tabs could be directly affected by DC/Cluster? IIUC, only Host? Do we really need a static header just for this tab?
so for consistency-within-the-dialog considerations, it is probably a good idea to simply always show these fields within this top static section.
[there is a good chance that I am missing your point here - please correct me if necessary]
[1] http://gerrit.ovirt.org/#/c/14936/
[2] http://www.ovirt.org/Features/Instance_Types
[3] http://www.ovirt.org/images/9/9e/Instance_type.pdf
[4] whenever changing the "Instance Type" value, you can automatically see how these changes affect the fields in the current tab on which you are standing (e.g. if you are standing on the "System" side-tab, you can change the "Instance Type" selected item and immediately see the changes within the "System" side-tab contents), and vice-versa: if you are changing a value that was originally propagated from the instance-type, you will see the instance-type automatically change to "custom"/"not applicable" as a result, so no need to "jump" between side-tabs in order to observe these changes.
---- Thanks, Einav
[1] http://www.ovirt.org/images/9/9e/Instance_type.pdf
----- Original Message -----
From: derez@redhat.com To: "Tomas Jelinek" <tjelinek@redhat.com> Cc: "Vojtech Szocs" <vszocs@redhat.com>, "Einav Cohen" <ecohen@redhat.com>, "Frank Kobzik" <fkobzik@redhat.com>, "Eldan Hildesheim" <info@eldanet.com> Sent: Tuesday, May 28, 2013 5:05:38 PM Subject: Change in ovirt-engine[master]: userportal,webadmin: redesign of vm related dialogs
Daniel Erez has posted comments on this change.
Change subject: userportal,webadmin: redesign of vm related dialogs ......................................................................
Patch Set 5: (1 inline comment)
Code looks good. A few questions regarding the design: 1. Why do we want the static header only in VM dialog? 2. DC/Host are really relevant for all tabs? 3. Is it just a preparation for the final instance type dialog? 4. If it's indeed merely preparation, shouldn't it be merged only once we have the full picture of the new dialog?
.................................................... File frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/dialog/tab/DialogTabPanel.ui.xml Line 21: Line 22: .header { Line 23: background-color: #D3D3D3; Line 24: border-bottom: 1px solid #CED8DF; Line 25: margin-bottom: 15px; is it supposed to be that large? Line 26: padding-top: 6px; Line 27: margin-top: 4px; Line 28: margin-right: 3px; Line 29: display: none;
-- To view, visit http://gerrit.ovirt.org/14635 To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: comment Gerrit-Change-Id: Icad8098e286f821da25fac22fd0a840a42f105c9 Gerrit-PatchSet: 5 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Tomas Jelinek <tjelinek@redhat.com> Gerrit-Reviewer: Daniel Erez <derez@redhat.com> Gerrit-Reviewer: Einav Cohen <ecohen@redhat.com> Gerrit-Reviewer: Eldan Hildesheim <info@eldanet.com> Gerrit-Reviewer: Frank Kobzik <fkobzik@redhat.com> Gerrit-Reviewer: Tomas Jelinek <tjelinek@redhat.com> Gerrit-Reviewer: Vojtech Szocs <vszocs@redhat.com>

just sending to a bigger group to cover all people which were part of the decision process to not make them surprised if we will change it :) @Itamar, Andrew, Michal: just quickly summarize this thread: Daniel have started to review the instance types related patches and has two concerns about the static header containing DC, Cluster etc.: 1: does not see the point of showing DC, Cluster etc for most of the side tabs (e.g. console) 2: if there is indeed a point, why not change all the dialogs with side tabs to have the static header e.g. new cluster. (please note that the currently reviewed patch implements this static header to all VM related dialogs like pool,template,vm) regards, Tomas PS: I don't know if any of you have seen my comments on rhev-dep about having the reviewer assigned from the beginning, but imagine how awesome it would be having Daniel on our instance types meetings from the beginning, making him the part of the feature and having this questions already discussed, so by now he would be perfectly comfortable with the design, understand the motivation and agreed with it, so now he would only review the specific implementation (while he would already know my important code-design decisions and be part of them). Don't get me wrong Daniel, I find your concerns extremely valid and worth discussing and thank you for rising them! ----- Original Message -----
From: "Daniel Erez" <derez@redhat.com> To: "Einav Cohen" <ecohen@redhat.com> Cc: "Malini Rao" <mrao@redhat.com>, "Eldan Hildesheim" <info@eldanet.com>, "Eldan Hildesheim" <ehildesh@redhat.com>, "Tomas Jelinek" <tjelinek@redhat.com>, "engine-devel" <engine-devel@ovirt.org> Sent: Wednesday, May 29, 2013 7:36:03 AM Subject: Re: static header only in VM dialog?
----- Original Message -----
From: "Einav Cohen" <ecohen@redhat.com> To: "Daniel Erez" <derez@redhat.com>, "Malini Rao" <mrao@redhat.com>, "Eldan Hildesheim" <info@eldanet.com>, "Eldan Hildesheim" <ehildesh@redhat.com>, "Tomas Jelinek" <tjelinek@redhat.com> Cc: "engine-devel" <engine-devel@ovirt.org> Sent: Wednesday, May 29, 2013 2:30:09 AM Subject: Re: static header only in VM dialog?
----- Original Message ----- From: "Daniel Erez" <derez@redhat.com> Sent: Tuesday, May 28, 2013 6:18:20 PM
----- Original Message -----
From: "Einav Cohen" <ecohen@redhat.com> To: "Malini Rao" <mrao@redhat.com>, "Eldan Hildesheim" <info@eldanet.com>, "Eldan Hildesheim" <ehildesh@redhat.com> Cc: "Tomas Jelinek" <tjelinek@redhat.com>, derez@redhat.com, "engine-devel" <engine-devel@ovirt.org> Sent: Wednesday, May 29, 2013 12:53:47 AM Subject: static header only in VM dialog?
when reviewing the code for the "redesign of vm related dialogs", Daniel has raised an interesting question: Why do we want the static header only in VM dialog?
(I assume that he refers to the top section of the New VM dialog as seen in [1], which contains the DC/Cluster, Quota, etc information, and is "static", i.e., it is always displayed, regardless of the selected side-tab within the dialog)
I agree with what Daniel is implying here: for consistency, we would probably want to introduce this static header to other dialogs, at least to the ones that also contain side-tabs in which it makes sense to turn the "header" to static [e.g. "New Host" (which contains a DC + Cluster "header") - see http://oi39.tinypic.com/2z84xnp.jpg, "New Cluster" (which contains a DC "header") - see http://oi40.tinypic.com/2vmyj2x.jpg]
[I assume, of course, that all the VM-like dialogs (e.g. New/Edit VM-Pool) will also have static headers - I don't know if the patch already takes care of that or not]
Thoughts?
[@Daniel - if you had something else in mind, and/or other dialogs in mind - please feel free to add/amend/etc]
Besides consistency matters, I wanted to understand what's the motivation of keeping these widgets static. I.e. is it an essential preparation for the new instance type dialog or a new concept for tab based dialogs (as DC/Cluster values aren't necessarily relevant for each tab in the dialog)
[maybe Tomas/Eldan/Malini can help here as well]
these static widgets (as well as the type ahead list box [1], for example) are part of the instance types feature that had its design details published in [2] and [3], and the implementation was done according to this design. I don't see any reason to not utilize this newly-introduced concept in other side-tab-based dialogs as well, if it makes sense (ui consistency considerations are sufficient, IMO, but I could be wrong - maybe it is relevant/correct to introduce this new concept only in the VM-like dialogs).
regarding the specific concern about the DC/Cluster values that aren't necessarily relevant for each side-tab in the dialog: I agree with that statement, however:
- putting the "Instance Type" drop-down at the top static section is very useful (see [4] for explanation), and as the Instance Types list is derived from the selected DC, it makes sense (to me) to put the DC in that top static section as well.
- the DC/Cluster are relevant for some of the tabs in the dialog (Host, Resource Allocation?)
Only for Host. Resource Allocation is directly affected by the selected template. Therefore, it sounds very confusing to me... Unless we add template to the static header as well? (which will be odd for the other tabs).
So I still don't get the motivation UX-wise. E.g. it seems really weird to change the entire DC from Console tab (or, as a matter of fact, from most other tabs). In the new instance type dialog, which tabs could be directly affected by DC/Cluster? IIUC, only Host? Do we really need a static header just for this tab?
so for consistency-within-the-dialog considerations, it is probably a good idea to simply always show these fields within this top static section.
[there is a good chance that I am missing your point here - please correct me if necessary]
[1] http://gerrit.ovirt.org/#/c/14936/
[2] http://www.ovirt.org/Features/Instance_Types
[3] http://www.ovirt.org/images/9/9e/Instance_type.pdf
[4] whenever changing the "Instance Type" value, you can automatically see how these changes affect the fields in the current tab on which you are standing (e.g. if you are standing on the "System" side-tab, you can change the "Instance Type" selected item and immediately see the changes within the "System" side-tab contents), and vice-versa: if you are changing a value that was originally propagated from the instance-type, you will see the instance-type automatically change to "custom"/"not applicable" as a result, so no need to "jump" between side-tabs in order to observe these changes.
---- Thanks, Einav
[1] http://www.ovirt.org/images/9/9e/Instance_type.pdf
----- Original Message -----
From: derez@redhat.com To: "Tomas Jelinek" <tjelinek@redhat.com> Cc: "Vojtech Szocs" <vszocs@redhat.com>, "Einav Cohen" <ecohen@redhat.com>, "Frank Kobzik" <fkobzik@redhat.com>, "Eldan Hildesheim" <info@eldanet.com> Sent: Tuesday, May 28, 2013 5:05:38 PM Subject: Change in ovirt-engine[master]: userportal,webadmin: redesign of vm related dialogs
Daniel Erez has posted comments on this change.
Change subject: userportal,webadmin: redesign of vm related dialogs ......................................................................
Patch Set 5: (1 inline comment)
Code looks good. A few questions regarding the design: 1. Why do we want the static header only in VM dialog? 2. DC/Host are really relevant for all tabs? 3. Is it just a preparation for the final instance type dialog? 4. If it's indeed merely preparation, shouldn't it be merged only once we have the full picture of the new dialog?
.................................................... File frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/dialog/tab/DialogTabPanel.ui.xml Line 21: Line 22: .header { Line 23: background-color: #D3D3D3; Line 24: border-bottom: 1px solid #CED8DF; Line 25: margin-bottom: 15px; is it supposed to be that large? Line 26: padding-top: 6px; Line 27: margin-top: 4px; Line 28: margin-right: 3px; Line 29: display: none;
-- To view, visit http://gerrit.ovirt.org/14635 To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: comment Gerrit-Change-Id: Icad8098e286f821da25fac22fd0a840a42f105c9 Gerrit-PatchSet: 5 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Tomas Jelinek <tjelinek@redhat.com> Gerrit-Reviewer: Daniel Erez <derez@redhat.com> Gerrit-Reviewer: Einav Cohen <ecohen@redhat.com> Gerrit-Reviewer: Eldan Hildesheim <info@eldanet.com> Gerrit-Reviewer: Frank Kobzik <fkobzik@redhat.com> Gerrit-Reviewer: Tomas Jelinek <tjelinek@redhat.com> Gerrit-Reviewer: Vojtech Szocs <vszocs@redhat.com>

On 05/29/2013 10:03 AM, Tomas Jelinek wrote: ..
Daniel have started to review the instance types related patches and has two concerns about the static header containing DC, Cluster etc.: 1: does not see the point of showing DC, Cluster etc for most of the side tabs (e.g. console) 2: if there is indeed a point, why not change all the dialogs with side tabs to have the static header e.g. new cluster. (please note that the currently reviewed patch implements this static header to all VM related dialogs like pool,template,vm)
may make sense to review for other dialogs as well. not sure all of them have the same concept of multiple fields affected by the instance type in various panes though. ...
having Daniel on our instance types meetings from the beginning, making him the part of the feature and having this questions already discussed, so by now he would be perfectly comfortable with the design, understand the motivation and agreed with it, so now he would only review the specific implementation (while he would already know my important code-design decisions and be part of them). Don't get me wrong Daniel, I find your concerns extremely valid and worth discussing and thank you for rising them!
since there was a feature page, and some discussions on engine-devel around this, maybe considering the aspects of the change, would have been worth while sending to arch@ an invite to review it more thoroughly at concept level (not all features need this prior to patch level, but big ones/conceptual ones need them)
----- Original Message -----
From: "Daniel Erez" <derez@redhat.com> To: "Einav Cohen" <ecohen@redhat.com> Cc: "Malini Rao" <mrao@redhat.com>, "Eldan Hildesheim" <info@eldanet.com>, "Eldan Hildesheim" <ehildesh@redhat.com>, "Tomas Jelinek" <tjelinek@redhat.com>, "engine-devel" <engine-devel@ovirt.org> Sent: Wednesday, May 29, 2013 7:36:03 AM Subject: Re: static header only in VM dialog?
----- Original Message -----
From: "Einav Cohen" <ecohen@redhat.com> To: "Daniel Erez" <derez@redhat.com>, "Malini Rao" <mrao@redhat.com>, "Eldan Hildesheim" <info@eldanet.com>, "Eldan Hildesheim" <ehildesh@redhat.com>, "Tomas Jelinek" <tjelinek@redhat.com> Cc: "engine-devel" <engine-devel@ovirt.org> Sent: Wednesday, May 29, 2013 2:30:09 AM Subject: Re: static header only in VM dialog?
----- Original Message ----- From: "Daniel Erez" <derez@redhat.com> Sent: Tuesday, May 28, 2013 6:18:20 PM
----- Original Message -----
From: "Einav Cohen" <ecohen@redhat.com> To: "Malini Rao" <mrao@redhat.com>, "Eldan Hildesheim" <info@eldanet.com>, "Eldan Hildesheim" <ehildesh@redhat.com> Cc: "Tomas Jelinek" <tjelinek@redhat.com>, derez@redhat.com, "engine-devel" <engine-devel@ovirt.org> Sent: Wednesday, May 29, 2013 12:53:47 AM Subject: static header only in VM dialog?
when reviewing the code for the "redesign of vm related dialogs", Daniel has raised an interesting question: Why do we want the static header only in VM dialog?
(I assume that he refers to the top section of the New VM dialog as seen in [1], which contains the DC/Cluster, Quota, etc information, and is "static", i.e., it is always displayed, regardless of the selected side-tab within the dialog)
I agree with what Daniel is implying here: for consistency, we would probably want to introduce this static header to other dialogs, at least to the ones that also contain side-tabs in which it makes sense to turn the "header" to static [e.g. "New Host" (which contains a DC + Cluster "header") - see http://oi39.tinypic.com/2z84xnp.jpg, "New Cluster" (which contains a DC "header") - see http://oi40.tinypic.com/2vmyj2x.jpg]
[I assume, of course, that all the VM-like dialogs (e.g. New/Edit VM-Pool) will also have static headers - I don't know if the patch already takes care of that or not]
Thoughts?
[@Daniel - if you had something else in mind, and/or other dialogs in mind - please feel free to add/amend/etc]
Besides consistency matters, I wanted to understand what's the motivation of keeping these widgets static. I.e. is it an essential preparation for the new instance type dialog or a new concept for tab based dialogs (as DC/Cluster values aren't necessarily relevant for each tab in the dialog)
[maybe Tomas/Eldan/Malini can help here as well]
these static widgets (as well as the type ahead list box [1], for example) are part of the instance types feature that had its design details published in [2] and [3], and the implementation was done according to this design. I don't see any reason to not utilize this newly-introduced concept in other side-tab-based dialogs as well, if it makes sense (ui consistency considerations are sufficient, IMO, but I could be wrong - maybe it is relevant/correct to introduce this new concept only in the VM-like dialogs).
regarding the specific concern about the DC/Cluster values that aren't necessarily relevant for each side-tab in the dialog: I agree with that statement, however:
- putting the "Instance Type" drop-down at the top static section is very useful (see [4] for explanation), and as the Instance Types list is derived from the selected DC, it makes sense (to me) to put the DC in that top static section as well.
- the DC/Cluster are relevant for some of the tabs in the dialog (Host, Resource Allocation?)
Only for Host. Resource Allocation is directly affected by the selected template. Therefore, it sounds very confusing to me... Unless we add template to the static header as well? (which will be odd for the other tabs).
So I still don't get the motivation UX-wise. E.g. it seems really weird to change the entire DC from Console tab (or, as a matter of fact, from most other tabs). In the new instance type dialog, which tabs could be directly affected by DC/Cluster? IIUC, only Host? Do we really need a static header just for this tab?
so for consistency-within-the-dialog considerations, it is probably a good idea to simply always show these fields within this top static section.
[there is a good chance that I am missing your point here - please correct me if necessary]
[1] http://gerrit.ovirt.org/#/c/14936/
[2] http://www.ovirt.org/Features/Instance_Types
[3] http://www.ovirt.org/images/9/9e/Instance_type.pdf
[4] whenever changing the "Instance Type" value, you can automatically see how these changes affect the fields in the current tab on which you are standing (e.g. if you are standing on the "System" side-tab, you can change the "Instance Type" selected item and immediately see the changes within the "System" side-tab contents), and vice-versa: if you are changing a value that was originally propagated from the instance-type, you will see the instance-type automatically change to "custom"/"not applicable" as a result, so no need to "jump" between side-tabs in order to observe these changes.
---- Thanks, Einav
[1] http://www.ovirt.org/images/9/9e/Instance_type.pdf
----- Original Message -----
From: derez@redhat.com To: "Tomas Jelinek" <tjelinek@redhat.com> Cc: "Vojtech Szocs" <vszocs@redhat.com>, "Einav Cohen" <ecohen@redhat.com>, "Frank Kobzik" <fkobzik@redhat.com>, "Eldan Hildesheim" <info@eldanet.com> Sent: Tuesday, May 28, 2013 5:05:38 PM Subject: Change in ovirt-engine[master]: userportal,webadmin: redesign of vm related dialogs
Daniel Erez has posted comments on this change.
Change subject: userportal,webadmin: redesign of vm related dialogs ......................................................................
Patch Set 5: (1 inline comment)
Code looks good. A few questions regarding the design: 1. Why do we want the static header only in VM dialog? 2. DC/Host are really relevant for all tabs? 3. Is it just a preparation for the final instance type dialog? 4. If it's indeed merely preparation, shouldn't it be merged only once we have the full picture of the new dialog?
.................................................... File frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/dialog/tab/DialogTabPanel.ui.xml Line 21: Line 22: .header { Line 23: background-color: #D3D3D3; Line 24: border-bottom: 1px solid #CED8DF; Line 25: margin-bottom: 15px; is it supposed to be that large? Line 26: padding-top: 6px; Line 27: margin-top: 4px; Line 28: margin-right: 3px; Line 29: display: none;
-- To view, visit http://gerrit.ovirt.org/14635 To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: comment Gerrit-Change-Id: Icad8098e286f821da25fac22fd0a840a42f105c9 Gerrit-PatchSet: 5 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Tomas Jelinek <tjelinek@redhat.com> Gerrit-Reviewer: Daniel Erez <derez@redhat.com> Gerrit-Reviewer: Einav Cohen <ecohen@redhat.com> Gerrit-Reviewer: Eldan Hildesheim <info@eldanet.com> Gerrit-Reviewer: Frank Kobzik <fkobzik@redhat.com> Gerrit-Reviewer: Tomas Jelinek <tjelinek@redhat.com> Gerrit-Reviewer: Vojtech Szocs <vszocs@redhat.com>

----- Original Message ----- From: "Daniel Erez" <derez@redhat.com> Sent: Wednesday, May 29, 2013 1:36:03 AM
----- Original Message -----
From: "Einav Cohen" <ecohen@redhat.com> To: "Daniel Erez" <derez@redhat.com>, "Malini Rao" <mrao@redhat.com>, "Eldan Hildesheim" <info@eldanet.com>, "Eldan Hildesheim" <ehildesh@redhat.com>, "Tomas Jelinek" <tjelinek@redhat.com> Cc: "engine-devel" <engine-devel@ovirt.org> Sent: Wednesday, May 29, 2013 2:30:09 AM Subject: Re: static header only in VM dialog?
----- Original Message ----- From: "Daniel Erez" <derez@redhat.com> Sent: Tuesday, May 28, 2013 6:18:20 PM
----- Original Message -----
From: "Einav Cohen" <ecohen@redhat.com> To: "Malini Rao" <mrao@redhat.com>, "Eldan Hildesheim" <info@eldanet.com>, "Eldan Hildesheim" <ehildesh@redhat.com> Cc: "Tomas Jelinek" <tjelinek@redhat.com>, derez@redhat.com, "engine-devel" <engine-devel@ovirt.org> Sent: Wednesday, May 29, 2013 12:53:47 AM Subject: static header only in VM dialog?
when reviewing the code for the "redesign of vm related dialogs", Daniel has raised an interesting question: Why do we want the static header only in VM dialog?
(I assume that he refers to the top section of the New VM dialog as seen in [1], which contains the DC/Cluster, Quota, etc information, and is "static", i.e., it is always displayed, regardless of the selected side-tab within the dialog)
I agree with what Daniel is implying here: for consistency, we would probably want to introduce this static header to other dialogs, at least to the ones that also contain side-tabs in which it makes sense to turn the "header" to static [e.g. "New Host" (which contains a DC + Cluster "header") - see http://oi39.tinypic.com/2z84xnp.jpg, "New Cluster" (which contains a DC "header") - see http://oi40.tinypic.com/2vmyj2x.jpg]
[I assume, of course, that all the VM-like dialogs (e.g. New/Edit VM-Pool) will also have static headers - I don't know if the patch already takes care of that or not]
Thoughts?
[@Daniel - if you had something else in mind, and/or other dialogs in mind - please feel free to add/amend/etc]
Besides consistency matters, I wanted to understand what's the motivation of keeping these widgets static. I.e. is it an essential preparation for the new instance type dialog or a new concept for tab based dialogs (as DC/Cluster values aren't necessarily relevant for each tab in the dialog)
[maybe Tomas/Eldan/Malini can help here as well]
these static widgets (as well as the type ahead list box [1], for example) are part of the instance types feature that had its design details published in [2] and [3], and the implementation was done according to this design. I don't see any reason to not utilize this newly-introduced concept in other side-tab-based dialogs as well, if it makes sense (ui consistency considerations are sufficient, IMO, but I could be wrong - maybe it is relevant/correct to introduce this new concept only in the VM-like dialogs).
regarding the specific concern about the DC/Cluster values that aren't necessarily relevant for each side-tab in the dialog: I agree with that statement, however:
- putting the "Instance Type" drop-down at the top static section is very useful (see [4] for explanation), and as the Instance Types list is derived from the selected DC, it makes sense (to me) to put the DC in that top static section as well.
- the DC/Cluster are relevant for some of the tabs in the dialog (Host, Resource Allocation?)
Only for Host. Resource Allocation is directly affected by the selected template. Therefore, it sounds very confusing to me... Unless we add template to the static header as well?
The answer is yes, in a sense: Instance Types + Images are actually somewhat "replacing" Templates [the general approach is to move to basing VMs on Instance Types + Images, rather than on Templates; it allows more flexibility in combining hardware configuration + image configuration for the VM, without (necessarily) editing each VM field separately]. So as I stated in my previous response: Having the "Instance Types" field (and "Image" field) in the top static section is very useful, as they affect the fields in most / a lot of the side-tabs. Based on the above: Do you agree that it makes sense to have a top static section in general [even only for the "Instance Types" field and "Image" field (again, as they affect most / a lot of side-tabs fields)]? If so: Do you think that it makes sense to include the DC field in that top static section as well (at least due to the fact that the "Instance Types" list and "Images" list are derived from the selected DC)? [Tomas/Malini/Eldan - if there is additional/different reasoning for putting the DC/Cluster field on the top static section - please share]
(which will be odd for the other tabs).
So I still don't get the motivation UX-wise. E.g. it seems really weird to change the entire DC from Console tab (or, as a matter of fact, from most other tabs). In the new instance type dialog, which tabs could be directly affected by DC/Cluster? IIUC, only Host? Do we really need a static header just for this tab?
so for consistency-within-the-dialog considerations, it is probably a good idea to simply always show these fields within this top static section.
[there is a good chance that I am missing your point here - please correct me if necessary]
[1] http://gerrit.ovirt.org/#/c/14936/
[2] http://www.ovirt.org/Features/Instance_Types
[3] http://www.ovirt.org/images/9/9e/Instance_type.pdf
[4] whenever changing the "Instance Type" value, you can automatically see how these changes affect the fields in the current tab on which you are standing (e.g. if you are standing on the "System" side-tab, you can change the "Instance Type" selected item and immediately see the changes within the "System" side-tab contents), and vice-versa: if you are changing a value that was originally propagated from the instance-type, you will see the instance-type automatically change to "custom"/"not applicable" as a result, so no need to "jump" between side-tabs in order to observe these changes.
---- Thanks, Einav
[1] http://www.ovirt.org/images/9/9e/Instance_type.pdf
----- Original Message -----
From: derez@redhat.com To: "Tomas Jelinek" <tjelinek@redhat.com> Cc: "Vojtech Szocs" <vszocs@redhat.com>, "Einav Cohen" <ecohen@redhat.com>, "Frank Kobzik" <fkobzik@redhat.com>, "Eldan Hildesheim" <info@eldanet.com> Sent: Tuesday, May 28, 2013 5:05:38 PM Subject: Change in ovirt-engine[master]: userportal,webadmin: redesign of vm related dialogs
Daniel Erez has posted comments on this change.
Change subject: userportal,webadmin: redesign of vm related dialogs ......................................................................
Patch Set 5: (1 inline comment)
Code looks good. A few questions regarding the design: 1. Why do we want the static header only in VM dialog? 2. DC/Host are really relevant for all tabs? 3. Is it just a preparation for the final instance type dialog? 4. If it's indeed merely preparation, shouldn't it be merged only once we have the full picture of the new dialog?
.................................................... File frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/dialog/tab/DialogTabPanel.ui.xml Line 21: Line 22: .header { Line 23: background-color: #D3D3D3; Line 24: border-bottom: 1px solid #CED8DF; Line 25: margin-bottom: 15px; is it supposed to be that large? Line 26: padding-top: 6px; Line 27: margin-top: 4px; Line 28: margin-right: 3px; Line 29: display: none;
-- To view, visit http://gerrit.ovirt.org/14635 To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: comment Gerrit-Change-Id: Icad8098e286f821da25fac22fd0a840a42f105c9 Gerrit-PatchSet: 5 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Tomas Jelinek <tjelinek@redhat.com> Gerrit-Reviewer: Daniel Erez <derez@redhat.com> Gerrit-Reviewer: Einav Cohen <ecohen@redhat.com> Gerrit-Reviewer: Eldan Hildesheim <info@eldanet.com> Gerrit-Reviewer: Frank Kobzik <fkobzik@redhat.com> Gerrit-Reviewer: Tomas Jelinek <tjelinek@redhat.com> Gerrit-Reviewer: Vojtech Szocs <vszocs@redhat.com>
_______________________________________________ Engine-devel mailing list Engine-devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-devel

Sorry to join the thread late. The long weekend was followed by a conference for the UX team and hence the delay. See comments below inline - ----- Original Message -----
From: "Einav Cohen" <ecohen@redhat.com> To: "Daniel Erez" <derez@redhat.com> Cc: "Eldan Hildesheim" <info@eldanet.com>, "engine-devel" <engine-devel@ovirt.org>, "Eldan Hildesheim" <ehildesh@redhat.com>, "Malini Rao" <mrao@redhat.com>, "Tomas Jelinek" <tjelinek@redhat.com> Sent: Wednesday, May 29, 2013 8:21:30 AM Subject: Re: [Engine-devel] static header only in VM dialog?
----- Original Message ----- From: "Daniel Erez" <derez@redhat.com> Sent: Wednesday, May 29, 2013 1:36:03 AM
----- Original Message -----
From: "Einav Cohen" <ecohen@redhat.com> To: "Daniel Erez" <derez@redhat.com>, "Malini Rao" <mrao@redhat.com>, "Eldan Hildesheim" <info@eldanet.com>, "Eldan Hildesheim" <ehildesh@redhat.com>, "Tomas Jelinek" <tjelinek@redhat.com> Cc: "engine-devel" <engine-devel@ovirt.org> Sent: Wednesday, May 29, 2013 2:30:09 AM Subject: Re: static header only in VM dialog?
----- Original Message ----- From: "Daniel Erez" <derez@redhat.com> Sent: Tuesday, May 28, 2013 6:18:20 PM
----- Original Message -----
From: "Einav Cohen" <ecohen@redhat.com> To: "Malini Rao" <mrao@redhat.com>, "Eldan Hildesheim" <info@eldanet.com>, "Eldan Hildesheim" <ehildesh@redhat.com> Cc: "Tomas Jelinek" <tjelinek@redhat.com>, derez@redhat.com, "engine-devel" <engine-devel@ovirt.org> Sent: Wednesday, May 29, 2013 12:53:47 AM Subject: static header only in VM dialog?
when reviewing the code for the "redesign of vm related dialogs", Daniel has raised an interesting question: Why do we want the static header only in VM dialog?
(I assume that he refers to the top section of the New VM dialog as seen in [1], which contains the DC/Cluster, Quota, etc information, and is "static", i.e., it is always displayed, regardless of the selected side-tab within the dialog)
I agree with what Daniel is implying here: for consistency, we would probably want to introduce this static header to other dialogs, at least to the ones that also contain side-tabs in which it makes sense to turn the "header" to static [e.g. "New Host" (which contains a DC + Cluster "header") - see http://oi39.tinypic.com/2z84xnp.jpg, "New Cluster" (which contains a DC "header") - see http://oi40.tinypic.com/2vmyj2x.jpg]
MR: Consistency is important but we need to make only UIs with similar purposes consistent and not aim for consistency where it will not serve a real Usability goal or worse get in the way. See next comment for more on UX motivation for this static panel for new VM creation where it was originally proposed.
[I assume, of course, that all the VM-like dialogs (e.g. New/Edit VM-Pool) will also have static headers - I don't know if the patch already takes care of that or not]
Thoughts?
[@Daniel - if you had something else in mind, and/or other dialogs in mind - please feel free to add/amend/etc]
MR: Before we proliferate this UI paradigm into other areas, let us look at the list of dialogs where we are considering this against the primary UX motivations with which this static panel was originally suggested. UX can help with this exercise on where it makes sense to have the static panel.
Besides consistency matters, I wanted to understand what's the motivation of keeping these widgets static. I.e. is it an essential preparation for the new instance type dialog or a new concept for tab based dialogs (as DC/Cluster values aren't necessarily relevant for each tab in the dialog)
[maybe Tomas/Eldan/Malini can help here as well]
MR: Here are the original motivations for this static panel. 1. Context for dependencies - In the create VM dialog and the introduction of instance types and images, we came up with two core needs for the UI - There were some fields that were context-setting for other fields with dependencies. So, changing these context setting field values would alter the choices in other fields on one of the sub-tabs or eliminate or populate fields in these tabs. We wanted to ground the user with the context so that they can observe any changes that happen on a tab and determine what caused that change in the static panel. 2. Basic and mandatory - In the create VM dialog and the introduction of instance types and images, we also had to represent different levels of definition needed. For e.g, there were some basic and mandatory fields that were minimally needed for the definition of a VM irrespective of whether the user was basic or advanced. These fields were included in the static panel or at the most in the very first sub tab if they were not a context setting field for any other dependent field. This way the user does not have to go anywhere else to do a basic definition of the VM. Then we had another layer of permissioning where the fields you had access to on various tabs depended on whether you were a basic or advanced user. But note, we did have scenarios where some advanced fields made it to the static panel because they were a context setter. So to summarize the motivation of why the static panel and what should go into the static panel - You need a static panel ONLY if you have certain fields (basic or advanced) that act as context setters for all or some of the other fields in the other sub-tabs. Static panels can further optionally be extended to present all the fields that are needed for basic definition of an object. If there is no dependency and there is a dialog with multiple sub-tabs, then we SHOULD NOT just create a static panel for the basic definition fields. These fields should populate the first sub tab. Let me know if any further clarifications are needed.
these static widgets (as well as the type ahead list box [1], for example) are part of the instance types feature that had its design details published in [2] and [3], and the implementation was done according to this design. I don't see any reason to not utilize this newly-introduced concept in other side-tab-based dialogs as well, if it makes sense (ui consistency considerations are sufficient, IMO, but I could be wrong - maybe it is relevant/correct to introduce this new concept only in the VM-like dialogs).
MR: The UX motivations for the static panel are generalizable even though they were designed for the New VM dialog. See above comment. But we need to gauge the reqs on each of the dialogs with subtabs against the core motivation and see if we need the static panel on it or not.
regarding the specific concern about the DC/Cluster values that aren't necessarily relevant for each side-tab in the dialog: I agree with that statement,
MR: If any field recommended in the UX proposal is not useful as a context setter, then please let us know and we can move it to the first sub-tab. however:
- putting the "Instance Type" drop-down at the top static section is very useful (see [4] for explanation), and as the Instance Types list is derived from the selected DC, it makes sense (to me) to put the DC in that top static section as well.
MR: Agree. That is probably why we ended up leaving the DC there.
- the DC/Cluster are relevant for some of the tabs in the dialog (Host, Resource Allocation?)
Only for Host. Resource Allocation is directly affected by the selected template. Therefore, it sounds very confusing to me... Unless we add template to the static header as well?
MR: I think we incorporated the templates into the Image field and denoted it with an icon preceding the drop down choice. So, the template is in the static panel.
The answer is yes, in a sense: Instance Types + Images are actually somewhat "replacing" Templates [the general approach is to move to basing VMs on Instance Types + Images, rather than on Templates; it allows more flexibility in combining hardware configuration + image configuration for the VM, without (necessarily) editing each VM field separately].
So as I stated in my previous response: Having the "Instance Types" field (and "Image" field) in the top static section is very useful, as they affect the fields in most / a lot of the side-tabs.
Based on the above:
Do you agree that it makes sense to have a top static section in general [even only for the "Instance Types" field and "Image" field (again, as they affect most / a lot of side-tabs fields)]? If so: Do you think that it makes sense to include the DC field in that top static section as well (at least due to the fact that the "Instance Types" list and "Images" list are derived from the selected DC)?
MR: Yes makes sense to include DC in static panel because some of the other fields in the static panel are dependent on it.
[Tomas/Malini/Eldan - if there is additional/different reasoning for putting the DC/Cluster field on the top static section - please share]
(which will be odd for the other tabs).
So I still don't get the motivation UX-wise. E.g. it seems really weird to change the entire DC from Console tab (or, as a matter of fact, from most other tabs).
MR: Not sure I understand. You can change DC when you are on ANY sub tab because the DC is a field in the static panel. The static panel is not the sub-tab.
In the new instance type dialog, which tabs could be directly affected by DC/Cluster? IIUC, only Host? Do we really need a static header just for this tab?
MR: Ideally, if we have only one sub-tab that has some dependencies with some basic fields, we should try to design the first sub-tab to have all those fields and eliminate the static panel. But if it is weird to have those additional fields on the very first sub-tab from a workflow perspective, then we should have the static panel even if the dependency is only on one sub-tab. The rule we are going by then is that it doesn't hurt to have context info on the top but it hurts more to not have that context info when needed.
so for consistency-within-the-dialog considerations, it is probably a good idea to simply always show these fields within this top static section.
[there is a good chance that I am missing your point here - please correct me if necessary]
[1] http://gerrit.ovirt.org/#/c/14936/
[2] http://www.ovirt.org/Features/Instance_Types
[3] http://www.ovirt.org/images/9/9e/Instance_type.pdf
[4] whenever changing the "Instance Type" value, you can automatically see how these changes affect the fields in the current tab on which you are standing (e.g. if you are standing on the "System" side-tab, you can change the "Instance Type" selected item and immediately see the changes within the "System" side-tab contents), and vice-versa: if you are changing a value that was originally propagated from the instance-type, you will see the instance-type automatically change to "custom"/"not applicable" as a result, so no need to "jump" between side-tabs in order to observe these changes.
---- Thanks, Einav
[1] http://www.ovirt.org/images/9/9e/Instance_type.pdf
----- Original Message -----
From: derez@redhat.com To: "Tomas Jelinek" <tjelinek@redhat.com> Cc: "Vojtech Szocs" <vszocs@redhat.com>, "Einav Cohen" <ecohen@redhat.com>, "Frank Kobzik" <fkobzik@redhat.com>, "Eldan Hildesheim" <info@eldanet.com> Sent: Tuesday, May 28, 2013 5:05:38 PM Subject: Change in ovirt-engine[master]: userportal,webadmin: redesign of vm related dialogs
Daniel Erez has posted comments on this change.
Change subject: userportal,webadmin: redesign of vm related dialogs ......................................................................
Patch Set 5: (1 inline comment)
Code looks good. A few questions regarding the design: 1. Why do we want the static header only in VM dialog? 2. DC/Host are really relevant for all tabs? 3. Is it just a preparation for the final instance type dialog? 4. If it's indeed merely preparation, shouldn't it be merged only once we have the full picture of the new dialog?
.................................................... File frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/dialog/tab/DialogTabPanel.ui.xml Line 21: Line 22: .header { Line 23: background-color: #D3D3D3; Line 24: border-bottom: 1px solid #CED8DF; Line 25: margin-bottom: 15px; is it supposed to be that large? Line 26: padding-top: 6px; Line 27: margin-top: 4px; Line 28: margin-right: 3px; Line 29: display: none;
-- To view, visit http://gerrit.ovirt.org/14635 To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: comment Gerrit-Change-Id: Icad8098e286f821da25fac22fd0a840a42f105c9 Gerrit-PatchSet: 5 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Tomas Jelinek <tjelinek@redhat.com> Gerrit-Reviewer: Daniel Erez <derez@redhat.com> Gerrit-Reviewer: Einav Cohen <ecohen@redhat.com> Gerrit-Reviewer: Eldan Hildesheim <info@eldanet.com> Gerrit-Reviewer: Frank Kobzik <fkobzik@redhat.com> Gerrit-Reviewer: Tomas Jelinek <tjelinek@redhat.com> Gerrit-Reviewer: Vojtech Szocs <vszocs@redhat.com>
_______________________________________________ Engine-devel mailing list Engine-devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-devel

From: "Malini Rao" <mrao@redhat.com> To: "Einav Cohen" <ecohen@redhat.com> Cc: "Daniel Erez" <derez@redhat.com>, "Eldan Hildesheim" <info@eldanet.com>, "engine-devel" <engine-devel@ovirt.org>, "Eldan Hildesheim" <ehildesh@redhat.com>, "Tomas Jelinek" <tjelinek@redhat.com> Sent: Thursday, May 30, 2013 5:56:59 PM Subject: Re: [Engine-devel] static header only in VM dialog?
Sorry to join the thread late. The long weekend was followed by a conference for the UX team and hence the delay. See comments below inline -
----- Original Message -----
From: "Einav Cohen" <ecohen@redhat.com> To: "Daniel Erez" <derez@redhat.com> Cc: "Eldan Hildesheim" <info@eldanet.com>, "engine-devel" <engine-devel@ovirt.org>, "Eldan Hildesheim" <ehildesh@redhat.com>, "Malini Rao" <mrao@redhat.com>, "Tomas Jelinek" <tjelinek@redhat.com> Sent: Wednesday, May 29, 2013 8:21:30 AM Subject: Re: [Engine-devel] static header only in VM dialog?
----- Original Message ----- From: "Daniel Erez" <derez@redhat.com> Sent: Wednesday, May 29, 2013 1:36:03 AM
----- Original Message -----
From: "Einav Cohen" <ecohen@redhat.com> To: "Daniel Erez" <derez@redhat.com>, "Malini Rao" <mrao@redhat.com>, "Eldan Hildesheim" <info@eldanet.com>, "Eldan Hildesheim" <ehildesh@redhat.com>, "Tomas Jelinek" <tjelinek@redhat.com> Cc: "engine-devel" <engine-devel@ovirt.org> Sent: Wednesday, May 29, 2013 2:30:09 AM Subject: Re: static header only in VM dialog?
----- Original Message ----- From: "Daniel Erez" <derez@redhat.com> Sent: Tuesday, May 28, 2013 6:18:20 PM
----- Original Message -----
From: "Einav Cohen" <ecohen@redhat.com> To: "Malini Rao" <mrao@redhat.com>, "Eldan Hildesheim" <info@eldanet.com>, "Eldan Hildesheim" <ehildesh@redhat.com> Cc: "Tomas Jelinek" <tjelinek@redhat.com>, derez@redhat.com, "engine-devel" <engine-devel@ovirt.org> Sent: Wednesday, May 29, 2013 12:53:47 AM Subject: static header only in VM dialog?
when reviewing the code for the "redesign of vm related dialogs", Daniel has raised an interesting question: Why do we want the static header only in VM dialog?
(I assume that he refers to the top section of the New VM dialog as seen in [1], which contains the DC/Cluster, Quota, etc information, and is "static", i.e., it is always displayed, regardless of the selected side-tab within the dialog)
I agree with what Daniel is implying here: for consistency, we would probably want to introduce this static header to other dialogs, at least to the ones that also contain side-tabs in which it makes sense to turn the "header" to static [e.g. "New Host" (which contains a DC + Cluster "header") - see http://oi39.tinypic.com/2z84xnp.jpg, "New Cluster" (which contains a DC "header") - see http://oi40.tinypic.com/2vmyj2x.jpg]
MR: Consistency is important but we need to make only UIs with similar purposes consistent and not aim for consistency where it will not serve a real Usability goal or worse get in the way. See next comment for more on UX motivation for this static panel for new VM creation where it was originally proposed.
[I assume, of course, that all the VM-like dialogs (e.g. New/Edit VM-Pool) will also have static headers - I don't know if the patch already takes care of that or not]
Thoughts?
[@Daniel - if you had something else in mind, and/or other dialogs in mind - please feel free to add/amend/etc]
MR: Before we proliferate this UI paradigm into other areas, let us look at the list of dialogs where we are considering this against the primary UX motivations with which this static panel was originally suggested. UX can help with this exercise on where it makes sense to have the static panel.
Besides consistency matters, I wanted to understand what's the motivation of keeping these widgets static. I.e. is it an essential preparation for the new instance type dialog or a new concept for tab based dialogs (as DC/Cluster values aren't necessarily relevant for each tab in the dialog)
[maybe Tomas/Eldan/Malini can help here as well]
MR: Here are the original motivations for this static panel.
1. Context for dependencies - In the create VM dialog and the introduction of instance types and images, we came up with two core needs for the UI - There were some fields that were context-setting for other fields with dependencies. So, changing these context setting field values would alter the choices in other fields on one of the sub-tabs or eliminate or populate fields in these tabs. We wanted to ground the user with the context so that they can observe any changes that happen on a tab and determine what caused that change in the static panel.
2. Basic and mandatory - In the create VM dialog and the introduction of instance types and images, we also had to represent different levels of definition needed. For e.g, there were some basic and mandatory fields that were minimally needed for the definition of a VM irrespective of whether the user was basic or advanced. These fields were included in the static panel or at the most in the very first sub tab if they were not a context setting field for any other dependent field. This way the user does not have to go anywhere else to do a basic definition of the VM.
Then we had another layer of permissioning where the fields you had access to on various tabs depended on whether you were a basic or advanced user. But note, we did have scenarios where some advanced fields made it to the static panel because they were a context setter.
So to summarize the motivation of why the static panel and what should go into the static panel - You need a static panel ONLY if you have certain fields (basic or advanced) that act as context setters for all or some of the other fields in the other sub-tabs. Static panels can further optionally be extended to present all the fields that are needed for basic definition of an object. If there is no dependency and there is a dialog with multiple sub-tabs, then we SHOULD NOT just create a static panel for the basic definition fields. These fields should populate the first sub tab. Let me know if any further clarifications are needed.
these static widgets (as well as the type ahead list box [1], for example) are part of the instance types feature that had its design details published in [2] and [3], and the implementation was done according to this design. I don't see any reason to not utilize this newly-introduced concept in other side-tab-based dialogs as well, if it makes sense (ui consistency considerations are sufficient, IMO, but I could be wrong - maybe it is relevant/correct to introduce this new concept only in the VM-like dialogs).
MR: The UX motivations for the static panel are generalizable even though they were designed for the New VM dialog. See above comment. But we need to gauge the reqs on each of the dialogs with subtabs against the core motivation and see if we need the static panel on it or not.
regarding the specific concern about the DC/Cluster values that aren't necessarily relevant for each side-tab in the dialog: I agree with that statement,
MR: If any field recommended in the UX proposal is not useful as a context setter, then please let us know and we can move it to the first sub-tab.
however:
- putting the "Instance Type" drop-down at the top static section is very useful (see [4] for explanation), and as the Instance Types list is derived from the selected DC, it makes sense (to me) to put the DC in that top static section as well.
MR: Agree. That is probably why we ended up leaving the DC there.
- the DC/Cluster are relevant for some of the tabs in the dialog (Host, Resource Allocation?)
Only for Host. Resource Allocation is directly affected by the selected template. Therefore, it sounds very confusing to me... Unless we add template to the static header as well?
MR: I think we incorporated the templates into the Image field and denoted it with an icon preceding the drop down choice. So, the template is in the static panel. Just a small note: the first patch we are talking about (http://gerrit.ovirt.org/#/c/14635) adds only Data Center, Cluster and Quota to the header. There is a second patch (http://gerrit.ovirt.org/#/c/15011/) which moves the OS type and template to the header. The Image and Instance Type fields are not implemented yet. The current patches just redesigns
----- Original Message ----- the current UX according to the mockups - the new entities will be integrated after we will have an agreement and this batch of patches will be merged.
The answer is yes, in a sense: Instance Types + Images are actually somewhat "replacing" Templates [the general approach is to move to basing VMs on Instance Types + Images, rather than on Templates; it allows more flexibility in combining hardware configuration + image configuration for the VM, without (necessarily) editing each VM field separately].
So as I stated in my previous response: Having the "Instance Types" field (and "Image" field) in the top static section is very useful, as they affect the fields in most / a lot of the side-tabs.
Based on the above:
Do you agree that it makes sense to have a top static section in general [even only for the "Instance Types" field and "Image" field (again, as they affect most / a lot of side-tabs fields)]? If so: Do you think that it makes sense to include the DC field in that top static section as well (at least due to the fact that the "Instance Types" list and "Images" list are derived from the selected DC)?
MR: Yes makes sense to include DC in static panel because some of the other fields in the static panel are dependent on it.
[Tomas/Malini/Eldan - if there is additional/different reasoning for putting the DC/Cluster field on the top static section - please share]
(which will be odd for the other tabs).
So I still don't get the motivation UX-wise. E.g. it seems really weird to change the entire DC from Console tab (or, as a matter of fact, from most other tabs).
MR: Not sure I understand. You can change DC when you are on ANY sub tab because the DC is a field in the static panel. The static panel is not the sub-tab.
In the new instance type dialog, which tabs could be directly affected by DC/Cluster? IIUC, only Host? Do we really need a static header just for this tab?
MR: Ideally, if we have only one sub-tab that has some dependencies with some basic fields, we should try to design the first sub-tab to have all those fields and eliminate the static panel. But if it is weird to have those additional fields on the very first sub-tab from a workflow perspective, then we should have the static panel even if the dependency is only on one sub-tab. The rule we are going by then is that it doesn't hurt to have context info on the top but it hurts more to not have that context info when needed.
so for consistency-within-the-dialog considerations, it is probably a good idea to simply always show these fields within this top static section.
[there is a good chance that I am missing your point here - please correct me if necessary]
[1] http://gerrit.ovirt.org/#/c/14936/
[2] http://www.ovirt.org/Features/Instance_Types
[3] http://www.ovirt.org/images/9/9e/Instance_type.pdf
[4] whenever changing the "Instance Type" value, you can automatically see how these changes affect the fields in the current tab on which you are standing (e.g. if you are standing on the "System" side-tab, you can change the "Instance Type" selected item and immediately see the changes within the "System" side-tab contents), and vice-versa: if you are changing a value that was originally propagated from the instance-type, you will see the instance-type automatically change to "custom"/"not applicable" as a result, so no need to "jump" between side-tabs in order to observe these changes.
---- Thanks, Einav
[1] http://www.ovirt.org/images/9/9e/Instance_type.pdf
----- Original Message ----- > From: derez@redhat.com > To: "Tomas Jelinek" <tjelinek@redhat.com> > Cc: "Vojtech Szocs" <vszocs@redhat.com>, "Einav Cohen" > <ecohen@redhat.com>, > "Frank Kobzik" <fkobzik@redhat.com>, > "Eldan Hildesheim" <info@eldanet.com> > Sent: Tuesday, May 28, 2013 5:05:38 PM > Subject: Change in ovirt-engine[master]: userportal,webadmin: > redesign > of > vm related dialogs > > Daniel Erez has posted comments on this change. > > Change subject: userportal,webadmin: redesign of vm related > dialogs > ...................................................................... > > > Patch Set 5: (1 inline comment) > > Code looks good. > A few questions regarding the design: > 1. Why do we want the static header only in VM dialog? > 2. DC/Host are really relevant for all tabs? > 3. Is it just a preparation for the final instance type dialog? > 4. If it's indeed merely preparation, shouldn't it be merged only > once > we > have the full picture of the new dialog? > > .................................................... > File > frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/dialog/tab/DialogTabPanel.ui.xml > Line 21: > Line 22: .header { > Line 23: background-color: #D3D3D3; > Line 24: border-bottom: 1px solid #CED8DF; > Line 25: margin-bottom: 15px; > is it supposed to be that large? > Line 26: padding-top: 6px; > Line 27: margin-top: 4px; > Line 28: margin-right: 3px; > Line 29: display: none; > > > -- > To view, visit http://gerrit.ovirt.org/14635 > To unsubscribe, visit http://gerrit.ovirt.org/settings > > Gerrit-MessageType: comment > Gerrit-Change-Id: Icad8098e286f821da25fac22fd0a840a42f105c9 > Gerrit-PatchSet: 5 > Gerrit-Project: ovirt-engine > Gerrit-Branch: master > Gerrit-Owner: Tomas Jelinek <tjelinek@redhat.com> > Gerrit-Reviewer: Daniel Erez <derez@redhat.com> > Gerrit-Reviewer: Einav Cohen <ecohen@redhat.com> > Gerrit-Reviewer: Eldan Hildesheim <info@eldanet.com> > Gerrit-Reviewer: Frank Kobzik <fkobzik@redhat.com> > Gerrit-Reviewer: Tomas Jelinek <tjelinek@redhat.com> > Gerrit-Reviewer: Vojtech Szocs <vszocs@redhat.com> >
_______________________________________________ Engine-devel mailing list Engine-devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-devel

----- Original Message ----- From: "Tomas Jelinek" <tjelinek@redhat.com> Sent: Friday, May 31, 2013 2:22:57 AM
----- Original Message -----
From: "Malini Rao" <mrao@redhat.com> To: "Einav Cohen" <ecohen@redhat.com> Cc: "Daniel Erez" <derez@redhat.com>, "Eldan Hildesheim" <info@eldanet.com>, "engine-devel" <engine-devel@ovirt.org>, "Eldan Hildesheim" <ehildesh@redhat.com>, "Tomas Jelinek" <tjelinek@redhat.com> Sent: Thursday, May 30, 2013 5:56:59 PM Subject: Re: [Engine-devel] static header only in VM dialog?
Sorry to join the thread late. The long weekend was followed by a conference for the UX team and hence the delay. See comments below inline -
----- Original Message -----
From: "Einav Cohen" <ecohen@redhat.com> To: "Daniel Erez" <derez@redhat.com> Cc: "Eldan Hildesheim" <info@eldanet.com>, "engine-devel" <engine-devel@ovirt.org>, "Eldan Hildesheim" <ehildesh@redhat.com>, "Malini Rao" <mrao@redhat.com>, "Tomas Jelinek" <tjelinek@redhat.com> Sent: Wednesday, May 29, 2013 8:21:30 AM Subject: Re: [Engine-devel] static header only in VM dialog?
----- Original Message ----- From: "Daniel Erez" <derez@redhat.com> Sent: Wednesday, May 29, 2013 1:36:03 AM
----- Original Message -----
From: "Einav Cohen" <ecohen@redhat.com> To: "Daniel Erez" <derez@redhat.com>, "Malini Rao" <mrao@redhat.com>, "Eldan Hildesheim" <info@eldanet.com>, "Eldan Hildesheim" <ehildesh@redhat.com>, "Tomas Jelinek" <tjelinek@redhat.com> Cc: "engine-devel" <engine-devel@ovirt.org> Sent: Wednesday, May 29, 2013 2:30:09 AM Subject: Re: static header only in VM dialog?
----- Original Message ----- From: "Daniel Erez" <derez@redhat.com> Sent: Tuesday, May 28, 2013 6:18:20 PM
----- Original Message ----- > From: "Einav Cohen" <ecohen@redhat.com> > To: "Malini Rao" <mrao@redhat.com>, "Eldan Hildesheim" > <info@eldanet.com>, > "Eldan Hildesheim" <ehildesh@redhat.com> > Cc: "Tomas Jelinek" <tjelinek@redhat.com>, derez@redhat.com, > "engine-devel" > <engine-devel@ovirt.org> > Sent: Wednesday, May 29, 2013 12:53:47 AM > Subject: static header only in VM dialog? > > when reviewing the code for the "redesign of vm related dialogs", > Daniel > has > raised an interesting question: Why do we want the static header > only > in > VM > dialog? > > (I assume that he refers to the top section of the New VM dialog > as > seen > in > [1], which > contains the DC/Cluster, Quota, etc information, and is "static", > i.e., > it > is > always > displayed, regardless of the selected side-tab within the dialog) > > I agree with what Daniel is implying here: for consistency, we > would > probably > want to > introduce this static header to other dialogs, at least to the > ones > that > also > contain > side-tabs in which it makes sense to turn the "header" to static > [e.g. > "New Host" (which contains a DC + Cluster "header") - see > http://oi39.tinypic.com/2z84xnp.jpg, > "New Cluster" (which contains a DC "header") - see > http://oi40.tinypic.com/2vmyj2x.jpg]
MR: Consistency is important but we need to make only UIs with similar purposes consistent and not aim for consistency where it will not serve a real Usability goal or worse get in the way. See next comment for more on UX motivation for this static panel for new VM creation where it was originally proposed.
> > [I assume, of course, that all the VM-like dialogs (e.g. New/Edit > VM-Pool) > will also have > static headers - I don't know if the patch already takes care of > that > or > not] > > Thoughts? > > [@Daniel - if you had something else in mind, and/or other > dialogs > in > mind > - > please feel free > to add/amend/etc]
MR: Before we proliferate this UI paradigm into other areas, let us look at the list of dialogs where we are considering this against the primary UX motivations with which this static panel was originally suggested. UX can help with this exercise on where it makes sense to have the static panel.
Besides consistency matters, I wanted to understand what's the motivation of keeping these widgets static. I.e. is it an essential preparation for the new instance type dialog or a new concept for tab based dialogs (as DC/Cluster values aren't necessarily relevant for each tab in the dialog)
[maybe Tomas/Eldan/Malini can help here as well]
MR: Here are the original motivations for this static panel.
1. Context for dependencies - In the create VM dialog and the introduction of instance types and images, we came up with two core needs for the UI - There were some fields that were context-setting for other fields with dependencies. So, changing these context setting field values would alter the choices in other fields on one of the sub-tabs or eliminate or populate fields in these tabs. We wanted to ground the user with the context so that they can observe any changes that happen on a tab and determine what caused that change in the static panel.
2. Basic and mandatory - In the create VM dialog and the introduction of instance types and images, we also had to represent different levels of definition needed. For e.g, there were some basic and mandatory fields that were minimally needed for the definition of a VM irrespective of whether the user was basic or advanced. These fields were included in the static panel or at the most in the very first sub tab if they were not a context setting field for any other dependent field. This way the user does not have to go anywhere else to do a basic definition of the VM.
Then we had another layer of permissioning where the fields you had access to on various tabs depended on whether you were a basic or advanced user. But note, we did have scenarios where some advanced fields made it to the static panel because they were a context setter.
So to summarize the motivation of why the static panel and what should go into the static panel - You need a static panel ONLY if you have certain fields (basic or advanced) that act as context setters for all or some of the other fields in the other sub-tabs. Static panels can further optionally be extended to present all the fields that are needed for basic definition of an object. If there is no dependency and there is a dialog with multiple sub-tabs, then we SHOULD NOT just create a static panel for the basic definition fields. These fields should populate the first sub tab. Let me know if any further clarifications are needed.
these static widgets (as well as the type ahead list box [1], for example) are part of the instance types feature that had its design details published in [2] and [3], and the implementation was done according to this design. I don't see any reason to not utilize this newly-introduced concept in other side-tab-based dialogs as well, if it makes sense (ui consistency considerations are sufficient, IMO, but I could be wrong - maybe it is relevant/correct to introduce this new concept only in the VM-like dialogs).
MR: The UX motivations for the static panel are generalizable even though they were designed for the New VM dialog. See above comment. But we need to gauge the reqs on each of the dialogs with subtabs against the core motivation and see if we need the static panel on it or not.
regarding the specific concern about the DC/Cluster values that aren't necessarily relevant for each side-tab in the dialog: I agree with that statement,
MR: If any field recommended in the UX proposal is not useful as a context setter, then please let us know and we can move it to the first sub-tab.
however:
- putting the "Instance Type" drop-down at the top static section is very useful (see [4] for explanation), and as the Instance Types list is derived from the selected DC, it makes sense (to me) to put the DC in that top static section as well.
MR: Agree. That is probably why we ended up leaving the DC there.
- the DC/Cluster are relevant for some of the tabs in the dialog (Host, Resource Allocation?)
Only for Host. Resource Allocation is directly affected by the selected template. Therefore, it sounds very confusing to me... Unless we add template to the static header as well?
MR: I think we incorporated the templates into the Image field and denoted it with an icon preceding the drop down choice. So, the template is in the static panel.
Just a small note: the first patch we are talking about (http://gerrit.ovirt.org/#/c/14635) adds only Data Center, Cluster and Quota to the header. There is a second patch (http://gerrit.ovirt.org/#/c/15011/) which moves the OS type and template to the header. The Image and Instance Type fields are not implemented yet. The current patches just redesigns the current UX according to the mockups - the new entities will be integrated after we will have an agreement and this batch of patches will be merged.
OK, that explains a lot... :) many thanks, Tomas, for the clarification. I understand now Daniels's concern; it indeed doesn't make much sense for the DC/Cluster and Quota fields to be the only fields in the top static section. However, as this is a preparation for the Instance Types fields patches, it makes sense that we will first do the preparation work (i.e. change/reorganize the existing dialog layout), and then incorporate the Instance Types fields into it (given that it is being done *shortly* afterwards), or simply do everything altogether. @Tomas - ideally, the code that actually adds the Instance Types fields should have been part of this patch chain (either in more patches, or in "larger" patches), as again - I agree with Daniel that it makes no sense to having a static header in the VM dialogs with only DC/Cluster and Quota in them [1]. However, there is a chance that it would have been resulted in very large patches / a very long series of patches, which would have been even harder to review/rebase/etc. how long will it take for you to have the patches that actually add the Instance Types fields ready (once the first batch is merged)? as long as it will be done shortly afterwards, then your approach seems ok (again - my main concern is [1]). [1] my main concern is that this batch of patches (dialog reorg) will make it into ovirt 3.3, but the second batch (which will contain the actual Instance Types fields) won't make it in time [see the ovirt 3.3 schedule in: http://www.ovirt.org/OVirt_3.3_release-management - ovirt 3.3 feature freeze is today (?!)]; so I wouldn't want to see ovirt 3.3 being released with only the first patch batch merged into it. either both batches should be there, or both batches should not be there.
The answer is yes, in a sense: Instance Types + Images are actually somewhat "replacing" Templates [the general approach is to move to basing VMs on Instance Types + Images, rather than on Templates; it allows more flexibility in combining hardware configuration + image configuration for the VM, without (necessarily) editing each VM field separately].
So as I stated in my previous response: Having the "Instance Types" field (and "Image" field) in the top static section is very useful, as they affect the fields in most / a lot of the side-tabs.
Based on the above:
Do you agree that it makes sense to have a top static section in general [even only for the "Instance Types" field and "Image" field (again, as they affect most / a lot of side-tabs fields)]? If so: Do you think that it makes sense to include the DC field in that top static section as well (at least due to the fact that the "Instance Types" list and "Images" list are derived from the selected DC)?
MR: Yes makes sense to include DC in static panel because some of the other fields in the static panel are dependent on it.
[Tomas/Malini/Eldan - if there is additional/different reasoning for putting the DC/Cluster field on the top static section - please share]
(which will be odd for the other tabs).
So I still don't get the motivation UX-wise. E.g. it seems really weird to change the entire DC from Console tab (or, as a matter of fact, from most other tabs).
MR: Not sure I understand. You can change DC when you are on ANY sub tab because the DC is a field in the static panel. The static panel is not the sub-tab.
In the new instance type dialog, which tabs could be directly affected by DC/Cluster? IIUC, only Host? Do we really need a static header just for this tab?
MR: Ideally, if we have only one sub-tab that has some dependencies with some basic fields, we should try to design the first sub-tab to have all those fields and eliminate the static panel. But if it is weird to have those additional fields on the very first sub-tab from a workflow perspective, then we should have the static panel even if the dependency is only on one sub-tab. The rule we are going by then is that it doesn't hurt to have context info on the top but it hurts more to not have that context info when needed.
so for consistency-within-the-dialog considerations, it is probably a good idea to simply always show these fields within this top static section.
[there is a good chance that I am missing your point here - please correct me if necessary]
[1] http://gerrit.ovirt.org/#/c/14936/
[2] http://www.ovirt.org/Features/Instance_Types
[3] http://www.ovirt.org/images/9/9e/Instance_type.pdf
[4] whenever changing the "Instance Type" value, you can automatically see how these changes affect the fields in the current tab on which you are standing (e.g. if you are standing on the "System" side-tab, you can change the "Instance Type" selected item and immediately see the changes within the "System" side-tab contents), and vice-versa: if you are changing a value that was originally propagated from the instance-type, you will see the instance-type automatically change to "custom"/"not applicable" as a result, so no need to "jump" between side-tabs in order to observe these changes.
> > ---- > Thanks, > Einav > > [1] http://www.ovirt.org/images/9/9e/Instance_type.pdf > > ----- Original Message ----- > > From: derez@redhat.com > > To: "Tomas Jelinek" <tjelinek@redhat.com> > > Cc: "Vojtech Szocs" <vszocs@redhat.com>, "Einav Cohen" > > <ecohen@redhat.com>, > > "Frank Kobzik" <fkobzik@redhat.com>, > > "Eldan Hildesheim" <info@eldanet.com> > > Sent: Tuesday, May 28, 2013 5:05:38 PM > > Subject: Change in ovirt-engine[master]: userportal,webadmin: > > redesign > > of > > vm related dialogs > > > > Daniel Erez has posted comments on this change. > > > > Change subject: userportal,webadmin: redesign of vm related > > dialogs > > ...................................................................... > > > > > > Patch Set 5: (1 inline comment) > > > > Code looks good. > > A few questions regarding the design: > > 1. Why do we want the static header only in VM dialog? > > 2. DC/Host are really relevant for all tabs? > > 3. Is it just a preparation for the final instance type dialog? > > 4. If it's indeed merely preparation, shouldn't it be merged > > only > > once > > we > > have the full picture of the new dialog? > > > > .................................................... > > File > > frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/dialog/tab/DialogTabPanel.ui.xml > > Line 21: > > Line 22: .header { > > Line 23: background-color: #D3D3D3; > > Line 24: border-bottom: 1px solid #CED8DF; > > Line 25: margin-bottom: 15px; > > is it supposed to be that large? > > Line 26: padding-top: 6px; > > Line 27: margin-top: 4px; > > Line 28: margin-right: 3px; > > Line 29: display: none; > > > > > > -- > > To view, visit http://gerrit.ovirt.org/14635 > > To unsubscribe, visit http://gerrit.ovirt.org/settings > > > > Gerrit-MessageType: comment > > Gerrit-Change-Id: Icad8098e286f821da25fac22fd0a840a42f105c9 > > Gerrit-PatchSet: 5 > > Gerrit-Project: ovirt-engine > > Gerrit-Branch: master > > Gerrit-Owner: Tomas Jelinek <tjelinek@redhat.com> > > Gerrit-Reviewer: Daniel Erez <derez@redhat.com> > > Gerrit-Reviewer: Einav Cohen <ecohen@redhat.com> > > Gerrit-Reviewer: Eldan Hildesheim <info@eldanet.com> > > Gerrit-Reviewer: Frank Kobzik <fkobzik@redhat.com> > > Gerrit-Reviewer: Tomas Jelinek <tjelinek@redhat.com> > > Gerrit-Reviewer: Vojtech Szocs <vszocs@redhat.com> > > >
_______________________________________________ Engine-devel mailing list Engine-devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-devel

On 31 May 2013, at 13:44, Einav Cohen wrote:
----- Original Message ----- From: "Tomas Jelinek" <tjelinek@redhat.com> Sent: Friday, May 31, 2013 2:22:57 AM
----- Original Message -----
From: "Malini Rao" <mrao@redhat.com> To: "Einav Cohen" <ecohen@redhat.com> Cc: "Daniel Erez" <derez@redhat.com>, "Eldan Hildesheim" <info@eldanet.com>, "engine-devel" <engine-devel@ovirt.org>, "Eldan Hildesheim" <ehildesh@redhat.com>, "Tomas Jelinek" <tjelinek@redhat.com> Sent: Thursday, May 30, 2013 5:56:59 PM Subject: Re: [Engine-devel] static header only in VM dialog?
Sorry to join the thread late. The long weekend was followed by a conference for the UX team and hence the delay. See comments below inline -
----- Original Message -----
From: "Einav Cohen" <ecohen@redhat.com> To: "Daniel Erez" <derez@redhat.com> Cc: "Eldan Hildesheim" <info@eldanet.com>, "engine-devel" <engine-devel@ovirt.org>, "Eldan Hildesheim" <ehildesh@redhat.com>, "Malini Rao" <mrao@redhat.com>, "Tomas Jelinek" <tjelinek@redhat.com> Sent: Wednesday, May 29, 2013 8:21:30 AM Subject: Re: [Engine-devel] static header only in VM dialog?
----- Original Message ----- From: "Daniel Erez" <derez@redhat.com> Sent: Wednesday, May 29, 2013 1:36:03 AM
----- Original Message -----
From: "Einav Cohen" <ecohen@redhat.com> To: "Daniel Erez" <derez@redhat.com>, "Malini Rao" <mrao@redhat.com>, "Eldan Hildesheim" <info@eldanet.com>, "Eldan Hildesheim" <ehildesh@redhat.com>, "Tomas Jelinek" <tjelinek@redhat.com> Cc: "engine-devel" <engine-devel@ovirt.org> Sent: Wednesday, May 29, 2013 2:30:09 AM Subject: Re: static header only in VM dialog?
> ----- Original Message ----- > From: "Daniel Erez" <derez@redhat.com> > Sent: Tuesday, May 28, 2013 6:18:20 PM > > > ----- Original Message ----- >> From: "Einav Cohen" <ecohen@redhat.com> >> To: "Malini Rao" <mrao@redhat.com>, "Eldan Hildesheim" >> <info@eldanet.com>, >> "Eldan Hildesheim" <ehildesh@redhat.com> >> Cc: "Tomas Jelinek" <tjelinek@redhat.com>, derez@redhat.com, >> "engine-devel" >> <engine-devel@ovirt.org> >> Sent: Wednesday, May 29, 2013 12:53:47 AM >> Subject: static header only in VM dialog? >> >> when reviewing the code for the "redesign of vm related dialogs", >> Daniel >> has >> raised an interesting question: Why do we want the static header >> only >> in >> VM >> dialog? >> >> (I assume that he refers to the top section of the New VM dialog >> as >> seen >> in >> [1], which >> contains the DC/Cluster, Quota, etc information, and is "static", >> i.e., >> it >> is >> always >> displayed, regardless of the selected side-tab within the dialog) >> >> I agree with what Daniel is implying here: for consistency, we >> would >> probably >> want to >> introduce this static header to other dialogs, at least to the >> ones >> that >> also >> contain >> side-tabs in which it makes sense to turn the "header" to static >> [e.g. >> "New Host" (which contains a DC + Cluster "header") - see >> http://oi39.tinypic.com/2z84xnp.jpg, >> "New Cluster" (which contains a DC "header") - see >> http://oi40.tinypic.com/2vmyj2x.jpg]
MR: Consistency is important but we need to make only UIs with similar purposes consistent and not aim for consistency where it will not serve a real Usability goal or worse get in the way. See next comment for more on UX motivation for this static panel for new VM creation where it was originally proposed.
>> >> [I assume, of course, that all the VM-like dialogs (e.g. New/Edit >> VM-Pool) >> will also have >> static headers - I don't know if the patch already takes care of >> that >> or >> not] >> >> Thoughts? >> >> [@Daniel - if you had something else in mind, and/or other >> dialogs >> in >> mind >> - >> please feel free >> to add/amend/etc]
MR: Before we proliferate this UI paradigm into other areas, let us look at the list of dialogs where we are considering this against the primary UX motivations with which this static panel was originally suggested. UX can help with this exercise on where it makes sense to have the static panel.
> > Besides consistency matters, I wanted to understand what's the > motivation > of > keeping these widgets static. I.e. is it an essential preparation > for > the > new > instance type dialog or a new concept for tab based dialogs > (as DC/Cluster values aren't necessarily relevant for each tab in > the > dialog)
[maybe Tomas/Eldan/Malini can help here as well]
MR: Here are the original motivations for this static panel.
1. Context for dependencies - In the create VM dialog and the introduction of instance types and images, we came up with two core needs for the UI - There were some fields that were context-setting for other fields with dependencies. So, changing these context setting field values would alter the choices in other fields on one of the sub-tabs or eliminate or populate fields in these tabs. We wanted to ground the user with the context so that they can observe any changes that happen on a tab and determine what caused that change in the static panel.
2. Basic and mandatory - In the create VM dialog and the introduction of instance types and images, we also had to represent different levels of definition needed. For e.g, there were some basic and mandatory fields that were minimally needed for the definition of a VM irrespective of whether the user was basic or advanced. These fields were included in the static panel or at the most in the very first sub tab if they were not a context setting field for any other dependent field. This way the user does not have to go anywhere else to do a basic definition of the VM.
Then we had another layer of permissioning where the fields you had access to on various tabs depended on whether you were a basic or advanced user. But note, we did have scenarios where some advanced fields made it to the static panel because they were a context setter.
So to summarize the motivation of why the static panel and what should go into the static panel - You need a static panel ONLY if you have certain fields (basic or advanced) that act as context setters for all or some of the other fields in the other sub-tabs. Static panels can further optionally be extended to present all the fields that are needed for basic definition of an object. If there is no dependency and there is a dialog with multiple sub-tabs, then we SHOULD NOT just create a static panel for the basic definition fields. These fields should populate the first sub tab. Let me know if any further clarifications are needed.
these static widgets (as well as the type ahead list box [1], for example) are part of the instance types feature that had its design details published in [2] and [3], and the implementation was done according to this design. I don't see any reason to not utilize this newly-introduced concept in other side-tab-based dialogs as well, if it makes sense (ui consistency considerations are sufficient, IMO, but I could be wrong - maybe it is relevant/correct to introduce this new concept only in the VM-like dialogs).
MR: The UX motivations for the static panel are generalizable even though they were designed for the New VM dialog. See above comment. But we need to gauge the reqs on each of the dialogs with subtabs against the core motivation and see if we need the static panel on it or not.
regarding the specific concern about the DC/Cluster values that aren't necessarily relevant for each side-tab in the dialog: I agree with that statement,
MR: If any field recommended in the UX proposal is not useful as a context setter, then please let us know and we can move it to the first sub-tab.
however:
- putting the "Instance Type" drop-down at the top static section is very useful (see [4] for explanation), and as the Instance Types list is derived from the selected DC, it makes sense (to me) to put the DC in that top static section as well.
MR: Agree. That is probably why we ended up leaving the DC there.
- the DC/Cluster are relevant for some of the tabs in the dialog (Host, Resource Allocation?)
Only for Host. Resource Allocation is directly affected by the selected template. Therefore, it sounds very confusing to me... Unless we add template to the static header as well?
MR: I think we incorporated the templates into the Image field and denoted it with an icon preceding the drop down choice. So, the template is in the static panel.
Just a small note: the first patch we are talking about (http://gerrit.ovirt.org/#/c/14635) adds only Data Center, Cluster and Quota to the header. There is a second patch (http://gerrit.ovirt.org/#/c/15011/) which moves the OS type and template to the header. The Image and Instance Type fields are not implemented yet. The current patches just redesigns the current UX according to the mockups - the new entities will be integrated after we will have an agreement and this batch of patches will be merged.
OK, that explains a lot... :) many thanks, Tomas, for the clarification.
I understand now Daniels's concern; it indeed doesn't make much sense for the DC/Cluster and Quota fields to be the only fields in the top static section. However, as this is a preparation for the Instance Types fields patches, it makes sense that we will first do the preparation work (i.e. change/reorganize the existing dialog layout), and then incorporate the Instance Types fields into it (given that it is being done *shortly* afterwards), or simply do everything altogether.
@Tomas - ideally, the code that actually adds the Instance Types fields should have been part of this patch chain (either in more patches, or in "larger" patches), as again - I agree with Daniel that it makes no sense to having a static header in the VM dialogs with only DC/Cluster and Quota in them [1]. However, there is a chance that it would have been resulted in very large patches / a very long series of patches, which would have been even harder to review/rebase/etc.
how long will it take for you to have the patches that actually add the Instance Types fields ready (once the first batch is merged)? as long as it will be done shortly afterwards, then your approach seems ok (again - my main concern is [1]).
[1] my main concern is that this batch of patches (dialog reorg) will make it into ovirt 3.3, but the second batch (which will contain the actual Instance Types fields) won't make it in time [see the ovirt 3.3 schedule in: http://www.ovirt.org/OVirt_3.3_release-management - ovirt 3.3 feature freeze is today (?!)]; so I wouldn't want to see ovirt 3.3 being released with only the first patch batch merged into it. either both batches should be there, or both batches should not be there. There was a discussion about postponing it, but not much further it seems. In any case It may not be necessarily wrong to have dialog reorg in 3.3 without insttypes as it will at least get people to get used to it and we can gather feedback. It's not that it removes any functionality, on the contrary, e.g. the type ahead feature even solves some of the bugs we already have.
The answer is yes, in a sense: Instance Types + Images are actually somewhat "replacing" Templates [the general approach is to move to basing VMs on Instance Types + Images, rather than on Templates; it allows more flexibility in combining hardware configuration + image configuration for the VM, without (necessarily) editing each VM field separately].
So as I stated in my previous response: Having the "Instance Types" field (and "Image" field) in the top static section is very useful, as they affect the fields in most / a lot of the side-tabs.
Based on the above:
Do you agree that it makes sense to have a top static section in general [even only for the "Instance Types" field and "Image" field (again, as they affect most / a lot of side-tabs fields)]? If so: Do you think that it makes sense to include the DC field in that top static section as well (at least due to the fact that the "Instance Types" list and "Images" list are derived from the selected DC)?
MR: Yes makes sense to include DC in static panel because some of the other fields in the static panel are dependent on it.
[Tomas/Malini/Eldan - if there is additional/different reasoning for putting the DC/Cluster field on the top static section - please share]
(which will be odd for the other tabs).
So I still don't get the motivation UX-wise. E.g. it seems really weird to change the entire DC from Console tab (or, as a matter of fact, from most other tabs).
MR: Not sure I understand. You can change DC when you are on ANY sub tab because the DC is a field in the static panel. The static panel is not the sub-tab.
In the new instance type dialog, which tabs could be directly affected by DC/Cluster? IIUC, only Host? Do we really need a static header just for this tab?
MR: Ideally, if we have only one sub-tab that has some dependencies with some basic fields, we should try to design the first sub-tab to have all those fields and eliminate the static panel. But if it is weird to have those additional fields on the very first sub-tab from a workflow perspective, then we should have the static panel even if the dependency is only on one sub-tab. The rule we are going by then is that it doesn't hurt to have context info on the top but it hurts more to not have that context info when needed.
so for consistency-within-the-dialog considerations, it is probably a good idea to simply always show these fields within this top static section.
[there is a good chance that I am missing your point here - please correct me if necessary]
[1] http://gerrit.ovirt.org/#/c/14936/
[2] http://www.ovirt.org/Features/Instance_Types
[3] http://www.ovirt.org/images/9/9e/Instance_type.pdf
[4] whenever changing the "Instance Type" value, you can automatically see how these changes affect the fields in the current tab on which you are standing (e.g. if you are standing on the "System" side-tab, you can change the "Instance Type" selected item and immediately see the changes within the "System" side-tab contents), and vice-versa: if you are changing a value that was originally propagated from the instance-type, you will see the instance-type automatically change to "custom"/"not applicable" as a result, so no need to "jump" between side-tabs in order to observe these changes.
> >> >> ---- >> Thanks, >> Einav >> >> [1] http://www.ovirt.org/images/9/9e/Instance_type.pdf >> >> ----- Original Message ----- >>> From: derez@redhat.com >>> To: "Tomas Jelinek" <tjelinek@redhat.com> >>> Cc: "Vojtech Szocs" <vszocs@redhat.com>, "Einav Cohen" >>> <ecohen@redhat.com>, >>> "Frank Kobzik" <fkobzik@redhat.com>, >>> "Eldan Hildesheim" <info@eldanet.com> >>> Sent: Tuesday, May 28, 2013 5:05:38 PM >>> Subject: Change in ovirt-engine[master]: userportal,webadmin: >>> redesign >>> of >>> vm related dialogs >>> >>> Daniel Erez has posted comments on this change. >>> >>> Change subject: userportal,webadmin: redesign of vm related >>> dialogs >>> ...................................................................... >>> >>> >>> Patch Set 5: (1 inline comment) >>> >>> Code looks good. >>> A few questions regarding the design: >>> 1. Why do we want the static header only in VM dialog? >>> 2. DC/Host are really relevant for all tabs? >>> 3. Is it just a preparation for the final instance type dialog? >>> 4. If it's indeed merely preparation, shouldn't it be merged >>> only >>> once >>> we >>> have the full picture of the new dialog? >>> >>> .................................................... >>> File >>> frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/dialog/tab/DialogTabPanel.ui.xml >>> Line 21: >>> Line 22: .header { >>> Line 23: background-color: #D3D3D3; >>> Line 24: border-bottom: 1px solid #CED8DF; >>> Line 25: margin-bottom: 15px; >>> is it supposed to be that large? >>> Line 26: padding-top: 6px; >>> Line 27: margin-top: 4px; >>> Line 28: margin-right: 3px; >>> Line 29: display: none; >>> >>> >>> -- >>> To view, visit http://gerrit.ovirt.org/14635 >>> To unsubscribe, visit http://gerrit.ovirt.org/settings >>> >>> Gerrit-MessageType: comment >>> Gerrit-Change-Id: Icad8098e286f821da25fac22fd0a840a42f105c9 >>> Gerrit-PatchSet: 5 >>> Gerrit-Project: ovirt-engine >>> Gerrit-Branch: master >>> Gerrit-Owner: Tomas Jelinek <tjelinek@redhat.com> >>> Gerrit-Reviewer: Daniel Erez <derez@redhat.com> >>> Gerrit-Reviewer: Einav Cohen <ecohen@redhat.com> >>> Gerrit-Reviewer: Eldan Hildesheim <info@eldanet.com> >>> Gerrit-Reviewer: Frank Kobzik <fkobzik@redhat.com> >>> Gerrit-Reviewer: Tomas Jelinek <tjelinek@redhat.com> >>> Gerrit-Reviewer: Vojtech Szocs <vszocs@redhat.com> >>> >> >
_______________________________________________ Engine-devel mailing list Engine-devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-devel

Adding also Omer because he is doing the BE of the instance types feature. ----- Original Message -----
From: "Michal Skrivanek" <michal.skrivanek@redhat.com> To: "Einav Cohen" <ecohen@redhat.com> Cc: "Tomas Jelinek" <tjelinek@redhat.com>, "Daniel Erez" <derez@redhat.com>, "Malini Rao" <mrao@redhat.com>, "Eldan Hildesheim" <info@eldanet.com>, "engine-devel" <engine-devel@ovirt.org>, "Eldan Hildesheim" <ehildesh@redhat.com> Sent: Friday, May 31, 2013 2:10:39 PM Subject: Re: [Engine-devel] static header only in VM dialog?
On 31 May 2013, at 13:44, Einav Cohen wrote:
----- Original Message ----- From: "Tomas Jelinek" <tjelinek@redhat.com> Sent: Friday, May 31, 2013 2:22:57 AM
----- Original Message -----
From: "Malini Rao" <mrao@redhat.com> To: "Einav Cohen" <ecohen@redhat.com> Cc: "Daniel Erez" <derez@redhat.com>, "Eldan Hildesheim" <info@eldanet.com>, "engine-devel" <engine-devel@ovirt.org>, "Eldan Hildesheim" <ehildesh@redhat.com>, "Tomas Jelinek" <tjelinek@redhat.com> Sent: Thursday, May 30, 2013 5:56:59 PM Subject: Re: [Engine-devel] static header only in VM dialog?
Sorry to join the thread late. The long weekend was followed by a conference for the UX team and hence the delay. See comments below inline -
----- Original Message -----
From: "Einav Cohen" <ecohen@redhat.com> To: "Daniel Erez" <derez@redhat.com> Cc: "Eldan Hildesheim" <info@eldanet.com>, "engine-devel" <engine-devel@ovirt.org>, "Eldan Hildesheim" <ehildesh@redhat.com>, "Malini Rao" <mrao@redhat.com>, "Tomas Jelinek" <tjelinek@redhat.com> Sent: Wednesday, May 29, 2013 8:21:30 AM Subject: Re: [Engine-devel] static header only in VM dialog?
----- Original Message ----- From: "Daniel Erez" <derez@redhat.com> Sent: Wednesday, May 29, 2013 1:36:03 AM
----- Original Message ----- > From: "Einav Cohen" <ecohen@redhat.com> > To: "Daniel Erez" <derez@redhat.com>, "Malini Rao" <mrao@redhat.com>, > "Eldan Hildesheim" <info@eldanet.com>, "Eldan > Hildesheim" <ehildesh@redhat.com>, "Tomas Jelinek" > <tjelinek@redhat.com> > Cc: "engine-devel" <engine-devel@ovirt.org> > Sent: Wednesday, May 29, 2013 2:30:09 AM > Subject: Re: static header only in VM dialog? > >> ----- Original Message ----- >> From: "Daniel Erez" <derez@redhat.com> >> Sent: Tuesday, May 28, 2013 6:18:20 PM >> >> >> ----- Original Message ----- >>> From: "Einav Cohen" <ecohen@redhat.com> >>> To: "Malini Rao" <mrao@redhat.com>, "Eldan Hildesheim" >>> <info@eldanet.com>, >>> "Eldan Hildesheim" <ehildesh@redhat.com> >>> Cc: "Tomas Jelinek" <tjelinek@redhat.com>, derez@redhat.com, >>> "engine-devel" >>> <engine-devel@ovirt.org> >>> Sent: Wednesday, May 29, 2013 12:53:47 AM >>> Subject: static header only in VM dialog? >>> >>> when reviewing the code for the "redesign of vm related dialogs", >>> Daniel >>> has >>> raised an interesting question: Why do we want the static header >>> only >>> in >>> VM >>> dialog? >>> >>> (I assume that he refers to the top section of the New VM dialog >>> as >>> seen >>> in >>> [1], which >>> contains the DC/Cluster, Quota, etc information, and is "static", >>> i.e., >>> it >>> is >>> always >>> displayed, regardless of the selected side-tab within the dialog) >>> >>> I agree with what Daniel is implying here: for consistency, we >>> would >>> probably >>> want to >>> introduce this static header to other dialogs, at least to the >>> ones >>> that >>> also >>> contain >>> side-tabs in which it makes sense to turn the "header" to static >>> [e.g. >>> "New Host" (which contains a DC + Cluster "header") - see >>> http://oi39.tinypic.com/2z84xnp.jpg, >>> "New Cluster" (which contains a DC "header") - see >>> http://oi40.tinypic.com/2vmyj2x.jpg]
MR: Consistency is important but we need to make only UIs with similar purposes consistent and not aim for consistency where it will not serve a real Usability goal or worse get in the way. See next comment for more on UX motivation for this static panel for new VM creation where it was originally proposed.
>>> >>> [I assume, of course, that all the VM-like dialogs (e.g. New/Edit >>> VM-Pool) >>> will also have >>> static headers - I don't know if the patch already takes care of >>> that >>> or >>> not] >>> >>> Thoughts? >>> >>> [@Daniel - if you had something else in mind, and/or other >>> dialogs >>> in >>> mind >>> - >>> please feel free >>> to add/amend/etc]
MR: Before we proliferate this UI paradigm into other areas, let us look at the list of dialogs where we are considering this against the primary UX motivations with which this static panel was originally suggested. UX can help with this exercise on where it makes sense to have the static panel.
>> >> Besides consistency matters, I wanted to understand what's the >> motivation >> of >> keeping these widgets static. I.e. is it an essential preparation >> for >> the >> new >> instance type dialog or a new concept for tab based dialogs >> (as DC/Cluster values aren't necessarily relevant for each tab in >> the >> dialog) > > [maybe Tomas/Eldan/Malini can help here as well]
MR: Here are the original motivations for this static panel.
1. Context for dependencies - In the create VM dialog and the introduction of instance types and images, we came up with two core needs for the UI - There were some fields that were context-setting for other fields with dependencies. So, changing these context setting field values would alter the choices in other fields on one of the sub-tabs or eliminate or populate fields in these tabs. We wanted to ground the user with the context so that they can observe any changes that happen on a tab and determine what caused that change in the static panel.
2. Basic and mandatory - In the create VM dialog and the introduction of instance types and images, we also had to represent different levels of definition needed. For e.g, there were some basic and mandatory fields that were minimally needed for the definition of a VM irrespective of whether the user was basic or advanced. These fields were included in the static panel or at the most in the very first sub tab if they were not a context setting field for any other dependent field. This way the user does not have to go anywhere else to do a basic definition of the VM.
Then we had another layer of permissioning where the fields you had access to on various tabs depended on whether you were a basic or advanced user. But note, we did have scenarios where some advanced fields made it to the static panel because they were a context setter.
So to summarize the motivation of why the static panel and what should go into the static panel - You need a static panel ONLY if you have certain fields (basic or advanced) that act as context setters for all or some of the other fields in the other sub-tabs. Static panels can further optionally be extended to present all the fields that are needed for basic definition of an object. If there is no dependency and there is a dialog with multiple sub-tabs, then we SHOULD NOT just create a static panel for the basic definition fields. These fields should populate the first sub tab. Let me know if any further clarifications are needed.
> > these static widgets (as well as the type ahead list box [1], for > example) > are part of > the instance types feature that had its design details published in > [2] > and > [3], and the > implementation was done according to this design. I don't see any > reason > to > not utilize > this newly-introduced concept in other side-tab-based dialogs as > well, > if > it > makes sense > (ui consistency considerations are sufficient, IMO, but I could be > wrong > - > maybe it is > relevant/correct to introduce this new concept only in the VM-like > dialogs).
MR: The UX motivations for the static panel are generalizable even though they were designed for the New VM dialog. See above comment. But we need to gauge the reqs on each of the dialogs with subtabs against the core motivation and see if we need the static panel on it or not.
> > regarding the specific concern about the DC/Cluster values that > aren't > necessarily relevant > for each side-tab in the dialog: I agree with that statement,
MR: If any field recommended in the UX proposal is not useful as a context setter, then please let us know and we can move it to the first sub-tab.
however:
> > - putting the "Instance Type" drop-down at the top static section is > very > useful (see [4] > for explanation), and as the Instance Types list is derived from the > selected > DC, it makes > sense (to me) to put the DC in that top static section as well.
MR: Agree. That is probably why we ended up leaving the DC there.
> > - the DC/Cluster are relevant for some of the tabs in the dialog > (Host, > Resource Allocation?)
Only for Host. Resource Allocation is directly affected by the selected template. Therefore, it sounds very confusing to me... Unless we add template to the static header as well?
MR: I think we incorporated the templates into the Image field and denoted it with an icon preceding the drop down choice. So, the template is in the static panel.
Just a small note: the first patch we are talking about (http://gerrit.ovirt.org/#/c/14635) adds only Data Center, Cluster and Quota to the header. There is a second patch (http://gerrit.ovirt.org/#/c/15011/) which moves the OS type and template to the header. The Image and Instance Type fields are not implemented yet. The current patches just redesigns the current UX according to the mockups - the new entities will be integrated after we will have an agreement and this batch of patches will be merged.
OK, that explains a lot... :) many thanks, Tomas, for the clarification.
I understand now Daniels's concern; it indeed doesn't make much sense for the DC/Cluster and Quota fields to be the only fields in the top static section. However, as this is a preparation for the Instance Types fields patches, it makes sense that we will first do the preparation work (i.e. change/reorganize the existing dialog layout), and then incorporate the Instance Types fields into it (given that it is being done *shortly* afterwards), or simply do everything altogether.
@Tomas - ideally, the code that actually adds the Instance Types fields should have been part of this patch chain (either in more patches, or in "larger" patches), as again - I agree with Daniel that it makes no sense to having a static header in the VM dialogs with only DC/Cluster and Quota in them [1]. However, there is a chance that it would have been resulted in very large patches / a very long series of patches, which would have been even harder to review/rebase/etc.
how long will it take for you to have the patches that actually add the Instance Types fields ready (once the first batch is merged)? as long as it will be done shortly afterwards, then your approach seems ok (again - my main concern is [1]). Adding Omer for his estimate as he is doing the backend part of the instance types. It is hard to estimate, but I would say it will take a ~week to implement and an unpredictable time to review and merge (the first part of this batch is in gerrit since may 10th and is far from being merged...).
[1] my main concern is that this batch of patches (dialog reorg) will make it into ovirt 3.3, but the second batch (which will contain the actual Instance Types fields) won't make it in time [see the ovirt 3.3 schedule in: http://www.ovirt.org/OVirt_3.3_release-management - ovirt 3.3 feature freeze is today (?!)]; so I wouldn't want to see ovirt 3.3 being released with only the first patch batch merged into it. either both batches should be there, or both batches should not be there. well, I don't see a problem having only the first part in. Given that the template = instance type + image and the templates are added to the header in this batch, the reasoning behind having the instance types and images in the header can be applied to having the templates in the header (which BTW will be true even after adding instance types and images)
Also, this batch of patches brings other values to the users like: - type ahead combo boxes - unifies new server/desktop to new vm (so can have server with more displays or soundcard etc) - simplifies the VM dialogs (with show/hide advanced options button and system tab) - adds the possibility to edit the NIC/network assignment directly from the VM dialog - unifies the cluster and DC to one field so no need to select them one-by-one This all are useful features which can bring some value to the user and make perfect sense without instance types. To put it to wider context: the feature is called "Instance Types" but a more fitting name would be something like "Simplify VM based entity management". The reason is that today it is quite hard to make a new VM or edit it etc. because when you open a e.g. new VM dialog, you are flooded with tons of config options and you have no idea (if you open it first time) what do you have to edit. And even you finally fill it, you still need to go to some subtabs for e.g. create a NIC and assign it a network. Or, if you want to select a template to base your VM on, you have to first go to the templates tab and to find out which template is for what (the current batch will show at least the description next to the template thanks to the type ahead combo which is already a big help). The effort here is to simplify this. The already implemented patches are some steps which simplify the VM management. The instance types will make next step in simplifying it. But I don't see a reason why not to go step-by-step. Please also consider all the time and risk of regression which is carried by each rebase. And the longer the patch sits in gerrit, the bigger the risk is. But anyway, I understand that the freeze is today so I don't see a way to make it in...
There was a discussion about postponing it, but not much further it seems. In any case It may not be necessarily wrong to have dialog reorg in 3.3 without insttypes as it will at least get people to get used to it and we can gather feedback. It's not that it removes any functionality, on the contrary, e.g. the type ahead feature even solves some of the bugs we already have.
The answer is yes, in a sense: Instance Types + Images are actually somewhat "replacing" Templates [the general approach is to move to basing VMs on Instance Types + Images, rather than on Templates; it allows more flexibility in combining hardware configuration + image configuration for the VM, without (necessarily) editing each VM field separately].
So as I stated in my previous response: Having the "Instance Types" field (and "Image" field) in the top static section is very useful, as they affect the fields in most / a lot of the side-tabs.
Based on the above:
Do you agree that it makes sense to have a top static section in general [even only for the "Instance Types" field and "Image" field (again, as they affect most / a lot of side-tabs fields)]? If so: Do you think that it makes sense to include the DC field in that top static section as well (at least due to the fact that the "Instance Types" list and "Images" list are derived from the selected DC)?
MR: Yes makes sense to include DC in static panel because some of the other fields in the static panel are dependent on it.
[Tomas/Malini/Eldan - if there is additional/different reasoning for putting the DC/Cluster field on the top static section - please share]
(which will be odd for the other tabs).
So I still don't get the motivation UX-wise. E.g. it seems really weird to change the entire DC from Console tab (or, as a matter of fact, from most other tabs).
MR: Not sure I understand. You can change DC when you are on ANY sub tab because the DC is a field in the static panel. The static panel is not the sub-tab.
In the new instance type dialog, which tabs could be directly affected by DC/Cluster? IIUC, only Host? Do we really need a static header just for this tab?
MR: Ideally, if we have only one sub-tab that has some dependencies with some basic fields, we should try to design the first sub-tab to have all those fields and eliminate the static panel. But if it is weird to have those additional fields on the very first sub-tab from a workflow perspective, then we should have the static panel even if the dependency is only on one sub-tab. The rule we are going by then is that it doesn't hurt to have context info on the top but it hurts more to not have that context info when needed.
> so for consistency-within-the-dialog considerations, it is probably a > good > idea to simply > always show these fields within this top static section. > > [there is a good chance that I am missing your point here - please > correct > me > if necessary] > > [1] http://gerrit.ovirt.org/#/c/14936/ > > [2] http://www.ovirt.org/Features/Instance_Types > > [3] http://www.ovirt.org/images/9/9e/Instance_type.pdf > > [4] whenever changing the "Instance Type" value, you can > automatically > see > how these changes > affect the fields in the current tab on which you are standing (e.g. > if > you > are standing on > the "System" side-tab, you can change the "Instance Type" selected > item > and > immediately see > the changes within the "System" side-tab contents), and vice-versa: > if > you > are changing a value > that was originally propagated from the instance-type, you will see > the > instance-type automatically > change to "custom"/"not applicable" as a result, so no need to "jump" > between > side-tabs in order > to observe these changes. > >> >>> >>> ---- >>> Thanks, >>> Einav >>> >>> [1] http://www.ovirt.org/images/9/9e/Instance_type.pdf >>> >>> ----- Original Message ----- >>>> From: derez@redhat.com >>>> To: "Tomas Jelinek" <tjelinek@redhat.com> >>>> Cc: "Vojtech Szocs" <vszocs@redhat.com>, "Einav Cohen" >>>> <ecohen@redhat.com>, >>>> "Frank Kobzik" <fkobzik@redhat.com>, >>>> "Eldan Hildesheim" <info@eldanet.com> >>>> Sent: Tuesday, May 28, 2013 5:05:38 PM >>>> Subject: Change in ovirt-engine[master]: userportal,webadmin: >>>> redesign >>>> of >>>> vm related dialogs >>>> >>>> Daniel Erez has posted comments on this change. >>>> >>>> Change subject: userportal,webadmin: redesign of vm related >>>> dialogs >>>> ...................................................................... >>>> >>>> >>>> Patch Set 5: (1 inline comment) >>>> >>>> Code looks good. >>>> A few questions regarding the design: >>>> 1. Why do we want the static header only in VM dialog? >>>> 2. DC/Host are really relevant for all tabs? >>>> 3. Is it just a preparation for the final instance type dialog? >>>> 4. If it's indeed merely preparation, shouldn't it be merged >>>> only >>>> once >>>> we >>>> have the full picture of the new dialog? >>>> >>>> .................................................... >>>> File >>>> frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/dialog/tab/DialogTabPanel.ui.xml >>>> Line 21: >>>> Line 22: .header { >>>> Line 23: background-color: #D3D3D3; >>>> Line 24: border-bottom: 1px solid #CED8DF; >>>> Line 25: margin-bottom: 15px; >>>> is it supposed to be that large? >>>> Line 26: padding-top: 6px; >>>> Line 27: margin-top: 4px; >>>> Line 28: margin-right: 3px; >>>> Line 29: display: none; >>>> >>>> >>>> -- >>>> To view, visit http://gerrit.ovirt.org/14635 >>>> To unsubscribe, visit http://gerrit.ovirt.org/settings >>>> >>>> Gerrit-MessageType: comment >>>> Gerrit-Change-Id: Icad8098e286f821da25fac22fd0a840a42f105c9 >>>> Gerrit-PatchSet: 5 >>>> Gerrit-Project: ovirt-engine >>>> Gerrit-Branch: master >>>> Gerrit-Owner: Tomas Jelinek <tjelinek@redhat.com> >>>> Gerrit-Reviewer: Daniel Erez <derez@redhat.com> >>>> Gerrit-Reviewer: Einav Cohen <ecohen@redhat.com> >>>> Gerrit-Reviewer: Eldan Hildesheim <info@eldanet.com> >>>> Gerrit-Reviewer: Frank Kobzik <fkobzik@redhat.com> >>>> Gerrit-Reviewer: Tomas Jelinek <tjelinek@redhat.com> >>>> Gerrit-Reviewer: Vojtech Szocs <vszocs@redhat.com> >>>> >>> >> > _______________________________________________ Engine-devel mailing list Engine-devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-devel

...
[1] my main concern is that this batch of patches (dialog reorg) will make it into ovirt 3.3, but the second batch (which will contain the actual Instance Types fields) won't make it in time [see the ovirt 3.3 schedule in: http://www.ovirt.org/OVirt_3.3_release-management - ovirt 3.3 feature freeze is today (?!)]; so I wouldn't want to see ovirt 3.3 being released with only the first patch batch merged into it. either both batches should be there, or both batches should not be there.
There was a discussion about postponing it, but not much further it seems. In any case It may not be necessarily wrong to have dialog reorg in 3.3 without insttypes as it will at least get people to get used to it and we can gather feedback. It's not that it removes any functionality, on the contrary, e.g. the type ahead feature even solves some of the bugs we already have.
indeed - it doesn't remove functionality, and I agree that it would be a good opportunity to get feedback about some things such as the type-ahead list box, however the top static header in particular with only the DC/Cluster + Quota in it may seem strange / annoying, as it would just seem like something that takes up "real estate" in the dialog in *all* side-tab without a real good reason. so there are pros and cons for introducing only the first patch batch to ovirt-3.3, I guess; Ideally, I would suggest to maybe re-organize the patches a bit differently, so that the top static header in particular wouldn't be part of this first patch batch, i.e., I would suggest introducing the top static header along with adding the Instance Types fields [which, to my understanding, is exactly what Daniel has originally suggested on the patch [1] in his gerrit comment(s) from May 28/29 (depends on the timezone) - only now I fully understand his concern (I think/hope)...]. not sure how easy it is to do though - I know that *a lot* of time and effort were already invested in these patches as they are now, and I wouldn't want that the reviewing/ merging process will be held off for much longer. To sum up: these are the options, as I see them: 1) keep the current patch batch as is and: a. merge it in time for ovirt-3.3, or: b. merge it post ovirt-3.3. - or - 2) go with what Daniel has suggested in his gerrit comment: reorganize the patches so that the top static header would be introduced only along with the instance types fields [that way, it won't matter what makes it into ovirt-3.3 - the first patch batch, or both (or none)]. I am in favor of (1.b) or (2). However, weighing the cons of (1.a) against the pros of (1.a) / cons of (1.b) or against the effort that (2) will require, and taking into consideration the effort that was already invested, I am not strongly against (1.a) as well. [1] http://gerrit.ovirt.org/#/c/14635/
...

On 05/31/2013 06:56 PM, Einav Cohen wrote:
...
[1] my main concern is that this batch of patches (dialog reorg) will make it into ovirt 3.3, but the second batch (which will contain the actual Instance Types fields) won't make it in time [see the ovirt 3.3 schedule in: http://www.ovirt.org/OVirt_3.3_release-management - ovirt 3.3 feature freeze is today (?!)]; so I wouldn't want to see ovirt 3.3 being released with only the first patch batch merged into it. either both batches should be there, or both batches should not be there.
There was a discussion about postponing it, but not much further it seems. In any case It may not be necessarily wrong to have dialog reorg in 3.3 without insttypes as it will at least get people to get used to it and we can gather feedback. It's not that it removes any functionality, on the contrary, e.g. the type ahead feature even solves some of the bugs we already have.
indeed - it doesn't remove functionality, and I agree that it would be a good opportunity to get feedback about some things such as the type-ahead list box, however the top static header in particular with only the DC/Cluster + Quota in it may seem strange / annoying, as it would just seem like something that takes up "real estate" in the dialog in *all* side-tab without a real good reason.
but the optimize for desktop/server already start to affect other panes?
so there are pros and cons for introducing only the first patch batch to ovirt-3.3, I guess; Ideally, I would suggest to maybe re-organize the patches a bit differently, so that the top static header in particular wouldn't be part of this first patch batch, i.e., I would suggest introducing the top static header along with adding the Instance Types fields [which, to my understanding, is exactly what Daniel has originally suggested on the patch [1] in his gerrit comment(s) from May 28/29 (depends on the timezone) - only now I fully understand his concern (I think/hope)...].
not sure how easy it is to do though - I know that *a lot* of time and effort were already invested in these patches as they are now, and I wouldn't want that the reviewing/ merging process will be held off for much longer.
To sum up: these are the options, as I see them:
1) keep the current patch batch as is and:
a. merge it in time for ovirt-3.3, or:
b. merge it post ovirt-3.3.
- or -
2) go with what Daniel has suggested in his gerrit comment: reorganize the patches so that the top static header would be introduced only along with the instance types fields [that way, it won't matter what makes it into ovirt-3.3 - the first patch batch, or both (or none)].
I am in favor of (1.b) or (2). However, weighing the cons of (1.a) against the pros of (1.a) / cons of (1.b) or against the effort that (2) will require, and taking into consideration the effort that was already invested, I am not strongly against (1.a) as well.
[1] http://gerrit.ovirt.org/#/c/14635/
...

----- Original Message ----- From: "Itamar Heim" <iheim@redhat.com> Sent: Friday, May 31, 2013 12:03:09 PM
On 05/31/2013 06:56 PM, Einav Cohen wrote:
...
[1] my main concern is that this batch of patches (dialog reorg) will make it into ovirt 3.3, but the second batch (which will contain the actual Instance Types fields) won't make it in time [see the ovirt 3.3 schedule in: http://www.ovirt.org/OVirt_3.3_release-management - ovirt 3.3 feature freeze is today (?!)]; so I wouldn't want to see ovirt 3.3 being released with only the first patch batch merged into it. either both batches should be there, or both batches should not be there.
There was a discussion about postponing it, but not much further it seems. In any case It may not be necessarily wrong to have dialog reorg in 3.3 without insttypes as it will at least get people to get used to it and we can gather feedback. It's not that it removes any functionality, on the contrary, e.g. the type ahead feature even solves some of the bugs we already have.
indeed - it doesn't remove functionality, and I agree that it would be a good opportunity to get feedback about some things such as the type-ahead list box, however the top static header in particular with only the DC/Cluster + Quota in it may seem strange / annoying, as it would just seem like something that takes up "real estate" in the dialog in *all* side-tab without a real good reason.
but the optimize for desktop/server already start to affect other panes?
quoting Tomas: """ the first patch we are talking about (http://gerrit.ovirt.org/#/c/14635) adds only Data Center, Cluster and Quota to the header. There is a second patch (http://gerrit.ovirt.org/#/c/15011/) which moves the OS type and template to the header. """ so IIUC, the first patch batch [2] will include moving the following fields into the static header: - DataCenter/Cluster - Quota - OS type - Template @Tomas - I suggest that you will clarify: A) which fields exactly are going to be included in the top static header of the New VM dialog *in your current patch batch* [2], and: B) which side-tabs in the New VM dialog will be affected by the fields in (A). [there is a chance that the fields in (A) already affect a lot of the side-tabs, which means that it would actually make sense to introduce the top static section in the current patch batch, even without the Instance Types / Images fields included in it, which is what (I think) Itamar is implying] [2] the current patch batch, to my understanding, is: http://gerrit.ovirt.org/#/c/14635/ http://gerrit.ovirt.org/#/c/14810/ http://gerrit.ovirt.org/#/c/14936/ http://gerrit.ovirt.org/#/c/15011/ http://gerrit.ovirt.org/#/c/15048/ http://gerrit.ovirt.org/#/c/15102/ http://gerrit.ovirt.org/#/c/15199/
so there are pros and cons for introducing only the first patch batch to ovirt-3.3, I guess; Ideally, I would suggest to maybe re-organize the patches a bit differently, so that the top static header in particular wouldn't be part of this first patch batch, i.e., I would suggest introducing the top static header along with adding the Instance Types fields [which, to my understanding, is exactly what Daniel has originally suggested on the patch [1] in his gerrit comment(s) from May 28/29 (depends on the timezone) - only now I fully understand his concern (I think/hope)...].
not sure how easy it is to do though - I know that *a lot* of time and effort were already invested in these patches as they are now, and I wouldn't want that the reviewing/ merging process will be held off for much longer.
To sum up: these are the options, as I see them:
1) keep the current patch batch as is and:
a. merge it in time for ovirt-3.3, or:
b. merge it post ovirt-3.3.
- or -
2) go with what Daniel has suggested in his gerrit comment: reorganize the patches so that the top static header would be introduced only along with the instance types fields [that way, it won't matter what makes it into ovirt-3.3 - the first patch batch, or both (or none)].
I am in favor of (1.b) or (2). However, weighing the cons of (1.a) against the pros of (1.a) / cons of (1.b) or against the effort that (2) will require, and taking into consideration the effort that was already invested, I am not strongly against (1.a) as well.
[1] http://gerrit.ovirt.org/#/c/14635/
...

----- Original Message ----- > From: "Einav Cohen" <ecohen@redhat.com> > To: "Itamar Heim" <iheim@redhat.com>, "Tomas Jelinek" <tjelinek@redhat.com> > Cc: "Michal Skrivanek" <michal.skrivanek@redhat.com>, "Eldan Hildesheim" <info@eldanet.com>, "engine-devel" > <engine-devel@ovirt.org>, "Eldan Hildesheim" <ehildesh@redhat.com>, "Daniel Erez" <derez@redhat.com>, "Malini Rao" > <mrao@redhat.com> > Sent: Friday, May 31, 2013 6:28:19 PM > Subject: Re: [Engine-devel] static header only in VM dialog? > > > ----- Original Message ----- > > From: "Itamar Heim" <iheim@redhat.com> > > Sent: Friday, May 31, 2013 12:03:09 PM > > > > On 05/31/2013 06:56 PM, Einav Cohen wrote: > > >>> ... > > >>> > > >>> [1] my main concern is that this batch of patches (dialog reorg) will > > >>> make > > >>> it into ovirt > > >>> 3.3, but the second batch (which will contain the actual Instance Types > > >>> fields) won't make > > >>> it in time [see the ovirt 3.3 schedule in: > > >>> http://www.ovirt.org/OVirt_3.3_release-management - > > >>> ovirt 3.3 feature freeze is today (?!)]; so I wouldn't want to see > > >>> ovirt > > >>> 3.3 being released > > >>> with only the first patch batch merged into it. either both batches > > >>> should > > >>> be there, or > > >>> both batches should not be there. > > >> > > >> There was a discussion about postponing it, but not much further it > > >> seems. > > >> In any case It may not be necessarily wrong to have dialog reorg in 3.3 > > >> without insttypes as it will at least get people to get used to it and > > >> we > > >> can gather feedback. It's not that it removes any functionality, on the > > >> contrary, e.g. the type ahead feature even solves some of the bugs we > > >> already have. > > > > > > indeed - it doesn't remove functionality, and I agree that it would be a > > > good > > > opportunity to get feedback about some things such as the type-ahead list > > > box, > > > however the top static header in particular with only the DC/Cluster + > > > Quota > > > in it may seem strange / annoying, as it would just seem like something > > > that > > > takes up "real estate" in the dialog in *all* side-tab without a real > > > good > > > reason. > > > > but the optimize for desktop/server already start to affect other panes? > > quoting Tomas: > > """ > the first patch we are talking about (http://gerrit.ovirt.org/#/c/14635) > adds only Data Center, Cluster and Quota to the header. > There is a second patch (http://gerrit.ovirt.org/#/c/15011/) which moves the > OS type and > template to the header. > """ > > so IIUC, the first patch batch [2] will include moving the following fields > into the > static header: > > - DataCenter/Cluster > - Quota > - OS type > - Template > > @Tomas - I suggest that you will clarify: > > A) which fields exactly are going to be included in the top static header of > the New VM > dialog *in your current patch batch* [2], and: - Data Center - Cluster - Quota - Template (because according to the mockup the Image field will contain both Template and Image, so until we have images, just templates are there) - Vm Type (e.g. if server or desktop) - OS type (well, basically according to mockup, just without the instance type) > > B) which side-tabs in the New VM dialog will be affected by the fields in > (A). More or less all with some exceptions - especially thanx to the template field. And this will not change at all after introducing instance types/templates because template = instance type + image. So the question is not really if we want to wait until the instance types and images will affect enough side tabs (because that will not change at all) but if we want to have a top header panel or not. I personally start to think that it is more or less a question of taste. One may argue that it makes the dialogs more understandable (by having context all the time) and other that it makes them more un-understandable by flood of information in context you don't need. I guess either way has some advantages and disadvantages and there is no strict good/wrong solution. > > [there is a chance that the fields in (A) already affect a lot of the > side-tabs, which means > that it would actually make sense to introduce the top static section in the > current patch > batch, even without the Instance Types / Images fields included in it, which > is what (I think) > Itamar is implying] > > > [2] the current patch batch, to my understanding, is: > > http://gerrit.ovirt.org/#/c/14635/ > http://gerrit.ovirt.org/#/c/14810/ > http://gerrit.ovirt.org/#/c/14936/ > http://gerrit.ovirt.org/#/c/15011/ > http://gerrit.ovirt.org/#/c/15048/ > http://gerrit.ovirt.org/#/c/15102/ > http://gerrit.ovirt.org/#/c/15199/ > > > > > > > > > > so there are pros and cons for introducing only the first patch batch to > > > ovirt-3.3, > > > I guess; Ideally, I would suggest to maybe re-organize the patches a bit > > > differently, > > > so that the top static header in particular wouldn't be part of this > > > first > > > patch batch, > > > i.e., I would suggest introducing the top static header along with adding > > > the Instance > > > Types fields [which, to my understanding, is exactly what Daniel has > > > originally suggested > > > on the patch [1] in his gerrit comment(s) from May 28/29 (depends on the > > > timezone) - > > > only now I fully understand his concern (I think/hope)...]. > > > > > > not sure how easy it is to do though - I know that *a lot* of time and > > > effort were > > > already invested in these patches as they are now, and I wouldn't want > > > that > > > the reviewing/ > > > merging process will be held off for much longer. > > > > > > To sum up: these are the options, as I see them: > > > > > > 1) keep the current patch batch as is and: > > > > > > a. merge it in time for ovirt-3.3, or: > > > > > > b. merge it post ovirt-3.3. > > > > > > - or - > > > > > > 2) go with what Daniel has suggested in his gerrit comment: reorganize > > > the > > > patches so that > > > the top static header would be introduced only along with the instance > > > types fields [that > > > way, it won't matter what makes it into ovirt-3.3 - the first patch > > > batch, > > > or both (or none)]. > > > > > > I am in favor of (1.b) or (2). However, weighing the cons of (1.a) > > > against > > > the pros of (1.a) / > > > cons of (1.b) or against the effort that (2) will require, and taking > > > into > > > consideration the > > > effort that was already invested, I am not strongly against (1.a) as > > > well. > > > > > > [1] http://gerrit.ovirt.org/#/c/14635/ > > > > > >> ... > > > > > > > > > > >

...
@Tomas - I suggest that you will clarify:
A) which fields exactly are going to be included in the top static header of the New VM dialog *in your current patch batch* [2], and:
- Data Center - Cluster - Quota - Template (because according to the mockup the Image field will contain both Template and Image, so until we have images, just templates are there) - Vm Type (e.g. if server or desktop) - OS type (well, basically according to mockup, just without the instance type)
B) which side-tabs in the New VM dialog will be affected by the fields in (A).
More or less all with some exceptions - especially thanx to the template field. And this will not change at all after introducing instance types/templates because template = instance type + image.
So it seems that it would make sense to introduce the top static header even before introducing the Instance Types + Image fields, as it already contains fields (namely 'Template') that affect most of the side-tabs. Thanks, Tomas, for the clarification.
So the question is not really if we want to wait until the instance types and images will affect enough side tabs (because that will not change at all) but if we want to have a top header panel or not. I personally start to think that it is more or less a question of taste. One may argue that it makes the dialogs more understandable (by having context all the time) and other that it makes them more un-understandable by flood of information in context you don't need. I guess either way has some advantages and disadvantages and there is no strict good/wrong solution.
+1
...

----- Original Message -----
From: "Einav Cohen" <ecohen@redhat.com> To: "Tomas Jelinek" <tjelinek@redhat.com>, "Daniel Erez" <derez@redhat.com> Cc: "Itamar Heim" <iheim@redhat.com>, "Michal Skrivanek" <michal.skrivanek@redhat.com>, "Eldan Hildesheim" <info@eldanet.com>, "engine-devel" <engine-devel@ovirt.org>, "Eldan Hildesheim" <ehildesh@redhat.com>, "Malini Rao" <mrao@redhat.com> Sent: Monday, June 3, 2013 8:26:45 AM Subject: Re: [Engine-devel] static header only in VM dialog?
...
@Tomas - I suggest that you will clarify:
A) which fields exactly are going to be included in the top static header of the New VM dialog *in your current patch batch* [2], and:
- Data Center - Cluster - Quota - Template (because according to the mockup the Image field will contain both Template and Image, so until we have images, just templates are there) - Vm Type (e.g. if server or desktop) - OS type (well, basically according to mockup, just without the instance type)
B) which side-tabs in the New VM dialog will be affected by the fields in (A).
More or less all with some exceptions - especially thanx to the template field. And this will not change at all after introducing instance types/templates because template = instance type + image.
So it seems that it would make sense to introduce the top static header even before introducing the Instance Types + Image fields, as it already contains fields (namely 'Template') that affect most of the side-tabs. Thanks, Tomas, for the clarification.
So the question is not really if we want to wait until the instance types and images will affect enough side tabs (because that will not change at all) but if we want to have a top header panel or not. I personally start to think that it is more or less a question of taste. One may argue that it makes the dialogs more understandable (by having context all the time) and other that it makes them more un-understandable by flood of information in context you don't need. I guess either way has some advantages and disadvantages and there is no strict good/wrong solution.
+1
One way to limit this flooding of information in unnecessary contexts is to not apply a blind rule that the static panel will appear for all dialogs with sub tabs. As outlined in a previous email, the static panel should be used only if there is a dependency and it is impossible to show the interdependent fields on the same page. The other important thing we should do is very carefully consider what fields populate the static panel. The idea is that this panel is minimal and should definitely not becoming like a page in itself. -Malini
...

So, are there any additional concerns/questions which need to be discussed? I understand that we have one more month but I would like to avoid the situation from a week ago that the last possible day we realize that we don't have any more time anymore :) ----- Original Message -----
From: "Malini Rao" <mrao@redhat.com> To: "Einav Cohen" <ecohen@redhat.com> Cc: "Tomas Jelinek" <tjelinek@redhat.com>, "Daniel Erez" <derez@redhat.com>, "Itamar Heim" <iheim@redhat.com>, "Michal Skrivanek" <michal.skrivanek@redhat.com>, "Eldan Hildesheim" <info@eldanet.com>, "engine-devel" <engine-devel@ovirt.org>, "Eldan Hildesheim" <ehildesh@redhat.com> Sent: Monday, June 3, 2013 3:58:30 PM Subject: Re: [Engine-devel] static header only in VM dialog?
----- Original Message -----
From: "Einav Cohen" <ecohen@redhat.com> To: "Tomas Jelinek" <tjelinek@redhat.com>, "Daniel Erez" <derez@redhat.com> Cc: "Itamar Heim" <iheim@redhat.com>, "Michal Skrivanek" <michal.skrivanek@redhat.com>, "Eldan Hildesheim" <info@eldanet.com>, "engine-devel" <engine-devel@ovirt.org>, "Eldan Hildesheim" <ehildesh@redhat.com>, "Malini Rao" <mrao@redhat.com> Sent: Monday, June 3, 2013 8:26:45 AM Subject: Re: [Engine-devel] static header only in VM dialog?
...
@Tomas - I suggest that you will clarify:
A) which fields exactly are going to be included in the top static header of the New VM dialog *in your current patch batch* [2], and:
- Data Center - Cluster - Quota - Template (because according to the mockup the Image field will contain both Template and Image, so until we have images, just templates are there) - Vm Type (e.g. if server or desktop) - OS type (well, basically according to mockup, just without the instance type)
B) which side-tabs in the New VM dialog will be affected by the fields in (A).
More or less all with some exceptions - especially thanx to the template field. And this will not change at all after introducing instance types/templates because template = instance type + image.
So it seems that it would make sense to introduce the top static header even before introducing the Instance Types + Image fields, as it already contains fields (namely 'Template') that affect most of the side-tabs. Thanks, Tomas, for the clarification.
So the question is not really if we want to wait until the instance types and images will affect enough side tabs (because that will not change at all) but if we want to have a top header panel or not. I personally start to think that it is more or less a question of taste. One may argue that it makes the dialogs more understandable (by having context all the time) and other that it makes them more un-understandable by flood of information in context you don't need. I guess either way has some advantages and disadvantages and there is no strict good/wrong solution.
+1
One way to limit this flooding of information in unnecessary contexts is to not apply a blind rule that the static panel will appear for all dialogs with sub tabs. +1
As outlined in a previous email, the static panel should be used only if there is a dependency and it is impossible to show the interdependent fields on the same page. The other important thing we should do is very carefully consider what fields populate the static panel. The idea is that this panel is minimal and should definitely not becoming like a page in itself.
-Malini
...

----- Original Message -----
From: "Einav Cohen" <ecohen@redhat.com> To: "Michal Skrivanek" <michal.skrivanek@redhat.com>, "Tomas Jelinek" <tjelinek@redhat.com> Cc: "Eldan Hildesheim" <info@eldanet.com>, "engine-devel" <engine-devel@ovirt.org>, "Eldan Hildesheim" <ehildesh@redhat.com>, "Daniel Erez" <derez@redhat.com>, "Malini Rao" <mrao@redhat.com>, "Itamar Heim" <iheim@redhat.com> Sent: Friday, May 31, 2013 6:56:33 PM Subject: Re: [Engine-devel] static header only in VM dialog?
...
[1] my main concern is that this batch of patches (dialog reorg) will make it into ovirt 3.3, but the second batch (which will contain the actual Instance Types fields) won't make it in time [see the ovirt 3.3 schedule in: http://www.ovirt.org/OVirt_3.3_release-management - ovirt 3.3 feature freeze is today (?!)]; so I wouldn't want to see ovirt 3.3 being released with only the first patch batch merged into it. either both batches should be there, or both batches should not be there.
There was a discussion about postponing it, but not much further it seems. In any case It may not be necessarily wrong to have dialog reorg in 3.3 without insttypes as it will at least get people to get used to it and we can gather feedback. It's not that it removes any functionality, on the contrary, e.g. the type ahead feature even solves some of the bugs we already have.
indeed - it doesn't remove functionality, and I agree that it would be a good opportunity to get feedback about some things such as the type-ahead list box, however the top static header in particular with only the DC/Cluster + Quota in it may seem strange / annoying, as it would just seem like something that takes up "real estate" in the dialog in *all* side-tab without a real good reason.
so there are pros and cons for introducing only the first patch batch to ovirt-3.3, I guess; Ideally, I would suggest to maybe re-organize the patches a bit differently, so that the top static header in particular wouldn't be part of this first patch batch, i.e., I would suggest introducing the top static header along with adding the Instance Types fields [which, to my understanding, is exactly what Daniel has originally suggested on the patch [1] in his gerrit comment(s) from May 28/29 (depends on the timezone) - only now I fully understand his concern (I think/hope)...].
Exactly, I prefer that the static header will be introduced along with the new dialog I.e. squashed with the final dialog patch (with instance types fields). I understand that the static header might make sense for the final dialog (though I still don't like the idea that it's relevant only for some side-tabs). Added my remarks to the patch: http://gerrit.ovirt.org/#/c/14635/
not sure how easy it is to do though - I know that *a lot* of time and effort were already invested in these patches as they are now, and I wouldn't want that the reviewing/ merging process will be held off for much longer.
To sum up: these are the options, as I see them:
1) keep the current patch batch as is and:
a. merge it in time for ovirt-3.3, or:
b. merge it post ovirt-3.3.
- or -
2) go with what Daniel has suggested in his gerrit comment: reorganize the patches so that the top static header would be introduced only along with the instance types fields [that way, it won't matter what makes it into ovirt-3.3 - the first patch batch, or both (or none)].
I am in favor of (1.b) or (2). However, weighing the cons of (1.a) against the pros of (1.a) / cons of (1.b) or against the effort that (2) will require, and taking into consideration the effort that was already invested, I am not strongly against (1.a) as well.
[1] http://gerrit.ovirt.org/#/c/14635/
...

----- Original Message ----- From: "Daniel Erez" <derez@redhat.com> Sent: Friday, May 31, 2013 12:28:54 PM
----- Original Message -----
From: "Einav Cohen" <ecohen@redhat.com> To: "Michal Skrivanek" <michal.skrivanek@redhat.com>, "Tomas Jelinek" <tjelinek@redhat.com> Cc: "Eldan Hildesheim" <info@eldanet.com>, "engine-devel" <engine-devel@ovirt.org>, "Eldan Hildesheim" <ehildesh@redhat.com>, "Daniel Erez" <derez@redhat.com>, "Malini Rao" <mrao@redhat.com>, "Itamar Heim" <iheim@redhat.com> Sent: Friday, May 31, 2013 6:56:33 PM Subject: Re: [Engine-devel] static header only in VM dialog?
...
[1] my main concern is that this batch of patches (dialog reorg) will make it into ovirt 3.3, but the second batch (which will contain the actual Instance Types fields) won't make it in time [see the ovirt 3.3 schedule in: http://www.ovirt.org/OVirt_3.3_release-management - ovirt 3.3 feature freeze is today (?!)]; so I wouldn't want to see ovirt 3.3 being released with only the first patch batch merged into it. either both batches should be there, or both batches should not be there.
There was a discussion about postponing it, but not much further it seems. In any case It may not be necessarily wrong to have dialog reorg in 3.3 without insttypes as it will at least get people to get used to it and we can gather feedback. It's not that it removes any functionality, on the contrary, e.g. the type ahead feature even solves some of the bugs we already have.
indeed - it doesn't remove functionality, and I agree that it would be a good opportunity to get feedback about some things such as the type-ahead list box, however the top static header in particular with only the DC/Cluster + Quota in it may seem strange / annoying, as it would just seem like something that takes up "real estate" in the dialog in *all* side-tab without a real good reason.
so there are pros and cons for introducing only the first patch batch to ovirt-3.3, I guess; Ideally, I would suggest to maybe re-organize the patches a bit differently, so that the top static header in particular wouldn't be part of this first patch batch, i.e., I would suggest introducing the top static header along with adding the Instance Types fields [which, to my understanding, is exactly what Daniel has originally suggested on the patch [1] in his gerrit comment(s) from May 28/29 (depends on the timezone) - only now I fully understand his concern (I think/hope)...].
Exactly, I prefer that the static header will be introduced along with the new dialog I.e. squashed with the final dialog patch (with instance types fields). I understand that the static header might make sense for the final dialog
- I am actually waiting for Tomas's response on what exactly is going to be included within the top static header of the dialog in his current 7-patches batch (see my previous response in the thread) - there is a chance that it makes some sense to introduce the top static section at this stage (instead of waiting for the "final dialog patch" in which the Instance Types and Image fields will be introduced), as it already affects a "nice" amount of side-tabs. - even if the fields that are included in the top static header in the current patch-batch don't really justify introducing the top static section at this stage, there are other things that (IMO) should be taken into consideration when deciding how to proceed [see my (1.a), (1.b), (2) "essay" in one of my previous responses in the thread]
(though I still don't like the idea that it's relevant only for some side-tabs).
I think that UX wise (and Malini/Eldan can comment on that), if the top section affect a significant amount of side-tabs, it is better that this section would be displayed in *all* side tabs, rather than have it visible only in the relevant side-tabs, which can be a bit irritating to the eye when "jumping" between side-tabs. [of course, I assume that completely different, creative solutions can be found, but even if so - I suggest to think about them in a later stage, after introducing the Instance Types feature into the system / getting some more feedback on the current top static header solution]
Added my remarks to the patch: http://gerrit.ovirt.org/#/c/14635/
not sure how easy it is to do though - I know that *a lot* of time and effort were already invested in these patches as they are now, and I wouldn't want that the reviewing/ merging process will be held off for much longer.
To sum up: these are the options, as I see them:
1) keep the current patch batch as is and:
a. merge it in time for ovirt-3.3, or:
b. merge it post ovirt-3.3.
- or -
2) go with what Daniel has suggested in his gerrit comment: reorganize the patches so that the top static header would be introduced only along with the instance types fields [that way, it won't matter what makes it into ovirt-3.3 - the first patch batch, or both (or none)].
I am in favor of (1.b) or (2). However, weighing the cons of (1.a) against the pros of (1.a) / cons of (1.b) or against the effort that (2) will require, and taking into consideration the effort that was already invested, I am not strongly against (1.a) as well.
[1] http://gerrit.ovirt.org/#/c/14635/
...
_______________________________________________ Engine-devel mailing list Engine-devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-devel

----- Original Message -----
From: "Einav Cohen" <ecohen@redhat.com> To: "Daniel Erez" <derez@redhat.com>, "Tomas Jelinek" <tjelinek@redhat.com>, "Malini Rao" <mrao@redhat.com>, "Eldan Hildesheim" <info@eldanet.com>, "Eldan Hildesheim" <ehildesh@redhat.com> Cc: "engine-devel" <engine-devel@ovirt.org>, "Itamar Heim" <iheim@redhat.com> Sent: Friday, May 31, 2013 1:18:53 PM Subject: Re: [Engine-devel] static header only in VM dialog?
----- Original Message ----- From: "Daniel Erez" <derez@redhat.com> Sent: Friday, May 31, 2013 12:28:54 PM
----- Original Message -----
From: "Einav Cohen" <ecohen@redhat.com> To: "Michal Skrivanek" <michal.skrivanek@redhat.com>, "Tomas Jelinek" <tjelinek@redhat.com> Cc: "Eldan Hildesheim" <info@eldanet.com>, "engine-devel" <engine-devel@ovirt.org>, "Eldan Hildesheim" <ehildesh@redhat.com>, "Daniel Erez" <derez@redhat.com>, "Malini Rao" <mrao@redhat.com>, "Itamar Heim" <iheim@redhat.com> Sent: Friday, May 31, 2013 6:56:33 PM Subject: Re: [Engine-devel] static header only in VM dialog?
...
[1] my main concern is that this batch of patches (dialog reorg) will make it into ovirt 3.3, but the second batch (which will contain the actual Instance Types fields) won't make it in time [see the ovirt 3.3 schedule in: http://www.ovirt.org/OVirt_3.3_release-management - ovirt 3.3 feature freeze is today (?!)]; so I wouldn't want to see ovirt 3.3 being released with only the first patch batch merged into it. either both batches should be there, or both batches should not be there.
There was a discussion about postponing it, but not much further it seems. In any case It may not be necessarily wrong to have dialog reorg in 3.3 without insttypes as it will at least get people to get used to it and we can gather feedback. It's not that it removes any functionality, on the contrary, e.g. the type ahead feature even solves some of the bugs we already have.
indeed - it doesn't remove functionality, and I agree that it would be a good opportunity to get feedback about some things such as the type-ahead list box, however the top static header in particular with only the DC/Cluster + Quota in it may seem strange / annoying, as it would just seem like something that takes up "real estate" in the dialog in *all* side-tab without a real good reason.
so there are pros and cons for introducing only the first patch batch to ovirt-3.3, I guess; Ideally, I would suggest to maybe re-organize the patches a bit differently, so that the top static header in particular wouldn't be part of this first patch batch, i.e., I would suggest introducing the top static header along with adding the Instance Types fields [which, to my understanding, is exactly what Daniel has originally suggested on the patch [1] in his gerrit comment(s) from May 28/29 (depends on the timezone) - only now I fully understand his concern (I think/hope)...].
Exactly, I prefer that the static header will be introduced along with the new dialog I.e. squashed with the final dialog patch (with instance types fields). I understand that the static header might make sense for the final dialog
- I am actually waiting for Tomas's response on what exactly is going to be included within the top static header of the dialog in his current 7-patches batch (see my previous response in the thread) - there is a chance that it makes some sense to introduce the top static section at this stage (instead of waiting for the "final dialog patch" in which the Instance Types and Image fields will be introduced), as it already affects a "nice" amount of side-tabs.
- even if the fields that are included in the top static header in the current patch-batch don't really justify introducing the top static section at this stage, there are other things that (IMO) should be taken into consideration when deciding how to proceed [see my (1.a), (1.b), (2) "essay" in one of my previous responses in the thread]
(though I still don't like the idea that it's relevant only for some side-tabs).
I think that UX wise (and Malini/Eldan can comment on that), if the top section affect a significant amount of side-tabs, it is better that this section would be displayed in *all* side tabs, rather than have it visible only in the relevant side-tabs, which can be a bit irritating to the eye when "jumping" between side-tabs.
MR - Yes, if we have a static top panel, it should be truly static- i.e, it should stay displayed irrespective of whether the currently selected side tab has a dependency or context info on the static panel or not.
[of course, I assume that completely different, creative solutions can be found, but even if so - I suggest to think about them in a later stage, after introducing the Instance Types feature into the system / getting some more feedback on the current top static header solution]
Added my remarks to the patch: http://gerrit.ovirt.org/#/c/14635/
not sure how easy it is to do though - I know that *a lot* of time and effort were already invested in these patches as they are now, and I wouldn't want that the reviewing/ merging process will be held off for much longer.
To sum up: these are the options, as I see them:
1) keep the current patch batch as is and:
a. merge it in time for ovirt-3.3, or:
b. merge it post ovirt-3.3.
- or -
2) go with what Daniel has suggested in his gerrit comment: reorganize the patches so that the top static header would be introduced only along with the instance types fields [that way, it won't matter what makes it into ovirt-3.3 - the first patch batch, or both (or none)].
I am in favor of (1.b) or (2). However, weighing the cons of (1.a) against the pros of (1.a) / cons of (1.b) or against the effort that (2) will require, and taking into consideration the effort that was already invested, I am not strongly against (1.a) as well.
[1] http://gerrit.ovirt.org/#/c/14635/
...
_______________________________________________ Engine-devel mailing list Engine-devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-devel

------=_Part_2504457_2027834443.1370162865873 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Eldan: I prepared 2 mockups to explain the differences between the grey docked panel and the grey non-docked panel. (The data inside is not accurate) I added the colour values for who ever is going to implement the dialogue. dialogue_not_docked.png: This mockup is like we have today: Since it's INSIDE of the general left tab, it has a CONSTANT padding around it. (bg color should be #e5e5e5, the padding is important) dialogue_docked.png: Contrary to the previous mockup, here the grey panel is docked - no padding, this is to emphasise that the panel is STATIC. To emphasise it graphically the bg color is the same as before only this time it has a darker border (#d3d3d3) This is also more easy to implement: The difference between both of the panel is once the padding border is white and once its dark grey. Eldan ----- Original Message ----- From: "Malini Rao" <mrao@redhat.com> To: "Einav Cohen" <ecohen@redhat.com> Cc: "Daniel Erez" <derez@redhat.com>, "Tomas Jelinek" <tjelinek@redhat.com>, "Eldan Hildesheim" <info@eldanet.com>, "Eldan Hildesheim" <ehildesh@redhat.com>, "engine-devel" <engine-devel@ovirt.org>, "Itamar Heim" <iheim@redhat.com> Sent: Friday, May 31, 2013 8:28:42 PM Subject: Re: [Engine-devel] static header only in VM dialog? ----- Original Message -----
From: "Einav Cohen" <ecohen@redhat.com> To: "Daniel Erez" <derez@redhat.com>, "Tomas Jelinek" <tjelinek@redhat.com>, "Malini Rao" <mrao@redhat.com>, "Eldan Hildesheim" <info@eldanet.com>, "Eldan Hildesheim" <ehildesh@redhat.com> Cc: "engine-devel" <engine-devel@ovirt.org>, "Itamar Heim" <iheim@redhat.com> Sent: Friday, May 31, 2013 1:18:53 PM Subject: Re: [Engine-devel] static header only in VM dialog?
----- Original Message ----- From: "Daniel Erez" <derez@redhat.com> Sent: Friday, May 31, 2013 12:28:54 PM
----- Original Message -----
From: "Einav Cohen" <ecohen@redhat.com> To: "Michal Skrivanek" <michal.skrivanek@redhat.com>, "Tomas Jelinek" <tjelinek@redhat.com> Cc: "Eldan Hildesheim" <info@eldanet.com>, "engine-devel" <engine-devel@ovirt.org>, "Eldan Hildesheim" <ehildesh@redhat.com>, "Daniel Erez" <derez@redhat.com>, "Malini Rao" <mrao@redhat.com>, "Itamar Heim" <iheim@redhat.com> Sent: Friday, May 31, 2013 6:56:33 PM Subject: Re: [Engine-devel] static header only in VM dialog?
...
[1] my main concern is that this batch of patches (dialog reorg) will make it into ovirt 3.3, but the second batch (which will contain the actual Instance Types fields) won't make it in time [see the ovirt 3.3 schedule in: http://www.ovirt.org/OVirt_3.3_release-management - ovirt 3.3 feature freeze is today (?!)]; so I wouldn't want to see ovirt 3.3 being released with only the first patch batch merged into it. either both batches should be there, or both batches should not be there.
There was a discussion about postponing it, but not much further it seems. In any case It may not be necessarily wrong to have dialog reorg in 3.3 without insttypes as it will at least get people to get used to it and we can gather feedback. It's not that it removes any functionality, on the contrary, e.g. the type ahead feature even solves some of the bugs we already have.
indeed - it doesn't remove functionality, and I agree that it would be a good opportunity to get feedback about some things such as the type-ahead list box, however the top static header in particular with only the DC/Cluster + Quota in it may seem strange / annoying, as it would just seem like something that takes up "real estate" in the dialog in *all* side-tab without a real good reason.
so there are pros and cons for introducing only the first patch batch to ovirt-3.3, I guess; Ideally, I would suggest to maybe re-organize the patches a bit differently, so that the top static header in particular wouldn't be part of this first patch batch, i.e., I would suggest introducing the top static header along with adding the Instance Types fields [which, to my understanding, is exactly what Daniel has originally suggested on the patch [1] in his gerrit comment(s) from May 28/29 (depends on the timezone) - only now I fully understand his concern (I think/hope)...].
Exactly, I prefer that the static header will be introduced along with the new dialog I.e. squashed with the final dialog patch (with instance types fields). I understand that the static header might make sense for the final dialog
- I am actually waiting for Tomas's response on what exactly is going to be included within the top static header of the dialog in his current 7-patches batch (see my previous response in the thread) - there is a chance that it makes some sense to introduce the top static section at this stage (instead of waiting for the "final dialog patch" in which the Instance Types and Image fields will be introduced), as it already affects a "nice" amount of side-tabs.
- even if the fields that are included in the top static header in the current patch-batch don't really justify introducing the top static section at this stage, there are other things that (IMO) should be taken into consideration when deciding how to proceed [see my (1.a), (1.b), (2) "essay" in one of my previous responses in the thread]
(though I still don't like the idea that it's relevant only for some side-tabs).
I think that UX wise (and Malini/Eldan can comment on that), if the top section affect a significant amount of side-tabs, it is better that this section would be displayed in *all* side tabs, rather than have it visible only in the relevant side-tabs, which can be a bit irritating to the eye when "jumping" between side-tabs.
MR - Yes, if we have a static top panel, it should be truly static- i.e, it should stay displayed irrespective of whether the currently selected side tab has a dependency or context info on the static panel or not.
[of course, I assume that completely different, creative solutions can be found, but even if so - I suggest to think about them in a later stage, after introducing the Instance Types feature into the system / getting some more feedback on the current top static header solution]
Added my remarks to the patch: http://gerrit.ovirt.org/#/c/14635/
not sure how easy it is to do though - I know that *a lot* of time and effort were already invested in these patches as they are now, and I wouldn't want that the reviewing/ merging process will be held off for much longer.
To sum up: these are the options, as I see them:
1) keep the current patch batch as is and:
a. merge it in time for ovirt-3.3, or:
b. merge it post ovirt-3.3.
- or -
2) go with what Daniel has suggested in his gerrit comment: reorganize the patches so that the top static header would be introduced only along with the instance types fields [that way, it won't matter what makes it into ovirt-3.3 - the first patch batch, or both (or none)].
I am in favor of (1.b) or (2). However, weighing the cons of (1.a) against the pros of (1.a) / cons of (1.b) or against the effort that (2) will require, and taking into consideration the effort that was already invested, I am not strongly against (1.a) as well.
[1] http://gerrit.ovirt.org/#/c/14635/
...
_______________________________________________ Engine-devel mailing list Engine-devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-devel
------=_Part_2504457_2027834443.1370162865873 Content-Type: image/png; name=dialogue_docked.png Content-Disposition: attachment; filename=dialogue_docked.png Content-Transfer-Encoding: base64 iVBORw0KGgoAAAANSUhEUgAAAyMAAAIlCAIAAABJn7A7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ bWFnZVJlYWR5ccllPAAAA2hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdp bj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6 eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0 NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJo dHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlw dGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEu MC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVz b3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1N Ok9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpGOTdGMTE3NDA3MjA2ODExODcxRkM3MjQ2MjE4 MkE3MiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpEM0JCQzdDQ0MzODIxMUUyQjg0RUI5MjA5 OUM3RUJGMCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpEM0JCQzdDQkMzODIxMUUyQjg0RUI5 MjA5OUM3RUJGMCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChNYWNpbnRv c2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6Rjk3RjEx NzQwNzIwNjgxMTg3MUZDNzI0NjIxODJBNzIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6Rjk3 RjExNzQwNzIwNjgxMTg3MUZDNzI0NjIxODJBNzIiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRm 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 2jBq+3qx5WzPHi4HJi35qhgfFpupvH+20/7xM7bOXfmlB/laRNynree8Bq+pOnfa2mPmlskzp7Km aGW+2nvyls3KUdT+A01132mSi67u3/ji8d3npDHPNrf5HPXyyfQVvVhhDxjdTlsY/6LvJ+LtiJyc nJubW8eOHU1MTAoLm++3qQaMHHt6r93S+dk9OulScuNvXQi/8ey+hiq/KF3l8YWL5x486qmEsXKT KYqac2ba1z7atE+v0nPZ+3ds52b9+Pj2Dc1y0mKLzsXPZYs4iJ3xOkdDIKGp5OKniQnqOYze2NOj WxZnPO/67urTXP0Bb5QyJ6x95X3r6bL+ObPMTcd76Nz9c5W2vAw0AfUA11V4VZw5c2bnzp179OjR nKuivtkgfbMqrhyiu8f8SouYKhgbW5Vtk8mli4pqapV+1kTdrI9oBhBdnmEkeABEssK3s8naXSdM 7FopemNTc/xPan7s7HrJKpS/4Eehyc5y9xDvUlt17V6v0yTJthk8ye3v8BtBXEIn52XrvabREBox zYPVsXUrY+tzO31W7Anh6mja9HdmEJTLHjUJdBUNTlLwzs23KWrac71njexuPXjf4eUb9u7fHU6S bdV90YHBupnv2+kpSximiBS1UX/sSvlbaZDQMuawfutnou/No3s4GEXLcOSxxbYJt7852Cj+V0sh 8Hi8Ll264NUSl1kNfxAlU6TEAKs8APWqTIpKF/6587///e9rdsHFvwYXpCfdfvqCKKfEKSy0XrBG LzE+PvE70cq6QwcT/M4cMNJNUT28sAT1suwtmstMIBK7DXNB8oJtuopaP2sLZQY5+Frsho2bSkr4 NT8WS+4qWcw+dBDtuxAencHJklVva9Rvnf/GLSeCX0TI9vJf0fMzNT2/kCiDPwzitw+RTCbLyAim VOjarz22r2jnXx8T6DpzvTZZ9mun3XP4vsOcnWeePE/BGMZ9T3q6KyReUKXKcbDcfEXzwD8X9ddX bubWghomEePtSCchNTyuNYcZ8TKysn8+uP3t69fUjFyGQt9xHr6tVOTwdo+urrFs7qSvX77lMZmK SjZqum1bK8vVvpKomw52bHvw8oUkBY1WOnodLEzbaHft4tOKoCeLCMM2LYsTrKQmq9dj2jiWcevW fVfvyrt043PMd81uw6b26EQ1wvwuTZg3VBsh7cDTf/pepRYXw7KoDaqKpkJqthw0z1X+C75nlPD5 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 Yx3qR5UAAAAASUVORK5CYII= ------=_Part_2504457_2027834443.1370162865873 Content-Type: image/png; name=dialogue_not_docked.png Content-Disposition: attachment; filename=dialogue_not_docked.png Content-Transfer-Encoding: base64 iVBORw0KGgoAAAANSUhEUgAAAyMAAAIlCAIAAABJn7A7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ bWFnZVJlYWR5ccllPAAAA2hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdp bj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6 eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0 NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJo dHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlw dGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEu MC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVz b3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1N Ok9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpGOTdGMTE3NDA3MjA2ODExODcxRkM3MjQ2MjE4 MkE3MiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpEM0JCQzdDOEMzODIxMUUyQjg0RUI5MjA5 OUM3RUJGMCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpEM0JCQzdDN0MzODIxMUUyQjg0RUI5 MjA5OUM3RUJGMCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChNYWNpbnRv c2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6Rjk3RjEx NzQwNzIwNjgxMTg3MUZDNzI0NjIxODJBNzIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6Rjk3 RjExNzQwNzIwNjgxMTg3MUZDNzI0NjIxODJBNzIiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRm 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 QmCC ------=_Part_2504457_2027834443.1370162865873--

On 05/29/2013 08:36 AM, Daniel Erez wrote: ...
relevant/correct to introduce this new concept only in the VM-like dialogs).
regarding the specific concern about the DC/Cluster values that aren't necessarily relevant for each side-tab in the dialog: I agree with that statement, however:
- putting the "Instance Type" drop-down at the top static section is very useful (see [4] for explanation), and as the Instance Types list is derived from the selected DC, it makes sense (to me) to put the DC in that top static section as well.
- the DC/Cluster are relevant for some of the tabs in the dialog (Host, Resource Allocation?)
Only for Host. Resource Allocation is directly affected by the selected template. Therefore, it sounds very confusing to me... Unless we add template to the static header as well? (which will be odd for the other tabs).
isn't resource allocation affected by the vm type (optimized for server/desktop), rather than the template? (and template is on the static header as well - images are a subset of templates, but you will see there both images and templates).
So I still don't get the motivation UX-wise. E.g. it seems really weird to change the entire DC from Console tab (or, as a matter of fact, from most other tabs). In the new instance type dialog, which tabs could be directly affected by DC/Cluster? IIUC, only Host? Do we really need a static header just for this tab?
so for consistency-within-the-dialog considerations, it is probably a good idea to simply always show these fields within this top static section.
[there is a good chance that I am missing your point here - please correct me if necessary]
[1] http://gerrit.ovirt.org/#/c/14936/
[2] http://www.ovirt.org/Features/Instance_Types
[3] http://www.ovirt.org/images/9/9e/Instance_type.pdf
[4] whenever changing the "Instance Type" value, you can automatically see how these changes affect the fields in the current tab on which you are standing (e.g. if you are standing on the "System" side-tab, you can change the "Instance Type" selected item and immediately see the changes within the "System" side-tab contents), and vice-versa: if you are changing a value that was originally propagated from the instance-type, you will see the instance-type automatically change to "custom"/"not applicable" as a result, so no need to "jump" between side-tabs in order to observe these changes.
---- Thanks, Einav
[1] http://www.ovirt.org/images/9/9e/Instance_type.pdf
----- Original Message -----
From: derez@redhat.com To: "Tomas Jelinek" <tjelinek@redhat.com> Cc: "Vojtech Szocs" <vszocs@redhat.com>, "Einav Cohen" <ecohen@redhat.com>, "Frank Kobzik" <fkobzik@redhat.com>, "Eldan Hildesheim" <info@eldanet.com> Sent: Tuesday, May 28, 2013 5:05:38 PM Subject: Change in ovirt-engine[master]: userportal,webadmin: redesign of vm related dialogs
Daniel Erez has posted comments on this change.
Change subject: userportal,webadmin: redesign of vm related dialogs ......................................................................
Patch Set 5: (1 inline comment)
Code looks good. A few questions regarding the design: 1. Why do we want the static header only in VM dialog? 2. DC/Host are really relevant for all tabs? 3. Is it just a preparation for the final instance type dialog? 4. If it's indeed merely preparation, shouldn't it be merged only once we have the full picture of the new dialog?
.................................................... File frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/dialog/tab/DialogTabPanel.ui.xml Line 21: Line 22: .header { Line 23: background-color: #D3D3D3; Line 24: border-bottom: 1px solid #CED8DF; Line 25: margin-bottom: 15px; is it supposed to be that large? Line 26: padding-top: 6px; Line 27: margin-top: 4px; Line 28: margin-right: 3px; Line 29: display: none;
-- To view, visit http://gerrit.ovirt.org/14635 To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: comment Gerrit-Change-Id: Icad8098e286f821da25fac22fd0a840a42f105c9 Gerrit-PatchSet: 5 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Tomas Jelinek <tjelinek@redhat.com> Gerrit-Reviewer: Daniel Erez <derez@redhat.com> Gerrit-Reviewer: Einav Cohen <ecohen@redhat.com> Gerrit-Reviewer: Eldan Hildesheim <info@eldanet.com> Gerrit-Reviewer: Frank Kobzik <fkobzik@redhat.com> Gerrit-Reviewer: Tomas Jelinek <tjelinek@redhat.com> Gerrit-Reviewer: Vojtech Szocs <vszocs@redhat.com>
_______________________________________________ Engine-devel mailing list Engine-devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-devel

----- Original Message -----
From: "Itamar Heim" <iheim@redhat.com> To: "Daniel Erez" <derez@redhat.com> Cc: "Einav Cohen" <ecohen@redhat.com>, "Eldan Hildesheim" <info@eldanet.com>, "engine-devel" <engine-devel@ovirt.org>, "Eldan Hildesheim" <ehildesh@redhat.com> Sent: Wednesday, May 29, 2013 3:56:30 PM Subject: Re: [Engine-devel] static header only in VM dialog?
On 05/29/2013 08:36 AM, Daniel Erez wrote: ...
relevant/correct to introduce this new concept only in the VM-like dialogs).
regarding the specific concern about the DC/Cluster values that aren't necessarily relevant for each side-tab in the dialog: I agree with that statement, however:
- putting the "Instance Type" drop-down at the top static section is very useful (see [4] for explanation), and as the Instance Types list is derived from the selected DC, it makes sense (to me) to put the DC in that top static section as well.
- the DC/Cluster are relevant for some of the tabs in the dialog (Host, Resource Allocation?)
Only for Host. Resource Allocation is directly affected by the selected template. Therefore, it sounds very confusing to me... Unless we add template to the static header as well? (which will be odd for the other tabs).
isn't resource allocation affected by the vm type (optimized for server/desktop), rather than the template?
Only Thin vs. Clone is affected by VM type. But, SDs are affected by the selected template.
(and template is on the static header as well - images are a subset of templates, but you will see there both images and templates).
According to the current patch only DC and Cluster are static in the header. Which means that until we have a full implementation merged the static header would surely be confusing. Afterwards, I'm still not sure how most tabs are influenced, e.g.: Initial Run / Console / Boot Options are really related to the DC/Cluster/Instance Type?
So I still don't get the motivation UX-wise. E.g. it seems really weird to change the entire DC from Console tab (or, as a matter of fact, from most other tabs). In the new instance type dialog, which tabs could be directly affected by DC/Cluster? IIUC, only Host? Do we really need a static header just for this tab?
so for consistency-within-the-dialog considerations, it is probably a good idea to simply always show these fields within this top static section.
[there is a good chance that I am missing your point here - please correct me if necessary]
[1] http://gerrit.ovirt.org/#/c/14936/
[2] http://www.ovirt.org/Features/Instance_Types
[3] http://www.ovirt.org/images/9/9e/Instance_type.pdf
[4] whenever changing the "Instance Type" value, you can automatically see how these changes affect the fields in the current tab on which you are standing (e.g. if you are standing on the "System" side-tab, you can change the "Instance Type" selected item and immediately see the changes within the "System" side-tab contents), and vice-versa: if you are changing a value that was originally propagated from the instance-type, you will see the instance-type automatically change to "custom"/"not applicable" as a result, so no need to "jump" between side-tabs in order to observe these changes.
---- Thanks, Einav
[1] http://www.ovirt.org/images/9/9e/Instance_type.pdf
----- Original Message -----
From: derez@redhat.com To: "Tomas Jelinek" <tjelinek@redhat.com> Cc: "Vojtech Szocs" <vszocs@redhat.com>, "Einav Cohen" <ecohen@redhat.com>, "Frank Kobzik" <fkobzik@redhat.com>, "Eldan Hildesheim" <info@eldanet.com> Sent: Tuesday, May 28, 2013 5:05:38 PM Subject: Change in ovirt-engine[master]: userportal,webadmin: redesign of vm related dialogs
Daniel Erez has posted comments on this change.
Change subject: userportal,webadmin: redesign of vm related dialogs ......................................................................
Patch Set 5: (1 inline comment)
Code looks good. A few questions regarding the design: 1. Why do we want the static header only in VM dialog? 2. DC/Host are really relevant for all tabs? 3. Is it just a preparation for the final instance type dialog? 4. If it's indeed merely preparation, shouldn't it be merged only once we have the full picture of the new dialog?
.................................................... File frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/dialog/tab/DialogTabPanel.ui.xml Line 21: Line 22: .header { Line 23: background-color: #D3D3D3; Line 24: border-bottom: 1px solid #CED8DF; Line 25: margin-bottom: 15px; is it supposed to be that large? Line 26: padding-top: 6px; Line 27: margin-top: 4px; Line 28: margin-right: 3px; Line 29: display: none;
-- To view, visit http://gerrit.ovirt.org/14635 To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: comment Gerrit-Change-Id: Icad8098e286f821da25fac22fd0a840a42f105c9 Gerrit-PatchSet: 5 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Tomas Jelinek <tjelinek@redhat.com> Gerrit-Reviewer: Daniel Erez <derez@redhat.com> Gerrit-Reviewer: Einav Cohen <ecohen@redhat.com> Gerrit-Reviewer: Eldan Hildesheim <info@eldanet.com> Gerrit-Reviewer: Frank Kobzik <fkobzik@redhat.com> Gerrit-Reviewer: Tomas Jelinek <tjelinek@redhat.com> Gerrit-Reviewer: Vojtech Szocs <vszocs@redhat.com>
_______________________________________________ Engine-devel mailing list Engine-devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-devel

On 05/29/2013 04:13 PM, Daniel Erez wrote:
----- Original Message -----
From: "Itamar Heim" <iheim@redhat.com> To: "Daniel Erez" <derez@redhat.com> Cc: "Einav Cohen" <ecohen@redhat.com>, "Eldan Hildesheim" <info@eldanet.com>, "engine-devel" <engine-devel@ovirt.org>, "Eldan Hildesheim" <ehildesh@redhat.com> Sent: Wednesday, May 29, 2013 3:56:30 PM Subject: Re: [Engine-devel] static header only in VM dialog?
On 05/29/2013 08:36 AM, Daniel Erez wrote: ...
relevant/correct to introduce this new concept only in the VM-like dialogs).
regarding the specific concern about the DC/Cluster values that aren't necessarily relevant for each side-tab in the dialog: I agree with that statement, however:
- putting the "Instance Type" drop-down at the top static section is very useful (see [4] for explanation), and as the Instance Types list is derived from the selected DC, it makes sense (to me) to put the DC in that top static section as well.
- the DC/Cluster are relevant for some of the tabs in the dialog (Host, Resource Allocation?)
Only for Host. Resource Allocation is directly affected by the selected template. Therefore, it sounds very confusing to me... Unless we add template to the static header as well? (which will be odd for the other tabs).
isn't resource allocation affected by the vm type (optimized for server/desktop), rather than the template?
Only Thin vs. Clone is affected by VM type. But, SDs are affected by the selected template.
yes. i don't see how this changes things though, since changing image/template would be visible.
(and template is on the static header as well - images are a subset of templates, but you will see there both images and templates).
According to the current patch only DC and Cluster are static in the header. Which means that until we have a full implementation merged the static header would surely be confusing. Afterwards, I'm still not sure how most tabs are influenced, e.g.: Initial Run / Console / Boot Options are really related to the DC/Cluster/Instance Type?
have you reviewed the table in the feature page mapping which fields related to instance type?
So I still don't get the motivation UX-wise. E.g. it seems really weird to change the entire DC from Console tab (or, as a matter of fact, from most other tabs). In the new instance type dialog, which tabs could be directly affected by DC/Cluster? IIUC, only Host? Do we really need a static header just for this tab?
so for consistency-within-the-dialog considerations, it is probably a good idea to simply always show these fields within this top static section.
[there is a good chance that I am missing your point here - please correct me if necessary]
[1] http://gerrit.ovirt.org/#/c/14936/
[2] http://www.ovirt.org/Features/Instance_Types
[3] http://www.ovirt.org/images/9/9e/Instance_type.pdf
[4] whenever changing the "Instance Type" value, you can automatically see how these changes affect the fields in the current tab on which you are standing (e.g. if you are standing on the "System" side-tab, you can change the "Instance Type" selected item and immediately see the changes within the "System" side-tab contents), and vice-versa: if you are changing a value that was originally propagated from the instance-type, you will see the instance-type automatically change to "custom"/"not applicable" as a result, so no need to "jump" between side-tabs in order to observe these changes.
---- Thanks, Einav
[1] http://www.ovirt.org/images/9/9e/Instance_type.pdf
----- Original Message ----- > From: derez@redhat.com > To: "Tomas Jelinek" <tjelinek@redhat.com> > Cc: "Vojtech Szocs" <vszocs@redhat.com>, "Einav Cohen" > <ecohen@redhat.com>, > "Frank Kobzik" <fkobzik@redhat.com>, > "Eldan Hildesheim" <info@eldanet.com> > Sent: Tuesday, May 28, 2013 5:05:38 PM > Subject: Change in ovirt-engine[master]: userportal,webadmin: redesign > of > vm related dialogs > > Daniel Erez has posted comments on this change. > > Change subject: userportal,webadmin: redesign of vm related dialogs > ...................................................................... > > > Patch Set 5: (1 inline comment) > > Code looks good. > A few questions regarding the design: > 1. Why do we want the static header only in VM dialog? > 2. DC/Host are really relevant for all tabs? > 3. Is it just a preparation for the final instance type dialog? > 4. If it's indeed merely preparation, shouldn't it be merged only once > we > have the full picture of the new dialog? > > .................................................... > File > frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/dialog/tab/DialogTabPanel.ui.xml > Line 21: > Line 22: .header { > Line 23: background-color: #D3D3D3; > Line 24: border-bottom: 1px solid #CED8DF; > Line 25: margin-bottom: 15px; > is it supposed to be that large? > Line 26: padding-top: 6px; > Line 27: margin-top: 4px; > Line 28: margin-right: 3px; > Line 29: display: none; > > > -- > To view, visit http://gerrit.ovirt.org/14635 > To unsubscribe, visit http://gerrit.ovirt.org/settings > > Gerrit-MessageType: comment > Gerrit-Change-Id: Icad8098e286f821da25fac22fd0a840a42f105c9 > Gerrit-PatchSet: 5 > Gerrit-Project: ovirt-engine > Gerrit-Branch: master > Gerrit-Owner: Tomas Jelinek <tjelinek@redhat.com> > Gerrit-Reviewer: Daniel Erez <derez@redhat.com> > Gerrit-Reviewer: Einav Cohen <ecohen@redhat.com> > Gerrit-Reviewer: Eldan Hildesheim <info@eldanet.com> > Gerrit-Reviewer: Frank Kobzik <fkobzik@redhat.com> > Gerrit-Reviewer: Tomas Jelinek <tjelinek@redhat.com> > Gerrit-Reviewer: Vojtech Szocs <vszocs@redhat.com> >
_______________________________________________ Engine-devel mailing list Engine-devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-devel
participants (7)
-
Daniel Erez
-
Einav Cohen
-
Eldan Hildesheim
-
Itamar Heim
-
Malini Rao
-
Michal Skrivanek
-
Tomas Jelinek