Hi
There’s been work going on for over a year now which converts the Jenkins form layout from using a table based design to using div’s. It’s now getting very close to landing (hopefully in the next weekly release or so, pending any feedback), and I wanted to announce it as it will have impacts on the UI and will likely cause some issues in plugins. For some more background take a look at JENKINS-56109 <https://issues.jenkins-ci.org/browse/JENKINS-56109> For screenshots see: jenkinsci/jenkins#3895 <https://github.com/jenkinsci/jenkins/pull/3895> Main changes you will notice: - Labels moved above inputs (except checkboxes) - Checkbox labels moved to the right of checkboxes - Bar that helps associate nested fields to their parent at each level Other changes: - Checkbox accessibility improved by associating the labels to the checkboxes allowing a larger hit area as the label can be clicked on - Changes to many plugins to make this as safe as possible, i.e. jenkins#3922 <https://github.com/jenkinsci/jenkins/pull/3922>, allowing pipeline to be seamlessly switched over Changes we would like to do that have been made out of scope of this PR: - Reduce form width as it feels too wide - Out of scope due to some complexity with controls like the converting an input to multiline, and the slider that is used for expanding text areas, it shouldn’t be too hard but it was complex enough not to risk this PR with it - Move help icons closer to the label - There was feedback that the help icons were now too far away, we tried moving them next to the label but it looked a bit odd when all the icons were in different positions Change for plugin authors In most cases plugins won’t need any changes at all, some places that may cause issues are: - adding the td / tr elements directly instead of using the `f:entry` tag, e.g. config-rotator-plugin#2 <https://github.com/jenkinsci/config-rotator-plugin/pull/2> - Custom javascript that is brittle to the Jenkins form UI layout, we’ve done our best to introduce shims, to not cause breakage here - Forking jelly taglibs from core and extending them, i.e. multiple-scms-plugin#25 <https://github.com/jenkinsci/multiple-scms-plugin/pull/25>, would be good to contribute fixes or enhancements to core rather than doing this where possible. - Using tables in the plugin for layout, jfrog/jenkins-artifactory-plugin#266 <https://github.com/jfrog/jenkins-artifactory-plugin/pull/266> How to make my plugin work on old and new core There’s a jelly property divBasedFormLayout that you can use to check whether this rework is in the core version, see jfrog/jenkins-artifactory-plugin#266 <https://github.com/jfrog/jenkins-artifactory-plugin/pull/266>, traits.jelly#0c272 <https://github.com/jenkinsci/scm-api-plugin/pull/82/commits/0c2723bb5029805565ffe128b98bfca6574d418b> More help You can message us in the ux-sig gitter <https://gitter.im/jenkinsci/ux-sig> channel, FeedbackEither here or in the pull request <https://github.com/jenkinsci/jenkins/pull/3895>, reviews most welcomed, instructions for testing it are in the top level PR comment. Thanks Tim -- You received this message because you are subscribed to the Google Groups "Jenkins Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/CAH-3BieisA6rjzws%2BqNjBt5E18_ZVVMAnVw3nPdkzzNCw7dtpA%40mail.gmail.com.
