Day two of the ADF, UIX, and JHeadstart 10g workshop is a wrap. We went through the steps of replacing the mocked-up UI controls in our three-page "step-by-step" wizard with data-bound equivalents. It would have been nice to drop the attributes from the data binding palette right on top of the unbound controls to "wire them up", but JDeveloper doesn't support that yet, so we dragged and dropped data-bound versions of the same kinds of controls just below their mocked-up versions, then deleted the unbound ones. We learned more about the powerful UIX model attribute on UIX UI components that you can bind using familiar EL expressions. Once the UIX component knows what the binding object is, it automatically infers a number of that controls properties from the ADF binding object that's specified via the EL expression like prompt, tooltip, updateability, whether or not its required, etc. We learned how virtually any attribute in a UIX page could derive its value dynamically using an EL expression. For example, dynamically hiding or showing some control, or area of the page, was as simple as setting the rendered property to an appropriate boolean-valued EL expression. Pretty powerful ideas at work in UIX.
We replaced our mocked-up LOV-assisted-text-field control with a working, data-bound version, and implemented the ability for the user to filter the LOV by typing in part of the customer name they were looking for. A few of us in the class experimented with augmenting our basic default Customers view object to join in reference information from the various foreign key lookup fields and observed how the underlying ADF Business Components foreign-key reference mechanism automatically faulted-in the related foreign key columns when the LOV set the Id of the selected customer.
We learned about the UIX feature called partial page rendering that let us update just bits of the page that were changing instead of refreshing the whole web page. With a couple of declarative settings, when the user would pick a customer from the LOV, a coordinated list of the copier-machines they had on site would appear without refreshing the page. Pretty slick. I wouldn't know where to begin to code that kind of feature in JavaScript myself.
We got a few data-driven poplists working and added the commit and rollback buttons for (Save) and (Cancel) working before calling it a day. Wednesday, we'll be picking up the JHeadstart application generator for the first time to crank out these kinds of pages automatically based on a number of preferences Steven, Peter, and Sandra have been dropping hints about during the first two days. The drama is building for what I anticipate will be an impressive showing of additional developer productivity. I can feel it... Downhill sledding ahead! More details as I learn them...
3:15:42 AM
|
|