Saturday, October 11, 2014

Dynamically applying Skin changes to ADF Application running in Weblogic Server

In my previous blog, i explained how to dynamically apply skin changes to JDeveloper's Embedded WebLogic server. If you try to perform same steps to apply skin changes to application deployed on your Middleware environment, it will not work. This is due to this Note in Skin User Guide.

This is necessary as deploy skin changes to Skin Managed Bean, updates skin file in File System. And in most cases you will deploy .ear file in your Middleware environment. If it is necessary to apply (mostly in Development environment) skin changes dynamically, deploy your ear file in exploded format.

For example, i have FusionHRDemo.ear file which has HRUI.war module. Before installing this application in WebLogic, i can explode this ear file using commands shown below.

Create folder with same name as your EAR file. And cd in that folder.
mkdir FusionHRDemo.ear
cd FusionHRDemo.ear
Now, explode ear file first.
jar -xvf D:\jdevws\jdev121200\blog\mywork\FusionHRDemo\deploy\FusionHRDemo.ear
Now, we need to explode HRUI.war module as well. First create dummy folder and cd in that folder. Then we will rename this folder to HRUI.war. As we are already in ear folder, this will be created under it. 
mkdir war
cd war
Now extract HRUI.war module, which is in parent folder, so use .. notation.
jar -xvf ../HRUI.war
Now go back to parent folder and remove HRUI.war file and rename war folder to HRUI.war.
cd ..
del HRUI.war
move war HRUI.war
If you are using Linux, you can use matching shell commands.

Now, you can install exploded ear folder using WebLogic Console or WLST. And running application will be able to accept dynamic skin changes using Skin Managed Bean.