Tuesday, July 26, 2016

Oracle Workflow Tips and Tricks - hide default action history and show custom action history, customizing notifications, hiding buttons, recall functionality

I am here by going to discuss on a few of the tricks and scenarios related to Oracle Workflow. If you think we cannot do much with the limitations of the workflow then you are going wrong. There are ways we can play with a workflow notification. 

(1) Hide default Action History and show your custom Action History region

   
 At times you feel like hiding default Action History region and show your own action history from your custom table in OAF region being displayed inside Workflow message. There are two ways you can do that:

(a) In OAF region controller : You can use the below lines to hide Oracle default Action History        region:

Tuesday, October 13, 2015

OAF - finding function id ( function_id ) for the current form for the logged in user in pl/sql

We might get a requirement where you want to show same form function twice under a responsibility with different names and showing different data.

Let`s say the data being displayed comes from a View.

Thursday, May 7, 2015

Oracle MAF : Upload an image from camera or library

This blog is to share my experience in implementing a very common requirement - attach a photo by integrating with device camera or photo library and then passing the photo  as Base64-encoded string.

STEP 1: Enable camera plugin in your maf-application.xml


Friday, September 12, 2014

Oracle MAF : Creating Select One Choice from a webservice (REST with JSON output)

This post is to show how we can create a select one choice from a REST service with JSON output.
This example is using RESTServicesAdapter. Using that programmatically you can call a REST service and you can manipulate response as per need.

STEP 1: Create a REST Connection
---------------------------------------------

Wednesday, September 3, 2014

Oracle MAF Skinning

I tried two ways of doing skinning in MAF -
1. skin-addition -> skin-addition tag adds a new stylesheet to the existing skin
2. skin -> skin tag is used to define a new skin or to customize existing skin for particular OS or device.

Note: maf-config.xml file under Application Resources -> Dscriptors -> ADF META-INF contains the default skin family. That skin family will be applied to the application.

1. <skin-addition>

Tuesday, August 26, 2014

Oracle MAF - Disabling Landscape mode

Recently I had a requirement for disabling landscape orientation.
Frank and Chris suggested me below and it worked for me:

iOS
--------
For iOS on the deployment profile. 
Select Application --> Application Properties --> Deployment --> select iOS profile and and click on edit. Select device orientations. And there you will find option for enabling/disabling portrait/landscape modes for iPhone and iPad.

Saturday, August 23, 2014

Oracle MAF - Using Panel Group Layout - wrap

In Oracle MAF one new option has been provided for the attribute "layout" of panelGroupLayout. It is very useful. I will give you a scenario: you want to create a contact us section where by you will want the text, followed by phone numbers(which should be clickable and should open phone dial on clicking) and email(clicking on which a write message of your default mail should open).

For such scenario you can use panel group layout with layout property set to wrap and inside it you can use output text and golinks to serve the purpose.



Friday, August 22, 2014

Oracle MAF - Issues, Tips and Tricks

Hi All,

I have built a mobile application using Mobile Application Framework released in July 2014.
In the mobile app I have done integration using REST services with JSON output. And the user will fill some forms and will send attachments from camera and library. The user can see history and I have used a pie chart as well for historical data.

Here is some of the issues, tricks which I learnt and I am sharing the same:

*********************************************************************************

ISSUES, TIPS & TRICKS:

*********************************************************************************
1.

[11:29:47 AM] Checking state of Android Debug Bridge server...
[11:29:47 AM] Android Debug Bridge server already running.
[11:29:55 AM] Command-line executed: ["C:\Program Files\Android\android-sdk\platform-tools\adb", start-server]
[11:29:55 AM] ADB server didn't ACK
[11:29:55 AM] * failed to start daemon *
[11:29:55 AM] * daemon not running. starting it now on port 5037 *
[11:29:55 AM] Command-line execution failed (Return code: -1)
[11:29:55 AM] Deployment cancelled.

Solution:
Go to platform-tools and kill adb server, it might be running because you would have done some debugging.
cd C:\Program Files\Android\android-sdk\platform-tools
adb kill-server

Thursday, January 16, 2014

ADF Exception Handling - Taskflow, Controller, Model

Exception handling in ADF can be done at following three places:
a. Taskflow Exception Handler
b. Extending Controller level ExceptionHandler - for controller level exceptions
c. Extending DCErrorHandlerImpl- for model

  • Whenever there is an exception in model layer it is being handled by custom class extending DCErrorHandlerImpl.
  • Exception in ADF Controller can be handled by creating a custom class extending Controller level ExceptionHandler.
  • If an exception rethrown from above, it can be handled at TaskFlow level exception handler which can be a view activity, router or a method call.
One by one let`s discuss all of them:

Sunday, January 5, 2014

ADF integration with Jasper Report

In this post i am just posting a few important steps and code snippet which can be helpful to integrate with Jasper Reports for generating a pdf or an excel.


You need add the following jars from /modules/ext folder of Jasper Reports in your ADF project(fonts related jar need to be added if you are using some specific fonts in your jrxml):

Make sure to add above jars from Add Jar/Directory and not through Add Library, otherwise you will get the following error:
<ActionListenerImpl> <processAction> java.lang.ClassCircularityError: net/sf/jasperreports/engine/JRException
javax.faces.el.EvaluationException: java.lang.ClassCircularityError: net/sf/jasperreports/engine/JRException