How do I migrate to Universal Theme?
Before beginning the migration process, it is strongly recommended to take an export of your application. This will enable you to easily revert back to the original application if necessary, before making any changes to your application and its metadata. Once you have migrated to the Universal Theme, you can not easily switch it back to the original legacy theme. Additionally, if you re-import the original application, under a different Application ID, you can refer to this application to review how the application looked previously, as opposed to how it looks using the Universal Theme.
If you haven't done so already, you should use the Application Utilities > Upgrade Application to update certain built-in widgets in your legacy applications to the latest provided by APEX 5, e.g. FlashChart to AnyChart . This will ensure that those widgets take full advantage of the responsiveness of Universal Theme.
First: Create Universal Theme in your application
From Shared Components, click on Themes and follow the steps below:
Note: If you have already installed the Universal THeme into your application proceed to the second step, Switch to Universal Theme.
Click Create Theme
You need to install the Universal Theme into your application to get started.

Select From the Repository.

Select Desktop as the User Interface.

Choose Standard Themes as the Theme Type, and Universal Theme (Theme 42) as the Theme.

Review your changes and click Create.

Second: Switch to Universal Theme.
Note: Not until you have completed Step 4 below will your application be irreversibly changed. Reverting back to a Tab-based application will be very difficult, which is why it is strongly recommended you have a backup of the application before proceeding further.
Click Switch Theme

Select the current desktop theme, and then select 42. Universal Theme.
Depending on your application, you may choose to set the Reset Grid option to either Reset fixed region positions or Reset all region and item grid positions.
Reset fixed region positions will maintain your current region positions, where possible, during migration. This is the recommended approach.
Reset all region and item grid positions will ensure item and region positioning will be reset and will force regions and items to stack on top of each other.
Make sure that Map Template Classes is set to No
Press Next to continue.

Verify that the mappings for your templates and Universal Theme templates are correct. Use the Universal Theme Migration Bookmarklet helper below, to automatically assign the right mapping, or check out the full mapping guide located at the end of this guide.
Most of the inconsistencies will be from new templates that Universal theme provides. Try to choose the template that best matches your existing template. You may want to browse the components in the Universal Theme Sample Application to get a sense of the new templates and their various configurations.

Click Switch Theme.

Final steps: Post migration tasks
Unlike the previous steps, the following tasks do not have to be completed in any particular order. Instead, it is advised that you carry them out before making new enhancements to your application, to ensure that any issues relating to the migration are not complicated by changes in functionality.
-
While it is not necessary to remove your older theme for your freshly migrated app to work, your older theme no longer serves any functional purpose. If you haven't created any custom templates in your older theme (which you'd want to copy over), or if you don't need to keep the older theme for reference, consider deleting the older theme.
-
Ensure that the list items for Navigation Menu are correct, and that the Current For attributes are properly set.
Your tabs will be converted into a list format. If the current for attributes are not set correctly, the navigation links will not be selected when you navigate to each of the pages.

-
Decide if you want to stick with Side Navigation or change to the Top Menu as the application's primary means of navigation.
If you choose to stick with side navigation, it is recommended to select Navigation Icons for each menu entry, otherwise each page will have the same default page icon. By going to Shared Components > Navigation Menu > List Entry, you can choose from a variety of pre-built icons, allowing you to choose the best match for each page type. Please note that these icons will only appear if you are using side navigagtion.
To change to Top Menu you will need to navigate to Shared Component > User Interface Attributes > Edit Universal Theme. Then change Position to Top and List Template to Top Menu Navigation, and then apply changes.

-

Best Practices for managing post-migration issues
While most migrations will be relatively painless, there is no set path for how dealing with issues arise as a result of this change. Consider the following pointers for how to exhaustively find and resolve such problems in your new Universal Theme Application.
- Visually review the migrated application.
- Run each page of your application, or at least a good cross section of different pages to make sure that there are no obvious display issues.
- If you have installed your original application under a different Application Id, perform side-by-side comparisons on a wide selection of pages, to ensure different page elements, such as buttons, and the overall page layout are not too divergent.
- Check non-standard components.
- Be sure to check any pages where you implemented your own JavaScript to ensure the page still operates correctly. Many of the default class names for elements were changed, and some of the inline scripts that you have augmented your pages with may no longer be needed.
- Review any pages or templates where you have added any CSS libraries. If necessary, reapply the CSS libraries into the migrated application.
- Review all plug-ins used throughout your application to ensure they are still functioning correctly. Some plug-ins from third parties may not work correctly with Application Express 5. If so, you may need to remove the plug-in or search for an APEX 5.0 compatible plug-in.
- Ask your users to test your app.
- After testing the application yourself, the next step is to ask your users to use the new migrated application to ensure they are comfortable with the new user interface, and can readily use the application.
- Determine from your end users if any end user training material or application documentation needs to be revised before releasing the new application into production.
After Debugging
Once you have brought your application up to a "functional" state, you should consider a few more simple improvements you can readily make to your application, so that you can take full advantage of the new features in both Application Express 5 and Universal Theme. For example, you may want to prototype some different layout options, with a select group of users, to see if existing pages can be readily improved by simply changing some Template Options.
Bookmarklet
There is not always an equivalent template in Universal Theme for all templates from previous themes. For this reason, the APEX Development Team has created a bookmarklet to assist you with mapping your older templates to your newer templates in the Verify Compatibility step of the Switch Theme wizard.
The Universal Theme Migration bookmarklet supports mappings from the 3 most popular legacy themes, Theme 24, 25, and 26. It also supports any themes that are based off these legacy themes, i.e.: if your theme was based on one of those themes. When utilized then the bookmarklet will do most of the mappings correctly to produce the best results from the migration.
To install the bookmarklet, drag the bookmark into your bookmarks bar.
Then, on the Verify Compatibility page, where you perform the template mappings, click on the Universal Theme Migration bookmarklet to attempt to update the template mappings. If the theme you are migrating from is supported, then it will automatically match the templates of your older theme to the correct templates in Universal Theme.

If your theme is mapped properly, each of the select list values that were successfully altered will be highlighted in green.

Once the mapping process has completed, any errors you encounter will be displayed On an error page. You can try clicking on the Map to a Different Theme button, to try re-mapping with an alternate theme available within the book marklet. If the expected mapping can not be found in the select list for that template, then it will be highlighted in orange.

Typically receiving any errors either means your custom templates did not strictly match the theme you chose, or that you have not set Match Template Classes to "No" in the previous step.