Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-61326

Replace 24-column Bootstrap 3 grid with 12-column Bootstrap 5 version

      Jenkins uses a very old and patched version of Bootstrap's Grid v3.1.1 (release from 2014). This JS library is automatically included in all jelly views that use the layout tag. This has several disadvantages:

      • The JS lib is 6 years old and outdated and is not compatible with other modern JS libraries (see layout hack in the bootstrap4 plugin to get BootStrap 4 working on plugins views like in the Warnings plugin).
      • The JS lib has been patched and does not use the default 12-column layout. However, a 12-column layout is expected by a lot of different JS libraries with a dependency to bootstrap. E.g. the data-tables columns will use only half of the screen due to the 24 column hack.

      It would make sense to replace this version with the corresponding new version of Bootstrap 4 (btw: Bootstrap 5 is on its way). Note that this may break the layout in some plugins that already use the 24 columns.

          [JENKINS-61326] Replace 24-column Bootstrap 3 grid with 12-column Bootstrap 5 version

          Ulli Hafner added a comment -

          I created https://github.com/jenkinsci/jenkins/pull/4693 as a workaround for plugins until a fix is available.

          Ulli Hafner added a comment - I created https://github.com/jenkinsci/jenkins/pull/4693 as a workaround for plugins until a fix is available.

          Ulli Hafner added a comment -

          This issue is not fixed, we just have a workaround with https://github.com/jenkinsci/jenkins/pull/4693

          Ulli Hafner added a comment - This issue is not fixed, we just have a workaround with https://github.com/jenkinsci/jenkins/pull/4693

          Daniel Beck added a comment -

          Wouldn't it make more sense to not have bootstrap at all if it changes incompatibly every few years?

          Daniel Beck added a comment - Wouldn't it make more sense to not have bootstrap at all if it changes incompatibly every few years?

          Ulli Hafner added a comment -

          The incompatibility is not from Bootstrap. The problem is that a Jenkins developer changed the Grid from 12 to 24 columns. All other projects in the world use a 12 column grid ¯_(ツ)_/¯. 

          Ulli Hafner added a comment - The incompatibility is not from Bootstrap. The problem is that a Jenkins developer changed the Grid from 12 to 24 columns. All other projects in the world use a 12 column grid ¯_(ツ)_/¯. 

          Daniel Beck added a comment -

          Ah okay, "patched"

          Is bootstrap otherwise backwards compatible? If plugins rely on it, we shouldn't need to break them every few years.

          Daniel Beck added a comment - Ah okay, "patched" Is bootstrap otherwise backwards compatible? If plugins rely on it, we shouldn't need to break them every few years.

            Unassigned Unassigned
            drulli Ulli Hafner
            Votes:
            3 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated: