Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ZEPPELIN-1002] Move configuration menus under dropdown #1013

Closed
wants to merge 10 commits into from

Conversation

minahlee
Copy link
Member

@minahlee minahlee commented Jun 15, 2016

What is this PR for?

  • Move configuration menus under dropdown menu
  • Change dropdown menu style
  • Change Login button style

What type of PR is it?

Improvement

Todos

  • Fix selenium test

What is the Jira issue?

ZEPPELIN-1002

Screenshots (if appropriate)

As anonymous

Before
screen shot 2016-06-14 at 9 43 35 pm

After
screen shot 2016-06-16 at 10 15 21 am

With shiro authc

Before
screen shot 2016-06-16 at 10 18 45 am
screen shot 2016-06-16 at 10 21 52 am

After
screen shot 2016-06-16 at 10 17 46 am
screen shot 2016-06-20 at 11 30 04 am

screen shot 2016-06-16 at 10 20 15 am

### Questions: - Does the licenses files need update? No - Is there breaking changes for older versions? No - Does this needs documentation? It needs image updates

@corneadoug
Copy link
Contributor

I think this kind of menu should be under a setting icon instead.
And keep the admin dropdown element only for logout if there is auth

@Leemoonsoo
Copy link
Member

Thanks @minahlee for the update. I think it's less confusing and more organized way to manage menubar. Do you think it'll be merged into branch-0.6, too?

On documentation, I think there're some screenshots related to this update.
for example this, this, and so on. Could you handle them here or create an issue for it?

@minahlee
Copy link
Member Author

minahlee commented Jun 15, 2016

I think it is common practice to have settings under account dropdown menu.

Examples

Github
screen shot 2016-06-15 at 2 01 55 pm

Trello
screen shot 2016-06-15 at 2 04 30 pm

UI Candidates for managing setting menus

which one do you prefer among below two?

  • Have separator dividing settings menu
    screen shot 2016-06-15 at 2 42 18 pm

  • Have separate icon for settings

    screen shot 2016-06-15 at 2 56 08 pm screen shot 2016-06-15 at 2 54 18 pm

In addition to the change I've already made, I am going to put username under menu to take care of long user name. This is current UI which seems not pleasant experience for users:

screen shot 2016-06-15 at 3 09 38 pm

screen shot 2016-06-15 at 3 06 26 pm

@Leemoonsoo yes I think it's possible to push this into branch-0.6 if we decide how we want to display it.

@bzz
Copy link
Member

bzz commented Jun 15, 2016

Just FYI - please mind that second menu should play nice with mobile layout as well.

As first one is collapsed on mobile, even right now with just a search - it already sometimes not enough space there.

I love the idea of reducing number of elements in nav menu, but why do not we just keep 2 elements in the main navigation: "Notebooks" and "Everything else" (->About, Interpreters, etc).

This way we do not need to think about mobile, etc as existing Bootstrap setup will take care of that. What do you think?

@corneadoug
Copy link
Contributor

@bzz actually, last time I tested, the about dropdown was doing great on mobile

@minahlee I still prefer separated one, mainly because you won't always have a user, and
having a dropdown under Connected/Disconnected is misleading and doesn't give much indications.
The thing about settings is that it describes well what you will find inside: settings

In the case of website separating them, we can list JIRA and Gmail:
screen shot 2016-06-16 at 11 11 40 am
screen shot 2016-06-16 at 11 12 03 am

For the content for both menu, it would be best to have a better separation in their role: What is under user (if there is one), should be related to the user: Logout. And what is under setting should be related to the instance/software: Interpreter, Credentials, Configuration, About

@bzz
Copy link
Member

bzz commented Jun 16, 2016

@bzz actually, last time I tested, the about dropdown was doing great on mobile

Have you already tested 2 proposed dropdowns on mobile? If possible, plz share the screenshots

@minahlee
Copy link
Member Author

minahlee commented Jun 16, 2016

@corneadoug Having separate menu for the anonymous user totally makes sense.
Then the next question would be where do we want to place it?
Next to Notebook? - will give less confusion who is used to current layout
On the right side of nav bar? - will take less space since it will use gear icon instead of Settings text.

I have no special preference on setting menu location.
@corneadoug, @bzz, @Leemoonsoo what is your opinion here?

@Leemoonsoo
Copy link
Member

'Credentials' is per user. So if we want to divide 'user' and 'setting', it'll be

user - Credentials, Logout
setting - Interpreter, Configuration, About

Or how about simply create a button,

o Admin (gear icon)

and put every items under this single button?
Either way, i think it's better than now.

@corneadoug
Copy link
Contributor

@bzz Here is a screenshot of example showing a second dropdown, technically its 3 dropdown if you count the Notebooks one

screen shot 2016-06-16 at 3 32 08 pm

@mina I think a setting icon would be better as it doesn't take much space in the navbar
Style in mobile can always be modified to be more verbose in different PR. (I already found a few bugs)

@Leemoonsoo What is the Credential menu btw?

@Leemoonsoo
Copy link
Member

@corneadoug
Copy link
Contributor

Maybe we can even rename that menu: 'My credentials' then :)

@Leemoonsoo
Copy link
Member

If 'Credential' menu is under 'User', i think it already imply 'My credential'. isn't it?

@minahlee
Copy link
Member Author

One question, if Confidential is per user menu, should it be shown when only user logged in?

@Leemoonsoo
Copy link
Member

I think 'Credential' still useful without login. It just becomes (anonymous user's) credential.

@cloverhearts
Copy link
Member

cloverhearts commented Jun 16, 2016

Confidential default user id value is "anonymous"

@bzz
Copy link
Member

bzz commented Jun 16, 2016

@corneadoug thanks for posting screen! It looks reasonable

and put every items under this single button?
Either way, i think it's better than now.

True, as soon as it works on mobile as well and Integration tests are updated there is not that much difference and we can change it again later.

@minahlee
Copy link
Member Author

Thanks for the feedback guys! I've just pushed some commits and updated description with new screenshot.

@corneadoug
Copy link
Contributor

For the username inside the dropdown, is it not possible to have the long username tooltip disappear if the menu is out? Except for that LGTM

@minahlee
Copy link
Member Author

What about showing user name under dropdown only when username length exceeds MAX_USERNAME_LENGTH?

@corneadoug
Copy link
Contributor

@minahlee Actually, the long name would normally be truncated by CSS instead of javascript, so it wouldn't be good. (Since it was done elsewhere, no need to fix it here)

Is it necessary to show long name though? Maybe this can be handled in a different PR, so that we can think of other way of doing it, and not block this one.

@minahlee
Copy link
Member Author

I also don't feel the necessity of showing full user name since logged user would know his own username. Let me remove username under dropdown then.

@bzz
Copy link
Member

bzz commented Jun 20, 2016

Thank you @minahlee for updating the screenshots!

But now we have 3 drop-down menus :) Are you guys sure that we can not get away with just 2 of them i.e 'logout' instead of 'about' in under the gear icon?

Also, for the sake of consistency, should not it be "Anonymous" instead of "Connected" near the green\red circle when the user is not logged in?

@corneadoug
Copy link
Contributor

@bzz In the case of Anonymous, I would really prefer keeping anything to do with User Management out of Zeppelin if it's not using Auth. Since there is one single user, there is no need for Anonymous anywhere.

@bzz
Copy link
Member

bzz commented Jun 21, 2016

Ok, thanks for explanation, this was not a strong opinion, just a question. Sounds good to me.
@minahlee what do you think?

@minahlee
Copy link
Member Author

I am ok with either approach, seems like @corneadoug has strong opinion on having two separate menu so I will leave it as it is. I will need to fix selenium test to make it to be merged though.

@minahlee
Copy link
Member Author

Updated selenium test and CI passes

@@ -89,43 +80,41 @@
</span>
</div>
</form>
<li class="nav-component">
<div class="dropdown">
<button class="btn dropdown-toggle" type="button" data-toggle="dropdown" style="margin-right: 5px;"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@minahlee You removed the truncated text, but didn't implement it in css.
Could you add a class with this inside to this element?

white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
max-width: 180px;

@corneadoug
Copy link
Contributor

LGTM

@Leemoonsoo
Copy link
Member

CI failure is irrelevant to this change.
Tested and it looks good to me. +1 for merge it into master and branch-0.6

@minahlee
Copy link
Member Author

Merging it into master and branch-0.6

@khalidhuseynov
Copy link
Contributor

I've just went through the conversation here, and i think that having userName instead of connected status in authenticated mode with additional logout menu is quite misleading. first of all connected and disconnected serve different purpose and not related to logged in user, so they have to be separated. Secondly, i would be expecting most of the action features like logout under main dropdown menu, and wouldn't expect to click on my name to see logout button. So maybe need to rethink it a bit :)

@minahlee
Copy link
Member Author

@khalidhuseynov Thanks for the feedback.
I totally agree that showing Connected message for non-logged user can be confusing.
I made several changes based on your opinion.

  • show user name as anonymous when shiro is configured as anonymous mode.(suggested by @bzz in previous comment)
  • move websocket connected/disconnected text to tooltip.
  • merge two dropdown menu to one. I am also skeptical about having one more dropdown menu only for logout action. I believe with caret icon, users will easily know where to click if they wants to do some action like change settings, logout, etc.

anonymous
screen shot 2016-06-22 at 7 17 45 pm
screen shot 2016-06-22 at 7 17 21 pm

authc
screen shot 2016-06-22 at 7 16 29 pm
screen shot 2016-06-22 at 7 16 34 pm

@AhyoungRyu
Copy link
Contributor

@khalidhuseynov Right. I totally agree with you.
@minahlee It's more intuitive than before 👍

@corneadoug
Copy link
Contributor

I agree with @khalidhuseynov that having Connected/Disconnected being replace by the username isn't great.

However I still think that showing a username cf: 'anonymous' for an app without any Auth system activated doesn't make any sense.

Regarding not having two dropdowns, I don't mind grouping it in one, or having a separate icon next to the username for logout.

@Leemoonsoo
Copy link
Member

I think showing 'anonymous' without auth system activated still make sense.
All authorization features (i.e. notebook permission, credential) works normally as user name 'anonymous' when auth system is not activated.

So, showing 'anonymous' is actually helping, i think.

@khalidhuseynov
Copy link
Contributor

@minahlee thanks for quick mockup! looks good and as @corneadoug said we can omit anonymous when no one logged in, and only show username if authentication is enabled. One more thing is about tooltip, not sure whether we need to give details of WebSocket there and whether it's going to be helpful, that's just an opinion :)

Merge two dropdown menu to one
Show anonymous as username when shiro set to anonymous mode
@minahlee
Copy link
Member Author

minahlee commented Jun 23, 2016

Thanks for the feedback all!
@Leemoonsoo After your explanation, it makes sense to display anonymous
@khalidhuseynov I added WebSocket because logged user can misunderstand that he is connected/disconnected to session.
Integration test passes, I will merge this both to master, branch-0.6 if there is no more discussion

@khalidhuseynov
Copy link
Contributor

LGTM

@asfgit asfgit closed this in 33fb93f Jun 24, 2016
asfgit pushed a commit that referenced this pull request Jun 24, 2016
## What is this PR for?
- Move configuration menus under dropdown menu
- Change dropdown menu style
- Change `Login` button style

### What type of PR is it?
Improvement

### Todos
- [x] Fix selenium test

### What is the Jira issue?
[ZEPPELIN-1002](https://issues.apache.org/jira/browse/ZEPPELIN-1002)

### Screenshots (if appropriate)
#### As anonymous
Before
<img width="1280" alt="screen shot 2016-06-14 at 9 43 35 pm" src="https://cloud.githubusercontent.com/assets/8503346/16068223/19a73576-3279-11e6-81bd-04b4277ccc50.png">

After
<img width="1280" alt="screen shot 2016-06-16 at 10 15 21 am" src="https://cloud.githubusercontent.com/assets/8503346/16126059/57461b94-33ab-11e6-937e-b6195839c8fa.png">

#### With shiro authc
Before
<img width="1280" alt="screen shot 2016-06-16 at 10 18 45 am" src="https://cloud.githubusercontent.com/assets/8503346/16126145/c6a2f49e-33ab-11e6-83a8-3ee4bb62be56.png">
<img width="1280" alt="screen shot 2016-06-16 at 10 21 52 am" src="https://cloud.githubusercontent.com/assets/8503346/16126253/2d90387e-33ac-11e6-9fa4-93aac98c6a76.png">

After
<img width="1280" alt="screen shot 2016-06-16 at 10 17 46 am" src="https://cloud.githubusercontent.com/assets/8503346/16126120/ac8c5866-33ab-11e6-8e43-47a69b0587ef.png">
<img width="1280" alt="screen shot 2016-06-20 at 11 30 04 am" src="https://cloud.githubusercontent.com/assets/8503346/16205804/6afd3474-36da-11e6-8b2e-bd2b22a5c7c9.png">

<img width="1280" alt="screen shot 2016-06-16 at 10 20 15 am" src="https://cloud.githubusercontent.com/assets/8503346/16126258/34bec64c-33ac-11e6-8392-c16c3380bac0.png">

### Questions:
* Does the licenses files need update? No
* Is there breaking changes for older versions? No
* Does this needs documentation? It needs image updates

Author: Mina Lee <minalee@apache.org>

Closes #1013 from minahlee/ZEPPELIN-1002 and squashes the following commits:

b26511e [Mina Lee] Show connected status as tooltip Merge two dropdown menu to one Show anonymous as username when shiro set to anonymous mode
49b39c3 [Mina Lee] Update selenium test
5f90ca4 [Mina Lee] Take care of truncate user name with css
dcdf368 [Mina Lee] Change <button> to <span> of notebook action icons
92646c8 [Mina Lee] Update integration test
ba23c71 [Mina Lee] Remove fullUsername from dropdown menu and remove username truncate function from javascript
b557a07 [Mina Lee] Fix integration test after adding separate setting menu button
dd857e5 [Mina Lee] Add separate setting menu
4d1ce83 [Mina Lee] Fix integration test caused by interprter menu location change
e9bc490 [Mina Lee] Move interpreter, credential, configuration to dropdown menu

(cherry picked from commit 33fb93f)
Signed-off-by: Mina Lee <minalee@apache.org>
asfgit pushed a commit that referenced this pull request Jun 27, 2016
### What is this PR for?
There were several changes in Zeppelin UI after #860, #1006, #1013, #1081 so update screenshot of documents accordingly.

### What type of PR is it?
Documentation

### Questions:
* Does the licenses files need update? no
* Is there breaking changes for older versions? no
* Does this needs documentation? no

Author: AhyoungRyu <fbdkdud93@hanmail.net>
Author: Mina Lee <mina.hyeji.lee@gmail.com>
Author: Mina Lee <minalee@apache.org>

Closes #1089 from minahlee/doc/ZEPPELIN-1002 and squashes the following commits:

b237caf [Mina Lee] Merge pull request #1 from AhyoungRyu/doc/ZEPPELIN-1002/again
b18544a [AhyoungRyu] Update screenshot images in interpreters.md
add97fb [AhyoungRyu] Update screenshot images in notebookashomepage.md
cdaeb30 [AhyoungRyu] Update screenshot images in index.md
b21444a [AhyoungRyu] Update screenshot images in notebook_authorization.md
b23f7e4 [AhyoungRyu] Update screenshot images in dependencymanagement.md
e7a85f3 [AhyoungRyu] Update screenshot images in lens.md
cecd161 [AhyoungRyu] Update screenshot images in ignite.md
9f8cb71 [AhyoungRyu] Update screenshot images in elasticsearch.md
0c9a688 [AhyoungRyu] Hide dynamicinterpreterloading.md temporarily
a17f31f [Mina Lee] Update doc image in Explore Zeppelin UI page
asfgit pushed a commit that referenced this pull request Jun 27, 2016
### What is this PR for?
There were several changes in Zeppelin UI after #860, #1006, #1013, #1081 so update screenshot of documents accordingly.

### What type of PR is it?
Documentation

### Questions:
* Does the licenses files need update? no
* Is there breaking changes for older versions? no
* Does this needs documentation? no

Author: AhyoungRyu <fbdkdud93@hanmail.net>
Author: Mina Lee <mina.hyeji.lee@gmail.com>
Author: Mina Lee <minalee@apache.org>

Closes #1089 from minahlee/doc/ZEPPELIN-1002 and squashes the following commits:

b237caf [Mina Lee] Merge pull request #1 from AhyoungRyu/doc/ZEPPELIN-1002/again
b18544a [AhyoungRyu] Update screenshot images in interpreters.md
add97fb [AhyoungRyu] Update screenshot images in notebookashomepage.md
cdaeb30 [AhyoungRyu] Update screenshot images in index.md
b21444a [AhyoungRyu] Update screenshot images in notebook_authorization.md
b23f7e4 [AhyoungRyu] Update screenshot images in dependencymanagement.md
e7a85f3 [AhyoungRyu] Update screenshot images in lens.md
cecd161 [AhyoungRyu] Update screenshot images in ignite.md
9f8cb71 [AhyoungRyu] Update screenshot images in elasticsearch.md
0c9a688 [AhyoungRyu] Hide dynamicinterpreterloading.md temporarily
a17f31f [Mina Lee] Update doc image in Explore Zeppelin UI page

(cherry picked from commit 09f0ebd)
Signed-off-by: Mina Lee <minalee@apache.org>
asfgit pushed a commit that referenced this pull request Jul 7, 2016
### What is this PR for?
Job manger basic front end.
You can check to paragraph and notebook information.
It is created with the following additional functions PR.
(E. G., Filter and sort)

this PR is divided from the #921

### What type of PR is it?
Featrue

### Todos
- [x] - notebook information
- [x] - viewing status for paragraph
- [x] - feat. running progress bar.
- [x] - added job menu in navbar.
(It can be modified by the following (#1013)

### What is the Jira issue?
https://issues.apache.org/jira/browse/ZEPPELIN-964

### How should this be tested?
1. create and running, modified notebook and paragraph.
2. check to cron or normal notebook status in job manager.

### Screenshots

<img width="683" alt="job manger-basic" src="https://cloud.githubusercontent.com/assets/10525473/16113612/0120dec8-33f8-11e6-8dec-c74048fae637.png">

### Questions:
* Does the licenses files need update? no
* Is there breaking changes for older versions? no
* Does this needs documentation? yes

Author: CloverHearts <cloverheartsdev@gmail.com>
Author: CloverHearts <cloverheartsdev+github@gmail.com>

This patch had conflicts when merged, resolved by
Committer: Lee moon soo <moon@apache.org>

Closes #1025 from cloverhearts/dev/jobmanager/step/02-basic-front and squashes the following commits:

aa7f502 [CloverHearts] Merge branch 'master' into dev/jobmanager/step/02-basic-front
c759cff [CloverHearts] icon spin animation support for chrome.
f183d73 [CloverHearts] job paragraph information tooltip top to top-left
db76838 [CloverHearts] restore location for job menu in navbar
bb8858c [CloverHearts] Merge branch 'master' into dev/jobmanager/step/02-basic-front
5d75520 [CloverHearts] Merge branch 'master' into dev/jobmanager/step/02-basic-front
0313cfa [CloverHearts] Merge branch 'master' into dev/jobmanager/step/02-basic-front
baf3ec6 [CloverHearts] Merge branch 'master' into dev/jobmanager/step/02-basic-front
9ee539b [CloverHearts] Merge branch 'master' into dev/jobmanager/step/02-basic-front
5d64018 [CloverHearts] Merge branch 'master' into dev/jobmanager/step/02-basic-front
75186c7 [CloverHearts] implement basic - frontend for job manager.
18db280 [CloverHearts] modifed get run status for paragraph and bug fixed.
PhilippGrulich pushed a commit to SWC-SENSE/zeppelin that referenced this pull request Aug 8, 2016
### What is this PR for?
Job manger basic front end.
You can check to paragraph and notebook information.
It is created with the following additional functions PR.
(E. G., Filter and sort)

this PR is divided from the apache#921

### What type of PR is it?
Featrue

### Todos
- [x] - notebook information
- [x] - viewing status for paragraph
- [x] - feat. running progress bar.
- [x] - added job menu in navbar.
(It can be modified by the following (apache#1013)

### What is the Jira issue?
https://issues.apache.org/jira/browse/ZEPPELIN-964

### How should this be tested?
1. create and running, modified notebook and paragraph.
2. check to cron or normal notebook status in job manager.

### Screenshots

<img width="683" alt="job manger-basic" src="https://cloud.githubusercontent.com/assets/10525473/16113612/0120dec8-33f8-11e6-8dec-c74048fae637.png">

### Questions:
* Does the licenses files need update? no
* Is there breaking changes for older versions? no
* Does this needs documentation? yes

Author: CloverHearts <cloverheartsdev@gmail.com>
Author: CloverHearts <cloverheartsdev+github@gmail.com>

This patch had conflicts when merged, resolved by
Committer: Lee moon soo <moon@apache.org>

Closes apache#1025 from cloverhearts/dev/jobmanager/step/02-basic-front and squashes the following commits:

aa7f502 [CloverHearts] Merge branch 'master' into dev/jobmanager/step/02-basic-front
c759cff [CloverHearts] icon spin animation support for chrome.
f183d73 [CloverHearts] job paragraph information tooltip top to top-left
db76838 [CloverHearts] restore location for job menu in navbar
bb8858c [CloverHearts] Merge branch 'master' into dev/jobmanager/step/02-basic-front
5d75520 [CloverHearts] Merge branch 'master' into dev/jobmanager/step/02-basic-front
0313cfa [CloverHearts] Merge branch 'master' into dev/jobmanager/step/02-basic-front
baf3ec6 [CloverHearts] Merge branch 'master' into dev/jobmanager/step/02-basic-front
9ee539b [CloverHearts] Merge branch 'master' into dev/jobmanager/step/02-basic-front
5d64018 [CloverHearts] Merge branch 'master' into dev/jobmanager/step/02-basic-front
75186c7 [CloverHearts] implement basic - frontend for job manager.
18db280 [CloverHearts] modifed get run status for paragraph and bug fixed.
@minahlee minahlee deleted the ZEPPELIN-1002 branch November 2, 2016 05:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
7 participants