Monday Feb 06, 2012

New ADF Book - Oracle JDeveloper 11gR2 Cookbook - Quick Review

Packt Publishing has a new ADF book in their arsenal for you - it's the new "Oracle JDeveloper 11gR2 Cookbook" by Nick Haralabidis.

You might be wondering "do we really need another ADF book out there? is it any different from the other ADF books?"

I think, you'll find that this book is targeting a different audience. This book is not aimed at teaching ADF to beginners, in fact it assumes that you already know all the basics of Oracle ADF. What this book aims to do is take you beyond the wizards and declarative features and give you recipes for more advanced ADF tasks.

The major part of the book is dedicated to a collection of how-to's or recipes such as "Setting up cascading LOVs", or "exposing custom AM methods as Web services" or more advanced things like "restoring current row after a transaction rollback", or "Using an af:selectManyShuttle component" or "Using a taskflow initializer". These cover all the layers of the core ADF (ADF BC, ADFc, ADF Faces) and also some related aspects such as tuning, logging, testing etc.

I like the way the recipes are presented. First you get a step by step instruction on how to achieve the task at hand, and then you get a "How it works" part that actually explain why you did the steps and what they mean.Then there are pointers to some additional things to be familiar with in a "There's more..." section and also pointers to related recipes or Oracle documentation chapters - in the "see also" section. This structure differentiate the how-to's here from a lot of the how-to's that people publish on blogs.

It is true that if you google for many of the tasks that are covered in this book, you are likely to find the solution on someone's blog - but I'm not sure the explanation and details on the blog would be at the level you get in this book. It is also nice to have all of these recipes in one place in a printed format with explanation that you can take with you and read when needed.

I also believe that if you'll read through the book from start to end you'll get a better understanding of the inner working of Oracle ADF - something that many developers who have already started developing with Oracle ADF will find useful. One more point in favor of this book is the fact that it uses the latest JDeveloper 11.1.2 version.

To get a taste of the way this book is structured take a look at the sample chapter published here (pdf).

 All in all - this is a very good addition to any ADF developer's bookshelf.


Tuesday Jan 31, 2012

My Oracle Support Site now Running on Oracle ADF

Exactly a year ago I delivered an internal ADF training to a bunch of developers from the Oracle BI team.

Tagging along to this training were 5 other developers from another part of Oracle. They were very focused on specific use cases they had in mind and had very deep questions about ADF's functionality. Since then I had exchanged emails with them here and there answering various ADF questions, but mostly they were working under the radar.

Well, this weekend their ADF based application has gone production - and you can check it out here:

 http://supporthtml.oracle.com

 Yes it is the new interface for the My Oracle Support site, and it is all based on ADF 11g.

One more example of Oracle "practicing what we preach" and using our own products to build our own applications, and one more public Web site built with ADF for those who are looking to see what can you do with ADF.

Great work guys.

Tuesday Jan 10, 2012

Sort ADF QuickQuery and Query Components Fields with UI Categories

This is a quick tip about the usage of the quickQuery and query components in ADF.
These two components dynamically create the list of fields that you can query on based on the fields in your View Object. The tricky part is that sometimes the order of the fields as they appear in the query component is not the order you want them to be in.

For example, there is usually a high-frequency field that people tend to query on - and you'll want this one to be the first in your query list.

The way to solve this is using the "UI Categories" area of the ViewObject definition - there you can define the order of the fields that will be used by default.

Here is a quick demo:


Learn about other usages of UI Categories here.

Wednesday Dec 28, 2011

FindBugs integration with JDeveloper

Picking up from yesterday's post about using the External Tools->Ant Operation to integrate third party utilities into JDeveloper, here is a quick entry that shows how to integrate the FindBugs utility in a similar way. (You should probably watch the Checkstyle video first).

First get findBugs and extract it onto your hard drive (in my case I extracted it to C: to get the folder C:/findbugs-2.0.0.

Then in that directory I created the following ant build file:

<?xml version="1.0" encoding="windows-1252" ?>
<project xmlns="antlib:org.apache.tools.ant" default="init">
<taskdef name="findbugs" classname="edu.umd.cs.findbugs.anttask.FindBugsTask"/>
  <target name="init">
    <tstamp/>
  </target>
  <property name="findbugs.home" value="C:/findbugs-2.0.0" />
  <target name="findbugs">
    <findbugs home="${findbugs.home}" output="text">   
      <sourcePath path="${basedir2}/src/java" />
      <class location="${basedir2}/classes" />
    </findbugs>
  </target>
</project>

When you create the External Tools -> Ant operation you'll point to that file and choose the findbugs operation. You then define basedir2 as a property of the Ant operation and uses the ${project.dir} value in JDeveloper. And you can then have this operation in your tools menu. Don't forget to add the  C:\findbugs-2.0.0\lib\findbugs-ant.jar file to your Ant Classpath in step 6 of the external tools wizard.

Since FindBugs scans your classes you should first compile your project, then to run just stand on a file in your project and choose the findbugs operation in your tools menu - this will scan the full project and report the suspected bugs in your Ant log window.

Something like this:


Tuesday Dec 27, 2011

CheckStyle Integration with JDeveloper through Ant External Tools

When developers switch from Eclipse to JDeveloper they sometime find that a plug-in that they were using in Eclipse is not available for JDeveloper. In many of the cases a plug-in is not really needed since the functionality is already built-in in JDeveloper. But still sometimes developers would like to get a plug-in they were used to.

Case in point, Checkstyle - an open source utility that audits your Java code according to rules you define for it. JDeveloper has a built in Audit framework with lots of rules that you can turn on or off, and you can also add new audit rules and checks. But what if you want to leverage Checkstyle instead?

One solution is to build an extension that will integrate the two, but for a quicker - and more basic - solution you could opt for the Tools->External Tools option. This option has been there for ages now and allows you to invoke command line interfaces and pass parameters. In recent versions two new options were added that allow you to integrate either Ant or Maven scripts as well.

In this demo I show how to integrate CheckStyle into JDeveloper using this simple Ant script:

<?xml version="1.0" encoding="windows-1252" ?>
<project xmlns="antlib:org.apache.tools.ant" name="Project1" default="all" basedir=".">
    <taskdef resource="checkstyletask.properties" classpath="checkstyle-5.5-all.jar"/>
    <target name="checkstyleAll">
        <checkstyle config="sun_checks.xml">
            <fileset dir="${dir}" includes="**/*.java"/>
        </checkstyle>
    </target>
    <target name="checkstyle">
        <checkstyle config="sun_checks.xml" file="${file}"></checkstyle>
    </target>
</project>

 Here are the steps:


Thursday Dec 22, 2011

Styling Specific ADF Components with CSS and Skin

So you need one instance of a component in your ADF application to have a different color. Your first instinct would be to just go to the style area in the property inspector and change it. Well, you might want to rethink this, a better way would be to define your style in a central location for easier future maintenance, and an even better way might be to use an ADF Skin for this. This way you have one location for your global skinning and specific styles.

Here is a demo of how to go about doing this.

Also in this demo a quick explanation of the difference between InlineStyle, ContentStyle and StyleClass.

Thursday Dec 15, 2011

Filtering Records by Time with ADF Business Components

I posted in the past a demo showing how you can get a time selector part to your date field using the right format mask and data type.

A question on the OTN forum asked how do you filter data in a view object based on time (and not only date).

Here is a quick example - the basic things to keep in mind is that you need to set your parameters to not be the default Date but rather timestamp and also you'll need to configure the UI hint for the format of the parameters you are using.

Here is a quick demo:

Tuesday Nov 22, 2011

Working with the ADF DVT Map Component

The map component provided by the ADF Faces DVT set of components is one that we are always ending up using in key demos - simply because it is so nice looking, but also because it is quite simple to use.

So in case you need to show some geographical data, or if you just want to impress your manager, here is a little video that shows you how to create two types of maps.

The first one is a color themed map - where you show different states with different colors based on the value of some data point there. The other is a point theme - basically showing specific locations on the map. For both cases I'm using the Oracle provided mapviewer instance at http://elocation.oracle.com/mapviewer.

You can find more information about using the map component in the Web User Interface Developer's Guide here and in the tag doc and components demo.

For the first map the query I'm using (on the HR demo schema in the Oracle DB) is:

SELECT
    COUNT(EMPLOYEES.EMPLOYEE_ID) , Department_name , STATE_PROVINCE
FROM
    EMPLOYEES,     DEPARTMENTS,     LOCATIONS
WHERE employees.department_id=departments.department_id
and Departments.location_id=locations.location_id
GROUP BY Department_name,    LOCATIONS.STATE_PROVINCE


Wednesday Nov 16, 2011

JDeveloper Users - We Want to Hear Your Opinion

One of our goals as product managers is to make sure that customers are happy with the product we deliver. We only get to interact with a small number of developers in a face-to-face way and get feedback and there are a lot of other developers who we don't get a chance to meet. To try and get more complete input, we created an online survey that will help us learn about usage patterns and the level of satisfaction JDeveloper users have with various features and aspects of their work with the tool.

 It would be great if you could take 5 minutes and complete this online survey here.

The survey is aimed at anyone using JDeveloper, whether for ADF development or any other type of development and for any version. 

Hopefully this survey will help us deliver a product that better answers your needs and will help us make your JDeveloper usage experience better.

Note - this is a new survey which is unrelated to the previous one that was focused on learning needs.

Once you are done with this survey and if you would like to provide more feedback, note that we are also looking specifically for Java developers who are using Mac, as well as developers who are interested in building extensions to JDeveloper

Wednesday Oct 19, 2011

Did you take the ADF Learning Resources Survey?

Just in case you missed it - please take a couple of minutes to answer the survey we are running here.

One of our goals is to improve the learning experience for ADF, and to help us shape the type of content we produce it will be helpful to know what type of materials, topics and channels will work best for you. Thank you for helping us help you.

Thursday Oct 13, 2011

Warning of Uncommitted/Unsaved Changes in ADF Faces Pages

Ever wondered how to notify users of your ADF Faces application that they have uncommitted changes on their ADF page before they go off and check their facebook page (or just close the browser's tab)?

Well there is a little nifty feature in ADF Faces that makes this trivial - the uncommittedDataWarning property of your af:document tag.

I don't remember at which specific version of JDeveloper this feature was added, but a quick google for "unsaved changes in ADF" brought up some older solutions and I figured I'll raise the awareness of this relatively newer feature with a little video.

By the way there is a longer explanation of this un-saved changes feature in relation to bounded taskflows here.

Another thing I show in the video is something that often causes newbies to stumble - and that's the reason why commit/rollback are not enabled on your page. This is somewhat related and it depends on the EL used for their disabled property. In the past this EL was a handy thing that people used to implement this type of validation check on whether the page contained changes. For newbies - one thing you can always do if you want the commit button to be enabled always is just remove the EL from the disabled property and you'll get back the "false" default value and the button would be clickable regardless of changes in the page.



Monday Oct 10, 2011

ADF and JDeveloper at OOW - The Summary

Oracle OpenWorld is now officially over and it is time to look back at it from the perspective of JDeveloper and ADF.

I believe we can say that this was quite a revolutionary year  from our perspective. There was a noticeable increase in the number of people that showed up to ADF related sessions. Something that you could see in both for beginner/overview level sessions as well as the deep technical sessions. Many of the ADF sessions crossed the 100 attendees line. For example the sessions that the ADF Enterprise Methodology Group held on Sunday and were all very well attended. This also meant that developers had a great opportunity to network with their peers and learn from the experience of others.We certainly met a lot of developers at the JDeveloper booth in the demoground that had a constant stream of people coming by.

It was also great to see the ADF based Fusion Applications finally rolling out and being demoed in the Moscone West Demoground.

Want to check out some of the great ADF content? Go to this page and search for "ADF" you'll be able to get the slides for many of the sessions. The one thing you will miss are the demos. And from what I saw, almost every ADF session contained live demos

An interesting data point that Wilfred pointed out was that ADF was the most frequently word mention on Twitter in relation to OOW.

In summary - I do believe that this year proved that Oracle OpenWorld is the must attend conference for any ADF developer. The date for the next OpenWorld is already set - so it is time to start working with your boss to make sure you won't miss it.

Can't wait for the next OOW? then plan on attending ODTUG KScope 12 - June in San Antonio. Their call for papers is still open this week - so you might be able to get in on a speaker pass :-)



Thursday Sep 29, 2011

Where I'll be at Oracle OpenWorld

It's that time of the year when San Francisco is painted with Oracle red. As always this is quite a busy week for me with sessions, demo booth, and other actvities.

Here are the sessions I'm going to present:

Monday 06:30 pm – 07:15 pm Getting Started with Oracle ADF: What You Need to Know
Marriott Marquis, Golden Gate A

A joint session with Grant Ronald that aims to give developers who are about to start learning Oracle ADF pointers to what they need to learn, where can they get resources, how to get help etc. This is a birds-of-a-feather type of session so we are also looking for feedback on what can we do to make getting started with ADF easier. Definitely a must  session if you are about to start down the ADF road this year.

Monday 07:30 pm – 08:15 pm Oracle ADF: What's Missing and What's Next
Marriott Marquis, Golden Gate A

Another Birds-of-a-feather session where Brian Fry and I will discuss our plans for the next version of JDeveloper and ADF and will be looking for your feedback regarding any items that we might be overlooking or missing. A good opportunity for JDeveloper/ADF people to rant about their favorite missing feature.

 Tuesday 10:15 am – 11:15am Oracle ADF at the Center of Oracle Fusion Development
Moscone South, 305

If you ever wondered what is that ADF thing that I keep blogging about, or how does it relate to the rest of the Fusion Middleware development stack such as the Oracle SOA Suite or Oracle WebCenter then this is the session for you. A high level overview of the components that make up ADF, the interaction points with the other parts of Fusion Middleware and a basic development demo showing how everything fits together.

 Wednesday 11:45 am – 12:45 pm An Oracle ADF Eye for the Java EE Guy
Marriott Marquis, Golden Gate A

This session explains ADF in terms that Java EE developers can understand, it also highlight the things that ADF can help you with if you are currently developing a Java EE project. See how to build rich UIs with JSF on steroids, reusable flows, and easy access to your JPA and EJBs. Should be a good ADF overview if you miss the previous session.

Thursday 09:00 am – 10:00 am Extending PeopleSoft Applications with Oracle ADF and Oracle SOA Suite
Intercontinental Union, Square

This session aims to show Peoplesoft customers how they can enjoy the rich Web and Mobile UI that ADF offer on top of their existing PeopleSoft applications. If you ever wanted to build a better UI experience that incorporates PeopleSoft data into it - this is the session for you. By the way similar sessions are also available for EBS, Siebel and JD Edwards customers.

As you can see with at least one session per day this is going to be quite a busy week with lots of good content - see you on the streets of San Francisco.



Monday Sep 19, 2011

ADF Developers - Don't miss Sunday at OOW

If you are coming to Oracle OpenWorld 2011, make sure you are there bright and early on Sunday. (The bright and early part should be trivial to most European and US based people due to the jet lag you get when flying our way). Yes I know some people tend to think the conference starts on Monday, but Sunday is traditionally the User Groups day and this year there is a special treat for ADF oriented people.

The ADF Enterprise Methodology Group, lead by Chris Muir, got a great line of sessions delivered by some of the key people in that group running all through the day. The sessions include:

32460 - Oracle ADF Enterprise Methodology Group: Starting an Enterprise Oracle ADF Project    
32480 - Oracle ADF Enterprise Methodology Group: Learn Oracle ADF Task Flows in Only 60 Minutes   
32481 - Oracle ADF Enterprise Methodology Group: A+-Quality Oracle ADF Code   
32500 - Oracle ADF Enterprise Methodology Group: Transitioning from Oracle Forms to Oracle ADF    
32501 - Oracle ADF Enterprise Methodoloy Group: Empower Multitasking with an Oracle ADF UI Powerhouse   
32502 - Oracle ADF Enterprise Methodology Group: Gold Nuggets in Oracle ADF Faces   

The sessions are all at Moscone West - room 2000 running one after the other starting at 9:00am.

From pre-registration numbers I saw, the sessions seem to be quite popular, which means you are going to enjoy great discussions in there in addition to the presentations and opportunity to meet other ADF developers just like you.

So don't miss it :-)


Friday Sep 16, 2011

Should There Be a Conference Just for ADF Developers?

Sometime I wonder if we should have a conference dedicated to just ADF/JDeveloper.

I imagine something like a 3 day event where you can come in and attend sessions delivered by experts and product managers. A conference where you can get sessions that will teach you new things about ADF whether you are just a beginner or whether you are an advanced user. Maybe we'll even do some hands-on labs on new features and to get people started working with JDeveloper, and maybe even have on site ADF certification testing. We can even have a night where we all get together for a little party in a pub and just network.

Would you come to such a conference if it existed?

Well turns out there is such a conference, and it is even better than the above description

It is 6 days long, it has over 60 sessions about ADF (that's 10 per day), it has labs, it has birds-of-a-feather, and it has certification tests. The speakers are all the key Oracle ACEs, the ADF Enterprise Methodology Group leaders, customers with real life experience, and of course product managers. And it has 3 big networking events in the evening where we can all get together and network while listening to Tom Petty and Sting playing live.

It is called Oracle OpenWorld.

Yes - you might have missed it thinking that OOW is all about the database and Apps, but if you look at the list of ADF specific session and labs - you'll see that there is lots of content especially for you. I think this makes Oracle OpenWorld the most important conference for an ADF developer to attend. So if you haven't considered it yet - you still have two weeks to register arrange your flights and come and join us.

See you in San-Francisco.

About

me
I'm a Senior Group Manager in the JDeveloper/ADF product management team.
Follow me:
Search

Archives
« February 2012
SunMonTueWedThuFriSat
   
1
2
3
4
5
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
   
       
Today