Oracle ADF Code Corner

Oracle Application Development Framework(Oracle ADF)Code Cornerは、Oracle ADF開発者向けにヒントやアドバイス、コード例を提供するブログ・スタイルのコラムです。このページの内容は多岐にわたる難易度で構成され、高度なプログラミング概念も多々含まれます。

このページの内容は、OTNのOracle JDeveloperユーザー・フォーラムに投稿された質問からヒントを得ています。

免責事項:すべてのサンプルは現状のままで提供され、将来的なアップグレードやエラー修正については保証されません。Oracleカスタマ・サポートによるサポートは提供されません。

このシリーズのサンプルに関連した質問や報告する問題がある場合は、以下のOracle JDeveloper用のOTNフォーラムに投稿してください。http://forums.oracle.com/forums/forum.jspa?forumID=83

 

 twitter

 
 

Oracle ADF Code Corner - 目次

 
参考資料とリンク Oracle ADF Enterprise Methodology Group(EMG)、Oracle ADF Architecture Square、Oracle ADF TV YouTubeチャネル、Oracle ADF Insiderなどの外部の参考資料へのリンクです。これらの資料のすべてにアクセスしてブックマークすることをお勧めします。
Oracle ADF関連書籍 お勧めの優れたOracle ADF関連書籍の一覧です。これらの書籍は、あらゆるスキル・セットのアーキテクトと開発者を対象にしています。その他のOracle ADF関連書籍については、この一覧以外にも書籍販売Webサイトもぜひ参照してください。
Oracle Magazineの記事 Oracle Magazineには、ADF Code Cornerによく似たトピックを扱うADFコラムが存在します。このリンク先で、さまざまな記事のリンクやタイトルを確認できます。
ADF Code Cornerサンプル 一般的な開発者タスクに関するソリューションのドキュメントやコード・サンプルです。サンプルはそのまま記載されていますが、通常はドキュメントやダウンロード可能なサンプルが付属しています。開発者はこのサンプルを参照し、要件に応じて変更できます。
OTN Harvestサマリー OTNのOracle JDeveloperおよびOracle ADFのフォーラムで質問されたOracle JDeveloperおよびOracle ADFに関する興味深い内容について、毎月まとめたものです。

 

 

ADF Code Corner - 参考資料とリンク

ADF Architecture TV
Oracle ADF開発の"全体像"を知りたいと思いませんか。設計、アーキテクチャ、開発とデプロイ、ベスト・プラクティスなどについて関心はありませんか。ADF Architecture TVチャネルに登録すればそれがわかります。このチャネルでは、正しいOracle ADFアプリケーションを構築するために知っておくべき事柄について、Oracle ADFの主要スタッフがエピソードを毎週配信しています。そのエピソード数はすでに100を超えています。
Oracle ADF Architecture Square 新しいテクノロジーを利用した開発で技術スタッフが抱える課題の1つは、テクノロジーの機能とその実装方法を学びながら、さらにより大局的な設計、エンジニアリング、アーキテクチャの概念についても考慮しなければならないことです。ITスタッフがすべてのソフトウェアの連携方法に関する"全体像"を見ずにソフトウェア開発の詳細に注力してしまったために、これまで多くのITプロジェクトが頓挫してきました。

Oracle ADF Architecture Squareはこの問題に取り組むために、Oracle ADFソフトウェア・ソリューションを開発する上でのアーキテクチャの問題や開発者向けガイドラインに焦点を当てています。目標は、正しいOracle ADFアプリケーションを構築するために必要となる決定事項や、Oracle ADFアプリケーションを組み立てる際に選択すべきアーキテクチャ計画の候補、開発チームに知らせるべきベスト・プラクティスの候補についてADF開発者に理解してもらうことです。
Oracle ADF Academy - Oracle ADF Mobileの学習 Oracle ADF Academyは無料のオンライン学習プロジェクトです。このリンク先の画面では、左側のレッスンを選択することで、Oracle ADF Mobile開発について学習できます。このプロジェクトは、Oracle ADF Mobileについて精通するための出発点として適しています。
Oracle ADF Insider このページには、Oracle Application Development Frameworkによる高度なテクニックに関するセッションの動画があります。定期的にチェックして、エキスパートによるエキスパートのための最新情報を確認してください。
Oracle ADF Insider Essentials Oracle ADF Insiderシリーズの続編であるOracle ADF Insider Essentialsには、アプリケーションの構築に必要となる基本的なスキル、ヒント、テクニックが記載されています。Oracle ADF Insider Essentialsの各記事は、Oracle ADF開発の一般的なユースケースに対するソリューションを提供するだけでなく、独自のソリューション構築に自ら挑戦することで、個人のスキルを高める手段としても利用できます。構築したソリューションは、問題の解決方法の説明が付いたOracle ADFエキスパートによるソリューションと比較できます。
Oracle Fusion Applicationsのデザイン・パターン デザイン・パターンは、すべてのOracle Fusion Applicationsで利用される共通のフローやページ・デザインです。デザイン・パターンは、業界のベスト・プラクティスを使用して共通の要件に従って構築され、ユーザビリティのテストが実施され、複合コンポーネントとしてJDeveloperにより提供されるか、またはOracle ADFコンポーネントの利用方法に関する説明として提供されます。
Enterprise Methodology Group(EMG) Oracle JDeveloperおよびOracle ADFエンタープライズ開発に関するベスト・プラクティスと方法論について議論する場です。OTN JDeveloperの技術フォーラムでの議論よりも高いレベルで行われる、Oracle ADFの"エキスパート"によるアーキテクチャ問題に関する議論も含まれます。この議論の目的は、Oracle ADFのエキスパート、支持者、プログラマーがコラボレーションを始められるようにすることです。
ADF EMG Samples Project このプロジェクトでは、Oracle ADF EMGのさまざまなメンバーにより作成されたOracle ADFサンプルを保管、一覧表示、分類しています。

サンプルにはドキュメントがないものや、記事やブログ投稿の一部として作成されたものもあります。記事やブログ投稿の一部の場合は、サンプルとともにリンクが示されます。
JDeveloperおよびOracle ADFに関するブログ一覧 Oracle JDeveloperおよびOracle ADFのブログ・エントリや記事について、開発者が利用しやすいように明確な索引を付けて検索できるようにしたブックマークの一覧です。まさにOracle ADFに関する知識の結集と言えます。
Oracle’s ADF Rich Client Unser Interface Guidelines このリンク先に公開されているドキュメント内のガイドラインや原則は、Oracle ADF Rich Clientベースのアプリケーションについて一貫性のある優れたユーザー・エクスペリエンスを設計するために役立ちます。

 

Oracle ADF関連書籍

 

Oracle ADF Real World Developer’s Guide

Oracle ADFを使用して次世代エンタープライズ・アプリケーションを構築するために不可欠なヒントと技を習得


Jobinesh Purushothaman著
ISBN 1849684820
2012年10月発行

     

Oracle Fusion Developer Guide

Oracle ADF Business ComponentsおよびOracle ADF Facesによるリッチ・インターネット・アプリケーションの構築


Frank Nimphius、Lynn Munsinger著
ISBN 0071622543
2010年1月発行

     

Oracle JDeveloper 11g Handbook

Oracle FusionのWeb開発に関するガイド

Duncan Mills、Peter Koletzke、Avrom Roy-Faderman著
ISBN 0071602380
2009年10月発行
      

Quick Start Guide to Oracle Fusion Development

Grant Ronald著
ISBN 0071744282
2010年9月発行

      

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

Sten E. Vesterli著
ISBN 1782176802

2014年2月発行

 

Oracle MagazineのOracle ADFに関する記事

 
2014年3/4月 -- JDeveloper 12c :REST for Everyone
アプリケーション開発におけるRESTful Webサービスの普及に対応して、新しいOracle JDeveloper 12c統合開発環境(IDE)ではRepresentational State Transfer(REST)サービスのJavaによる宣言的な構築や利用をサポートします。

さらに、Oracle Application Development Frameworkの新しいリリースには、Oracle ADF Webアプリケーション向けのビジネス・サービスとして使用するRESTサービスの新規データ・コントロールが搭載されます。

この記事では、Oracle JDeveloper 12cでのRESTサービス開発の概要を説明し、Oracle ADFでのデータベースにバインドされるRESTサービスの構築方法と利用方法について、順を追って実践的に示します。
 
2013年11/12月 -- Mobile:The Next Big Wave
この記事の著者でありForbes Webサイトの寄稿者でもあるMark Fidelmanは『The Latest Infographics: Mobile Business Statistics for 2012』という記事の中で、現在および今後予想されるモバイル機器の利用状況について、複数の興味深いデータや統計情報を示しています。この記事で示される明確な傾向として、ビジネスのモバイル化が“現在進行中”であり、今後ほんの数年で、職場や家庭で利用されるケーブル接続型デバイスやPCよりもモバイル機器の数が大幅に上回ると見込まれています。このことから推測できるメッセージは、モバイル・アプリケーション開発がエンタープライズ・アプリケーション開発における次の大きな波であるということです。

エンタープライズ・アプリケーションの開発者にとって、この“モバイル化”の課題を克服するための確実な戦略は、ハイブリッド・モバイル開発のアプローチに着手することです。このアプローチでは、HTML、CSS、JavaScript、Javaなどの標準テクノロジーを利用し複数のプラットフォームにわたって実行できる一貫性のある開発モデルによって、デバイス固有のネイティブ・プログラミングの負担を取り除きます。

この記事では、Oracle ADF Mobileについて紹介し、モバイル開発とデプロイの実践的な演習を出題します。
 
2013年7/8月 -- Build Your Own  New

Oracle Application Development Frameworkの宣言的コンポーネントにより、アプリケーション開発者は既存のOracle ADF Facesコンポーネント(Oracle ADF FacesはOracle ADFの一機能)からカスタムJavaServer Faces(JSF)コンポーネントを構築し、そのコンポーネントを再利用可能なOracle ADFライブラリとしてデプロイできます。既存のOracle ADF Facesコンポーネントに機能を追加したい開発者や、住所フィールドなどの複合コンポーネントを構築している開発者は、宣言的コンポーネント機能を利用することでOracle ADFアプリケーション全体でコンポーネントを再利用し、レイアウトの一貫性を維持できます。

この記事では、Oracle ADFの宣言的コンポーネントの概要を説明し、実践的なガイドを通じて宣言的ビルド・プロセスについて一通り説明します。
 

2013年5/6月 -- Calling Home  New

モジュール式ソフトウェア設計を促すOracle Application Development Frameworkの中核的なアーキテクチャ・パターンの1つは、ページのリージョン内でバインド・タスク・フローを公開することです。リージョンで実行時に所有ページまたはビューへのコールバックを行うために、開発者は通常、以下のいずれかのテクニックを使用します。 

  • コンテキスト・イベント:Oracle ADFバインディング・レイヤーのメッセージング・チャネル。このチャネルを使用して、Oracle ADFリージョン間の双方向通信に加えて、Oracle ADFリージョンと所有ページやビューとの双方向通信も確立できる。

  • タスク・フローのペアレント・アクション・アクティビティ:親ページまたはビューのナビゲーション・ケースを呼び出すために使用できる。ただし、これはナビゲーションのみが許可される宣言的オプションである。

  • Bean参照:親ページのタスク・フローのマネージドBeanを、リージョン内に公開されたバインド・タスク・フローに参照として渡すテクニック。バインド・タスク・フローはこの参照を使用してマネージドBeanのメソッドを呼び出し、その結果、親のタスク・フローにコールバックされる。 

コンテキスト・イベントの利用については、Oracle Magazineの以前の2つの記事(『Implement Contextual Events』および『Master and Commander』)で取り上げています。この機能は、ページ/リージョン間およびリージョン/リージョン間の相互作用に適用できるもっとも優れたテクニックであり、ネストされたリージョンとの通信にも利用できます。ただし、コンテキスト・イベントの設定は複雑であり、多くの開発者は単純なリージョン通信ユースケースに対して不必要なオーバーヘッドを取り込みたくありません。

この記事で説明しているBean参照テクニックは実装しやすく、多くのリージョン通信ユースケースに適しています。そのため、Oracle ADF開発者の日常業務に欠かせない重要なツールです。
 
2013年3/4月 -- Catch Me If You Can

Oracle Application Development Frameworkなどにより構築したJava EEアプリケーションは、Model-View-Controllerパラダイムに従ったレイヤード・アーキテクチャに基づいています。そのようなレイヤード・アーキテクチャの各レイヤーは、処理が必要となるアプリケーション・エラーの発生源になります。そのため、すべてのアプリケーション・レイヤーでエラー処理機能を設計、実装する必要があります。

エラー処理は情報量の多い分野であり、Oracle Magazineの記事の体裁ではこのトピックを網羅することはできません。この記事では利用できるスペース内に収めるため、Oracle ADFでのエラー処理の概要を説明した後、Oracle ADFコントローラ・レイヤーでのカスタム・エラー・ハンドラの実装方法について実践的に説明します。
 

2012年11/12月 -- Master And Commander
Oracle Application Development Frameworkリージョンは、ビュー全体を強制的に更新せず、ビュー、ページ、またはページ・フラグメント内のあらかじめ定義されたレイアウト領域でバインド・タスク・フローを実行するOracle ADFコントローラの機能です。ポートレットのようなものと理解してください。

Oracle Technology NetworkのOracle JDeveloperフォーラムによく投稿されるOracle ADFリージョンのユースケースの1つは、親ビュー内のグローバルなツールバーやメニューです。目的は、グローバルなツールバーのアクション(データの反復処理、作成/更新/削除操作、状況依存型ヘルプ表示など)を、別のリージョンに表示されるビューに対して実行することです。

この記事では、オブジェクト指向プログラミングのCommandパターンの考え方を借用して、このユースケースの実装方法を説明します。Commandパターンの実装はOracle ADFライブラリとしてデプロイします。開発者のカスタム開発プロジェクト内で使用できるように、この実装が提供されます。
 
2012年9/10月 -- Consume Early / Consume Often

SOAおよびWebサービスのクライアントで利用するためのOracle ADF Business Componentsアプリケーション・モジュールのサービスを有効化する方法

先見性のある企業は、ユーザーが複数の種類のデバイス(モバイル、ラップトップなど)からアクセスできるように、Web、SOA、コラボレーション、コンテンツ、ソーシャル・ネットワーキングのサービスを透過的にまとめた分散アーキテクチャ上にアプリケーションを構築します。

著者の前回のコラム(『Service, Please!』、Oracle Magazine、2012年7/8月)では、Oracle ADF Business Componentsアプリケーションでのリモート・サービスの利用方法と統合方法について説明しました。このコラムでは、Oracle ADF Business Componentsアプリケーション・モジュールを、各種サービスのプライマリ・コンシューマがリモートで利用するためのサービスとして公開する方法について説明します(各種サービスとは、Java EEサービス・クライアント、SOAコンポーネント、リモートおよびローカルのOracle ADF Business Componentsアプリケーション・モジュールなどを指します)。
 

2012年7/8月 -- Service Please!

Webサービスは、SOAで利用される他、Webアプリケーション開発において、リモート・データ問合せ、アプリケーション統合、アプリケーション部門化のための共通アクセス・パターンにもなります。他の業務分野が所有するデータベースの表に開発者が直接アクセスするのではなく、サービス・インタフェースを公開することで、ソース・データ上のデータ整合性やビジネス・ロジックの一貫した適用を保証します。

このコラムでは、Oracle Application Development Frameworkアプリケーションで利用できるWebサービス統合オプションについて学習します。サンプル・アプリケーションについて順を追って確認することで、Oracle ADF Business Componentsモデルからの作成、読取り、更新、削除(CRUD)操作のためのコールをWebサービスに埋め込む方法を学習します。
 

2012年5/6月 -- Personalized Dashboards  

今日構築されているエンタープライズ・アプリケーションの多くは、さまざまなレベルの情報が一目で分かるような視覚的データ(棒グラフ、その他のグラフなど)を示す柔軟なダッシュボード・スタイルのプレゼンテーションを必要としています。また、昨今の柔軟性には、一定のパーソナライズ機能も加味されています。Oracle Application Development Framework Faces機能のpanelDashboardコンポーネントは、Oracle ADF開発者がそのような情報ダッシュボードを実装するために使用できるJavaServer Faces(JSF)レイアウト・コンテナです。

このコラムでは、Oracle ADF Faces panelDashboardコンポーネントのデフォルトのレイアウト動作を変更して、ユーザーがニーズに応じて情報エリアを並べ替えられるようにするための方法を学習します。また、ユーザーによるUIの変更内容を現在のセッション終了後も維持する方法についても学習します。そのために、Oracle Fusion MiddlewareのOracle Metadata Services(Oracle MDS)機能をOracle ADF Security機能とともに使用して、ユーザーによりパーソナライズされたUIがそのユーザーのログイン時に常に表示されるようにします(:実際に試すには、Oracle MDSに対応したJDeveloper 11.1.2.2が必要です)。
 
2012年3/4月 -- A Template With Behavior 
このコラムでは、Dynamic Tabs UI Shellテンプレートの概要を説明し、サンプル・アプリケーションを使用して重要な概念について解説します。このサンプル・アプリケーションは、テンプレートのパブリックAPIのすべてを実装しているわけではありませんが、テンプレートの使用方法や使用すべき状況を調査するための出発点になります。
 
2012年1/2月 -- Security for Everyone
Oracle ADF Securityを使用して不正アクセスからOracle ADFアプリケーションを保護します。Oracle ADF Securityのサンプルの概要、導入、Oracle JDeveloper 11.1.2.1での実行について学習できます。
 
2011年11/12月 -- Put On A Friendly Faces
Oracle JDeveloper 11g Release 2の新機能であるOracle ADFスキン・エディタを使用して、Oracle ADF Facesアプリケーションのカスタムのルック・アンド・フィールを構築します。新機能のスキン・エディタ、スキン戦略やワークフローについて学習できます。赤いルック・アンド・フィールのSummit ADFをダウンロードできます。
 
2011年9/10月 -- All Aboard
バインド・タスク・フロー内のナビゲーション用のトレイン・モデルを構築します。この記事では、プログラムによるトレイン・ナビゲーションおよびカスタマイズのためのヒントやアドバイスを示します。優れた機能であるバインド・タスク・フロー・トレインは、背景にあるモデルを理解すればその力をさらに引き出すことができます。
 
2011年7/8月 -- Advanced List Interaction
Oracle ADFでモデル駆動型のLOVを使用して、オートサジェスト機能を持つスマート・リストを実装します。モデル駆動型Oracle ADF Business ComponentsのLOVについて、例を使用して説明します。
 
2011年5/6月 - Implement Contextual Events
Oracle Application Development Frameworkコンテキスト・イベント機能をOracle ADFリージョン間通信に使用します。多くの開発者にとって、コンテキスト・イベントは完全に理解することの難しい秘宝と言えます。このサンプルでは、コンテキスト・イベントをOracle ADFリージョンとともに使用する方法について順を追って説明します。
 

Oracle ADF Code Cornerモバイル・サンプル


JDeveloper 11.1.2.4サンプルの一部で使用されているSample HR Web Serviceプロジェクトのダウンロード:Zipアイコン


 

Oracle ADF Code Cornerの記事

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

The Oracle JDeveloper and ADF Forum Harvest (Discontinued)

 The Oracle JDeveloper forum (https://forums.oracle.com/forums/forum.jspa?forumID=83) 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/technetwork/developer-tools/adf/learnmore/adfarchitect-1639592.html) website and Oracle Magazine Articles.

The existing Oracle JDeveloper OTN Harvest articles (10/2010 - 06/2012) remain online. 
 
June 2012 pdf logo  
  • 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
May 2012 pdf logo  
  • 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
April 2012 pdf logo  
  • 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
March 2012 pdf logo  
  • 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")
February 2012 pdf logo  
  • 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
December 2011 / January 2012 pdf logo  
  • 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
November 2011 pdf logo  
  • 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 logo  
  • 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
September 2011 pdf logo  
  • 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
August 2011 pdf logo  
  • 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
July 2011 pdf logo  
  • 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
     
June 2011 pdf logo  
  • 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
May 2011 pdf logo  
  • 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
April 2011 pdf logo  
  • 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
  • March 2011
pdf logo  
  • 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
February 2011 pdf logo  
  • 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
January 2011 pdf logo  
  • 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
December 2010 pdf logo  
  • 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
November 2010 pdf logo  
  • 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
October 2010 pdf logo  
  • 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