<?xml version="1.0"?>
<!-- RSS generated by Radio UserLand v8.2.1 on Wed, 30 Sep 2009 08:06:18 GMT -->
<rss version="2.0">
	<channel>
		<title>Dive into Oracle ADF</title>
		<link>http://radio.weblogs.com/0118231/</link>
		<description>Tips and tricks from Steve Muench on Oracle ADF Framework and JDeveloper IDE</description>
		<copyright>Copyright 2009 Steve Muench</copyright>
		<lastBuildDate>Wed, 30 Sep 2009 08:06:18 GMT</lastBuildDate>
		<docs>http://backend.userland.com/rss</docs>
		<generator>Radio UserLand v8.2.1</generator>
		<managingEditor>Steve.Muench@oracle.com</managingEditor>
		<webMaster>Steve.Muench@oracle.com</webMaster>
		<category domain="http://rpc.weblogs.com/shortChanges.xml">rssUpdates</category> 
		<skipHours>
			<hour>3</hour>
			<hour>4</hour>
			<hour>5</hour>
			<hour>2</hour>
			<hour>1</hour>
			<hour>20</hour>
			<hour>7</hour>
			<hour>6</hour>
			</skipHours>
		<cloud domain="radio.xmlstoragesystem.com" port="80" path="/RPC2" registerProcedure="xmlStorageSystem.rssPleaseNotify" protocol="xml-rpc"/>
		<ttl>60</ttl>
		<item>
			<title>Reminder, This Blog Has Moved</title>
			<link>http://radio.weblogs.com/0118231/2009/09/30.html#a966</link>
			<description>&lt;P&gt;This is a reminder that I&apos;ve stopped blogging on this site and moved my blog to &lt;A href=&quot;http://blogs.oracle.com/smuenchadf&quot;&gt;&lt;a href=&quot;http://blogs.oracle.com/smuenchadf&quot;&gt;http://blogs.oracle.com/smuenchadf&lt;/a&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;I&apos;ve just posted there a list of where you can find me during Oracle OpenWorld 2009 coming up in October...&lt;/P&gt;
&lt;P&gt;Please update your bookmarks and/or blog readers to the new blog URL. Thanks.&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0118231/2009/09/30.html#a966</guid>
			<pubDate>Wed, 30 Sep 2009 08:06:18 GMT</pubDate>
			</item>
		<item>
			<title>This Blog is Moving to blogs.oracle.com</title>
			<link>http://radio.weblogs.com/0118231/2009/09/11.html#a965</link>
			<description>&lt;IMG src=&quot;http://www.oracle.com/technology/products/jdev/tips/muench/images/america_open_for_business_2005.jpg&quot;&gt; 
&lt;P&gt;After recently receiving word from my current blog hosting company that their site will be closing at the end of the year, I need to begin moving over into my new home on Oracle Blogs. I will continue my blogging about JDeveloper and ADF over there at &lt;a href=&quot;http://blogs.oracle.com/smuenchadf/&quot;&gt;http://blogs.oracle.com/smuenchadf/&lt;/a&gt; I&apos;m still figuring out how to move all the existing content, but I started by moving the most popular page on my blog which is the page of Not Yet Documented Examples (&lt;a href=&quot;http://blogs.oracle.com/smuenchadf/examples/&quot;&gt;http://blogs.oracle.com/smuenchadf/examples/&lt;/a&gt;). Please add this new blog to your blog readers, or bookmark the new site URL. Thanks for visiting.&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0118231/2009/09/11.html#a965</guid>
			<pubDate>Fri, 11 Sep 2009 08:14:34 GMT</pubDate>
			</item>
		<item>
			<title>Auto-PPR: ChangeEventPolicy Property Shows an Incorrect Default in 11g R1</title>
			<link>http://radio.weblogs.com/0118231/2009/09/03.html#a964</link>
			<description>&lt;P&gt;My &lt;A href=&quot;http://www.oracle.com/technology/oramag/oracle/09-jan/o19frame.html&quot;&gt;Easier Interactive Data Entry&lt;/A&gt; article in Oracle Magazine explains the new Auto-PPR feature in JDeveloper 11g. This feature makes it possible for you to avoid manually setting the &quot;partialTriggers&quot; property on UI components in most cases. With the new Auto-PPR feature enabled, the ADF framework automatically &quot;repaints&quot; any UI components&amp;nbsp;whose data bound attribute values have changed, regardless of how they have been changed (by the user, by a calculated attribute&apos;s&amp;nbsp;dependent attribute&apos;s value changing,&amp;nbsp;by programmatic business logic, etc.) &lt;/P&gt;
&lt;P&gt;I recently noticed, however, that the JDeveloper 11g R1 (11.1.1.1.0) design time incorrectly shows the &quot;ppr&quot; as the default setting for the ChangeEventPolicy of an iterator binding. The default of this property is still &quot;none&quot;, even though you see &quot;(default) ppr&quot; in the property inspector. &lt;/P&gt;
&lt;P&gt;In short, if you want to use the Auto-PPR feature in 11g R1, then just as you did in previous JDeveloper 11g releases, manually set the ChangeEventPolicy of the iterator binding to the value &quot;ppr&quot; yourself.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0118231/2009/09/03.html#a964</guid>
			<pubDate>Thu, 03 Sep 2009 21:52:23 GMT</pubDate>
			</item>
		<item>
			<title>Referencing Custom View Object and View Rows Methods in Groovy Expressions</title>
			<link>http://radio.weblogs.com/0118231/2009/09/03.html#a963</link>
			<description>&lt;P&gt;I&apos;ve added &lt;A href=&quot;http://radio.weblogs.com/0118231/stories/2004/09/23/notYetDocumentedAdfSampleApplications.html#149&quot;&gt;example# 149&lt;/A&gt; to show the correct syntax to use to reference custom view row and view object methods from the Groovy expression of a calculated view object attribute.&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0118231/2009/09/03.html#a963</guid>
			<pubDate>Thu, 03 Sep 2009 20:58:14 GMT</pubDate>
			</item>
		<item>
			<title>Declaratively Initializing a Task Flow by Setting View Object Bind Variables</title>
			<link>http://radio.weblogs.com/0118231/2009/09/03.html#a962</link>
			<description>&lt;P&gt;I&apos;ve added &lt;A href=&quot;http://radio.weblogs.com/0118231/stories/2004/09/23/notYetDocumentedAdfSampleApplications.html#148&quot;&gt;example# 148&lt;/A&gt; to illustrate a technique to declaratively initialize the bind variables of a view object at task flow startup time.&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0118231/2009/09/03.html#a962</guid>
			<pubDate>Thu, 03 Sep 2009 20:56:56 GMT</pubDate>
			</item>
		<item>
			<title>ADFBC Application With No Database Connection</title>
			<link>http://radio.weblogs.com/0118231/2009/09/02.html#a961</link>
			<description>&lt;P&gt;I&apos;ve added &lt;A href=&quot;http://radio.weblogs.com/0118231/stories/2004/09/23/notYetDocumentedAdfSampleApplications.html#147&quot;&gt;example# 147&lt;/A&gt; which illustrates a technique for an application module consisting of all static and/or programmatic VOs to run with no database connection. It illustrates a number of lesser-used framework extension override classes to get the job done.&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0118231/2009/09/02.html#a961</guid>
			<pubDate>Wed, 02 Sep 2009 00:12:25 GMT</pubDate>
			</item>
		<item>
			<title>JDeveloper 10.1.3.5 Maintenance Release Now Available</title>
			<link>http://radio.weblogs.com/0118231/2009/08/20.html#a960</link>
			<description>&lt;P&gt;The latest maintenance release (10.1.3.5) of JDeveloper 10g is &lt;A href=&quot;http://www.oracle.com/technology/software/products/jdev/htdocs/soft10135.html&quot;&gt;now available on OTN&lt;/A&gt;. Peruse the &lt;A href=&quot;http://www.oracle.com//technology/products/jdev/htdocs/10.1.3.5/10135fixlist.html&quot;&gt;fix list&lt;/A&gt;&amp;nbsp;at your leisure.&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0118231/2009/08/20.html#a960</guid>
			<pubDate>Thu, 20 Aug 2009 18:07:02 GMT</pubDate>
			</item>
		<item>
			<title>Check Your App for Misuse of Configuration.createRootApplicationModule()</title>
			<link>http://radio.weblogs.com/0118231/2009/08/20.html#a959</link>
			<description>&lt;P&gt;We added the createRootApplicationModule() API (in the oracle.jbo.client.Configuration class) to simplify acquiring an application module from the pool for brief programmatic manipulation before it is released back to the AM pool in unmanaged/stateless mode by a required call to the corresponding releaseRootApplicationModule() API. This simple method is a two-edged sword, however. It makes its intended use case very easy to accomplish, but frequently I&apos;m observing that its ease of use tempts developers into using it incorrectly. &lt;/P&gt;
&lt;P&gt;The context where I see this method most commonly misused is in JSF backing beans. Developers think, &quot;I need to invoke a method on the client interface of my application module&quot;, and often the first thing that pops into mind for how to access an application module instance is the Configuration.createRootApplicationModule() API. However, this method should &lt;STRONG&gt;&lt;U&gt;never&lt;/U&gt;&lt;/STRONG&gt; be called from a backing bean. The reason it should not be used is that it leads to creating &lt;STRONG&gt;&lt;U&gt;additional&lt;/U&gt;&lt;/STRONG&gt; application module instances which are distinct from the AM instance that is automatically checked out and checked in for you by the ADF data binding layer for use by your UI pages and task flow method call activities. At a minimum, this can lead to an incorrectly functioning application (when the custom code you run actually happens on a different AM instance that the one your UI page is using) or at worst can least to performance and memory problems if your backing bean code calls Configuration.createRootApplicationModule() without ever calling releaseRootApplicationModule().&lt;/P&gt;
&lt;P&gt;&lt;FONT color=blue&gt;So, to reiterate, &lt;STRONG&gt;&lt;U&gt;never&lt;/U&gt;&lt;/STRONG&gt; call Configuration.createRootApplicationModule() in a backing bean.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;Instead, to invoke a client interface method on an application module, view object, or view row, you should use a ADFM action binding to invoke it declaratively instead. This way requires no code, often obviating the need for any backing bean in the first place. If you do need to write some custom backing bean code (for example to perform programmatic manipulation of UI components before or after invoking the client interface method), then your backing bean code should exclusively invoke the client interface method on the application module using the action binding. One key reason to use the action binding even from your own custom code is to ensure that any exceptions are handled in the same, consistent way as if ADF had invoked the method declaratively.&lt;/P&gt;
&lt;P&gt;You should ensure that your backing bean is invoked in a context where a pageDef has been defined (for example, the pageDef for a page or pageFragment, or the pageDef associated with a task flow method call activity), and then your backing bean code can invoke the method action using code like this:&lt;/P&gt;
&lt;P&gt;&lt;TT&gt;public ... yourBackingBeanMethod(...) {&lt;BR&gt;&amp;nbsp; /* Custom code before invoking the method action goes here... */&lt;BR&gt;&lt;BR&gt;&amp;nbsp; /* Get the current binding container */&lt;BR&gt;&amp;nbsp; BindingContainer bc = BindingContext.getCurrent().getCurrentBindingsEntry();&lt;BR&gt;&amp;nbsp; /* Lookup and invoke the action binding named &quot;yourMethodName&quot; */&lt;BR&gt;&amp;nbsp; bc.getOperationBinding(&quot;yourMethodName&quot;).execute();&lt;BR&gt;&lt;BR&gt;&amp;nbsp; /* Custom code&amp;nbsp;after invoking the method action goes here... */&lt;BR&gt;&lt;BR&gt;}&lt;/TT&gt;&lt;/P&gt;
&lt;P&gt;The &quot;yourMethodName&quot; above is the name of the action binding (also called an &quot;operation binding&quot; in JSR 227 parlance), which the JDeveloper 11g design time typically creates with the same name as the method being invoked. The BindingContext.getCurrent().getCurrentBindingsEntry() accesses the current binding container without having to parse the EL expression &quot;#{bindings}&quot;, and then the getOperationBinding() method looks up the action binding by name, and the execute() method invokes the binding. The above works great for a void method being invoked (with no return value), but if you are calling a method that returns a result and want to work with the result, just change the code to look like this: this:&lt;/P&gt;
&lt;P&gt;&lt;TT&gt;public ... yourBackingBeanMethod(...) {&lt;BR&gt;&amp;nbsp; /* Custom code before invoking the method action goes here... */&lt;BR&gt;&lt;BR&gt;&amp;nbsp; /* Get the current binding container */&lt;BR&gt;&amp;nbsp; BindingContainer bc = BindingContext.getCurrent().getCurrentBindingsEntry();&lt;BR&gt;&amp;nbsp; /* Lookup and invoke the action binding named &quot;yourMethodName&quot; */&lt;BR&gt;&amp;nbsp; Object retVal = bc.getOperationBinding(&quot;yourMethodName&quot;).execute();&lt;BR&gt;&lt;BR&gt;&amp;nbsp; /* Do something with &apos;retVal&apos; here */&lt;BR&gt;&lt;BR&gt;&amp;nbsp; /* Custom code&amp;nbsp;after invoking the method action goes here... */&lt;BR&gt;&lt;BR&gt;}&lt;/TT&gt;&lt;/P&gt;
&lt;P&gt;Section &lt;A href=&quot;http://download.oracle.com/docs/cd/E12839_01/web.1111/b31974/bcservices.htm#sthref869&quot;&gt;9.10.3 How to Access an Application Module Client Interface in a Fusion Web Application&lt;/A&gt; in the 11g R1 developer&apos;s guide explains a technique for accessing the AM client interface directly by accessing the data control from the method action and calling the getDataProvider() on it to cast the AM instance to its client interface. However, I&apos;m working to get that documentation section changed to reflect the advice above since invoking the client interface directly does not handle exceptions in the same consistent way (using the ADFM Exception Handler described in section &lt;A href=&quot;http://download.oracle.com/docs/cd/E12839_01/web.1111/b31974/web_adv.htm#CIHHBEEJ&quot;&gt;27.9 Customizing Error Handling&lt;/A&gt; of the dev guide).&lt;/P&gt;
&lt;P&gt;In the case of an ADF Task Flow method call activity, the easiest way to invoke a custom method exposed on one of your component&apos;s client interface is to simply drag that method from the Data Control Palette and drop it onto the method call activity. No backing bean needed. If you do need to augment the method call with some custom code, you can first do this drag/drop operation, then adjust the method call activity to call a backing bean that used the technique described above to perform custom code before and/or after invoking the method action.&lt;/P&gt;
&lt;P&gt;A note for developers using JDeveloper/ADF 10.1.3: The BindingContext.getCurrent().getCurrentBindingsEntry() call is new in 11g. In the 10.1.3 release you can follow the above advice but will need to access the binding container by evaluating the &quot;#{bindings}&quot; expression, perhaps using some helper code like the EL.get() method from &lt;A href=&quot;http://radio.weblogs.com/0118231/stories/2006/12/18/sourceForMyFavoriteElHelperClass.html&quot;&gt;my favorite EL helper class&lt;/A&gt;.&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0118231/2009/08/20.html#a959</guid>
			<pubDate>Thu, 20 Aug 2009 17:14:36 GMT</pubDate>
			</item>
		<item>
			<title>Oramag Article on ADF Debugging Techniques</title>
			<link>http://radio.weblogs.com/0118231/2009/08/17.html#a958</link>
			<description>&lt;P&gt;The &lt;A href=&quot;http://www.oracle.com/technology/oramag/oracle/09-sep/index.html&quot;&gt;September/October 2009 issue of Oracle Magazine&lt;/A&gt; is now available online, and along with it the next installment in my &lt;A href=&quot;http://www.oracle.com/technology/oramag/oracle/frameworks/index.html&quot;&gt;Developer: Frameworks series&lt;/A&gt;:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href=&quot;http://www.oracle.com/technology/oramag/oracle/09-sep/o59frame.html&quot;&gt;At the Breaking Point&lt;/A&gt;&lt;BR&gt;Debug more effectively with Oracle ADF&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;NOTE: &amp;nbsp;The example exercises described in the article assume that you are using the new 11.1.1.1.0 release of JDeveloper 11g, since the UI for creating a breakpoint was slightly changed in this release. The same basic techniques work in earlier releases, but if you want to follow the step-by-step instructions, it will be best to use the very latest release.&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0118231/2009/08/17.html#a958</guid>
			<pubDate>Mon, 17 Aug 2009 14:42:59 GMT</pubDate>
			</item>
		<item>
			<title>Programmatically Manipulating a Table&apos;s Search Filter Fields</title>
			<link>http://radio.weblogs.com/0118231/2009/08/14.html#a957</link>
			<description>&lt;P&gt;I added &lt;A href=&quot;http://radio.weblogs.com/0118231/stories/2004/09/23/notYetDocumentedAdfSampleApplications.html#146&quot;&gt;example#146&lt;/A&gt; that illustrates how to programmatically manipulate an af:table component&apos;s QBE filter search fields.&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0118231/2009/08/14.html#a957</guid>
			<pubDate>Fri, 14 Aug 2009 15:51:10 GMT</pubDate>
			</item>
		<item>
			<title>Declaratively Warning Users of Pending Changes Before Navigation</title>
			<link>http://radio.weblogs.com/0118231/2009/08/14.html#a956</link>
			<description>&lt;P&gt;Kuba &lt;A href=&quot;http://kuba.zilp.pl/?id=821&quot;&gt;blogs&lt;/A&gt; a link to an OTN article describing a new, declarative feature in JDeveloper / ADF 11g release 11.1.1.1 to automatically warn users before they navigate away from a page with pending data changes. This was a commonly requested&amp;nbsp;feature that we finally had a chance to make a simple, declarative option.&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0118231/2009/08/14.html#a956</guid>
			<pubDate>Fri, 14 Aug 2009 15:02:23 GMT</pubDate>
			</item>
		<item>
			<title>11.1.1.1.0 Migration Gotcha Due to Change in Groovy Behavior</title>
			<link>http://radio.weblogs.com/0118231/2009/07/27.html#a955</link>
			<description>&lt;P&gt;When you migrate your ADF 11.1.1 application to 11.1.1.1, if you happen to have attributes with names like Category, Reference, PropertyValue,&amp;nbsp;Sequence, or several others, then you may notice that your application malfunctions where it references these attribute names in Groovy scripts/expressions. One situation where the problem occurred for me was in a bug tracking application with cascading LOVs. I had three fields with LOVs configured -- Product, Category, Subcategory -- and the view accessor used by the Subcategory LOV contained bind variable Groovy expressions of:.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;BindVarProduct =&amp;gt; &lt;EM&gt;Product&lt;/EM&gt; 
&lt;LI&gt;BindVarCategory =&amp;gt; &lt;EM&gt;Category&lt;/EM&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;When I ran the application in ADF 11.1.1.1.0, the Subcategory LOV never returned any rows. In the debugger, I was able to set a breakpoint in the &lt;STRONG&gt;bindParametersForCollection()&lt;/STRONG&gt; method of &lt;STRONG&gt;ViewObjectImpl&lt;/STRONG&gt; to study the values of the bind variables for the view accessor&apos;s query, and I noticed that the BindVarCategory bind variable was being assigned a value of type java.lang.Class (the object representing groovy.lang.Category class) instead of a String with a value like &quot;SOME_CATEGORY&quot;, so of course the query returned no rows.&lt;/P&gt;
&lt;P&gt;&lt;A href=&quot;http://jira.codehaus.org/browse/GROOVY-3451&quot;&gt;Groovy issue# 3451&lt;/A&gt; complains about a change in behavior between Groovy version&amp;nbsp;1.5.4&amp;nbsp;used by ADF 11.1.1.0.x and the Groovy 1.6.0 release used by ADF 11.1.1.1. Groovy 1.6 changed the order of resolution for a symbol like &lt;EM&gt;Category&lt;/EM&gt; to first resolve to the&amp;nbsp;name of a class visible in the current classloader before giving a scripting client like ADF BC a chance to resolve the name to&amp;nbsp;the value of a row attribute.&lt;/P&gt;
&lt;P&gt;The workaround is to change the Groovy script to reference &lt;STRONG&gt;adf.object.Category&lt;/STRONG&gt; instead of just &lt;STRONG&gt;Category&lt;/STRONG&gt; (or whatever the offending attribute name is). The complete list of attribute names that can cause problems includes the name of every class in the &lt;STRONG&gt;java.lang&lt;/STRONG&gt; and the &lt;STRONG&gt;groovy.lang&lt;/STRONG&gt; packages (which are auto-imported by the Groovy runtime). You can consult the text of bug# 8732845 in Metalink (or the JavaDoc for these two packages) for a complete list of class names that can cause problems in Groovy scripts if used as attribute names and referenced in an unqualified way.&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0118231/2009/07/27.html#a955</guid>
			<pubDate>Mon, 27 Jul 2009 14:54:13 GMT</pubDate>
			</item>
		<item>
			<title>New ADF Faces Converter for ADFBC Domains</title>
			<link>http://radio.weblogs.com/0118231/2009/07/27.html#a954</link>
			<description>&lt;P&gt;In releases prior to 11.1.1.1.0, if you used custom ADFBC domain classes to encapsulate common datatype validation into a reusable value class, you needed to create a custom JSF converter to handle data entry in your JSPX pages. Failure to do so would result in errors like:&lt;/P&gt;
&lt;BLOCKQUOTE style=&quot;MARGIN-RIGHT: 0px&quot; dir=ltr&gt;
&lt;P&gt;Cannot convert 11.1.2.3.4 of type class java.lang.String to&amp;nbsp; class&amp;nbsp; fusion.bugtracker.model.datatypes.common.OracleVersionNumber&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Now in 11.1.1.1.0, ADF Faces registers a built-in converter you can use for this purpose. Just reference the converter with id &quot;oracle.genericDomain&quot; like this:&lt;/P&gt;&lt;TT&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;af:inputText value=&quot;#{bindings.ProductVersion.inputValue}&quot;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; label=&quot;#{bindings.ProductVersion.label}&quot;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; contentStyle=&quot;width:200px&quot;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; required=&quot;#{bindings.ProductVersion.mandatory}&quot;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; columns=&quot;#{bindings.ProductVersion.displayWidth}&quot;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; id=&quot;it2&quot;&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;f:converter converterId=&quot;&lt;STRONG&gt;oracle.genericDomain&lt;/STRONG&gt;&quot;/&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;f:validator binding=&quot;#{bindings.ProductVersion.validator}&quot;/&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/af:inputText&amp;gt;&lt;/P&gt;&lt;/TT&gt;</description>
			<guid>http://radio.weblogs.com/0118231/2009/07/27.html#a954</guid>
			<pubDate>Mon, 27 Jul 2009 12:05:20 GMT</pubDate>
			</item>
		<item>
			<title>Don&apos;t Miss Andrejus&apos; Latest ADF Posts</title>
			<link>http://radio.weblogs.com/0118231/2009/07/26.html#a953</link>
			<description>&lt;P&gt;&lt;A href=&quot;http://andrejusb.blogspot.com/&quot;&gt;Andrejus Baranovskis&lt;/A&gt; has been busy blogging about tips and features in the latest JDeveloper 11g release. Don&apos;t miss his informative posts (with examples) on &lt;A href=&quot;http://andrejusb.blogspot.com/2009/07/integration-in-oracle-adf-through-adf.html&quot;&gt;Integrating Apps Using ADF Task Flows in ADF Libraries&lt;/A&gt; and &lt;A href=&quot;http://andrejusb.blogspot.com/2009/07/lov-query-validation-in-query-criteria.html&quot;&gt;LOV Query Validation&lt;/A&gt; using the AutoSubmit hint, &lt;A href=&quot;http://andrejusb.blogspot.com/2009/07/oracle-adf-bc-deployment-and-imported.html&quot;&gt;ADF Development and Imported Libraries&lt;/A&gt;, and&amp;nbsp;&lt;A href=&quot;http://andrejusb.blogspot.com/2009/07/oracle-adf-bc-deployment-and-imported.html&quot;&gt;Improving Load Time in Create Pages&lt;/A&gt;. Well worth a read.&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0118231/2009/07/26.html#a953</guid>
			<pubDate>Sun, 26 Jul 2009 08:36:50 GMT</pubDate>
			</item>
		<item>
			<title>11gR1 Example: selectBooleanCheckbox in a Table</title>
			<link>http://radio.weblogs.com/0118231/2009/07/13.html#a952</link>
			<description>&lt;P&gt;I&apos;ve added &lt;A href=&quot;http://radio.weblogs.com/0118231/stories/2004/09/23/notYetDocumentedAdfSampleApplications.html#145&quot;&gt;example #145&lt;/A&gt; to illustrate how, using some new capabilities implemented in the&amp;nbsp;new 11.1.1.1.0 release, you can easily (and declaratively) expose selectBooleanCheckbox controls in an editable table without having to introduce your own boolean transient attribute (as used to be required).&lt;/P&gt;
&lt;P&gt;Note:&amp;nbsp;The example requires the new 11.1.1.1.0 release to work correctly.&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0118231/2009/07/13.html#a952</guid>
			<pubDate>Mon, 13 Jul 2009 15:40:12 GMT</pubDate>
			</item>
		<item>
			<title>JDeveloper / ADF 11g R1 (11.1.1.1.0) Production Available</title>
			<link>http://radio.weblogs.com/0118231/2009/07/11.html#a951</link>
			<description>&lt;P&gt;While I was out for some much-needed vacation, our JDeveloper / ADF 11.1.1.1.0 release went production. Some relevant links:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href=&quot;http://www.oracle.com/technology/products/jdev/index.html&quot;&gt;Updated JDeveloper Home Page&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href=&quot;http://www.oracle.com/technology/software/products/jdev/index.html&quot;&gt;Download the New 11.1.1.1.0 Release&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href=&quot;http://www.oracle.com/technology/products/jdev/collateral/papers/11/newfeatures/index.html&quot;&gt;New 11.1.1.1.0 Features&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href=&quot;http://www.oracle.com/technology/documentation/jdev.html&quot;&gt;New 11.1.1.1.0 Documentation&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href=&quot;http://www.oracle.com/technology/obe/obe11jdev/bulldog/ria_application/developriaapplication_long.htm&quot;&gt;Developing Rich Web Apps with Oracle ADF Tutorial&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Enjoy&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0118231/2009/07/11.html#a951</guid>
			<pubDate>Fri, 10 Jul 2009 23:00:09 GMT</pubDate>
			</item>
		<item>
			<title>Community-Created Watch It ADF Series</title>
			<link>http://radio.weblogs.com/0118231/2009/06/25.html#a950</link>
			<description>&lt;P&gt;Jan Vervecken wrote me to let me know of a new effort to create screencast movies of interesting ADF &quot;how to&quot; articles over at &lt;A href=&quot;http://wiki.oracle.com/page/Watch+It+ADF&quot;&gt;&lt;a href=&quot;http://wiki.oracle.com/page/Watch+It+ADF&quot;&gt;http://wiki.oracle.com/page/Watch+It+ADF&lt;/a&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;The first two screencasts produced follow along with a couple of recent Oracle Magazine Developer Frameworks articles I wrote.&lt;/P&gt;
&lt;P&gt;Thanks for the tip, Jan.&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0118231/2009/06/25.html#a950</guid>
			<pubDate>Thu, 25 Jun 2009 08:59:44 GMT</pubDate>
			</item>
		<item>
			<title>July/August Frameworks Column Now Available</title>
			<link>http://radio.weblogs.com/0118231/2009/06/06.html#a949</link>
			<description>&lt;P&gt;The &lt;A href=&quot;http://www.oracle.com/technology/oramag/oracle/09-jul/index.html&quot;&gt;July/August 2009 issue of Oracle Magazine&lt;/A&gt; is now live, and along with it the latest installment of my &lt;A href=&quot;http://www.oracle.com/technology/products/jdev/tips/muench/oramag/index.html&quot;&gt;Developer Frameworks&lt;/A&gt; column:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href=&quot;http://www.oracle.com/technology/oramag/oracle/09-jul/o49frame.html&quot;&gt;Targets, Accessors, and Trees&lt;/A&gt;&lt;BR&gt;Hierarchical data displays are simple with Oracle Application Development Framework.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Enjoy.&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0118231/2009/06/06.html#a949</guid>
			<pubDate>Sat, 06 Jun 2009 01:23:01 GMT</pubDate>
			</item>
		<item>
			<title>Grant&apos;s New ADF / Groovy Whitepaper</title>
			<link>http://radio.weblogs.com/0118231/2009/04/14.html#a948</link>
			<description>&lt;P&gt;Grant &lt;A href=&quot;http://groundside.com/blog/GrantRonald.php?title=introduction_to_groovy_support_in_jdevel&amp;amp;more=1&amp;amp;c=1&amp;amp;tb=1&amp;amp;pb=1&quot;&gt;blogs&lt;/A&gt; about a new whitepaper he&apos;s written on Groovy support in Oracle JDeveloper / ADF. I reviewed a draft of it and think it will be useful to everyone using Oracle ADF 11g.&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0118231/2009/04/14.html#a948</guid>
			<pubDate>Tue, 14 Apr 2009 21:44:25 GMT</pubDate>
			</item>
		<item>
			<title>May/June 2009 Frameworks Column: Add Custom Features to Improve Team Productivity</title>
			<link>http://radio.weblogs.com/0118231/2009/04/14.html#a947</link>
			<description>&lt;P&gt;The &lt;A href=&quot;http://www.oracle.com/technology/oramag/oracle/09-may/index.html&quot;&gt;May/June 2009 Oracle Magazine&lt;/A&gt; issue is now available, and along with it the next installment of my Frameworks column:&lt;/P&gt;
&lt;BLOCKQUOTE style=&quot;MARGIN-RIGHT: 0px&quot; dir=ltr&gt;
&lt;P&gt;&lt;A href=&quot;http://www.oracle.com/technology/oramag/oracle/09-may/o39frame.html&quot;&gt;Extending a Helping Hand&lt;/A&gt;&lt;BR&gt;Add custom features to improve team productivity.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Enjoy.&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0118231/2009/04/14.html#a947</guid>
			<pubDate>Tue, 14 Apr 2009 19:23:30 GMT</pubDate>
			</item>
		<item>
			<title>Frank&apos;s Oracle ADF Rich Client Auto-Suggest Example</title>
			<link>http://radio.weblogs.com/0118231/2009/04/10.html#a946</link>
			<description>&lt;P&gt;Due to lack of bandwidth, I don&apos;t get much of a chance to experiment with the finer points of our ADF Rich Client framework, but I always wondered how you&apos;d implement the kind of auto-suggest (reduce-the-choices-as-the-user-types) type of functionality. As usual, Frank takes the time not only to figure out the implementation but to write it up nicely. Check it out if you&apos;ve been wondering how to achieve this type of functionality in ADF 11g.&lt;/P&gt;
&lt;P&gt;&lt;A href=&quot;http://www.oracle.com/technology/products/jdev/tips/fnimphius/suggest/autosuggest.html&quot;&gt;&lt;a href=&quot;http://www.oracle.com/technology/products/jdev/tips/fnimphius/suggest/autosuggest.html&quot;&gt;http://www.oracle.com/technology/products/jdev/tips/fnimphius/suggest/autosuggest.html&lt;/a&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;It&apos;s just one of many great article&apos;s on Frank&apos;s &lt;A href=&quot;http://www.oracle.com/technology/products/jdev/tips/fnimphius/index.html&quot;&gt;Code Corner&lt;/A&gt; on OTN...&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0118231/2009/04/10.html#a946</guid>
			<pubDate>Thu, 09 Apr 2009 22:42:09 GMT</pubDate>
			</item>
		<item>
			<title>JDeveloper / ADF 11g Update 2 Release Available</title>
			<link>http://radio.weblogs.com/0118231/2009/04/06.html#a945</link>
			<description>&lt;P&gt;We&apos;ve released JDeveloper 11g Update 2 on OTN:&lt;/P&gt;
&lt;P&gt;&lt;A href=&quot;http://www.oracle.com/technology/software/products/jdev/htdocs/soft11.html&quot;&gt;&lt;a href=&quot;http://www.oracle.com/technology/software/products/jdev/htdocs/soft11.html&quot;&gt;http://www.oracle.com/technology/software/products/jdev/htdocs/soft11.html&lt;/a&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;The release notes are &lt;A href=&quot;http://www.oracle.com/technology/products/jdev/htdocs/11/knownissues.html&quot;&gt;here&lt;/A&gt;. List of bug fixes should follow shortly on the page above.&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0118231/2009/04/06.html#a945</guid>
			<pubDate>Mon, 06 Apr 2009 05:52:13 GMT</pubDate>
			</item>
		<item>
			<title>Customizing Application Error Handler to Support Informational Messages</title>
			<link>http://radio.weblogs.com/0118231/2009/03/20.html#a944</link>
			<description>&lt;P&gt;I&apos;ve added &lt;A href=&quot;http://radio.weblogs.com/0118231/stories/2004/09/23/notYetDocumentedAdfSampleApplications.html#144&quot;&gt;example #144&lt;/A&gt; to illustrate how to customize the application-level error handler to support informational messages (in addition to the default support we provide for warnings and errors).&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0118231/2009/03/20.html#a944</guid>
			<pubDate>Fri, 20 Mar 2009 13:06:06 GMT</pubDate>
			</item>
		<item>
			<title>March/April 2009 Frameworks Column: Configure nested transactions using Oracle ADF task flows</title>
			<link>http://radio.weblogs.com/0118231/2009/03/01.html#a943</link>
			<description>&lt;P&gt;The March/April 2009 Oracle Magazine issue is now available, and along with it the latest installment of my Developer Frameworks series:&lt;/P&gt;
&lt;BLOCKQUOTE style=&quot;MARGIN-RIGHT: 0px&quot; dir=ltr&gt;
&lt;P&gt;&lt;A href=&quot;http://www.oracle.com/technology/oramag/oracle/09-mar/o29frame.html&quot;&gt;A Ride at the OK (or Cancel) Corral&lt;BR&gt;&lt;/A&gt;Configure nested transactions using Oracle ADF task flows.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P dir=ltr&gt;Enjoy.&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0118231/2009/03/01.html#a943</guid>
			<pubDate>Sun, 01 Mar 2009 08:56:54 GMT</pubDate>
			</item>
		<item>
			<title>Going from a SQL Query in SQL Developer to a JSF Page Showing Its Results</title>
			<link>http://radio.weblogs.com/0118231/2009/02/01.html#a942</link>
			<description>&lt;P&gt;In response to &lt;A href=&quot;http://www.dbforums.com/java/1637740-migrating-sql-jdeveloper.html&quot;&gt;a question asked on the dBforums website&lt;/A&gt;, I created a little screencast to show the simple steps to go from a SQL query that you&apos;ve got working in SQL Developer to a JSF page that display its results and allows the user to enter values for its bind variables.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href=&quot;http://www.oracle.com/technology/products/jdev/tips/muench/screencasts/sqlpage/sqlpage.html&quot;&gt;Using a SQL Query with Bind Variables from SQL Developer to Create a JSF Page to Show its Results&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0118231/2009/02/01.html#a942</guid>
			<pubDate>Sun, 01 Feb 2009 09:27:05 GMT</pubDate>
			</item>
		</channel>
	</rss>
