Oracle ADF Code Corner

ADF Code Corner is a blog style column that provides hints, tips and coding examples for ADF developers. The content on this page ranges from easy to complex and often contain advanced programming concepts.

The content on this page is inspired by questions asked on the Oracle JDeveloper customer forum on OTN

Disclaimer: All samples are provided as is with no guarantee for future upgrades or error correction. No support can be given through Oracle customer support.

ADF Code Corner - Table of Contents

References & Links Links to external reference material like the ADF Enterprise Methodology Group (EMG), ADF Architecture Square, the ADF TV Youtube channel, ADF Insider and more. I recommend you visit all these sources and bookmark them.
Oracle ADF Books A list of well ADF books that I recommend you have a look at. The books are for architects, developers of all kind of skill sets. Also worth to check book selling websites for more ADF books as this list doesn't pretend to be complete.
Oracle Magazine Articles Oracle Magazine has a ADF column that covers topics similar to those on ADF Code Corner. This link takes you the links and titles for the various articles.
ADF Code Corner Samples Documented solutions and code samples for common developer tasks. The samples are provided as they are but usually come with documention and a downloadable sample for you to look at and change for your requirements
OTN Harvest Summaries Monthly summary of interesting JDeveloper and ADF questions asked on the OTN forum for Oracle JDeveloper and ADF.

ADF Code Corner -  References & Links

ADF Architecture TV Do you want to learn the "big picture" of ADF development? Interested in design, architecture, development & deployment best practices and more? Then subscribe to the ADF Architecture TV channel where over 100 episodes delivered weekly by key Oracle ADF staff will discuss what you need to know to build a successful ADF application.
ADF Architecture Square When developing with a new technology, one of the challenges for technical staff is to both learn the features of the technology and how to implement them, and also consider the broader concepts of design, engineering and architecture. Many an IT project has come undone because IT staff have been focused on the nitty gritty details of writing software, rather than looking at the "bigger picture" of how it will all go together.

The Oracle ADF Architecture Square is designed to address this issue by focusing on architectural issues and developer guidelines for writing ADF software solutions. The goal, to give ADF developers an understanding of the decisions you need to build a successful ADF application, potential architectural blueprints to choose from when putting the ADF application together, and potential best practices to take back to your development team.

ADF Insider This page contains recorded sessions related to the advanced techniques with Oracle Application Development Framework. Check back regularly for updates by experts, for experts
Enterprise Methodology Group (EMG) A place to discuss best practices and methodologies for Oracle JDeveloper and ADF Enterprise development, including effort by "experts" in ADF to discuss higher level architecture issues than those discussed on the OTN JDeveloper technical forums. This effort is to get ADF experts, advocates and programmers to start collaborating.
Aggregated JDeveloper & ADF blogs A well indexed and searchable bookmark collection of Oracle JDeveloper and ADF blog entries and articles that makes the developer life easy. A true Almanach of Oracle ADF knowldege

ADF Books

Oracle ADF Real World Developer’s Guide
Mastering essential tips and tricks for building next generation enterprise applications with Oracle ADF

  1. By Jobinesh Purushothaman
  2. ISBN 1849684820
  3. Released in October 2012

Oracle Fusion Developer Guide
Building Rich Internet Applications with Oracle ADF Business Components and ADF Faces

  1. By Frank Nimphius, Lynn Munsinger
  2. ISBN 0071622543
  3. Released in January 2010

Oracle JDeveloper 11g Handbook
A Guide to Oracle Fusion Web Development

  1. By Duncan Mills, Peter Koletzke , Avrom Roy-Faderman
  2. ISBN 0071602380
  3. Released in October 2009

Quick Start Guide to Oracle Fusion Development

  1. By Grant Ronald
  2. ISBN 0071744282
  3. Released in September 2010

Oracle ADF Enterprise Application Development
— Made Simple (Second Edition)

  1. By Sten E. Vesterli
  2. ISBN 1782176802
  3. Released in February 2014

ADF content in Oracle Magazine

March/April 2015 -- Design Responsively

User interfaces (UIs) in smartphones and tablets are constrained by the device display size, lack of a physical keyboard, and use of finger gestures instead of mouse pointers. For these reasons, native mobile UIs are usually designed more simply and cleanly, and with more visuals, than equivalent desktop UIs. Mobile UIs tend to focus more on the display of information that is derived from data than on the data itself—the opposite of what most desktop UIs provide.

With the release of Oracle JDeveloper 12.1.3, Oracle Alta UI is now available. Oracle Alta UI is a design system and set of guidelines that promote a mobile-first design for Oracle Application Development Framework (Oracle ADF) web applications. Oracle Alta UI helps you build simpler UIs that enable application users to scan information quickly and perform work actions more easily.

This column provides an overview of Oracle Alta UI for the Oracle ADF Faces feature of Oracle ADF and gives you hands-on experience with building Oracle Alta UI–designed UIs with Oracle ADF.

November/December 2014 -- Thanks for Sharing

This article steps you through one way to perform a common developer task in Oracle Mobile Application Framework: sharing information among Application Mobile XML (AMX) features.

A feature in Oracle Mobile Application Framework is a unit of work—a single piece of application functionality that users can access from the mobile application springboard. An example of a feature is a product catalog in which users can query and select items to buy. AMX is one of three technologies that you can use to develop features in Oracle Mobile Application Framework.

Oracle Mobile Application Framework mobile applications can be developed in Oracle JDeveloper with the Oracle Mobile Application Framework extension, or in Eclipse with Oracle Enterprise Pack for Eclipse. In this article’s hands-on exercise, you’ll use Oracle JDeveloper and Oracle Mobile Application Framework to implement a customers feature that shares information about the selected customer with an orders feature.

July/August 2014 -- Region Extreme - Multi Task Flow Binding

Oracle Application Development Framework (Oracle ADF) regions display the contents of bounded task flows in designated areas on a page. Each region uses a special binding configuration—the task flow binding—in the Executables section of the parent page’s PageDef.xml file to populate the region content with data from the Oracle ADF binding layer.

In use cases such as analytic dashboards, the contents of an unknown number of task flows must be displayed as regions at runtime. However, Oracle ADF regions cannot be created at runtime. Multi-task-flow binding in Oracle JDeveloper 11g Release 2 and Oracle JDeveloper 12c addresses this limitation. Using a hands-on exercise, this article shows developers how to use multi-task-flow binding in Oracle ADF applications. Parts of the sample application have been prebuilt to give you a head start. In addition to performing the hands-on steps, you can learn more by examining the source files.

March/April 2014 -- JDeveloper 12c : REST for Everyone

Addressing the popularity of RESTful web services in application development, the new Oracle JDeveloper 12c integrated development environment (IDE) provides declarative support for building and consuming Representational State Transfer (REST) services in Java.

In addition, the new Oracle Application Development Framework (Oracle ADF) release includes a new data control for REST services that are to be used as business services for Oracle ADF web applications.

This article provides an overview of REST service development in Oracle JDeveloper 12c and, in its hands-on instructions, steps you through building and consuming a database-bound REST service in Oracle ADF.

November/December 2013 -- Mobile: The Next Big Wave

In his article “The Latest Infographics: Mobile Business Statistics for 2012,” Mark Fidelman, a contributing writer to the Forbes website, presents several interesting facts and statistics about the current and predicted future usage of mobile devices. A clear trend in this article is that business is “going” mobile and that in only a few years, the number of mobile devices will significantly outnumber that of wired devices and PCs used at work and at home. One message to extrapolate from this is that mobile application development is the next big wave in enterprise application development.

For enterprise application developers, a promising strategy for conquering the “go mobile” challenge is to embark on a hybrid mobile development approach that replaces the burden of device-specific native programming with a consistent development model that uses standard technologies such as HTML, CSS, JavaScript, and Java and can be run across multiple platforms.

This article introduces Oracle ADF Mobile and presents a hands-on mobile development and deployment exercise.

July/August 2013 -- Build Your Own

Declarative components in Oracle Application Development Framework (Oracle ADF) enable application developers to build custom JavaServer Faces (JSF) components from existing Oracle ADF Faces components (Oracle ADF Faces is a feature of Oracle ADF) and deploy them as reusable Oracle ADF libraries. Developers who want extra functionality with existing Oracle ADF Faces components or who are building a composite component such as an address field can use the declarative component feature to ensure layout consistency as they reuse components throughout Oracle ADF applications.

This article provides an overview of declarative components in Oracle ADF and provides a hands-on guide that walks through the declarative build process.

May/June 2013 -- Calling Home

One of the core architecture patterns in Oracle Application Development Framework (Oracle ADF) that promotes modular software design is the ability to expose bounded task flows in regions on a page. For a region to make callbacks to the owning page or view at runtime, developers typically use one of the following techniques:

  • Contextual events, the messaging channel of the Oracle ADF binding layer, which enables Oracle ADF regions to establish bidirectional communication with other regions as well as the owning page or view.
  • The task flow parent action activity, which can be used to invoke a navigation case on a parent page or view. It’s a declarative option, however, that allows only navigation.
  • Bean reference, a technique in which a managed bean of the parent page task flow is passed as reference to a bounded task flow exposed in a region. The bounded task flow uses this reference to invoke a method on the managed bean, thus calling back into the parent task flow.

Using contextual events, covered in two previous Oracle Magazine articles (see “Implement Contextual Events” and “Master and Commander”), is the most powerful technique for page-to-region and region-to-region interaction, and it also enables communication with nested regions. However, setting up contextual events is complex, and many developers balk at the unnecessary overhead for simple region communication use cases.

The bean reference technique explained in this article is easy to implement and well suited for many region communication use cases, making it an important part of the everyday toolbox of an Oracle ADF developer.

March/ April 2013 -- Catch Me If You Can

Java EE applications such as those you build with Oracle Application Development Framework (Oracle ADF) are based on a layered architecture following the model-view-controller paradigm. In such a layered architecture, each layer can become the origin of an application error that requires handling. As a consequence, error handling should be designed and implemented in all application layers.

Error handling is a large knowledge area, and complete coverage of the topic exceeds the Oracle Magazine article format. To fit the available format, this article covers an overview of error handling in Oracle ADF, followed by hands-on instructions on how to implement custom error handlers on the Oracle ADF Controller layer.

November/ December 2012 -- Master And Commander

An Oracle Application Development Framework (Oracle ADF) region is an aspect of the Oracle ADF Controller that executes bounded task flows in defined layout areas within a view, page, or page fragment, without forcing a refresh of the entire view. Think portlets and you have the right idea.

One common Oracle ADF Region use case that frequently appears on the Oracle Technology Network Oracle JDeveloper forum is a global toolbar or menu bar within a parent view. The goal is to have the global toolbar perform actions, such as data iteration, create/update/delete operations, or context-sensitive help display, on the view displayed in a separate region.

This article will show how to implement this use case by borrowing the idea of the command pattern from object-oriented programming. A command pattern implementation, deployed as an Oracle ADF library, is provided for you to use within your custom development projects.

September / October 2012 -- Consume Early / Consume Often

How to service-enable Oracle ADF Business Components application modules for consumption by SOA and Web services clients

Forward-looking enterprises build applications on a distributed architecture that transparently brings together Web, SOA, collaboration, content, and social networking services for user access from multiple device types (mobile, laptop, and so on).

In my last column (“Service, Please!,” Oracle Magazine, July/August 2012), I showed you how to consume and integrate remote services in an Oracle ADF Business Components application. In this column, I will show you how to expose Oracle ADF Business Components application modules as services for remote use with the primary consumers of such services: Java EE service clients, SOA components, and remote and local Oracle ADF Business Components application modules.

July / August 2012 -- Service Please!

Besides being used in SOA, Web services are a common access pattern in Web application development for remote data queries, application integration, and application departmentalization. Rather than enabling developers to directly access database tables owned by other lines of business, companies can expose the services interface to ensure data integrity and consistent application of business logic on the source data.

In this column, you will learn about the Web services integration options available for Oracle Application Development Framework (Oracle ADF) applications. Stepping through a sample application, you’ll learn how to embed calls from Oracle ADF’s Business Components models into Web services for create, read, update, and delete (CRUD) operations.

May / June 2012 -- Personalized Dashboards

Many enterprise applications being built today require flexible, dashboard-style presentation of visual data—bar charts, graphs, and the like—showing various levels of information at a glance. Flexibility these days also assumes a certain amount of personalization. The panelDashboard component of the Oracle Application Development Framework (Oracle ADF) Faces feature is a JavaServer Faces (JSF) layout container that Oracle ADF developers can use to implement such information dashboards.

This column will teach you how to change the Oracle ADF Faces panelDashboard component default layout behavior so that users can reorganize information areas according to their needs. You’ll also learn how to persist the user’s changes to the UI beyond the current session by configuring Oracle Fusion Middleware’s Oracle Metadata Services (MDS) feature in conjunction with the Oracle ADF Security feature so that the user’s personalized UI is displayed whenever that person logs in. (Note: hands-on requires JDeveloper 11.1.2.2 for MDS to work properly)

March / April 2012 -- A Template With Behavior

This column provides an overview of the Dynamic Tabs UI Shell template and illustrates its key concepts through a sample application. Although the sample application doesn’t implement all of the template’s public APIs, it gives you a starting point for exploring how and when to use it.

January / February 2012 -- Security for Everyone

Protect your Oracle ADF applications from unauthorized access using Oracle ADF Security. Get an overview, introduction and running sample of ADF Security in Oracle JDeveloper 11.1.2.1

November / December 2011 -- Put On A Friendly Faces

Build a custom look and feel for your Oracle ADF Faces applications using the new ADF Skin Editor in Oracle JDeveloper 11g R2. Learn about the new skin editor, skinning strategies and work flow. Download Summit ADF with a red look and feel

September / October 2011 -- All Aboard

Build train models for navigation in bounded task flows. This article shares some hints and tips for programmatic train navigation and customization. The bounded task flow train is a powerful feature that gains even more power if you understand the model behind.

July / August 2011 -- Advanced List Interaction

Use model-driven LOVs in Oracle ADF to implement smart lists with autosuggest behavior. Model driven ADF Business Components list of values explained by example.

May / June 2011 - Implement Contextual Events

Use Oracle Application Development Framework’s Contextual Events feature for inter-ADF Region communication. To many developers, contextual events is a secret treasure that they have problems to fully understand. This sample explains step-by-step how to use contextual events with ADF Regions

ADF Code Corner Articles

109. How-to further filter master-detail behavior in ADF BC NEW ZIP PDF
108. How-to launch a popup upon rendering of a page fragment in a region using JSF 2 PDF
107. How-to enforce LOV Query Filtering ZIP PDF
106. Drag-and-drop reordering of table rows ZIP PDF
105. How to auto-dismiss af:popup dialogs ZIP PDF
104. How to show a confirmation dialog on panel tab selection ZIP PDF
103. How-to edit an ADF form with data dragged from an ADF Faces table ZIP PDF
102. How to dynamically enable or disable list items of an ADF bound select many checkbox component ZIP PDF
101. How-to drag-and-drop data from an af:table to af:tree ZIP PDF
100. How-to undo table row selection in case of custom validation failure ZIP PDF
099. Multi Table Row Selection for Deferred Delete ZIP PDF
098. How-to use multi select components in table filters ZIP PDF
097. How-to defer train-stop navigation e.g. for custom form validation ZIP PDF
096. How to invoke a table selection listener from Java PDF
095. How-to Navigate to Printable Pages ZIP PDF
094. ADF Region Return Value Strategy ZIP PDF
093. Put a different Look to your Train Stops ZIP PDF
092. Caching ADF Web Service results for in-memory filtering ZIP PDF
091. How-to create new lookup data from a list of values select list ZIP PDF
090. How-to filter ADF bound lists ZIP PDF
089. How-to conditionally switch model driven LOV in ADF forms and tables ZIP PDF
088. How-to extend and nest page templates in Oracle JDeveloper 11g R2 PDF
087. How-to improve LOV performance with shared AM in ADF BC ZIP PDF
086. Reading boilerplate images and icons from a JAR PDF
085. af:query component complex field validation ZIP PDF
084. Dynamically show or hide af:treeTable columns dependent on the disclosed node ZIP PDF
083. How-to create bi-directional synchronization between a tree and an input form component ZIP PDF
082. How-to programmatically navigate ADF train models ZIP PDF
081. How-to create master-detail behavior using af:panelTabbed and DVT graph components ZIP PDF
080. HashMap strategy for dynamically setting the sequential property in ADF Controller  train models PDF
079. Strategy for implementing global buttons in a page template ZIP PDF
078. How-to programmatically expand trees and tree table components upon initial rendering and later ZIP PDF
077. Handling the af:dialog Ok and CANCEL buttons ZIP PDF
076. Extending ADF Security to check ADF BC Entity attribute insert permissions ZIP PDF
075. How-to select multiple parent table rows and synchronize a detail table with the combined result ZIP PDF
074. Hands-on: How to use the ADF URL Data Control for parametrized queries ZIP PDF
073. Hands on - Creating a search form using a POJO WS and the Web  Service Data Control ZIP PDF
072. Hands-on & How-to: ADF application with EJB WS, WS proxy client and POJO Data Control ZIP PDF
071. How-to integrate Java Applets in Oracle ADF Faces pages ZIP PDF
070. How-to build ADF dependent list boxes with Web Services ZIP PDF
069. How-to create a custom LOV using bounded task flows ZIP PDF
068. How-to solve the known range change event problem in ADF contextual events ZIP PDF
067. How-to create a query form in a popup dialog ZIP PDF
066. How-to color-highlight the bar in a graph that represents the current row in a collection ZIP PDF
065. Active Data Service Sample - Twitter Client ZIP PDF
064. How-to implement a Select Many Shuttle with pre- selected values ZIP PDF
063. How-to save - "print" - DVT graphs to a file ZIP PDF
062. How-to use the af:autoSuggestBehavior component tag with ADF bound data sources ZIP PDF
061. How-to text search in a rendered ADF bound tree ZIP PDF
060. How-to implement drag and drop for an ADF Faces table ZIP PDF
059. How-to filter ADF bound tables by date range (JDeveloper 11.1.1.4) ZIP PDF
058. How-to use the optimized component search in Oracle ADF Faces ZIP PDF
057. How to build master-detail behavior with DVT component master ZIP PDF
056. How-to handle and respond to mouse double clicks in ADF Faces tables ZIP PDF
055. How-to build a single select component with images in select items  ZIP PDF
054. Search form using ADF WS Data Control and Complex input types ZIP PDF
053. Refresh a bounded task flow displayed as an ADF Region in a popup ZIP PDF
052. How-to deploy bounded task flows in an ADF library ZIP PDF
051. How-to scroll ADF tables using an alphabetic index menu ZIP PDF
050. How-to create and synchronize edit forms for tree node entries ZIP PDF
049. How-to skin ADF Faces component label PDF
048. XML Menu Model site menus protected with ADF Security and JAAS ZIP PDF
047. How-to build a select one choice displaying hierarchical selection data ZIP PDF
046. Building a search form that displays the results in a task flow ZIP PDF
045. How-to base a router decision on the outcome of a method execution PDF
044. How-to restrict the list of values retrieved by a model driven LOV PDF
043. Integrate remote task flows in your ADF applications (POJO DC Example) ZIP PDF
042. Dynamically change the progress bar color according to its current value ZIP PDF
041. How-to conditionally prevent dialogs from closing PDF
040. Partial form submit using af:subform and ADF ZIP PDF
039. How-to declaratively launch a bounded task flow in a lightweight popup ZIP PDF
038. How-to build an editable tree with the POJO Data Control ZIP PDF
037. How-to build pagination into ADF POJO Data Control ZIP PDF
036. Setting control hints on POJO entities using the ADF Bean DataControl ZIP PDF
035. How-to pass values from a parent page to a popup dialog PDF
034. Passing additional arguments to a JS function with af:clientAttribute PDF
033. How-to open a Bounded Task Flow in a new Browser Tab ZIP PDF
032. Creating a tree table from a single View Object and access selected rows ZIP PDF
031. Metadata Services (MDS) Example: Power User vs. Normal User ZIP PDF
030. How-to intercept and modify table filter values ZIP PDF
029. How-to build Oracle Forms style List-of-Values in ADF Faces PDF
028. How-to scroll an ADF bound ADF Faces Table using a Keyboard Shortcut ZIP PDF
027. Showing a glasspane and splash screen for long running queries ZIP PDF
026. How-to access the selected row data in ADF bound TreeTable and Tree PDF
025. Building a generic SelectionListener for ADF trees and ADF BC models PDF
024. How-to build a reusable toolbar with Oracle ADF Declarative Components PDF
023. How-to build a Generic Selection Listener for ADF bound Tables ZIP PDF
022. How-to extend the default ADF Faces Component Message Bundle PDF
021. How-to initially expand tree nodes in ADF bound tree & tree table ZIP, ZIP PDF
020. Expanding an af:tree node by clicking onto the node label PDF
018. ERRATA: Oracle Fusion Developer Guide PDF
017. How-to invoke contextual events from a DVT graph component ZIP PDF
016. How-to customize the ADF Faces Table Filter ZIP PDF
015. How-to configure a custom splash screen in ADF Faces ZIP PDF
014. Custom JAAS Permissions in a ADF Security to implement UI security PDF
013. How-to declaratively create new table rows based on existing row content PDF
012. How-to copy/paste the value of a table cell to other - selected - table rows ZIP PDF
011. ADF Faces RC - How-to use the Client and Server Listener Component ZIP PDF
010. How-to create a character input counter for text fields ZIP PDF
009. How-to Configure the ADF Faces Carousel Component with ADF ZIP PDF
008. How-to use Captcha with ADF Faces and Oracle ADF ZIP PDF
006. How to cancel an edit form, undoing changes in Java ZIP PDF
005. How-to bind custom declarative components to ADF ZIP PDF
003. Advanced Expression Language Techniques PDF
002. ADF programmer's cheat sheet 2010 PDF
001. Accessing attributes of declarative component ZIP PDF

The Oracle JDeveloper and ADF Forum Harvest

The Oracle JDeveloper forum (https://community.oracle.com/community/groundbreakers/java/java_development_tools/application_development_in_java/jdeveloper_and_adf) is in the Top 5 of the most active forums on the Oracle Technology Network (OTN). The ADF Code Corner "Oracle JDeveloper OTN Harvest" series was a monthly effort to turn the knowledge exchange on OTN into an interesting read for developers who enjoy little nuggets of wisdom.

This series has been discontinued in June 2012 and is replaced by the OTN Harvest blog: https://blogs.oracle.com/jdevotnharvest/ , the ADF Architect Square (http://www.oracle.com/application-development/technologies/adf/architecturesquare.html) website and Oracle Magazine Articles.

The existing Oracle JDeveloper OTN Harvest articles (10/2010 - 06/2012) remain online.

June 2012 (PDF)

  • Free ADF online learning course Part 2 available
  • Oracle Fusion Applications Design Patterns Online
  • OEPE with ADF binding support available: Total Eclipse
  • ADF EMG Sample Project (Wiki)
  • Which JDeveloper version works with which version of WLS
  • When JDeveloper IDE doesn't render the visual editor
  • Pretty URL in JDeveloper 11g R2
  • ADF Security Sample for Oracle JDeveloper 11g R2
  • Solving the context menu problem with drag and drop in trees
  • Programmatically disclosing tree and treeTable nodes
  • How-to dynamically filter model-driven LOV
  • Partial Submit vs. Auto Submit
  • OTN Harvest Spotlight  - Navaneetha Krishnan

April 2012 (PDF)

  • How to activate and passivate ADF BC user session data
  • Which option to choose for accessing Web Services in ADF
  • Required vs. showRequired: and what could go wrong
  • Navigate regions using "queueActionEventInRegion"
  • Clear Table Filter upon Navigation
  • How-to invoke a method once upon application start
  • Add or remove custom operators in af:query
  • Associating a table with a filter and custom View Criteria
  • OTN Harvest Spotlight  - Donovan Sherriffs

February 2012 (PDF)

  • Oracle JDeveloper 11.1.1.6 New Features
  • ADF Faces Cheat Sheets
  • Learn ADF! Online and for Free!
  • Learn How to skin ADF Faces applications
  • Toggle panelBox open state on mouse click in header
  • Forms trigger equivalents in Oracle ADF
  • Strategies for controlling the af:popup close event
  • How-to define a default action for page fragments
  • Best practice invoking business services methods from JSF beans
  • Accessing WebLogic Server JDBC DataSource from Java in JSF
  • Solving JDeveloper 11gR2 issue with ADF Faces login page in IE8
  • The infamous Missing IN or OUT parameter error
  • OTN Harvest Spotlight  - Lucas Jellema

November 2011 (PDF)

  • Using Groovy in Entity Validation
  • Using ADF logger with Groovy in ADF BC
  • UI Categories in ADF BC of JDeveloper 11g R2
  • Accessing View Object UI hints from EL
  • JSF 2.0 Preemptive Navigation in ADFc of JDeveloper 11.1.2
  • How-to read train stop display names from a message bundle
  • How-to access selected node in tree component
  • How-to create a command button at runtime
  • Accessing the JSESSIONID from JSF
  • How to detect browser type and version from ADF Faces
  • OTN Harvest Spotlight  - John Stegeman

October 2011 (PDF)

  • New Oracle ADF Mobile Strategy
  • Setting an anchor in Oracle ADF views
  • How to programmatically set focus on an input component
  • How to render tree node icon based on the tree level they in
  • How to enable the PanelCollection "Show as Top" function
  • How-to access a DB sequence number from Java in ADF
  • Smart code insight in Oracle JDeveloper
  • OTN Harvest Spotlight  - Jan Vervecken

August 2011 (PDF)

  • New OTN Harvest Feature: OTN Harvest Spotlight
  • How to learn and where to start learning ADF
  • Disabling keyboard input on af:inputDate
  • Technology Scope in 11g R1 vs. Features in 11g R2
  • How to tell which JDeveloper extensions are installed
  • row.attributeName vs. row.bindings.attributeName
  • Suggested skin editor workflow
  • Integrated Skin Editor
  • Stand-alone Skin Editor
  • Stretching af:inputComboboxListOfValues lists in a table
  • Getting database connect information in ADF
  • Highlighting new and uncommitted data changes in a table
  • Reading UI component settings from a properties file
  • Disabling the browser form auto-complete
  • Optimized Groovy data access to view objects
  • ADF Faces web crawler support
  • How-to hide or show components in printable pages
  • Drag-and-drop: Getting Started
  • OTN Harvest Spotlight  - Chris Muir

June 2011 (PDF)

  • Reserved port number impact on ADF Faces
  • Naming conflict when using declarative components in JSF 2.0
  • Five hours of Task Flow Overview Recordings Available
  • Downloading SRDemo
  • ADF Enterprise Application Development - Made Simple
  • How-to execute an ADF method action from Java
  • JDeveloper and WLS certification matrix
  • JDeveloper 11.1.2 browser certification
  • Where to find advanced ADF documentation
  • How-to notify the server when user tabs out of input field
  • Initializing queries when enter page fragments in a BTF
  • Downgrading from Flash in JDeveloper 11g R2
  • What if Oracle ADF Skin Editor doesn't start on Windows
  • JDeveloper 11.1.2 deployment to WLS
  • How-to learn more about JDeveloper 11.1.2
  • How-to change the WS connection for a WS DC
  • Getting selected row in inputListOfValues returnPopupListener
  • JDeveloper 11.1.2: Link in Table Column Work Around
  • Solving the problem of inactive pages after file download
  • Building master-detail tables with af:panelCollections
  • Declarative Components with ADF bindings?
  • Performing Logging in Oracle ADF

April 2011 (PDF)

  • How and where to start learning ADF
  • Most popular mistake when reporting problems on OTN
  • Customizing the ADF BC Data Control Name
  • Populating select choice components from other DataControls
  • Run ADF Faces applications with IE 9 in IE 8 compatibility mode
  • Recommended number and size of Application Module(s)
  • About JSF fragments, ADF regions, declarative components
  • How-to determine a task flow for the ID in dynamic region exists
  • Managed Properties: the forgotten JSF feature
  • Whitepaper: JavaScript in ADF Faces
  • Whitepaper: ADF application performance and scalability testing
  • Whitepaper Update: ADF Task Flow Design Fundamentals
  • How to access the WS SOAP message using WS DC
  • Passing parameters to managed bean methods using EL
  • How-to switch the application locale at runtime
  • How-to invoke the ADF select event from Java
  • ADF Security authentication providers
  • ADF tree binding vs. table binding
  • Using af:resource tag in page fragments
  • Using multiple Data Controls in ADF applications?
  • Creating localized static list of values
  • Using parameterized translation strings in ADF Faces
  • Integrating ADF and Servlets

October 2010 (PDF)

  • How-to get help for OAF framework
  • Oracle Fusion Reference Architecture (OFRA)
  • Dynamically Adding a where-clause to ADF BC
  • How-to add ADF binding based auto suggest behavior
  • How-to access a hidden attribute from a table row
  • How-to add JavaScript code to an ADF Faces pages
  • How-to launch a popup programmatically from Java
  • Best option for accessing an attribute value of an iterator binding
  • Strange component refresh behavior using ADF auto-ppr
  • How-to keep selected row after rollback
  • How-to programmatically queue a selection event
  • How to configure a project to use Trinidad components
  • How-to enable the commit button on ADF BC based input form
  • PartialTriggers on command item confusion
  • Why isn't my custom skin showing for the login pages?
  • How-to hide the slider bar of the af:carousel component
  • How-to filter tables case insensitive
  • ADF Faces page doesn't open in inline frame
  • How to prevent table population at page rendering
  • Configuring ADF Security for custom Servlet
  • JpsFilter changes in Oracle JDeveloper 11.1.1.4
  • Why? ADF BC bound table references View Object definition
  • Multi row selection table returns single row key
  • How-to programmatically invoke a clientListener
  • Closing a popup from HTML in an inline frame
  • How-to manually deploy and test applications in JDeveloper?
  • Browser support for Oracle JDeveloper 11.1.1.3
  • How-to access the username from ADF BC?
  • How-to delete a row and commit with a single button press
  • Where to get ADF binding and ADF BC class diagrams from
  • Can I use a managed bean as a DataControl?
  • PPR on a component with a previous render state set to "false"
  • How-to programmatically determine BTF input parameters
  • How-to access the bounded task flow document information
  • Dynamic Region does not work for second task flow
  • How-to unlock WLS if locked in exclusive mode
  • Stress testing of ADF applications
  • How-to make @PreDestory work with ADFc

May 2012 (PDF)

  • JMX ADF Data Control to manage users in WLS LDAP
  • Develop with ADF BC for Multiple Databases
  • 25 Great Oracle ADF Resources
  • Warnings that are no errors but Audits
  • Scope object serialization failed (object not serializable)
  • Managing component value state correctly
  • Common mistake when iterating <af:table> rows
  • Problem with deleting table rows using ctrl+a for row selection
  • Disabling the initial splash screen
  • New support for content delivery networks (CDN)
  • Integrated functionality for users to clear table filters
  • Solving File Upload Cancel Issue in JDeveloper 11gR1
  • OTN Harvest Spotlight  - Zeeshan Baig

March 2012 (PDF)

  • Remote Task Flow vs. WSRP Portlets
  • What happens when you choose cascade delete on an association
  • Deploying ADF Security enabled applications to WLS
  • When to save task flow definitions outside of WEB-INF?
  • Select-one components don't show required field errors
  • Using af:serverListener as a JS client-server proxy
  • Customizing the af:query default mode
  • Gotcha when using JavaScript in ADF Regions
  • useBindVarsForViewCriteriaLiterals in adf-config.xml
  • Implementing case insensitive sort
  • OTN Harvest Spotlight  - Michael Koniotakis ("Milkbird")

December 2011 / January 2012 (PDF)

  • How to start with Oracle ADF?
  • Task Flows or Portlets? Which one to choose?
  • File download and upload handling In Oracle ADF
  • How to define the default sort order of an ADF table
  • Using JSTL in ADF Faces
  • ADF BC bc4jcleanup.sql in Oracle JDeveloper 11g
  • Oracle JDeveloper 11.1.2 ADFc Savepoint Script
  • Row currency separation in task flow ADF region Instances
  • Display selected row number and total rows
  • Using JSF 2.0 component events in JDeveloper 11gR2
  • How-to invoke ADF bindings in page templates
  • How-to determine the ADF tree node type using EL
  • How-to access selected rows in af:selectManyChoice
  • Adding checkboxes to sortable table headers
  • OTN Harvest Spotlight  - Timo Hahn

September 2011 (PDF)

  • Oracle Learning Library
  • Synchronize edit form with self-referencing VO in tree table
  • Launching popup dialogs maximized
  • Creating navigation buttons for an existing form
  • How to disable browser context menus
  • How-to launch print dialog when showing printable page
  • SQL error during statement preparation
  • Defining default values for task flow input parameters
  • OTN Harvest Spotlight  - Andrejus Baranovskis

July 2011 (PDF)

  • ADF Summit Forms to ADF case study available
  • Download of Skin Editor and ADF Faces Component Demo
  • New client behavior tag - af:checkUncommittedDataBehavior
  • favicon and browser bookmark icons in JDeveloper 11.1.2
  • Access component that queued a custom client event
  • How-to open a page template served from an ADF library
  • Using JavaScript in ADF Faces
  • How-to access the column value of the selected table row
  • How to switch content of dynamic region from within region

May 2011 (PDF)

  • About the train button bar skip behavior
  • Declarative multi-column sort for ADF bound tables
  • Building a search form from bind variables in a View Criteria
  • TypeConversionException using af:validateDateTimeRange
  • Task Flow transactions and Application Modules
  • Using check boxes for table row selection(s)
  • Determine the arguments of an operation binding at runtime
  • Invoking af:exportCollectionActionListener from Java
  • About default value in SelectOneChoice component
  • Handling the close icon on a task flow opened as a dialog
  • Select month and year only using af:inputDate
  • OTN forum: Good questions produce better answers

March 2011 (PDF)

  • Best-practice for follow-up questions on OTN forums
  • How-to display JavaDocs for methods displayed in syntax help
  • "Internal Package Import" errors and how to switch them off
  • Building model driven dependent list with Oracle ADF BC
  • How to display a dependent list box disabled if no child data exist
  • Testing bounded task flow using page fragments
  • Oracle JDeveloper command line arguments
  • Task flow "new transaction" vs. "new db connection"
  • Configuring the ADF BC locking behavior in JDeveloper 11.1.1.4
  • How-to filter table filter input to only allow numeric input
  • Best practices about creating and using backing beans
  • Extending the ADF Controller exception handler
  • How to create a model-driven multi column auto-suggest list
  • How-to delete a tree node using the context menu
  • How to open the LOV of af:inputListOfValues with a double click
  • Configuring projects for Java EE security annotations
  • Implementing Query pagination using EJB and ADF
  • How to equally stretch multiple table columns

January 2011 (PDF)

  • How-to logout from ADF Security
  • How-to create custom component models
  • How-to read context parameters in web.xml from ADF?
  • What's the difference between View Criteria and Where clause?
  • About Entitlement Grants in ADF Security of JDeveloper 11.1.1.4
  • Do View Object instances in shared AM share queried data?
  • How-to enable user session time out warning (JDev 11.1.1.4)
  • How-to remove the close icon from task flows opened in dialogs
  • How-to detect the browser type and version
  • How-to horizontally stretch UI components
  • How-to use dependent LOV in an af:query component
  • How-to control the keyboard tab behavior in a LOV field
  • How-to suppress error popup for inline messages
  • How-to launch browser print dialog when showing printable page
  • How to get product support for Oracle JDeveloper

November 2010 (PDF)

  • How-to skin a UI specific to a browser Type and Version ?
  • How-to define localized access keys for command components
  • How does auto-ppr work?
  • af:subform, required fields and immediate="true"
  • How-to efficiently redirect an ADF Faces view using ADFc
  • How-to configure an ADF Phase Listener and where to put the file
  • #{data} - to use or not to use ?
  • When to use "createRootApplicationModule" in Oracle ADF
  • Deleting rows: getRowAtRangeIndex vs. Iterating of RowSet
  • How-to define access keys to buttons displayed in an LOV dialog
  • How-to filter user data input in a text field
  • Using JavaScript to clear validation error messages
  • How-to share skin definition files across applications
  • How-to dynamically detect available skin definitions
  • How-to define a tooltip for an ADF Faces table filter field
  • How-to read the selected label for a selectOneChoice selection
  • A navigation case defined in ADFc does not work
  • What is the _afrLoop URL parameter for?
  • How-to create dynamic regions
  • When are ADF Regions and Dynamic Regions getting refreshed?
  • How-to navigate in bounded task flows
  • Naming conventions to consider when using ADF Libraries
  • How-to convert user input into uppercase or lowercase strings
  • Adding ADF bound page fragments using jsp:include tag
  • How-to change the WS Data Control WSDL URL references

February 2011 (PDF)

  • Does ADF Faces work with JavaScript disabled?
  • How to set a default activity in an unbounded task flow
  • How to set the initial component focus
  • How to deploy global managed beans
  • getRow(key) and findByKey(key,1) inconsistency
  • How to protect UI components using OPSS Resource Permissions
  • How-to change the required field indicator location
  • How to launch LOV and Date dialogs using the keyboard
  • How to filter tree node child data
  • How to ensure serverListener events fires before action events
  • Best practices for good performance in ADF

December 2010 (PDF)

  • How-to find out about ADF application deployment with ojdeploy
  • Grid Layouts in ADF Faces using Trinidad
  • Panel Collection Confusion
  • Reading the selected value of an ADF bound Select List in Java
  • Formatting the af:inputSpinNumber tick labels
  • Beginner Mistake: Adding a String to a value property
  • How-to create dependent model-driven LOV
  • How-to tell the ViewCriteria a user chose in an af:query component
  • How-to restrict file upload sizes in ADF Faces
  • Map Viewer doesn't show maps for large parts of the globe
  • How-to control user input based on RegEx pattern
  • Get social security numbers right
  • How-to call server side Java from JavaScript
  • How to expose an ADF application in a Portlet?
  • How-to query af:quickQuery on page load ?
  • How-to create a select one choice list of common time zones
  • How-to hide the close icon for task flows opened in dialogs
  • How-to populate different select list content per table row