Spec for collapsible node groups

Blueprint collapsible-node-groups

Change-Id: I590a019baa0957d9ad5fdad7e736e1bf6b93077f
This commit is contained in:
Julia Aranovich 2015-06-25 10:31:26 +03:00
parent 9f94b695b2
commit dd789ff92d
3 changed files with 187 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 117 KiB

View File

@ -0,0 +1,187 @@
..
This work is licensed under a Creative Commons Attribution 3.0 Unported
License.
http://creativecommons.org/licenses/by/3.0/legalcode
======================================
Collapsible node groups in Fuel Web UI
======================================
https://blueprints.launchpad.net/fuel/+spec/collapsible-node-groups
Implement possibility to collapse and expand node groups in Fuel Web UI.
Problem description
===================
In Fuel Web UI it becomes difficult to scroll through a large list of nodes
to observe overall nodes state. As long as nodes are always grouped by their
parameters, which corresponds to applied sorting on the screen, user does not
always need to see the entire list of nodes in a group. In most cases nodes
in a group will not have many differences. For everyday work with a cloud some
aggregated information about a node group would be enough.
Proposed change
===============
Collapsible behaviour of node groups should be introduced in Fuel Web UI.
Collapsible node group should represent an aggregated information about its
nodes and a set of controls:
* A title which reflects node parameters by which they are grouped.
* Number of total nodes in the group.
* Number of selected nodes in the group.
* 'Select All' control to (un)select nodes in the group.
* Button to toggle the group.
* A short summary of node statuses to give user an important information
if some nodes in the group failed or went offline.
There are mockups for the feature:
.. image:: ../../images/7.0/collapsible-node-groups/expanded-view.png
.. image:: ../../images/7.0/collapsible-node-groups/collapsed-view.png
Alternatives
------------
It would be a good UX to store collapsed state of node groups on backend.
This would help user not to toggle groups every time nodes screen is loaded.
Since node grouping depends on applied sorting for node list, sorting should
also be stored on backend.
So, these UI settings (collapsed state of node groups, current sorting) should
be saved every time user toggles a node group or changes sorting on nodes
screen.
This UI settings should be coupled with a particular user to give the user an
ability to keep his own settings for all clients (browsers).
This proposal should be considered in the next iterations of node namanement
flow rework.
Data model impact
-----------------
None
REST API impact
---------------
None.
Upgrade impact
--------------
None.
Security impact
---------------
None
Notifications impact
--------------------
None
Other end user impact
---------------------
None
Performance Impact
------------------
None
Plugin impact
-------------
None
Other deployer impact
---------------------
None.
Developer impact
----------------
None
Infrastructure impact
---------------------
None
Implementation
==============
Assignee(s)
-----------
Primary assignee:
* Julia Aranovich (jkirnosova@mirantis.com)
Developers:
* Julia Aranovich (jkirnosova@mirantis.com) - JS code
* Bogdan Dudko (bdudko@mirantis.com) - visual design
Mandatory Design Reviewer:
* Vitaly Kramskikh (vkramskikh@mirantis.com)
Approver:
* Sheena Gregson <sgregson@mirantis.com>
QA engineer:
* Anastasia Palkina <apalkina@mirantis.com>
Work Items
----------
* Provide a new visual design for collapsible node groups.
* Implement JS part of the task.
Dependencies
============
* `Sorting and filtering of node list in Fuel Web UI
<https://blueprints.launchpad.net/fuel/+spec/node-list-sorters-and-filters>`_
Testing
=======
* The feature should be covered by UI functional tests.
Acceptance criteria
-------------------
* User can toggle node groups both on the screen of environment nodes and
the screen of unallocated nodes.
* User can select all nodes in group by an appropriate 'Select All' checkbox.
* Node group title accompanied by numbers of selected and total nodes in
the group.
* Collapsed node groups show an aggregated node statuses summary.
Documentation Impact
====================
The documentation should cover how the end user experience has been changed.
References
==========
* #fuel-ui on freenode