Co-author: Louis Moreaux
So, you’ve gotten news that your DBA team have upgraded the version of your Oracle APEX instance. Does this mean that you, dear developer, are off the hook?
Not so fast, my friend.
Inspired by Louis‘ ‘Monday Oracle APEX Tips’ series where he published a great tweet thread on the topic, we’ve added in a bonus tip or two and included feedback from the community.
So in order to fully leverage the newest features of APEX in your applications, and ensure full compatibility with minimal issues, read on to learn about the 10 steps you need to take in your applications when upgrading Oracle APEX to the a new release.
1. Read the release notes
Reading the release notes of any new version of Oracle APEX is an essential first step in this process. By doing so, you’ll gain insights into the changed behavior, which helps you identify potential impacts on your application’s functionality. You’ll also be informed about deprecated features, giving you a heads up to start planning for their eventual replacement. Staying aware of desupported features ensures you make necessary updates in a timely manner, maintaining your application’s stability and security. Finally, understanding what has been deprecated in previous releases helps you stay on top of best practices and avoid relying on outdated functionality. In short, reading release notes keeps you informed and helps you make proactive decisions, allowing you to create a better and more reliable experience for your users.
Read the release notes for a quick overview of:
- Changed Behavior
- Deprecated Features
- Desupported Features
- Deprecated in Previous Release
2. Backup, backup, backup
Backups, the unsung heroes.
Before diving into any upgrade, it’s crucial to take a moment and ensure you’ve got a solid backup of your application. Think of it as a safety net, ready to catch you if anything goes awry during the upgrade process. It’s like that spare tire – you hope you won’t need it, but you’ll be glad you have it if things go wrong!
With a trusty backup in place, you can confidently embark on your upgrade knowing you’ve got a reliable plan B.
Thanks to Juergen and Plamen for piping in about backups.
3. Update the Compatibility Mode
Compatibility mode in Oracle APEX is a feature designed to help you manage the way your application behaves through different releases. As new versions of APEX are rolled out, some runtime behaviors may change, potentially affecting the functionality or performance of your existing applications. That’s where compatibility mode comes in.
By adjusting the Compatibility Mode attribute, you can control which version’s runtime behaviors your application adheres to. This flexibility allows you to maintain specific application behavior while you evaluate or adapt to the changes introduced in a newer APEX release. For example, you might set the compatibility mode to a previous version while you test your application against the latest APEX version, ensuring a smooth transition without any unexpected hiccups.
In essence, compatibility mode is like having a time machine for your APEX application, allowing you to pick and choose which runtime behavior suits your needs best. It’s a valuable tool for developers who want to keep their applications running smoothly while gradually embracing the advancements and improvements that come with each new APEX release.
In order to change your application’s compatibility mode:
Edit Application Definition and, under Properties set the Compatibility Mode to the latest version.
4. Refresh the Universal Theme
Upgrading the Universal Theme after an Oracle APEX upgrade is like giving your application a functional makeover. The Universal Theme is the heart and soul of your APEX application’s user interface, providing a responsive, modern, and visually appealing experience for your users.
When Oracle APEX is upgraded, the Universal Theme often receives enhancements, too. These improvements can include new features, performance optimizations, better accessibility, and even bug fixes. By updating the Universal Theme, you ensure that your application takes advantage of these latest improvements, making it more user-friendly, efficient, and in tune with modern design principles.
Furthermore, keeping the Universal Theme up-to-date can also streamline the development process. As new APEX releases come with new components or features, updating the Universal Theme ensures compatibility with these additions. This way, you can make the most of the latest APEX capabilities in your application development.
So, remember to refresh your Universal Theme whenever you upgrade your version of Oracle APEX.
To do so, go to Shared Components and you will see a banner at the top of the screen, just click on the button. If you want more details, verify the theme. To do this, edit your theme and click on the Verify button.
5. Update JavaScript compatibility attributes
Edit Application Definition, then click on User Interface and make sure that in the JavaScript tab:
- Nothing is checked
- jQuery migrate is disabled
Note: if you use old JS APIs you have to update your code for your own safety.
6. Check out the Upgrade Application Utility
The Upgrade Application Utility is helpful because it lists all existing features in the application that can be upgraded, along with a component count. Thanks to Simon for this one!
7. Review/Refactor your code
An Oracle APEX upgrade presents a valuable opportunity to refactor your code and leverage new features that come with the updated version. Refactoring your code not only helps to optimize your application but also keeps it in line with the latest best practices and developments in the APEX ecosystem.
For instance, with the release of APEX 22.2, the platform now includes blob_to_clob and clob_to_blob functions as part of the APEX_UTIL package. This means that you can retire any custom functions you may have been using previously for these conversions. By taking advantage of the built-in functions, you can reduce code complexity, decrease maintenance efforts, and ensure a more consistent approach across your application.
8. Make use of 3rd party tools and extensions
Patrizia Regenberg pointed out the usefulness of APEX Visualizer by Oliver Lemm. Available under MIT license, it checks that you have updated all desupported / deprecated features.
9. Review your plugins
Jon Dixon also makes the point that it is a good time to remove any plugins you no longer need and or upgrade plugins you do still need.
10. Test your application!
Testing your application after an upgrade is a vital step to ensure its stability and reliability. When you upgrade your Oracle APEX environment, it’s possible that some changes may have an impact on your application’s functionality, performance, or user experience. Although the Oracle APEX team works extremely hard to ensure APEX upgrades are smooth and have minimal impact, it’s a step you really shouldn’t skip.
By thoroughly testing your application post-upgrade, you can identify and resolve any issues that might have been introduced during the process before deploying them to production.
Bonus tip:
Now’s also a good time to check your ORDS version and upgrade too!
Check also ORDS Version 😉
— AndréMeierL (@andremlde) April 24, 2023
Conclusion
By taking the time to follow these best practices, you’ll ensure that your applications are not only compatible with the latest APEX version but also optimized to leverage the new features and improvements. Remember, each Oracle APEX upgrade is an opportunity to refine your applications, enhance performance, and bolster security, keeping your work relevant in the ever-evolving world of low-code Oracle APEX development.