Downgrade an APEX Application from your current release to an earlier release
The primary reason why we use APEX is to save time and be more productive. As keen developers we’re always wanting the latest and greatest features which means we’re always developing with the latest version of APEX but sometimes this comes back to bite us. Today we had a requirement to supply a 3.2 application which we’ve built for a version 3.0 environment, it never occurred to us that this would arise because we thought we’d have the last say in which version the application would run in, a little short sighted to say the least. So we had two options:
- Re-create the application and theme manually
- Downgrade the existing 3.2 application to 3.0
Of course we preferred the second option as the first was too time intensive, but we weren’t sure it could be done as there’s no official documentation for it. So we started our investigation, we first tried to use the command line export tool using the 3.0 source to export the 3.2 application, being former DBA’s we knew this worked with the Database when doing exp/imp, so we’d thought we found the solution and started patting ourselves on the back but we soon realised that it wasn’t going to work, yeah we were able to export the application using the older export utility from the 3.0 source against a 3.2 application, but the export itself was still a 3.2 application. We came to the conclusion that the export itself is done via PLSQL in the APEX schema and that the Java code is just a wrapper around it. Back to square one!

Luckily though we remembered reading a blog post over a month ago which talked about the exact same thing (we pretty much read every APEX blog post out there). I have to say that the amount of ideas and inspiration, as well as step by step instructions that are available in the APEX blogs just makes our job easier and easier. The community work around the product is fantastic and a lifesaver at times. Tyler Muth had a great detailed posting on how to downgrade an APEX application and to top it off he even had a sample application to help. (we’re not going to steal his thunder so head over to Tyler’s blog if you’re looking to do the same)
There’s the obvious disclaimer that its not supported by Oracle, but we’ve never logged a call with them and probably never will. An APEX application is just metadata, the worst that can go wrong is that your app doesn’t work as it should and all you need to do is test test test!
The only additional issues we came across following Tylers instructions were a few page items which required some tweaking. i.e. the “p_display_as” parameter values needed to be changed for “HIDDEN_PROTECTED” to “HIDDEN” and “PASSWORD_WITH_SUBMIT_DNSS” to “PASSWORD_WITH_ENTER_SUBMIT”. I’m sure there’s a number of other things but our app wasn’t using them, it’s just a quick note that even if you still run into problems there’s always a way around them whatever they are! (and that’s not just for this, it’s for everything APEX related). In the end a task that we thought would take over a day to perform, we were done in an hour (including the mistakes and google searching etc)! Just goes to show that you can still be productive even when there’s no immediate solution, why?? because chances are there’s someone else who’s already done all the hard work for you.
No Comments »
RSS feed for comments on this post.
Leave a comment
You must be logged in to post a comment.