Tendrl / specifications

Tendrl specs go here
GNU Lesser General Public License v3.0
6 stars 16 forks source link

Initial onboarding experience for user accessing Tendrl UI #200

Closed julienlim closed 6 years ago

julienlim commented 7 years ago

We’ve put together 2 design proposals with varying navigation that focuses on the UI and user experience for what happens after the user has run tendrl-ansible and logs into the Tendrl UI. Both designs are focused solely on Monitoring for Gluster (though the design concepts conveyed will translate well for other storage subsystems, e.g. Ceph).

Key highlights of the designs include the following:

The current assumptions for the Dashboards is that they would reside in a separate UI (Grafana) and would include the following:

These dashboards would be launchable from the Tendrl UI without user having to specify URL and login credentials.

The reason for 2 design proposals (they differ based on navigation) is one design attempts to re-use as many of the existing design and implementation assets (Concept A: Multi-Level Drill Down) but has some drawbacks. The alternate design (Concept B: Context Selector Navigation) addresses the drawbacks encountered with Concept A.

Links to the Designs:

The following highlights the main differences between Concept A and Concept B designs:

Concept A: Multi-Level Drill Down

Concept B: Context Selector Navigation

Any additional designs not shown in this workflow (e.g. Rebalance) may be found at the Tendrl UI Designs Index.

julienlim commented 7 years ago

Related PR/Issues that I was able to track down:

julienlim commented 7 years ago

@Tendrl/tendrl-core @sankarshanmukhopadhyay @japplewhite @Tendrl/qe @Tendrl/tendrl_frontend @anivargi @anmolbabu @nnDarshan @rghatvis@redhat.com @mcarrano

Please review this PR/issue above which lists 2 design proposals that cover the onboarding experience in the Tendrl UI and the rationale along with pros and cons for 2 design proposals. In addition, it includes additional design coverage for suggested features, e.g. enabling/disabling volume profile, dealing with tendrl-ansible misconfiguration or import failures (or any kind of failure modes while the cluster is unmanaged), SNMP configuration, etc.

Comments can be made in either Invision and/or in this PR/issue.

@r0h4n I've noted above the related PR/issues and I'm probably missing some more (since I couldn't find them), but hopefully, you are someone else can associate this PR/issue to the appropriate specs/PRs/Issues. Thank you.

gnehapk commented 7 years ago

Suggested changes to the designs

Context

Navigation (Primary, Secondary)

Proposed Design

navigation

Explanation

Cluster List

Proposed Design

clusterlist

Explanation

Import Flow

import

Explanation

brainfunked commented 7 years ago

For now, it would probably make sense to go with just the secondary navigation linking directly to the different clusters to allow switching between them.

julienlim commented 7 years ago

@brainfunked - Do you mean Concept B. Please confirm. Thanks.

brainfunked commented 7 years ago

@julienlim No, I meant on the mockups provided by @gnehapk.

brainfunked commented 7 years ago

A discussion was had on a call regarding the designs proposed by @gnehapk. All the designs were discussed. There are pros and cons for all of the approaches.

The deciding factor, however, is that the with the redesigns from @gnehapk, it is easier to use off-the-shelf patternfly implementation without needing custom components to be implemented by tendrl. As such, for the short term, the designs provided by @gnehapk would be implemented. This has been agreed upon by @Tendrl/tendrl-core.

brainfunked commented 7 years ago

Given that the new UI would be covering only a subset of the fully tendrl functionality in the initial releases, it would be good to keep this issue open and evolving till a more concrete long term vision has been established. This would impact any UI implementation, as it must align with the long term vision of the project.

@r0h4n @nthomas-redhat thoughts?

cloudbehl commented 7 years ago

@julienlim As per the discussions in the Architecture call, you were talking about the context switcher availability in patternfly. So can you please point me to the document or the link which I can refer.

julienlim commented 7 years ago

@Tendrl/tendrl-core @sankarshanmukhopadhyay @japplewhite @Tendrl/qe @Tendrl/tendrl_frontend @anivargi @anmolbabu @nnDarshan @rghatvis@redhat.com @mcarrano

Thanks @gnehapk for sharing your design ideas and for trying to leverage PatternFly patterns as much as possible. It’s great to have an exchange of ideas and I’m glad to see folks sharing their thoughts.

Regarding @gnehapk’s proposed design by @gnehapk, I wanted to share some concerns and questions I have with regards to usability, potential user confusion, and inconsistencies. Below, I’ve attempted to address each of the areas of interest:

As previously mentioned, we’ve gone through reviewing all the use cases and necessary drill downs to support monitoring and CRUD operations and still strongly recommend Concept B (Context Selector Navigation) to address the above shortcomings and ensuring that the user has as optimal an experience when managing a cluster or being able to easily switch to another cluster to manage.

dgutride commented 7 years ago

@brainfunked - the example component in angular-patternfly is here: www.patternfly.org/angular-patternfly/#/api/patternfly.navigation.component:pfApplicationLauncher . Oftentimes, though, we'll just default to the bootstrap dropdown and use patternfly styling to match a specific design.

gnehapk commented 7 years ago

@julienlim @brainfunked @nthomas-redhat Where the menu for "Tasks" will reside in the navigation?

julienlim commented 7 years ago

Related Specs:

@gnehapk If we're keeping Tasks, then they will appear alongside Events (present in the single cluster context), i.e Hosts, Volumes, Bricks, Configuration, Events, Tasks.

Is there a strong reason we're showing Tasks if the only "active" tasks a user can perform is import cluster and enable/disable volume profiling, and that it's a nice way to track all tasks that have occurred on the cluster via the Tendrl UI?

@brainfunked @nthomas-redhat @japplewhite @Tendrl/qe

julienlim commented 7 years ago

Another component that was suggested by @dgutride was using http://www.patternfly.org/pattern-library/widgets/#bootstrap-select.

r0h4n commented 6 years ago

Closing this one, please open new issue with relevant context