Domain Portal

  • Subscribe to our RSS feed.
  • Twitter
  • StumbleUpon
  • Reddit
  • Facebook
  • Digg

Sunday, 13 May 2007

Templating in Oracle JDeveloper 11g

Posted on 08:24 by Unknown
As probably everyone of you have heard - this week was released Oracle JDeveloper 11g Technical Preview. I have looked through 11g release and should say, that if Oracle JDeveloper 10.1.3 was smart enough tool, then Oracle JDeveloper 11g is simply smart :). There are a lot of new and useful functionality implemented in tool itself. During sample application development I have noticed many enhancements comparing to previous release, those enhancements available in Oracle JDeveloper 11g will help to be more productive and to develop more effective applications.

I have decided to build my first sample on Oracle JDeveloper 11g to describe Oracle ADF templating functionality. In fact, it was real pain when implementing applications with many pages and similar functionality in each page. However, now that pain should go away, because in Oracle JDeveloper 11g UI and also data logic templating becomes really simple. If you are interested, you can watch the online screencast - JSF Page Templating, available on OTN.

Developed sample application - Templating.zip is based on standard HR schema and provides three JSPX pages, two of them are based on developed template. I have developed this sample in similar way like in Frank Nimphius screencast, however additionally I have used page definition file for template. Developed template contains two parts - Master and Detail area. Master area is empty, there facet 'master' is declared, later when real page will be created from template, I will put into this area Master data for Employees entity. Into Detail area I have dragged and dropped a read-only table based on Employees entity. This means, that structure in Master will be specific for each form, but structure created in Detail area will be the same in all forms. If requirements will be changed, Detail part structure can be easily updated in template document, all forms created based on template will be updated automatically. Developed template:


To show how this template can be used, I have created two pages (editDepEmpl1.jspx and editDepEmpl2.jspx) based on the same template. Both of those pages contain Master-Detail relationship implemented, Detail part is the same and Master part is different. Page flow diagram:


First page provides a form for Department name editing, second page provides a form for Department location editing. Both pages are invoked from main.jspx:


Page for editing Department name:


Page for editing Department location:


Oracle ADF in JDeveloper 11g provides additional feature for data tables - filtering (have you noticed that line with empty fields above table header?). Let's say we want to apply filtering for First Name column using 'A%' string:


Ok, application is working and everything is fine. But, let's imagine such situation - our analyst isn't working so good as we - he/she have decided to change primary functional requirements and to remove filtering feature from detail table. If you are working with previous release, you will iteratively apply the same routine steps for all tables needed to be changed. But, in Oracle JDeveloper 11g situation is different, here you can go directly to template document and make changes only once - remove filtering option. Changes in template document will be applied for all pages based on that template. And really, table is changed:


It seems Oracle JDeveloper 11g doesn't put standard JAR libraries into application folders, application size is reduced and there is no need now to copy into WEB-INF/lib standard libraries.
Email ThisBlogThis!Share to XShare to Facebook
Posted in ADF, JDeveloper 11g | No comments
Newer Post Older Post Home

0 comments:

Post a Comment

Subscribe to: Post Comments (Atom)

Popular Posts

  • Groovy - Multiple LOV's per Attribute in JDeveloper 11g
    I was blogging previously about multiple LOV's per attribute functionality. I was using RowImpl class for View object in order to calcu...
  • External Transaction Service in Oracle TopLink
    I have developed sample application, in order to demonstrate how to use External Transaction Service (ETS), when Oracle TopLink is used in M...
  • Workaround for Null Value Bug in ADF List Of Values 11g
    Those of you, who are using List Of Values (LOV) component in ADF 11g, most probably already have noticed bug related to Null value. Simple ...
  • Trip to US
    I'm in US this week, Connecticut. Here is the same weather as in Lithuania, it's winter with about -5 degrees in Celsius.
  • Oracle ADF - between 4GL and J2EE is only one step
    According to ADF architecture described in Oracle JDeveloper 10g (10.1.3) Developer's Guide Section 1.1.1 - Framework Architecture and S...
  • Creating new row using CreateInsert operation
    Sample application - CreateInsert.zip , demonstrates how to create editable table with 'create new row' functionality in ADF BC. We ...
  • Show Buttons based on Disclosed Tab
    In 11g it becomes quite common use case to structure application page with tabbed panels. If you develop your pages based on templates, most...
  • Multilanguage in fixed af:selectOneChoice ADF Faces component
    If someone will face a problem how to enable multilanguage support in fixed af:selectOneChoice component, or simply how to bind fixed af:sel...
  • JDeveloper 11g on Mac OS X Leopard
    I'm using Apple Mac Book Pro for about half of a year, but shame for me all this time I was running Windows OS using Apple Boot Camp so...
  • Why I'm here?
    Oracle for me is more then technology, it is a way how I think. So, I'm creating this blog in order to express my knowledge in Oracle Fu...

Categories

  • ADF
  • Apex
  • Apple
  • BPEL
  • Events
  • Forms
  • Groovy
  • JDeveloper 11g
  • Nomination
  • ODTUG Kaleidoscope
  • OFUG
  • Oracle Magazine
  • Oracle OpenWorld
  • Security
  • SOA
  • Spatial
  • TopLink
  • Traveling
  • Uncategorized
  • Vgo Software
  • Web Services
  • WebCenter
  • WebLogic
  • Workarounds

Blog Archive

  • ►  2008 (72)
    • ►  December (2)
    • ►  November (3)
    • ►  October (9)
    • ►  September (4)
    • ►  August (9)
    • ►  July (6)
    • ►  June (10)
    • ►  May (4)
    • ►  April (5)
    • ►  March (7)
    • ►  February (5)
    • ►  January (8)
  • ▼  2007 (65)
    • ►  December (6)
    • ►  November (7)
    • ►  October (6)
    • ►  September (4)
    • ►  August (3)
    • ►  July (4)
    • ►  June (6)
    • ▼  May (5)
      • ExecuteWithParams in your Oracle ADF application
      • Oracle Fusion Middleware Regional Director nomination
      • Spring in Lithuania
      • Templating in Oracle JDeveloper 11g
      • Create/Edit operations and setCurrentRowWithKeyVal...
    • ►  April (6)
    • ►  March (4)
    • ►  February (5)
    • ►  January (9)
  • ►  2006 (9)
    • ►  December (9)
Powered by Blogger.

About Me

Unknown
View my complete profile