Redesign UI#190
Conversation
|
cc @janfaracik, fyi @mawinter69, this is what I meant about doing a redesign of the security plugins so the tables aren't a problem with the sidepanel. |
|
In role-strategy that will work for the page where you define the roles. For the assign page, that might require some adjustments. When you have 100 or even 300 roles and want to assign roles to users that will make the opening area below really huge and lead to scrolling. |
|
How does that look when you have selected like 10 different permissions, e.g. when you have more plugins that contribute additional permissions |
Co-authored-by: Jan Faracik <43062514+janfaracik@users.noreply.github.com>
|
From a casual look, this seems great, but would be interesting to get an idea of the scale of some instances' configuration first, as this doesn't look particularly scalable to dozens of users/groups. My hunch is that there are some crazy configurations out there. It also looks impossible to find who has a given permission, at least if I'm reading the JS right. Right now I highlight a table column and can easily see it, here it looks like I'd need to expand all sections and deal with a much more complex grid. Re "grant everything" only giving Administer instead of everything, does that work with optional permissions not implied by anything else, like Run/Artifacts? |
Seems not. Any reason why it was designed like that? Is that maybe a leftover from things like |
I would need to dig.
Those came later.
Maybe. There may be weird edge cases here as well. Maybe it's just time to clean up those permission declarations; meanwhile the button should do what it says IMO. |
It works fine from what I can tell - where are you seeing grant admin only? Its just implied don't get checked matrix-auth-select-all.mov |
|
@timja Great! The existing UI did look different between implied not granted and implied granted, yours didn't seem to. |
Should be possible now since 220a832 I tested it quite a lot and I think its setup well. I've made it so that if you search for a permission that they have as implied they'll come back, e.g search read and administer will show. matrix-auth-filter.mov
By scalable do you think as it takes up a bit more room? Or something else? |
Mostly when it comes to getting an "overview" of permissions -- right now, it's a not a great UI, but it's using space efficiently. Expanding all list entries provides the same information in the new UI, and that's just impractical. Filtering for permissions seems like a good addition though (untested), perhaps that's enough. |
Thinking: could probably just adding it to the dialog that comes up |
|
Overall this looks pretty solid, thanks! I identified a few minor issues so far, and found a few problems:
Other thoughts:
The wording should be updated: The description for ambiguous permissions refers to a "table" when there's no table anymore. (Also, did I ever re-read this after writing? The text is terrible. Happy to take this one myself. The plugin uses long obsolete "User ID" terminology cf. recent PR by @janfaracik in core, so I'd need to follow up anyway.) |
| <j:choose> | ||
| <j:when test="${isChecked}"> | ||
| <input type="checkbox" name="[${p.id}]" checked="checked"/> | ||
| </j:when> | ||
| <j:otherwise> | ||
| <input type="checkbox" name="[${p.id}]"/> | ||
| </j:otherwise> | ||
| </j:choose> |
There was a problem hiding this comment.
| <j:choose> | |
| <j:when test="${isChecked}"> | |
| <input type="checkbox" name="[${p.id}]" checked="checked"/> | |
| </j:when> | |
| <j:otherwise> | |
| <input type="checkbox" name="[${p.id}]"/> | |
| </j:otherwise> | |
| </j:choose> | |
| <input type="checkbox" name="[${p.id}]" checked="${isChecked?'checked':null}"/> |


TODO:
Part of jenkinsci/sig-ux#10
Future enhancement: Once wizard functionality is in core we could look to improve the add user and group flow so that users don't get returned to the page and have to select permissions for a new entry they could do that in a flow which I think would be nicer.
Redesigns the plugin interface, see video:
matrix-auth.mov
Screenshots:
Simple
Expanded
Ambiguous
This was originally written by Gen AI with direction from myself. Jan and I tidied up the code and reviewed every line
Testing done
Submitter checklist