We've been talking about what we can do wrt config page cleanups for Jenkins 2.x. One approach we were looking at was to change the config page structure (change the actual DOM). Doing this is not trivial for a few reasons ...

      1. Breaking the UI for plugins that rely on the current structure. Imo, this can not be fixed easily and should not be hand-waved away.
      2. Breaking form submission, as it is hardwired for a specific page structure This can be fixed within Jenkins core, but I'd fear there's be ripple effects for a time after.

      Target features for "phase 1"

      (All features build on #1)

      1. Version 1 of a JavaScript API for config forms that can be used as a foundation on which to build all other config page UX improvements. This will hopefully help compensate for the fact that there is no structure within the markup/DOM. See config/table-metadata.js.
      2. Tabbed sections. Uses the above config forms API. See config/tabbar.js. Yes, can try other things (accordions etc) in a future iteration.
      3. Config finder. Find text across the different sections, only showing the user those sections that contain the text.
      4. Remember last active section. Remember the last section the user was on when last configuring the Job e.g. if they were on Build Triggers, bring them back there immediately on next configure of that Job.
      5. Toggle classic config view on/off. Allow people to opt-out and revert back to the "classic" configuration view.

          [JENKINS-32357] Better config page navigation - phase 1

          Tom FENNELLY added a comment -

          The plan is to try get some of this into a PR on the 2.0 branch.

          Tom FENNELLY added a comment - The plan is to try get some of this into a PR on the 2.0 branch.

          Tom FENNELLY added a comment - - edited

          Tom FENNELLY added a comment - - edited We have a WiP Pull request here . Dev list conversation

          Code changed in jenkins
          User: Daniel Beck
          Path:
          core/src/main/resources/hudson/model/Job/configure.jelly
          core/src/main/resources/hudson/model/Job/configure.properties
          core/src/main/resources/lib/form/apply.jelly
          core/src/main/resources/lib/form/checkbox.jelly
          core/src/main/resources/lib/form/optionalBlock.jelly
          core/src/main/resources/lib/form/radioBlock.jelly
          core/src/main/resources/lib/form/rowSet.jelly
          core/src/main/resources/lib/layout/css.jelly
          core/src/main/resources/lib/layout/js.jelly
          core/src/main/resources/lib/layout/layout.jelly
          war/gulpfile.js
          war/package.json
          war/src/main/js/config-tabbar.js
          war/src/main/js/page-init.js
          war/src/main/js/util/jenkinsLocalStorage.js
          war/src/main/js/util/jquery-ext.js
          war/src/main/js/util/localStorage.js
          war/src/main/js/widgets/config/model/ConfigRowGrouping.js
          war/src/main/js/widgets/config/model/ConfigSection.js
          war/src/main/js/widgets/config/model/ConfigTableMetaData.js
          war/src/main/js/widgets/config/model/util.js
          war/src/main/js/widgets/config/tabbar.js
          war/src/main/js/widgets/config/tabbar.less
          war/src/main/js/widgets/form/form-mixins.less
          war/src/main/js/widgets/jenkins-widgets.less
          war/src/main/js/widgets/layout-mixins.less
          war/src/main/js/widgets/variables.less
          war/src/main/webapp/scripts/hudson-behavior.js
          war/src/test/js/widgets/config/tabbar-spec.js
          war/src/test/js/widgets/config/workflow-config.html
          http://jenkins-ci.org/commit/jenkins/055bc410a8d3efd40771f229a3ba61da61733b99
          Log:
          Merge pull request #2006 from tfennelly/2.0-with-config-tabs

          JENKINS-32357 Section tabs for job configs - phase 1

          Compare: https://github.com/jenkinsci/jenkins/compare/eb4855b6b97b...055bc410a8d3

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Daniel Beck Path: core/src/main/resources/hudson/model/Job/configure.jelly core/src/main/resources/hudson/model/Job/configure.properties core/src/main/resources/lib/form/apply.jelly core/src/main/resources/lib/form/checkbox.jelly core/src/main/resources/lib/form/optionalBlock.jelly core/src/main/resources/lib/form/radioBlock.jelly core/src/main/resources/lib/form/rowSet.jelly core/src/main/resources/lib/layout/css.jelly core/src/main/resources/lib/layout/js.jelly core/src/main/resources/lib/layout/layout.jelly war/gulpfile.js war/package.json war/src/main/js/config-tabbar.js war/src/main/js/page-init.js war/src/main/js/util/jenkinsLocalStorage.js war/src/main/js/util/jquery-ext.js war/src/main/js/util/localStorage.js war/src/main/js/widgets/config/model/ConfigRowGrouping.js war/src/main/js/widgets/config/model/ConfigSection.js war/src/main/js/widgets/config/model/ConfigTableMetaData.js war/src/main/js/widgets/config/model/util.js war/src/main/js/widgets/config/tabbar.js war/src/main/js/widgets/config/tabbar.less war/src/main/js/widgets/form/form-mixins.less war/src/main/js/widgets/jenkins-widgets.less war/src/main/js/widgets/layout-mixins.less war/src/main/js/widgets/variables.less war/src/main/webapp/scripts/hudson-behavior.js war/src/test/js/widgets/config/tabbar-spec.js war/src/test/js/widgets/config/workflow-config.html http://jenkins-ci.org/commit/jenkins/055bc410a8d3efd40771f229a3ba61da61733b99 Log: Merge pull request #2006 from tfennelly/2.0-with-config-tabs JENKINS-32357 Section tabs for job configs - phase 1 Compare: https://github.com/jenkinsci/jenkins/compare/eb4855b6b97b...055bc410a8d3

            tfennelly Tom FENNELLY
            tfennelly Tom FENNELLY
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: