Case Insensitive Search in LOV – Effective and Generic

Search in LOV dialog window, by default is not case insensitive. You could define View Criteria for LOV VO with case insensitivity and select this criteria to be displayed in LOV dialog. You could do this for one or two, may be for ten LOV's - but I'm sure you are going to get tired pretty soon. Much more effective is to implement generic solution to convert LOV search criteria to be UPPER case automatically.

(more...)

ADF for the Enterprise and beyond – 3-day conference for senior developers and application architects

SNAGHTML5d1bacOn May 21st, 22nd and 23rd – AMIS and Oracle join forces for a three day event around enterprise application development with Oracle Fusion Middleware. The event targets senior (ADF) developers and application architects. It addresses many of the themes currently or shortly relevant to any organization: multi device UI, mobility, security, agile & automated software engineering, performance & scalability, user experience, web & mobile oriented architecture and cloud. It will discuss and demonstrate Oracle’s (more...)

ADF Query Design Revisited with ADF 12c Panel Drawer

My goal of this post is to take a closer look into ADF 12c and check how ADF Query layout can be optimised, using Panel Drawer component. There are several items, sample application is focusing on:

1. Panel Drawer component in ADF 12c and its usage for ADF Query

2. Declarative mode support for VO Query optimisation

3. Dynamic bindings in Page Definition for ADF Query

4. View Object query logging

Here you can download (more...)

MDS Seeded Customization Approach with Empty External Project

Great feature in ADF - MDS Seeded customisations support. This is particularly useful for independent software vendors, who are developing their own products on top of ADF framework. With MDS Seeded customisation, maintenance for multiple customers becomes easier. We could create customisation, instead of changing original source code - this makes it easier to maintain a product. I would like to share one important hint, related to technical architecture for MDS Seeded customisations - this (more...)

Hide All Search Operators for ADF View Criteria Item

During this week work, I received interesting question from ADF developer - how to hide all operators for specific ADF View Criteria item. There is an option to go and hide different operators one by one, following API guide for JboCompOper. You could follow this approach, but there is one smarter way - to hide all operators at once. See below - how.

Sample application is available for download - ADFQueryNoOperatorsApp.zip. This application implements (more...)

UX – No Time To Kill

There’s no time to kill between the cradle and the grave
Father Time still takes a toll on every minute that you save
Legal tenders never gonna change the number of your days
The highest cost of livin’s dyin’, that’s one everybody pays
So have it spent before you get the bill, there’s no time to kill
                                    (more...)

ADF 11g PS6 Table Pagination and Displaying Selected Row Issue – Solution

While ago, I had a blog post about new feature in ADF 11g PS6 (11.1.1.7) - table pagination support. There is an issue, when we want to open specific row and display it automatically in the table - required table page for the selected row is not opened correctly. However, blog reader suggested a fix, received from Oracle Support. Blog reader was kind enough, to post a comment with suggested fix, you (more...)

Red Samurai Performance Audit Tool v 3.0 – Getting Smarter

Our ADF Performance Audit tool is growing and getting smarter. Current release v 3.0 is focusing on collected audit data reporting effectiveness. There were many features added since early release in 2012 - Red Samurai Performance Audit Tool - Runtime Diagnosis for ADF Applications. You can check features added in 2.8 release - Red Samurai Performance Audit Tool v 2.8 - Activation Focus.

Why v 3.0 release is smarter? Because it (more...)

ADF Alert – Facelets Vulnerability in ADF 11g R2 and 12c

If you are running your application in ADF 11g R2 or 12c environment and using facelets - you should double check, if a source code for the facelet pages is not accessible through the URL. There is another security vulnerability in ADF 11g R2, documented here - Alert for ADF Security - JSF 2.0 Vulnerability in ADF 11g R2. Apparently this is a patch from Oracle for JSF 2.0 vulnerability and also there (more...)

ADF Book Bundle – get one free!

Packt Publishing has a “buy one, get two” offer that runs until Wednesday. If you don’t have my ADF books, this would be a great opportunity to buy my new book Oracle ADF Enterprise Application Development – Made Simple: Second Edition and get a free copy of Developing Web Applications with Oracle ADF Essentials (or the other way around ;-)

Alert for ADF Security – JSF 2.0 Vulnerability in ADF 11g R2

You must be concerned about your system security, if you are running ADF runtime based on ADF 11.1.2.1.0 - 11.1.2.4.0 versions. These versions are using JSF 2.0 with known security vulnerability - Two Path Traversal Defects in Oracle's JSF2 Implementation. This vulnerability allows to download full content of WEB-INF through any browser URL. There is a fix, but this fix is not applied by JDeveloper IDE (more...)

What I learned from the UX Event

Last Tuesday, March 18, there was an UX Event organized by AMIS Services together with the Oracle Applications User Experience Team. Between noon and 8 p.m. I visited a total of 13 sessions, 3 demonstrations and had a lot of great discussions, overall a great day and amazing event.

I picked up various things, from small tips and tricks to big lessons. Instead of keeping my notes to myself, I will try to give (more...)

Shortcut to Call Custom View Row Method from JSF Expression

There is a custom method in Generic View Row Implementation class and you need to invoke it from UI. What would you do? Most likely you would generate Java View Row Implementation class for the specific VO, publish custom method through the interface and later consume it through ADF bindings. This works, but there is a shortcut - especially well working for generic solutions.

Sample application - RowIndexAppADF.zip, implements a table with row (more...)

Web.xml parameter Default Dimensions

In a previous post, I explained how you can use the property 'autoHeightRows' to stretch a table. This is mainly useful in JDeveloper 11g, because in JDeveloper12c the stretching of tables is a lot better.

The main reason for this is that JDeveloper 12c sets the context-parameter Default Dimensions to 'auto' in the web.xml file:

oracle.adf.view.rich.geometry.DEFAULT_DIMENSIONS
auto

The default value of this property (if not set) is not (more...)

How To Setup MDS Repository for Embedded WLS Instance

Recently I was enabling external MDS repository for ADF MDS Seeded Customizations, I was facing issues while testing such MDS repository with my local embedded WLS instance - running it directly from JDeveloper. I managed to find a solution at the end, so I would like to share it with you.

I was doing same thing as to configure MDS support for ADF Query Saved Search - defining persistence config in add-config.xml file. This (more...)

A Crazy Game Of Poker, Verse 2

A few months ago, I announced my resignation from EiS Technologies ("A Crazy Game Of Poker").  Another one of those leaps of faith - agreeing to part months ahead of time, not quite knowing where I was going next.  It's a great approach to parting ways with an employer if all parties can step up to behaving like grown-ups.  It gives the employer time to find and train a replacement as well as picking your (more...)

Why You Don’t Want to Code Validation in Before Commit

You should know by now - there are many things possible in ADF, but it doesn't mean every solution is right, even if it works. One example of such case - coding validation rules in beforeCommit method. This method is invoked after all changes are posted and ADF BC assumes data is valid, if we throw later validation error from beforeCommit - ADF BC state remains unchanged and changed data is not submitted again. There (more...)

Improving ADF UI Table CRUD Functionality with Auto Focus

Improving and tuning ADF applications performance, doesn't mean only ADF framework technical parameters tuning. Performance tuning could be applied to application UI behaviour. I will use ADF Faces table example in this post, by default when new row is inserted - focus for the new row column is not set, user needs to do one extra click to set focus and start entering data. There is a way to eliminate this extra click and set (more...)

Red Samurai Performance Audit Tool v 2.8 – Activation Focus

Here we come again - new minor update for Red Samurai Performance Audit Tool is prepared in our labs. Update 2.8 is focused on more accurate ADF BC activation time tracking. As you may already know, from my previous blog post - ADF BC Performance - View Object Instance Lazy Activation, ADF BC may apply deferred activation for VO instance. If instance is not used in the current Page Definition, this instance will (more...)

The Long Tail of Application Usage

A long tail is a distribution of some data point where a few data point have a high value, but most of the data points have a much lower value. When sorting the data points by value, there will be a large “head” and a long “tail”.

Application usage displays the “long tail” characteristic: A few screens are used much more than others.

Long tail of app usage

If you are re-developing your application, for example moving from Oracle Forms (more...)