Sunday, June 5, 2016

My First Oracle JET Sample Application

Though I am practicing Fusion Middleware technologies from a long time, wondered if Oracle JET is something I can give a shot quickly as the buzz is moving towards cloud these days.

Below links helped me a lot to quick start Oracle JET and learn some basic stuff. I was able to create a sample application with JET Module and KnockOut Module.

Here are the links

Tutorial to develop a sample application:
https://netbeans.org/kb/docs/webclient/ojet-gettingstarted.html

Oracle JET components
http://www.oracle.com/webfolder/technetwork/jet/uiComponents-formControls.html

In my next post, will try to create a sample application using REST based UI.

Tuesday, May 24, 2016

Application Deployment Fails in Oracle Weblogic

When I deployed an ADF Application using Enterprise Manager in Oracle Weblogic server, weblogic complains "File not uploaded. Use the Browse button to locate the file of the archive on your disk".

Apparently this seems to be because of no space in weblogic or middleware home. I did try deleting logs and files under tmp after reading some blogs as I do normally.

But the trick which solved this issue in my case is delete "appmergegen" folders which are hidden and I cant see from putty. appmergegen folders are located under /tmp folder of admin server.

Monday, May 9, 2016

Groovy exception oracle.jbo.ExprSecurityException: JBO-25151


ADF BC 12.2.1.0

I was trying to run ADF BC after using groovy expression for one of the transient attributes and found that JBO-25151 in the stack trace error logs.

Resolution for this is to make the transient attribute expression TrustMode="trusted" instead of "untrusted".

Friday, April 22, 2016

Cleared Oracle ADF 12c Certification



Its been 3 years now that I cleared Oracle ADF 11g certification (1Z0-554), so I thought its high time to clear 12c as well and cleared Oracle Application Development Framework 12c Certified Implementation Specialist(1Z0-419)

Here I am to share my learning path.
Frankly I have not read any new books particularly for this exam.
But for ADF 11g exam, I did read Oracle ADF Real World Developer's Guide by Jobinesh
But I suggest to gain in depth knowledge of  ADF BC 12c new features which are very much required for this exam.

Overall exam covered each and every topic mentioned in the exam topics. I feel more preference is given to ADF BC validations and ADF Life Cycle.

Interesting observations I made during the 12c exam compared to 11g exam were:
Questions about Mobile Application Framework, like compatibility.
Definitely time allotted is not enough. May be I should have managed time well.
More in depth questions about pros of ADF over traditional JSF

Also, coolest way to have all your certifications at one place is to use Acclaim. Here, I started adding my certifications

https://www.youracclaim.com/badges/14cbde0f-78c3-4e8c-9df1-9fb489a09755

References:
http://www.oracle.com/technetwork/developer-tools/jdev/learnmore/index.html

Thursday, March 17, 2016

Oracle Help for Web 12.2.1.0 (OHW)

We are trying to integrate our Oracle ADF/BPM/SOA Application with Oracle Help For Web 12c version.

Starting point is to download ohw-rcf-demo-thin.ear from the below location
http://www.oracle.com/technetwork/developer-tools/help/utilsoft-ohw-422139.html

Once deployed to weblogic domain which already has adf libraries installed on the managed server, you can reach out to the help application with the below URL

http://hostname:port/ohw-rcf-demo/help

You should see Oracle Help 12c
jdevadf.oracle.com/ohw-rcf-demo/help

Oracle 12c documentation reference:
http://docs.oracle.com/middleware/1221/jdev/develop-help/orahelp-about.htm#OHJWG111

I will post more how to customize and add help contents.

Tuesday, March 15, 2016

ViewExpiredException when launching bounded task flow




javax.faces.application.ViewExpiredException: viewId:/child-flow/testme - ADF_FACES-30107:The view state of the page has expired. Reload the page


Problem Summary
---------------------------------------------------
launch bounded task flow in external window but action not working [only in IE]

Problem Description
---------------------------------------------------

JDEV 12.2.1 & IE 11/Firefox 43.0.3


Use case : Trying to launch bounded task flow with pages in external-window using task-flow-call activity from another task flow.

Settings on the task flow call activity - Run As Dialog to true and Display-Type : external-window.



Problem: Click on any action button below exception occurs.

This issue is not seen in Firefox.



Surprisingly, if i use inline popup instead of external-window to launch the taskflow no issues is seen. Works good in both IE and Firefox.




I raised an Oracle SR to find out that adding prettyUrl options in web.xml will fix this issue in IE.




oracle.adf.view.rich.prettyUrl.OPTIONS
off


-- or --


oracle.adf.view.rich.prettyUrl.OPTIONS
useHistoryApi






Tuesday, February 23, 2016

Deploying ADF Fusion Web Application to StandAlone Weblogic Server


Common issues while deploying adf web application to standalone server in 12c.

Problem while deploying Oracle ADF application - java.lang.ClassNotFoundException: oracle.adf.model.servlet.ADFBindingFilter 
http://www.albinsblog.com/2012/08/problem-while-deploying-adf-application.html#.VsysTFKaIs1

Caused by: weblogic.common.ResourceException: DataSource XXX_XXXXX already exists

Caused by: java.lang.ClassNotFoundException: oracle.bc4j.mbean.BC4JConfigLifeCycleCallBack

Thursday, February 18, 2016

af:target throws NotSerializableException


JDEV 12.2.1.0

I am seeing below exception when I started using af:target tag in one of my projects. Surprisingly one project works good and other fails with below exceptions.

javax.faces.FacesException: oracle.adf.view.rich.event.Target
        at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._renderResponse(LifecycleImpl.java:1237)
        at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executeRenderResponse(LifecycleImpl.java:1040)
        at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:332)

Caused By: java.io.NotSerializableException: oracle.adf.view.rich.event.Target
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1184)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348)
        at java.util.ArrayList.writeObject(ArrayList.java:762)
        at sun.reflect.GeneratedMethodAccessor85.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)


I did googled around and found the below blog, but turning on/off, removing the parameter also did not help.
https://mhjmaas.wordpress.com/2014/12/17/adf-12c-target-tag-not-working-zip_state_failed/


As I mentioned in the my post,
Project 1 (ADF Application) - ADF Project is working fine as there is nothing in web.xml which is asking af:target to serialize.
Project 2 (BPM Appliclation with ADF Screens embedded) - But the same screen (adf library jar) when embedded in BPM UI (which has human tasks) Project is throwing NotSerializable exception.


Finally after making the below changes in BPM Project, af:target works good without exceptions.


        "all": stores all state in the client in a (potentially large) hidden form field. This matches the default behavior of the JSF reference implementation, and can be useful for developers avoiding any use of HttpSession.
                "token": (Default) Stores the page state in the session, but persists a token to the client. The simple token, which identifies a block of state stored back on the HttpSession object, is stored on the client. This enables ADF Faces to disambiguate the same page appearing multiple times. Failover is supported.
       
        org.apache.myfaces.trinidad.CLIENT_STATE_METHOD
        token
   


        org.apache.myfaces.trinidad.COMPRESS_VIEW_STATE
        false
 
Oracle Reference : https://docs.oracle.com/cd/E26098_01/web.1112/e16181/ap_config.htm#ADFUI579 
OTN # https://community.oracle.com/message/13694299#13694299

Tuesday, January 12, 2016

ViewExpiredException The view state of the page has expired



I was facing below exception when task flows are nested. Loading one task flow within another task flow causes below exception

javax.faces.application.ViewExpiredException: viewId:
The view state of the page has expired.  Reload the page.

Add CLIENT_STATE_MAX_TOKENS in the application web.xml. Make sure the token count is sufficient based on your application.

 
    CLIENT_STATE_MAX_TOKENS
    15