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

draft: Use a sidebar for Manage Jenkins #8379

Closed

Conversation

janfaracik
Copy link
Contributor

@janfaracik janfaracik commented Aug 16, 2023

Draft PR for the time being.

This PR overhauls Manage Jenkins to use a sidebar for links, rather than the current grid view. This was discussed on https://community.jenkins.io/t/new-settings-view-feedback-wanted/ and I've opened a draft PR to get further thoughts on implementation and to highlight things that I've missed.

The advantages to this design:

  • One less click to get to ‘General’ settings
  • Easy to switch between sections (no more having to go back to the Settings page)
  • Consistent with other views in Jenkins (e.g. Configure projects, Plugins)
  • Better use of screen real estate (currently inputs needlessly use the full page width)

Screenshots
image

image image

This will require updates to plugins to implement the ManagementLink side panel.

Testing done

Todo

Proposed changelog entries

  • Use a sidebar for Manage Jenkins

Proposed upgrade guidelines

N/A

Submitter checklist

Preview Give feedback

Desired reviewers

@jenkinsci/sig-ux

Before the changes are marked as ready-for-merge:

Maintainer checklist

Preview Give feedback

@@ -134,3 +137,14 @@ $background-outset: 0.7rem;
}
}
}

.nodeswidgetview {
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Placeholder class for the time being - this needs to be replaced.

@@ -28,17 +28,23 @@ THE SOFTWARE.
<?jelly escape-by-default='true'?>
<j:jelly xmlns:j="jelly:core" xmlns:st="jelly:stapler" xmlns:d="jelly:define" xmlns:l="/lib/layout" xmlns:t="/lib/hudson" xmlns:s="/lib/form">
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This entire page still needs work

@@ -24,8 +24,10 @@ THE SOFTWARE.

<!-- About Jenkins page -->
<?jelly escape-by-default='true'?>
<j:jelly xmlns:j="jelly:core" xmlns:l="/lib/layout" xmlns:t="/lib/hudson">
<l:layout type="one-column" permissions="${app.MANAGE_AND_SYSTEM_READ}" title="${%about(app.VERSION)}">
<j:jelly xmlns:st="jelly:stapler" xmlns:j="jelly:core" xmlns:l="/lib/layout" xmlns:t="/lib/hudson">
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Would it be worth having a new component (e.g. SettingsItemLayout.jelly) rather than layout.jelly to wrap pages?

@daniel-beck
Copy link
Member

daniel-beck commented Aug 16, 2023

Are what you listed the only benefits of this? They seem fairly minor in comparison to the drawbacks: This

  1. drops the ability to have descriptions (including some that include important status information, like Script Security's)
  2. loses the ability to adapt the sidebar of actual configuration forms (System, Security, possibly Tools) to job configuration forms, making the differences in how similar things work between different parts of Jenkins worse
  3. does not scale as well to more items since it loses the horizontal dimension
  4. requires adaptation in tons of plugins to not have a very broken experience (see e.g. "Load Statistics" in the current PR state)
  5. Makes admin monitors awkward since they'll clutter up the global configuration now
  6. Admin monitors need to be adapted if they refer to configuration options in System, potentially needing different wordings between the popup and this one (see e.g. the one if no root URL is defined).

In particular, I don't see how

Consistent with other views in Jenkins (e.g. Configure projects, Plugins)

applies other than at the most superficial level. Job configurations navigate inside the same form, while here, everything navigates elsewhere, dropping unsaved changes.

This mirrors a similar change in Mac OS System Preferences to make it more iPhone-like, which I've only seen overwhelmingly negative feedback for. Replicating phone UI when you have giant screens makes no sense.

Beyond the above, I'm curious what your plans for the sidepanel of the plugin manager are. Given we've moved items from elsewhere to there less than a year ago, with further related changes in a PR (#8376, open when I commented and now merged), that seems to clash with this proposal quite significantly.

@timja timja marked this pull request as draft August 16, 2023 10:50
@timja timja requested a review from a team August 16, 2023 10:50
@timja timja added rfe For changelog: Minor enhancement. use `major-rfe` for changes to be highlighted major-rfe For changelog: Major enhancement. Will be highlighted on the top web-ui The PR includes WebUI changes which may need special expertise and removed rfe For changelog: Minor enhancement. use `major-rfe` for changes to be highlighted labels Aug 16, 2023
@github-actions github-actions bot added the unresolved-merge-conflict There is a merge conflict with the target branch. label Aug 23, 2023
@github-actions
Copy link
Contributor

Please take a moment and address the merge conflicts of your pull request. Thanks!

@github-actions github-actions bot removed the unresolved-merge-conflict There is a merge conflict with the target branch. label Dec 26, 2023
@github-actions github-actions bot added the unresolved-merge-conflict There is a merge conflict with the target branch. label Jan 3, 2024
Copy link
Contributor

github-actions bot commented Jan 3, 2024

Please take a moment and address the merge conflicts of your pull request. Thanks!

@github-actions github-actions bot removed the unresolved-merge-conflict There is a merge conflict with the target branch. label Apr 13, 2024
@github-actions github-actions bot added the unresolved-merge-conflict There is a merge conflict with the target branch. label Jun 11, 2024
Copy link
Contributor

Please take a moment and address the merge conflicts of your pull request. Thanks!

@github-actions github-actions bot removed the unresolved-merge-conflict There is a merge conflict with the target branch. label Jun 15, 2024
@janfaracik
Copy link
Contributor Author

Will write a proposal for this and come back to it - thanks all.

@janfaracik janfaracik closed this Jun 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
major-rfe For changelog: Major enhancement. Will be highlighted on the top web-ui The PR includes WebUI changes which may need special expertise
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants