Showing posts with label ADF. Show all posts
Showing posts with label ADF. Show all posts

Saturday, October 30, 2010

Creating a search page using the ADF Faces Rich Client Search Form context option

Okay, so like I said in my video on creating LOVs, I've gone ahead and made a follow-up video that actually demonstrates using the ADF Search Form context option that we used in the LOV demo as our form option. In this video, I take the view object that we created the LOV on and create a search page with a results section to highlight how easy it can be to do so using ADF.

I also refer to an example of creating a search page using a bind variable based view object that was pointed out to me by my friend Shay Shmeltzer. It is also an excellent sample, and when I was just reviewing it I had to chuckle because in my LOV demo writeup I referenced creating a af:selectOneChoice in the page designer rather than having it created and persisted on the actual View Object, Shays demo shows it, excellent! One thing to take note of though, is that the method he shows does not persist the LOV relationships that are formed when creating the page, they're only relevant for that particular page. So, if you dropped that same View Object (as we do in this search form demo) on another page you wouldn't get the LOV functionality that we get here.

Find my new video below:




So as you can see in the demo, the search form feature is a powerful, effective, and often overlooked feature in the ADF visual designer. The other thing you might have noticed is that when I showed how the controls on the execute button of the search form automatically registered the table as a partial target, there was another item registered there as well. That is because I had used the same data control to create a table on a separate tab on that same page. As a result, the button registered that table as a target as well.

This can be a nice benefit, or an unexpected behavior if you were to navigate around and suddenly a table on another part of the page that was previously displaying the full set of data from that data control was suddenly displaying a filtered set of data. There is nothing preventing you from taking the other tables off the partial target list for the search form, just be aware that the iterator containing the data under the covers has still been filtered by the actions of the search form.

If you want the data sets to be independent when you implement a search form off a data control that is used in other places; you can create an independent data control that is to be used just for the search form and results, or you would need to code a separate iterator for the data. The simpler option in my opinion would be to just use a redundant data control, but that's up to you.

Hope this provides some valuable information on an oft overlooked topic. I'm going to continue blogging on items that I come across while creating this sandbox application, but if anyone has any requests for topics feel free to email me at shaun.obrien@oracle.com and I'll see what I can do to whip something up...

Friday, October 29, 2010

Creating and Using LOVs (List of Values) in ADF Rich Client applications.

This is likely old hat to many of you but I dealt with a misconception on the forums that made me dig back into LOV creation and make sure that I had all my facts straight. As a result, I decided to just make a quick viewlet demonstrating how to create a LOV (List of Values) using ADF and the advantages to doing it ahead of time so that the framework recognizes it while doing its default binding activities. Check it out below:




So as you can see, they can be really helpful when you're dealing with pesky numerically based foreign keys in your data model. As I pointed out in the demo, it's also helpful if you can foresee the need for them ahead of time so you can create them on the relevant view objects before you drop them on the first page their needed on. That way the binding framework can automatically create the control as a LOV-based control instead of the standard input text forcing you to go back and change them once you get around to creating the LOV.

Of course you could do this manually without creating the LOV in the view object as well by dropping the attribute in question from the data control directly as an af:selectonechoice and completing the required information in the wizard similarly to what we did in the video.

Like I said at the end of the video, I'm going to also put together a viewlet showing how to use this same view object to demonstrate the usage of the ADF Search Form to speed the creation of search pages. Look for that in the next few days.

Monday, February 1, 2010

Oracle plans to continue support for SUN development products

For those of you that missed the webcast last Wednesday (1/27) Oracle made several key announcements regarding the future of SUN products now that they're under the control of Oracle. Of particular interest were comments on the future of the Netbeans IDE and the Glassfish App Server.

Oracle has reiterated it's commitment to the open-source community and plans to continue support of the Netbeans IDE as a targeted open-source IDE supporting all of the Java SE/EE/TV/Mobile/FX platforms and technologies, including the Glassfish application server. Netbeans will join the suite of Oracle development tools including the award winning JDeveloper, and the Oracle Enterprise Pack for Eclipse becoming yet another option in the strategy of "Productivity with Choice".

Obviously at this point, JDeveloper is and will continue to be the choice for Oracle based development but it will be interesting to see to what extent the Netbeans IDE receives tooling to support core technologies like the Oracle Application Development Framework as well as what key features from Netbeans find their way into JDeveloper.

As for Glassfish, I would predict to see increased support for the container as a spot solution for departmental deployments similar in nature to the positioning of MySQL and potentially as an alternative for testing server deployments in lieu of utilizing full blown Weblogic installations all over the place.

For those of you asking about kenai.com there is really not much more information available other than that which is posted on the kenai site. The site, along with Netbeans integration are going to be discontinued for public-facing use and brought in-house to continue to be used and evaluated.

For recaps of key subjects, feel free to review the webcasts page on the Oracle site at: Oracle/Sun Webcasts.

Wednesday, January 28, 2009

Always something new...

So of course we're working on new versions of JDeveloper pretty much all the time but it amazes me the amount of scrutiny the releases have been receiving lately. I've already mentioned the fact that they are getting uptaken by internal developers but I sat in a meeting yesterday with the QA team and found out that in addition to the internal development efforts that QA has been building an app that takes the major points of pain from the internal development efforts, as well as our early adopters and blends them into a test application.

As they went through page after page, I kept nodding my head going "yeah, that is/was an issue" and at several points they indicated that they had logged bugs and would be able to verify appropriate functionality as it passed through QA.

Makes me feel good to know that our product is getting this kind of attention, and I sleep easier knowing the fact that when it rolls out the door that any issue brought up will have adequate attention to not be present.

-Shaun