Common/Essential ADF Skills

163 views
Skip to first unread message

Grant Ronald

unread,
Jun 29, 2011, 4:45:01 AM6/29/11
to adf-met...@googlegroups.com
ADF'ers, as you might know, we've published a series called ADF Insider
Essentials (on OTN and YouTube) which demonstrates essentials skills and
techniques required for building ADF applications. We've covered
everything from how to implement sequences, dynamically switching UI
components, accessing bindings from Java and passing data in task flows.

As well as being googleable ADF recipes this content can also be used to
skill up or confirm the skills of new/existing ADF developers.

I'd like to open this email up to suggestions for new topics. What we
are looking for are topics on:

1) Core skills and techniques you would expect an ADF developer to
know/learn
2) It can be a common application feature (e.g.dependent list of
values), a common coding pattern (e.g. accessing bindings from Java) or
a common framework feature (e.g. passing parameters in a task flow).
3) It doesn't have to be "difficult" - just a core skill
4) Ideally focused on ADF BC/ADF Model/ADF Controller/ADF Faces
5) Its not necessarily a vehicle for demonstrating a particularly
difficult or obscure "how to" - and its not an excuse to get someone to
work out the solution for in issue you are currently struggling with :-)

Finally, ideally the topic should be explainable in under 10 minutes
(although that's not a reason not to accept a topic)

Hopefully as we publish these they will serve as stepping stones for
developers to develop their skills focused on areas where the effort
will have the most impact.
Thanks in advance
Grant


grant_ronald.vcf

Joe Greenwald

unread,
Jun 29, 2011, 7:05:42 AM6/29/11
to adf-met...@googlegroups.com
I for one would like to see a comprehensive treatment of passing data
around in ADF _ from parameters, to use of bind vars.
I list some here on my wiki I keep for class:
https://sites.google.com/site/joeztechland/how-to--in-adf

There are just so many ways to pass data and I (and my students) seem to
find this a big mystery.

thanks


Oracle <http://www.oracle.com/>
Joe
Greenwald | Principal Instructor
ADF, SOA, OSB, BPx

Phone: main: +1 650.355.3501 cell: +1 415.599.6021

Pacifica, California
Oracle
is committed to developing practices and products that help protect
the environment
Theory <--> Practice

>--
>You received this message because you are subscribed to the ADF
>Enterprise Methodology Group
>(http://groups.google.com/group/adf-methodology). To unsubscribe send
>email to adf-methodolo...@googlegroups.com
>
>All content to the ADF EMG lies under the Creative Commons Attribution
>3.0 Unported License (http://creativecommons.org/licenses/by/3.0/). Any
>content sourced must be attributed back to the ADF EMG with a link to the
>Google Group (http://groups.google.com/group/adf-methodology).


Marcos Ortega

unread,
Jun 29, 2011, 8:31:33 AM6/29/11
to adf-met...@googlegroups.com
Hi there;

    ADF Contextual Events;

That's  I really want (and need) to understand; 



          Marcos Ortega
       Analista de Sistemas
   Brasil - MS - Campo Grande



2011/6/29 Joe Greenwald <joe.gr...@oracle.com>

Grant Ronald

unread,
Jun 29, 2011, 8:49:52 AM6/29/11
to adf-met...@googlegroups.com
Thanks for your suggestion Marcos. However, contextual events is just
going to be too big to cover in a short 10 minute demo. Is there
something specific about contextual events you think would be best
covered in the ADF Insider Essentials Series?

We already did cover region and contextual events in ADF Insider - which
is more "conference level"/feature presentations of approx 60 minutes.
You can view it here:
http://download.oracle.com/otn_hosted_doc/jdeveloper/11gdemos/AdfInsiderContextualEvents/AdfInsiderContextualEvents.html

For ADF Insider Essentials its not so much about explaining a broad
feature (like ADF BC or task flows, or contextual events) but more like
a core skill...

e.g. Iterating through rows assumes you already know about ADF BC, but
to programmatically access rows in a VO is a core skill you would expect
a developer to know/be able to do
http://download.oracle.com/otn_hosted_doc/jdeveloper/11gdemos/ADF_Insider_Essentials/IterateRows/IterateRows.html

Similarly, task flows is a broad "feature", but the ability to pass
parameters in a task flow is a core skill that anyone using task flows
will have to know.
http://download.oracle.com/otn_hosted_doc/jdeveloper/11gdemos/ADF_Insider_Essentials/PassingDataTF/PassingDataTF.html

I guess the way to think about is that if you were to interview a
potential ADF Developer you might ask a broad question like "What is ADF
Bindings", you then might drill into a "ok, so how to you access
bindings from a backing bean" - that second question that tests their
knowledge of core implementation is an ideal ADF Insider Essentials
candidate.

Thanks for your suggestion and keep them coming!


Marcos Ortega wrote:
> Hi there;
>
> ADF Contextual Events;
>
> That's I really want (and need) to understand;
>
>
>
> Marcos Ortega
> Analista de Sistemas
> Brasil - MS - Campo Grande
>
> http://www.santoandrea.com.br

> <http://www.santoandrea.com.br/?origem=email>
>
>
>
> 2011/6/29 Joe Greenwald <joe.gr...@oracle.com
> <mailto:joe.gr...@oracle.com>>


>
> I for one would like to see a comprehensive treatment of passing data
> around in ADF _ from parameters, to use of bind vars.
> I list some here on my wiki I keep for class:
> https://sites.google.com/site/joeztechland/how-to--in-adf
>
> There are just so many ways to pass data and I (and my students)
> seem to
> find this a big mystery.
>
> thanks
>
>
> Oracle <http://www.oracle.com/>
> Joe
> Greenwald | Principal Instructor
> ADF, SOA, OSB, BPx
>
> Phone: main: +1 650.355.3501 cell: +1 415.599.6021
>
> Pacifica, California
> Oracle
> is committed to developing practices and products that help protect
> the environment
> Theory <--> Practice
>
>
>
>
>
>
>
> On 6/29/11 1:45 AM, "Grant Ronald" <grant....@oracle.com

> <mailto:adf-methodology%2Bunsu...@googlegroups.com>


> >
> >All content to the ADF EMG lies under the Creative Commons
> Attribution
> >3.0 Unported License
> (http://creativecommons.org/licenses/by/3.0/). Any
> >content sourced must be attributed back to the ADF EMG with a
> link to the
> >Google Group (http://groups.google.com/group/adf-methodology).
>
>
> --
> You received this message because you are subscribed to the ADF
> Enterprise Methodology Group
> (http://groups.google.com/group/adf-methodology). To unsubscribe
> send email to adf-methodolo...@googlegroups.com

> <mailto:adf-methodology%2Bunsu...@googlegroups.com>

grant_ronald.vcf

Marcos Ortega

unread,
Jun 29, 2011, 9:59:27 AM6/29/11
to adf-met...@googlegroups.com
 Grant;

   I don't know if it is possible; but I think that "IF"  it is possible to configure adf contextual events without using java beans; 

   Just declaring the producer and the cosumer; a very simple "hello from adf contextual declarative method"

  But my guess is that it is not possible without java beans; as a consumer;


          Marcos Ortega
       Analista de Sistemas
   Brasil - MS - Campo Grande



2011/6/29 Grant Ronald <grant....@oracle.com>
Thanks for your suggestion Marcos.  However, contextual events is just going to be too big to cover in a short 10 minute demo.  Is there something specific about contextual events you think would be best covered in the ADF Insider Essentials Series?

We already did cover region and contextual events in ADF Insider - which is more "conference level"/feature presentations of approx 60 minutes.  You can view it here:
http://download.oracle.com/otn_hosted_doc/jdeveloper/11gdemos/AdfInsiderContextualEvents/AdfInsiderContextualEvents.html

For ADF Insider Essentials its not so much about explaining a broad feature (like ADF BC or task flows, or contextual events) but more like a core skill...

e.g. Iterating through rows assumes you already know about ADF BC, but to programmatically access rows in a VO is a core skill you would expect a developer to know/be able to do
http://download.oracle.com/otn_hosted_doc/jdeveloper/11gdemos/ADF_Insider_Essentials/IterateRows/IterateRows.html

Similarly, task flows is a broad "feature", but the ability to pass parameters in a task flow is a core skill that anyone using task flows will have to know.
http://download.oracle.com/otn_hosted_doc/jdeveloper/11gdemos/ADF_Insider_Essentials/PassingDataTF/PassingDataTF.html

I guess the way to think about is that if you were to interview a potential ADF Developer you might ask a broad question like "What is ADF Bindings", you then might drill into a "ok, so how to you access bindings from a backing bean" - that second question that tests their knowledge of core implementation is an ideal ADF Insider Essentials candidate.

Thanks for your suggestion and keep them coming!


Marcos Ortega wrote:
Hi there;

   ADF Contextual Events;

   That's  I really want (and need) to understand;


         Marcos Ortega
      Analista de Sistemas
  Brasil - MS - Campo Grande

http://www.santoandrea.com.br <http://www.santoandrea.com.br/?origem=email>



2011/6/29 Joe Greenwald <joe.gr...@oracle.com <mailto:joe.greenwald@oracle.com>>


   I for one would like to see a comprehensive treatment of passing data
   around in ADF _ from parameters, to use of bind vars.
   I list some here on my wiki I keep for class:
   https://sites.google.com/site/joeztechland/how-to--in-adf

   There are just so many ways to pass data and I (and my students)
   seem to
   find this a big mystery.

   thanks


   Oracle <http://www.oracle.com/>
   Joe
   Greenwald | Principal Instructor
   ADF, SOA, OSB, BPx

    Phone: main: +1 650.355.3501 cell: +1 415.599.6021

    Pacifica, California
    Oracle
      is committed to developing practices and products that help protect
      the environment
   Theory <--> Practice







   On 6/29/11 1:45 AM, "Grant Ronald" <grant....@oracle.com

   >
   >All content to the ADF EMG lies under the Creative Commons
   Attribution
   >3.0 Unported License
   (http://creativecommons.org/licenses/by/3.0/).  Any
   >content sourced must be attributed back to the ADF EMG with a
   link to the
   >Google Group (http://groups.google.com/group/adf-methodology).


   --
   You received this message because you are subscribed to the ADF
   Enterprise Methodology Group
   (http://groups.google.com/group/adf-methodology). To unsubscribe


   All content to the ADF EMG lies under the Creative Commons
   Attribution 3.0 Unported License
   (http://creativecommons.org/licenses/by/3.0/).  Any content
   sourced must be attributed back to the ADF EMG with a link to the
   Google Group (http://groups.google.com/group/adf-methodology).


--
You received this message because you are subscribed to the ADF Enterprise Methodology Group (http://groups.google.com/group/adf-methodology). To unsubscribe send email to adf-methodology+unsubscribe@googlegroups.com

 All content to the ADF EMG lies under the Creative Commons Attribution 3.0 Unported License (http://creativecommons.org/licenses/by/3.0/). Any content sourced must be attributed back to the ADF EMG with a link to the Google Group (http://groups.google.com/group/adf-methodology).

--
You received this message because you are subscribed to the ADF Enterprise Methodology Group (http://groups.google.com/group/adf-methodology). To unsubscribe send email to adf-methodology+unsubscribe@googlegroups.com

Jeevan G Joseph

unread,
Jun 29, 2011, 10:10:06 AM6/29/11
to adf-met...@googlegroups.com
Hi,

How about a brief walkthrough on the end-to-end lifecycle and API's "hook points" (typically overridden methods) for a common usecase ?
eg : An af:query component hitting the DB with a custom query. A walkthrough from the <af:query> passing data to the VO through the binding and how you can customize that flow (with query listeners for example) and the point where the ViewCriteria kick in and the common methods (and order of invocation those methods) in the VO where you can manipulate the VC or query itself based on what the user has provided (executeQuery, getestimatedRowCount, executeQueryForCollection, buildWhereClause).

Its all there in the docs, and may be quite simple for the experienced ADF user, but a new comer from the Java world might find it a nice shortcut.

Thanks,
Jeevan 

On Wed, Jun 29, 2011 at 7:49 AM, Grant Ronald <grant....@oracle.com> wrote:
Thanks for your suggestion Marcos.  However, contextual events is just going to be too big to cover in a short 10 minute demo.  Is there something specific about contextual events you think would be best covered in the ADF Insider Essentials Series?

We already did cover region and contextual events in ADF Insider - which is more "conference level"/feature presentations of approx 60 minutes.  You can view it here:
http://download.oracle.com/otn_hosted_doc/jdeveloper/11gdemos/AdfInsiderContextualEvents/AdfInsiderContextualEvents.html

For ADF Insider Essentials its not so much about explaining a broad feature (like ADF BC or task flows, or contextual events) but more like a core skill...

e.g. Iterating through rows assumes you already know about ADF BC, but to programmatically access rows in a VO is a core skill you would expect a developer to know/be able to do
http://download.oracle.com/otn_hosted_doc/jdeveloper/11gdemos/ADF_Insider_Essentials/IterateRows/IterateRows.html

Similarly, task flows is a broad "feature", but the ability to pass parameters in a task flow is a core skill that anyone using task flows will have to know.
http://download.oracle.com/otn_hosted_doc/jdeveloper/11gdemos/ADF_Insider_Essentials/PassingDataTF/PassingDataTF.html

I guess the way to think about is that if you were to interview a potential ADF Developer you might ask a broad question like "What is ADF Bindings", you then might drill into a "ok, so how to you access bindings from a backing bean" - that second question that tests their knowledge of core implementation is an ideal ADF Insider Essentials candidate.

Thanks for your suggestion and keep them coming!


Marcos Ortega wrote:
Hi there;

   ADF Contextual Events;

   That's  I really want (and need) to understand;


         Marcos Ortega
      Analista de Sistemas
  Brasil - MS - Campo Grande

http://www.santoandrea.com.br <http://www.santoandrea.com.br/?origem=email>



2011/6/29 Joe Greenwald <joe.gr...@oracle.com <mailto:joe.greenwald@oracle.com>>


   I for one would like to see a comprehensive treatment of passing data
   around in ADF _ from parameters, to use of bind vars.
   I list some here on my wiki I keep for class:
   https://sites.google.com/site/joeztechland/how-to--in-adf

   There are just so many ways to pass data and I (and my students)
   seem to
   find this a big mystery.

   thanks


   Oracle <http://www.oracle.com/>
   Joe
   Greenwald | Principal Instructor
   ADF, SOA, OSB, BPx

    Phone: main: +1 650.355.3501 cell: +1 415.599.6021

    Pacifica, California
    Oracle
      is committed to developing practices and products that help protect
      the environment
   Theory <--> Practice







   On 6/29/11 1:45 AM, "Grant Ronald" <grant....@oracle.com

   >
   >All content to the ADF EMG lies under the Creative Commons
   Attribution
   >3.0 Unported License
   (http://creativecommons.org/licenses/by/3.0/).  Any
   >content sourced must be attributed back to the ADF EMG with a
   link to the
   >Google Group (http://groups.google.com/group/adf-methodology).


   --
   You received this message because you are subscribed to the ADF
   Enterprise Methodology Group
   (http://groups.google.com/group/adf-methodology). To unsubscribe


   All content to the ADF EMG lies under the Creative Commons
   Attribution 3.0 Unported License
   (http://creativecommons.org/licenses/by/3.0/).  Any content
   sourced must be attributed back to the ADF EMG with a link to the
   Google Group (http://groups.google.com/group/adf-methodology).


--
You received this message because you are subscribed to the ADF Enterprise Methodology Group (http://groups.google.com/group/adf-methodology). To unsubscribe send email to adf-methodology+unsubscribe@googlegroups.com

 All content to the ADF EMG lies under the Creative Commons Attribution 3.0 Unported License (http://creativecommons.org/licenses/by/3.0/). Any content sourced must be attributed back to the ADF EMG with a link to the Google Group (http://groups.google.com/group/adf-methodology).

--
You received this message because you are subscribed to the ADF Enterprise Methodology Group (http://groups.google.com/group/adf-methodology). To unsubscribe send email to adf-methodology+unsubscribe@googlegroups.com


All content to the ADF EMG lies under the Creative Commons Attribution 3.0 Unported License (http://creativecommons.org/licenses/by/3.0/).  Any content sourced must be attributed back to the ADF EMG with a link to the Google Group (http://groups.google.com/group/adf-methodology).



--
please do not print this e-mail unless you really need to

Donovan Sherriffs

unread,
Jun 29, 2011, 1:49:21 PM6/29/11
to ADF Enterprise Methodology Group
My suggestions for adf Essentials -

Helpful getting formatting correct in ADF pages (ie how to strech a
panel to full width, align/group buttons, etc)
How to use rollback.
Building stored proc based ADF pages.
Programatically changes the richQuery
Skinning
JDeveloper with maven example
Helpful groovy script examples
Customizing error messages
MDS setup, usage and overview
Ojdeploy from ant overview
Basic crud services with a webservice data control
Integrating OBR with ADF
Phase Listeners
Custom Validators

Grant Ronald

unread,
Jun 30, 2011, 4:53:54 AM6/30/11
to adf-met...@googlegroups.com
Great suggestions, thanks, incase you weren't aware, there is already a
full session on skinning
http://download.oracle.com/otn_hosted_doc/jdeveloper/11gdemos/adf-insider-skinning/adf-insider-skinning.html
and a groovy paper with lots of examples
http://www.oracle.com/technetwork/developer-tools/jdev/introduction-to-groovy-128837.pdf

Thanks again, and keep the suggestions coming, this is your chance to
shape the content we develop.

thanks

grant_ronald.vcf

Pedro Medeiros

unread,
Jun 30, 2011, 5:49:37 AM6/30/11
to ADF Enterprise Methodology Group
Hi,

My suggestion is "ADF Regions in lightweight dialogs". This topic is
already explained in the Developer Guide, though it would be
interesting to cover it in the ADF Insider essentials.

Thanks.

Shay

unread,
Jun 30, 2011, 8:20:52 PM6/30/11
to ADF Enterprise Methodology Group
Also - WebService CRUD - http://blogs.oracle.com/shay/2010/05/updateinsert_with_adf_web_serv.html
and Skinning with the new Skin Editor - http://blogs.oracle.com/shay/entry/adf_faces_skin_editor_how

On Jun 30, 1:53 am, Grant Ronald <grant.ron...@oracle.com> wrote:
> Great suggestions, thanks, incase you weren't aware, there is already a
> full session on skinninghttp://download.oracle.com/otn_hosted_doc/jdeveloper/11gdemos/adf-ins...
> and a groovy paper with lots of exampleshttp://www.oracle.com/technetwork/developer-tools/jdev/introduction-t...
>
> Thanks again, and keep the suggestions coming, this is your chance to
> shape the content we develop.
>
> thanks
>
>
>
> Donovan Sherriffs wrote:
> > My suggestions for adf Essentials -
>
> > Helpful getting formatting correct in ADF pages (ie how to strech a
> > panel to full width, align/group buttons,  etc)
> > How to use rollback.
> > Building stored proc based ADF pages.
> > Programatically changes the richQuery
> > Skinning
> > JDeveloper with maven example
> > Helpful groovy script examples
> > Customizing error messages
> > MDS setup, usage and overview
> > Ojdeploy from ant overview
> > Basic crud services with a webservice data control
> > Integrating OBR with ADF
> > Phase Listeners
> > Custom Validators
>
>
>
>  grant_ronald.vcf
> < 1KViewDownload

Phil Mulhall

unread,
Jul 1, 2011, 2:19:21 AM7/1/11
to adf-met...@googlegroups.com, ADF Enterprise Methodology Group
Hi Grant,

Increasing popularity of human workflow (HWF) data controls (eg via BPM /BPEL etc) means many if us don't get all the nice features that ADF BC data controls give us.

What about some tips on how best to use ADF BC in support of HWF based data controls? Thinking here in particular about Input Text LOVs to populate HWF attributes sourced from BCs.

Also tips on how best to programmatically and declaratively traverse those HWF iterators would be nice.

In fact, anything on using ADF faces with HWF data controls would be great!

Thanks!
Phil

Sent from my iPhone

> --
> You received this message because you are subscribed to the ADF Enterprise Methodology Group (http://groups.google.com/group/adf-methodology). To unsubscribe send email to adf-methodolo...@googlegroups.com

Zeeshan Baig

unread,
Jul 1, 2011, 11:18:47 AM7/1/11
to ADF Enterprise Methodology Group
Hi,

1. Something about Layout designing (I found it is difficult /
different for people coming from Forms background)

2. Testing and debugging for both ADFBC and UI (Java debugging is very
different)

3. Basic Class hierarchies in ADF BC and ADF faces e.g RowsetIterator
> Row etc etc i found difficult to remember them all the time :)

Best Regards,
Zeeshan Baig
Mail: zeeshan...@gmail.com
Blog: http://baigsorcl.blogspot.com/
Twitter: http://twitter.com/baigsorcl
YouTube: http://www.youtube.com/user/baigsorcl
>  grant_ronald.vcf
> < 1KViewDownload

Anthony Yulo

unread,
Jul 1, 2011, 10:17:45 PM7/1/11
to adf-met...@googlegroups.com
well this is not an essential but i do wanna see ADF working together with Coherence...

Ammar™ <ammar.sajdi@gmail.com>

unread,
Jul 3, 2011, 11:46:11 AM7/3/11
to adf-met...@googlegroups.com
hello

Error and Message handling - similar to  Form Level On-Error, On-Message  in Oracle forms
Internationalization (right to left as well if this is not too specific), normally on-line switching among languages is required
Session Timeout handling .

regards
Ammar

fnimphiu

unread,
Jul 5, 2011, 8:07:18 AM7/5/11
to ADF Enterprise Methodology Group

>>well this is not an essential but i do wanna see ADF working together with
>>Coherence...

Coherence integration would be through TopLink. This is the most
straight forward option to use. I don't see that it makes sense to
directly hook ADF up to Coherence without a business services between

Frank

fnimphiu

unread,
Jul 5, 2011, 8:09:06 AM7/5/11
to ADF Enterprise Methodology Group
>     ADF Contextual Events;
>
> That's  I really want (and need) to understand;
>
>           Marcos Ortega


Its all there:

http://download.oracle.com/otn_hosted_doc/jdeveloper/11gdemos/AdfInsiderContextualEvents/AdfInsiderContextualEvents.html

Frank

Howie Legge

unread,
Jul 5, 2011, 9:51:45 AM7/5/11
to ADF Enterprise Methodology Group
Frank,

So without ADF BC (and I agree with you!), we would use Toplink as the
ORM and have it populate Coherence, right? Then use POJOs to read the
data from Coherence? I guess we could then create Data Controls from
the POJOs and engage the benefits of ADF Faces.

Sound right?

Howie

Sashika

unread,
Jul 5, 2011, 10:31:50 PM7/5/11
to adf-met...@googlegroups.com
Frank,
Coherence integration through TopLink sounds sweet. Is it yet to come? planned for which version?. I mean the support from the IDE.

Shay

unread,
Jul 6, 2011, 12:06:04 AM7/6/11
to ADF Enterprise Methodology Group
It might be worth opening a new thread for this discussion - so
moderators feel free to do so...

Can the people who are interested in Coherence integration provide a
bit more information on what specifically are they hoping to achieve
with Coherence?
Are you looking for regular Coherence integration on the data side, or
are you looking at Coherence Web integration?
If it is on the data side, did you look at the shared application
module capabilities of ADF BC and do you see something missing there?

Coherence is already supported with TopLink and JPA as explained here:
http://www.oracle.com/technetwork/middleware/coherence/coherence-solutions-098435.html


Anthony Yulo

unread,
Jul 5, 2011, 11:58:29 PM7/5/11
to adf-met...@googlegroups.com
What I meant was the ADF-BC integrating with Coherence and ADF-BC is considered a business service right?
I would have been nice to use features of Coherence with ADF-BC.


--

Sashika

unread,
Jul 6, 2011, 12:43:53 AM7/6/11
to adf-met...@googlegroups.com
What we are looking at is an ADF-BC supported data fabric that is to be maintained in coherence.  Ideally Entity cache to be based on coherence.
Reply all
Reply to author
Forward
0 new messages