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

dimensionsscm-plugin config forms broken in Jenkins 2.264+

    XMLWordPrintable

    Details

    • Similar Issues:
    • Released As:
      0.8.19

      Description

      I upgraded Jenkins to the newest version, 2.277.1. I also upgraded our Dimensions CM server client to 14.5.2. After the upgrade Jenkins is not functioning properly. Existing configurations are still working, but I can not make any new changes. The Apply/Save buttons do not work on any jobs/projects. I can't create a new project. I can't make/save changes in Configure System. Within Configure System and inside individual job Configure page, I noticed the dimensions section is now booted far to the left on the configure pages. The top tabs for each sections no longer appear anymore either. I attached screenshots of how the configuration pages are looking.

       

      I went removed Dimensions plugin, restarted jenkins and all the configuration pages went back to normal and worked as expected. The Save/Apply buttons both worked again. I reinstalled Dimensions and it went back to not working again. I tried installing the previous version of the dimensions plugin I had before that worked and now that is still causing the same issues.

       

      This is in my production environment and any issues coming up, any changes needing to be made and any new projects to create, I cannot do and has our development team very locked down and affecting 100s of applications.

        Attachments

          Issue Links

            Activity

            brumms Sara Brumm created issue -
            brumms Sara Brumm made changes -
            Field Original Value New Value
            Rank Ranked higher
            basil Basil Crow made changes -
            Labels dimensionsscm tables-to-divs-regression
            Hide
            basil Basil Crow added a comment -

            This plugin needs to be updated for the Table to div layout migration. Until a PR to adapt this plugin is proposed, merged, and released, this plugin will remain incompatible with Jenkins 2.264 or later, including Jenkins 2.277.1 LTS and later LTS releases. The only short-term option would be to uninstall the plugin or revert back to a previous Jenkins core release without the tables to divs change.

            CC David Conneely

            Show
            basil Basil Crow added a comment - This plugin needs to be updated for the Table to div layout migration . Until a PR to adapt this plugin is proposed, merged, and released, this plugin will remain incompatible with Jenkins 2.264 or later, including Jenkins 2.277.1 LTS and later LTS releases. The only short-term option would be to uninstall the plugin or revert back to a previous Jenkins core release without the tables to divs change. CC David Conneely
            Hide
            dconneely David Conneely added a comment - - edited

            Basil just beat me to it. With Jenkins versions 2.263 and 2.262 and earlier, everything is fine. With Jenkins versions 2.264 and 2.265 and later, the UI is broken.  https://issues.jenkins.io/browse/JENKINS-56109 is the change that caused it, and https://issues.jenkins.io/browse/JENKINS-64184 is a reported issue that duplicates this.

            Unfortunately I don't know the exact ins-and-outs of the tables-to-divs UI changes that the Jenkins core team have made.

            If it helps anyone who knows more than me: change the `<scope>` of the com.serena.dimensions:dmclient dependency to `compile` in pom.xml to be able to see the configuration forms work correctly with `mvn clean hpi:run -Djenkins.version=2.263` and incorrectly with `mvn clean hpi:run -Djenkins.version=2.264`.

            I'll also do some research into what element in the Jelly causes the form corruption.

            One workaround in the meantime is to downgrade to Jenkins version 2.263 or earlier.

            Show
            dconneely David Conneely added a comment - - edited Basil just beat me to it. With Jenkins versions 2.263 and 2.262 and earlier, everything is fine. With Jenkins versions 2.264 and 2.265 and later, the UI is broken.  https://issues.jenkins.io/browse/JENKINS-56109  is the change that caused it, and https://issues.jenkins.io/browse/JENKINS-64184  is a reported issue that duplicates this. Unfortunately I don't know the exact ins-and-outs of the tables-to-divs UI changes that the Jenkins core team have made. If it helps anyone who knows more than me: change the ` <scope> ` of the com.serena.dimensions:dmclient dependency to ` compile ` in pom.xml  to be able to see the configuration forms work correctly with ` mvn clean hpi:run -Djenkins.version=2.263 ` and incorrectly with ` mvn clean hpi:run -Djenkins.version=2.264 `. I'll also do some research into what element in the Jelly causes the form corruption. One workaround in the meantime is to downgrade to Jenkins version 2.263 or earlier.
            dconneely David Conneely made changes -
            Link This issue is caused by JENKINS-56109 [ JENKINS-56109 ]
            dconneely David Conneely made changes -
            Summary Dimensions (dimensionsscm) plugin causes apply/save buttons to not work dimensionsscm-plugin config forms broken in Jenkins 2.264+
            Hide
            basil Basil Crow added a comment -

            David Conneely First of all, great to see that this plugin has an active maintainer! I'm not a member of the Jenkins core team but I can refer you to the instructions in this table-to-div migration documentation for updating your plugin for tables-to-divs. There are also many PRs from plugin conversions that have already been done which can be used as an example; those are linked on the same page. I have not been following this migration too closely; if you have any further questions on the ins-and-outs maybe Tim Jacomb or others from the UX sig on Gitter can help.

            Show
            basil Basil Crow added a comment - David Conneely First of all, great to see that this plugin has an active maintainer! I'm not a member of the Jenkins core team but I can refer you to the instructions in this table-to-div migration documentation for updating your plugin for tables-to-divs. There are also many PRs from plugin conversions that have already been done which can be used as an example; those are linked on the same page. I have not been following this migration too closely; if you have any further questions on the ins-and-outs maybe Tim Jacomb or others from the UX sig on Gitter can help.
            Hide
            dconneely David Conneely added a comment - - edited

            Some links found after quick research this morning - probably for my own use, but recording them here in case useful to anyone else:

            Show
            dconneely David Conneely added a comment - - edited Some links found after quick research this morning - probably for my own use, but recording them here in case useful to anyone else: https://www.jenkins.io/doc/developer/views/table-to-div-migration/  - page about migration to div-based config form layout. From this and examination of the dimensiosnsscm-plugin Jelly files looks like table elements are the issue. https://github.com/jfrog/jenkins-artifactory-plugin/pull/266/files  - how a similar issue was solved in the Jenkins Artifactory plugin (uses Jelly XML, so more similar). https://github.com/jenkinsci/matrix-auth-plugin/pull/83/files  - how the same issue was solved in matrix-auth-plugin (uses Jelly Groovy, so not going to be hugely helpful - although it's clear the fix is the same - use a div instead of a table if a certain variable's set) https://issues.jenkins.io/secure/Dashboard.jspa?selectPageId=20741  - Dashboard for table-to-divs issues, but page often shows no content except for title and footer for me. After several retries, it currently is showing about 30 other defects (in multiple plugins) which have been assigned the tables-to-divs-regression label.
            Hide
            brumms Sara Brumm added a comment -

            Thank you both for the help. I was worried because I forgot to add I did copy over all the jar files that I may have only gotten responses back on that. Good to know this is a known issue and it wasn't something I did wrong (other than I shouldn't have upgraded yet). I'll go ahead and try the workaround and downgrade and hope to get this back up and running in the meantime, this is our production environment and I need this fixed ASAP. Is it worth trying to do the table-to-divs migration or should I just wait until the plugin is updated and compatible with the newer versions of Jenkins? After I get my production Jenkins back working, I'll go back to DEV and can mess around with this if you think its worth the time? Thanks again! 

            Show
            brumms Sara Brumm added a comment - Thank you both for the help. I was worried because I forgot to add I did copy over all the jar files that I may have only gotten responses back on that. Good to know this is a known issue and it wasn't something I did wrong (other than I shouldn't have upgraded yet). I'll go ahead and try the workaround and downgrade and hope to get this back up and running in the meantime, this is our production environment and I need this fixed ASAP. Is it worth trying to do the table-to-divs migration or should I just wait until the plugin is updated and compatible with the newer versions of Jenkins? After I get my production Jenkins back working, I'll go back to DEV and can mess around with this if you think its worth the time? Thanks again! 
            Hide
            dconneely David Conneely added a comment - - edited

            Hi Sara, the "tables-to-divs migration" is something for plugin authors to do if their plugin has issues with the new divs-based form rendering – it's not something that a Jenkins user needs to do.

            Unfortunately for both of us, it looks like the Jenkins Dimensions Plugin is among the several Jenkins plugins that have been affected with issues caused by the new form rendering in Jenkins. I need to spend some time working out what code changes I need to make in the Jenkins Dimensions Plugin to make it compatible with this new form rendering (and so compatible with newer versions of Jenkins core).

            Because Jenkins Dimensions plugin code changes are almost certainly required, it will require a new release of the Jenkins Dimensions Plugin. I hope to do this ASAP, once I've worked out what's going wrong and how to fix it / work around it. For now it would be best if you can downgrade to Jenkins version 2.263.x temporarily, and wait for a new Jenkins Dimensions plugin release with the code changes to make it compatible with this Jenkins change, which I hope to produce soon.

            Show
            dconneely David Conneely added a comment - - edited Hi Sara, the "tables-to-divs migration" is something for plugin authors to do if their plugin has issues with the new divs-based form rendering – it's not something that a Jenkins user needs to do. Unfortunately for both of us, it looks like the Jenkins Dimensions Plugin is among the several Jenkins plugins that have been affected with issues caused by the new form rendering in Jenkins. I need to spend some time working out what code changes I need to make in the Jenkins Dimensions Plugin to make it compatible with this new form rendering (and so compatible with newer versions of Jenkins core). Because Jenkins Dimensions plugin code changes are almost certainly required, it will require a new release of the Jenkins Dimensions Plugin. I hope to do this ASAP, once I've worked out what's going wrong and how to fix it / work around it. For now it would be best if you can downgrade to Jenkins version 2.263.x temporarily, and wait for a new Jenkins Dimensions plugin release with the code changes to make it compatible with this Jenkins change, which I hope to produce soon.
            Show
            dconneely David Conneely added a comment - First pass fix in https://github.com/jenkinsci/dimensionsscm-plugin/commit/a876bd03fa625c6a14011fcf68cc641c6e48396b  - still testing.
            dconneely David Conneely made changes -
            Status Open [ 1 ] In Progress [ 3 ]
            dconneely David Conneely made changes -
            Status In Progress [ 3 ] In Review [ 10005 ]
            Hide
            dconneely David Conneely added a comment -

            In testing before releasing new plugin version

            Show
            dconneely David Conneely added a comment - In testing before releasing new plugin version
            dconneely David Conneely made changes -
            Resolution Fixed [ 1 ]
            Status In Review [ 10005 ] Fixed but Unreleased [ 10203 ]
            Hide
            dconneely David Conneely added a comment -

            Sara Brumm A version 0.8.19 of the Dimensions Jenkins Plugin has been released, and should be in the Jenkins Update Center now, which fixes the broken global configuration and job configuration forms.

            There remains a minor layout issue with the job change summary page, which I'll look at, but the plugin is now usable.

            Show
            dconneely David Conneely added a comment - Sara Brumm A version 0.8.19 of the Dimensions Jenkins Plugin has been released, and should be in the Jenkins Update Center now, which fixes the broken global configuration and job configuration forms. There remains a minor layout issue with the job change summary page, which I'll look at, but the plugin is now usable.
            dconneely David Conneely made changes -
            Released As 0.8.19
            Status Fixed but Unreleased [ 10203 ] Resolved [ 5 ]
            Hide
            brumms Sara Brumm added a comment -

            Thank you for the quick turnaround time on this! I'll get it installed in our DEV and QA environments for testing. What is the minor layout issue that remains? Will you be releasing another update to this plugin for that fix?

            Show
            brumms Sara Brumm added a comment - Thank you for the quick turnaround time on this! I'll get it installed in our DEV and QA environments for testing. What is the minor layout issue that remains? Will you be releasing another update to this plugin for that fix?
            Hide
            dconneely David Conneely added a comment -

            The minor layout issue is that the "Files..." buttons for showing files are now all above the files, and the files are always shown. If you scroll past the buttons, the changed files are still visible and the page works as intended except for the "Files...." buttons .

            I will investigate but it will take a few days to understand why this is happening and what the best way to fix it is. It is likely to mean further plugin code changes, so probably a new plugin release. I believe the issue has the same cause - a Jenkins technology upgrade - as the layout issues with the configuration forms. However, unlike the forms, the changes page is still perfectly legible (when you scroll past the buttons) and it doesn't block you from using any functionality.

            Show
            dconneely David Conneely added a comment - The minor layout issue is that the "Files..." buttons for showing files are now all above the files, and the files are always shown. If you scroll past the buttons, the changed files are still visible and the page works as intended except for the "Files...." buttons . I will investigate but it will take a few days to understand why this is happening and what the best way to fix it is. It is likely to mean further plugin code changes, so probably a new plugin release. I believe the issue has the same cause - a Jenkins technology upgrade - as the layout issues with the configuration forms. However, unlike the forms, the changes page is still perfectly legible (when you scroll past the buttons) and it doesn't block you from using any functionality.
            Hide
            dconneely David Conneely added a comment -

            Version 0.9.0 of the Jenkins Dimensions Plugin should also resolve the minor layout issue mentioned previously.

            Show
            dconneely David Conneely added a comment - Version 0.9.0 of the Jenkins Dimensions Plugin should also resolve the minor layout issue mentioned previously.
            dconneely David Conneely made changes -
            Assignee David Conneely [ dconneely ]
            Status Resolved [ 5 ] Closed [ 6 ]
            Hide
            brumms Sara Brumm added a comment -

            Perfect, I actually already installed it last week and everything is working as expected. Thanks for the updates and quick turnaround on this!

            Show
            brumms Sara Brumm added a comment - Perfect, I actually already installed it last week and everything is working as expected. Thanks for the updates and quick turnaround on this!

              People

              Assignee:
              Unassigned Unassigned
              Reporter:
              brumms Sara Brumm
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: