Uploaded image for project: 'Confluence Data Center'
  1. Confluence Data Center
  2. CONFSERVER-79630

Create compat-lib to handle basic compat API for Webwork/Struts

      Atlassian Update - Oct 2022

      The Confluence DC development team has added a section for confluence-compat-lib usage with Struts2. The layer for Struts2 compatibility has been added in 1.5.0 of confluence-compat-lib.

      We would like to say thank you for everyone who provided feedback for the compatibility layer and would continue to watch the ticket/community post for the same.

      Regards,
      The Confluence DC Team

      Issue Summary

      Since Struts 2 upgrade is a breaking change, plugins would require a compatibility layer to keep a single version running across 7.x/8.x of Confluence.

      We can provide it to cover >90% of the cases. This would help in reducing friction in Vendor adoption of 8.0

      Few compatibility layers required inside confluence-compat-lib would need to cater for:

      • Constants
      • ActionContext/ServletActionContext
      • VelocityUtils bridge for static methods(if needed)

      This is reproducible on Data Center: (yes) 

      Steps to Reproduce

      1. Use Struts based Confluence 8.0

      Expected Results

      Single version of plugin using ServletActionContext can work with both Confluence 7.x and 8.x

      Actual Results

      Currently, two different versions are required.

      Workaround

      Currently there is no known workaround for this behavior. Plugins would need two versions for compatibility.

            [CONFSERVER-79630] Create compat-lib to handle basic compat API for Webwork/Struts

            Ganesh Gautam made changes -
            Link New: This issue causes CONFSERVER-80174 [ CONFSERVER-80174 ]
            Ganesh Gautam made changes -
            Description Original: h3. Issue Summary

            Since [Struts 2 upgrade|https://confluence.atlassian.com/doc/struts-2-upgrade-1155473773.html] is a breaking change, plugins would require a compatibility layer to keep a single version running across 7.x/8.x of Confluence.

            We can provide it to cover >90% of the cases. This would help in reducing friction in Vendor adoption of 8.0

            Few compatibility layers required inside confluence-compat-lib would need to cater for:
             * Constants

             * ActionContext/ServletActionContext

             * VelocityUtils bridge for static methods(if needed)

            This is reproducible on Data Center: (yes) 
            h3. Steps to Reproduce
             # Use Struts based Confluence 8.0

            h3. Expected Results

            Single version of plugin using ServletActionContext can work with both Confluence 7.x and 8.x
            h3. Actual Results

            Currently, two different versions are required.
            h3. Workaround

            Currently there is no known workaround for this behavior. Plugins would need two versions for compatibility.
            New: {panel:title=Atlassian Update - Oct 2022|borderStyle=solid|borderColor=#3c78b5|titleBGColor=#3c78b5|bgColor=#e7f4fa}
            The Confluence DC development team has added a [section|https://confluence.atlassian.com/display/DOC/Struts+2+upgrade#Struts2upgrade-30sept] for confluence-compat-lib usage with Struts2. The layer for Struts2 compatibility has been added in 1.5.0 of confluence-compat-lib.

            We would like to say thank you for everyone who provided feedback for the compatibility layer and would continue to watch the ticket/[community post|https://community.developer.atlassian.com/t/psa-confluence-moves-to-struts-in-8-0-eap/60376] for the same.

            Regards,
            The Confluence DC Team
            {panel}

            h3. Issue Summary

            Since [Struts 2 upgrade|https://confluence.atlassian.com/doc/struts-2-upgrade-1155473773.html] is a breaking change, plugins would require a compatibility layer to keep a single version running across 7.x/8.x of Confluence.

            We can provide it to cover >90% of the cases. This would help in reducing friction in Vendor adoption of 8.0

            Few compatibility layers required inside confluence-compat-lib would need to cater for:
             * Constants

             * ActionContext/ServletActionContext

             * VelocityUtils bridge for static methods(if needed)

            This is reproducible on Data Center: (yes) 
            h3. Steps to Reproduce
             # Use Struts based Confluence 8.0

            h3. Expected Results

            Single version of plugin using ServletActionContext can work with both Confluence 7.x and 8.x
            h3. Actual Results

            Currently, two different versions are required.
            h3. Workaround

            Currently there is no known workaround for this behavior. Plugins would need two versions for compatibility.
            Ganesh Gautam made changes -
            Remote Link New: This issue links to "A1 Server. Master Baseline › Code Check - Static Analysis › issue-CONFSERVER-79630-bump-compat-lib-to-1.5.0 (server-syd-bamboo)" [ 694231 ]
            Ganesh Gautam made changes -
            Remote Link New: This issue links to "A1 Server. Master Baseline › Main Plugins - Cheese Meteor › issue-CONFSERVER-79630-bump-compat-lib-to-1.5.0 (server-syd-bamboo)" [ 694230 ]
            Ganesh Gautam made changes -
            Remote Link New: This issue links to "A1 Server. Master Baseline › Spring-wired Integration Tests › issue-CONFSERVER-79630-bump-compat-lib-to-1.5.0 (server-syd-bamboo)" [ 694085 ]
            Ganesh Gautam made changes -
            Remote Link New: This issue links to "A1 Server. Master Baseline › WebDriver tests (Chrome 3.141.59, Adoptium Temurin 17) › issue-CONFSERVER-79630-bump-compat-lib-to-1.5.0 (server-syd-bamboo)" [ 694229 ]
            Ganesh Gautam made changes -
            Remote Link New: This issue links to "A1 Server. Master Baseline › Main Tests (Postgres 14.x, Tomcat 9) › issue-CONFSERVER-79630-bump-compat-lib-to-1.5.0 (server-syd-bamboo)" [ 694180 ]
            Ganesh Gautam made changes -
            Remote Link New: This issue links to "A1 Server. Master Baseline › WebDriver tests (Firefox 2.53.1) › issue-CONFSERVER-79630-bump-compat-lib-to-1.5.0 (server-syd-bamboo)" [ 694084 ]
            Ganesh Gautam made changes -
            Remote Link New: This issue links to "A1 Server. Master Baseline › Mixed Versions Tests, Postgres 14.x, Tomcat 9, Java 11 › issue-CONFSERVER-79630-bump-compat-lib-to-1.5.0 (server-syd-bamboo)" [ 694083 ]
            Ganesh Gautam made changes -
            Remote Link New: This issue links to "A1 Server. Master Baseline › WebDriver A11y Regression tests (Chrome 3.141.59, Adoptium Temurin 17) › issue-CONFSERVER-79630-bump-compat-lib-to-1.5.0 (server-syd-bamboo)" [ 694179 ]

              8d92d18aad77 Bhanu Darisi (Inactive)
              ggautam Ganesh Gautam
              Affected customers:
              8 This affects my team
              Watchers:
              16 Start watching this issue

                Created:
                Updated:
                Resolved: