Hi,
We have just upgraded our APEX environments from v22.1 to v23.1.6 and have started to notice some strange behaviour when exporting / importing applications between environments.
In APEX 22.1 the default value of ‘Export Original IDs’ was set to ‘Yes’, this now appears to be defaulting to ‘No’. I'm unable to find out if that change was made as part if 22.2 or 23.1.
An application was exported from our dev environment (with the default export settings, so ‘Export Original IDs’ = ‘No’) and subsequently imported into a Test environment. Shortly after a change was made to a single page in the Dev version of the application and the single page was exported and then imported in to the application in the Test environment. This caused all the Template IDs associated with the Regions on the imported page to become unresolvable, and the page layout could not render properly. It was at this point that we noticed the change to the default value of ‘Export Original IDs’.
The application was then exported again, but setting the ‘Export Original IDs’ to ‘Yes’. When the application was then imported to Test and the single page re-imported, the Template IDs for the Regions all resolved fine and the page was displayed as expected.
The issue here seems to be that there is no way to export a page from APEX Builder without including the original IDs.
With the above in mind it was decided that we will continue to export apps from Dev and manually change the ‘Export Original IDs' to ‘Yes’, but this caused its own problems. Many of our applications are created as a copy of a central ‘Starter’ application which contains Processes, and App Items that are required across all applications. When the application is exported with ‘Export Original IDs’ set to ‘Yes’, the default Application ID in the export file is being set to the ID of the application that the new application was copied from. This seems to have changed from what used to happen in 22.1.
For example. App 300 is created as a copy of App 1002. App 300 is exported with ‘Export Original IDs’ set to ‘Yes’, but when the application is imported to a new environment, it is installed as 1002, not 300. The problem here is that Apps 301, 302, and 303 are also created as copies of 1002. As we run our install scripts from either SQL*Plus or SQL Developer there is no prompt to say that App 300 is actually going to be installed as App 1002, and the existing App 1002 will be overwritten.
If we change back to exporting the applications with ‘Export Original IDs’ set to ‘No’ then we face the first problem of not being able to export / import individual pages!
We never had any problems exporting / importing on v22.1 when ‘Export Original IDs’ defaulted to ‘Yes’, as it has been doing since APEX 5.1.
Can someone please to point me in the right direction, as I don't think we are doing anything wrong, but this doesn't seem to be correct behaviour.
Many thanks in advance!
Cj