3 Things to consider when upgrading APEX to 23.1

Commonly, applications continue working as expected after installing a new version of APEX (thankfully) but sometimes, and often depending on the APEX version you're currently working on, your applications may be impacted, even if compatibility mode is pointing to a previous version.

In a recent upgrade project to APEX 23.1, a few things got my attention. Consider the application was running on the same server, same database, etc. The only changes were the APEX version from 19.2 to 23.1 and refreshing the Universal Theme.

  1. When hiding buttons using a Dynamic Action on Page Load, you can see the button is rendered on the page and then it's hidden.

    In this example, the delete button is hidden using a DA, but the user can see it for an instant before it disappears. That's kind of annoying the end user, and it wasn't happening before the upgrade. We also were able to reproduce this in a different server to confirm that it happened after the upgrade.

    Because no other action on the page triggers something to show the button back, in this case, the solution is changing the DA for a Server Side Condition, that way the button isn't rendered.

  2. Deprecated DOM Object Dynamic Actions through an error and all javascript code is stopped

    This type of Affected Elements were working fine in APEX 19 (Compatibility mode Pre 4.1), but after upgrading you can see the red icon in the Development bar indicating there is a JavaScript error.

    So all those DA needed to be changed from DOM Object item, button or jQuery Selector, depending on the case.

  3. Titles on Collapsible regions are now part of the button for collapsing and expanding the region.

    In Previous versions, if for some reason you needed to add a link next to the title of the Collapsible region, you could click it. The button tag was in the Controls section of the header, and the title was in a simple div.

    In 23, the title is inside a button tag, so if you add a link using an anchor, it won't work.

    If you need to do it (and I'm not saying it's a good practice), you could add a closing button tag before the anchor

    And that should do the work.

    If your link is displayed below the title, you probably need to add this on the inline CSS: