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

Groups - Improve Group Identifiers in Permissions UI #1705

Closed
mheppler opened this issue Mar 18, 2015 · 12 comments
Closed

Groups - Improve Group Identifiers in Permissions UI #1705

mheppler opened this issue Mar 18, 2015 · 12 comments
Labels
Feature: Permissions UX & UI: Design This issue needs input on the design of the UI and from the product owner

Comments

@mheppler
Copy link
Contributor

Cleanup Group identifiers on assign role autocomplete input dropdown. Some examples we found in demo: “&explicit/161-”, “&shib/1”.

It would be neat if we had a format like “&group-identifier”, like we have for users, “@user-identifier”.

Is it possible to have unique identifier for all users and groups?

@mheppler mheppler added the UX & UI: Design This issue needs input on the design of the UI and from the product owner label Mar 18, 2015
@mheppler mheppler added this to the In Review - 4.0.x milestone Mar 18, 2015
@eaquigley
Copy link
Contributor

@mheppler I checked in demo and am no longer seeing this, it also appears that we have moved away from & and are now doing : for group identifiers (can be seen in screenshot)
screen shot 2016-01-04 at 1 50 05 pm

@kcondon I'm passing this to you to close as it no longer seems to be an issue.

@eaquigley eaquigley assigned kcondon and unassigned michbarsinai Jan 4, 2016
@eaquigley eaquigley added Status: QA and removed UX & UI: Design This issue needs input on the design of the UI and from the product owner labels Jan 4, 2016
@pdurbin
Copy link
Member

pdurbin commented Jan 4, 2016

can be seen in screenshot

The only group type seen in the screenshot above is the one with the colon but the ugly ones are still with us (such as "&explicit/1-firstGroup" below):

permissions_-api_test_dataverse-_2016-01-04_14 02 00

@pdurbin pdurbin assigned eaquigley and unassigned kcondon Jan 4, 2016
@pdurbin pdurbin removed the Status: QA label Jan 4, 2016
@eaquigley
Copy link
Contributor

@pdurbin Gross. Why are two different punctuation marks (: and &) being used for groups?

@pdurbin
Copy link
Member

pdurbin commented Jan 4, 2016

That is a question for @michbarsinai . The code looks like this:

public RoleAssignee getRoleAssignee(String identifier) {
    switch (identifier.charAt(0)) {
        case ':':
            return predefinedRoleAssignees.get(identifier);
        case '@':
            return authSvc.getAuthenticatedUser(identifier.substring(1));
        case '&':
            return groupSvc.getGroup(identifier.substring(1));
        default:
            throw new IllegalArgumentException("Unsupported assignee identifier '" + identifier + "'");
    }
}

public RoleAssignee getRoleAssignee(String identifier) {

@eaquigley
Copy link
Contributor

then i shall pass this back to @michbarsinai, who was originally assigned

@eaquigley eaquigley assigned michbarsinai and unassigned eaquigley Jan 4, 2016
@michbarsinai
Copy link
Member

That's a design decision. Assignees starting with : are built-in ones, such as :guest, :authenticated-users etc. &XXX are user-defined groups, and @YYY are users.
This also solves the issue of preventing names of user-defined assignees from clashing with built-in ones. For example, a user cannot call herself :guest. She can only be @guest.

@michbarsinai
Copy link
Member

Summary:

  1. We can remove the : prefix, but then face another issue of name clashes (@scolapasta ruled in favor of keeping :, if memory serves).
  2. Current group name is composed of & Group Provider / Group-id. We can replace this structure with &``GroupName and add another lookup table, connecting GroupName with the provider and it's internal id. That's another database call, though.

Over to Liz as this is a requirement issue.

@pdurbin
Copy link
Member

pdurbin commented Jan 5, 2016

I can get behind @pdurbin meaning a person or organization (@IQSS) because we see it here on GitHub and also on Twitter (huh, and Facebook apparently). Using an ampersand for a group is unique to Dataverse, I believe. It's a little ugly in my opinion but my only suggestion is to use an "@" sign for both users and groups (and maybe this is a terrible idea). Or maybe internally (and in the API) groups could continue to have an "&" (if necessary) but the user never sees it in the GUI ("don't make me think"). If we're going to continue showing ampersands in the GUI we should explain they're for groups since it's uncommon and non-obvious.

@posixeleni
Copy link
Contributor

👍 for @pdurbin

@pdurbin
Copy link
Member

pdurbin commented Jan 6, 2016

"we did discuss several issues of not displaying the @ (easy to strip out) and handling the other prefixes (& and :) in a different manner" -- @mcrosas in #2046

@michbarsinai
Copy link
Member

Some comments:

  • The RoleAssignee interface defines a method of getting a RoleAssigneeDisplayInfo object[1]. We might need to re-define its fields a bit, but the basic infrastructure of displaying different types of role assignees (group or users) is there.
  • I think & makes sense for groups, as it connects parties ("Phil & Ted", "Joe & Co." etc.).
  • Role assignee identifiers currently hold all the information needed to retrieve the role assignee. Beautifying them in a way that results in another database call is understandable, but we need to consider the performance impact.
  • But we may not need to display the identifier, if we use the RoleAssigneeDisplayInfo objects.

Maybe we should let @mheppler design a "dream" interface about role assignees, and then see if we can adapt RoleAssigneeDisplayInfo to support it?

[1] https://github.com/IQSS/dataverse/blob/4.3/src/main/java/edu/harvard/iq/dataverse/authorization/RoleAssignee.java#L26

@mheppler mheppler added UX & UI: Design This issue needs input on the design of the UI and from the product owner Feature: Permissions labels Jan 28, 2016
@scolapasta scolapasta removed this from the Not Assigned to a Release milestone Jan 28, 2016
@mheppler mheppler changed the title Permissions Create Group - Improve Group Identifiers in UI Groups - Improve Group Identifiers in Permissions UI Feb 17, 2016
@pdurbin pdurbin removed the zTriaged label Jun 30, 2017
@mheppler
Copy link
Contributor Author

Closing as a "design decision" was made and implemented. No other comments have been gathered on this since it has been released.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature: Permissions UX & UI: Design This issue needs input on the design of the UI and from the product owner
Projects
None yet
Development

No branches or pull requests

7 participants