Domain Portal

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

Thursday, 9 October 2008

JDeveloper 11g Production on Mac OS

Posted on 10:00 by Unknown
Everyone who is interested in Oracle Fusion Middleware probably knows, JDeveloper 11g is production now. And its possible to install it on Mac OS as well. On Windows, installation process is more straightforward, however it is relatively easy on Mac OS also - just you will need to follow a couple of configuration steps. In this post I will give instructions, I was following in order to install JDeveloper 11g on my MacBook Pro, I will concentrate on those instructions not mentioned in installation guide.

Installation process steps:

1) Download jdevstudio11110install.jar from OTN download page. It is a base install, without JDK 6.

2) Go to Oracle Fusion Middleware Installation Guide for Oracle JDeveloper on OTN and follow listed instructions.

3) After you will install Sun Java SE 6 for Mac OS X 10.5, you will need to make Java 1.6.0 default version of Java on your machine. You must run Java Preferences utility at /Applications/Utilities/Java/ to make Java 1.6.0 the default version on your OS. But, this will not change Java version across all system, so in terminal window I executed following commands as a root user to make Java 1.6.0 default VM:

$ cd /System/Library/Frameworks/JavaVM.framework/Versions/
$ ls -l CurrentJDK
lrwxr-xr-x 1 root wheel 5 Oct 3 21:33 CurrentJDK -> 1.5.0
$ sudo rm CurrentJDK
$ sudo ln -s 1.6.0 CurrentJDK
lrwxr-xr-x 1 root wheel 5 Oct 3 21:40 CurrentJDK -> 1.6.0


Now if you will execute java - version in terminal window, you should get something similar:

java version "1.6.0_05"
Java(TM) SE Runtime Environment (build 1.6.0_05-b13-120)
Java HotSpot(TM) 64-Bit Server VM (build 1.6.0_05-b13-52, mixed mode)


4) However, if you will run JDeveloper 11g installer at this step, you still will not be able to install successfully. In my case, installer wasn't able to find Java Home, even if I was providing it directly. I have solved this, when I have found a section about Known Issues for installing JDeveloper 11g on Mac OS in Release Notes document.

When all listed steps were done, installation wizard found Java 1.6.0 automatically and installation finished successfully:


JDeveloper 11g is up and running on Macintosh:

Read More
Posted in Apple, JDeveloper 11g | No comments

Sunday, 5 October 2008

Multiple LOV's per Attribute in JDeveloper 11g

Posted on 03:01 by Unknown
During OOW 2008 I have attended Steve Muench talk about new features in ADF Business Components available in 11g release - Oracle ADF: New Declarative Validation, LOV, Search, and Services Features. Those features will be available in Production release, announced to appear this month. However, Oracle ACE Directors already have access to production release candidate - JDeveloper 11g Release Candidate for ACE Directors, so I'm able to test those new features.

Very imporant new feature for me - possibility to define multiple LOV's per one attribute. Previously it was possible to have only one LOV defined in Model layer per attribute. In this post I will describe how it works, based on mentioned Steve Muench presentation, and will publish sample application I have developed - LOV_Multiple.zip. You will not be able to run this sample in TP4, only in production when it will be available (I hope very soon).

My sample is based on HR schema, it contains one main View object - EmployeesView and two read-only View objects for LOV's - DepartmentsView and DepartmentsEuropeView. Those two LOV's are based on different SQL statements:


With multiple LOV's per attribute feature, we can use now two or more View objects with different SQL statements for the same attribute. For example, basic SQL statment in DepartmentsView, returns all departments:


And SQL statment in DepartmentsEuropeView, returns departments only from Europe:


Here is a sample screen, where you can see multiple LOV's per attribute defined:


I have defined in this sample, two LOV's for DepartmentId attribute - LOV_Department and LOV_Department_Europe. There is List of Values Switcher attribute defined - lovAttr. This attribute returns LOV name to be used, I have created it as Transient attribute in Employees View object. In its getter method I'm doing a check - if current region is Europe I'm using LOV only with European departments, otherwise default LOV with all departments is used:


On runtime, if employee is based in European department - DepartmentId LOV will use DepartmentsEuropeView and will list only departments from Europe:


In other case, default LOV will be used with all available departments listed:

Read More
Posted in ADF, JDeveloper 11g | No comments

Thursday, 2 October 2008

JDeveloper 11g Release Candidate for ACE Directors

Posted on 13:09 by Unknown
During Oracle ACE Directors briefing in San Francisco on previous week, Duncan Mills gave JDeveloper 11g Release Candidate for ACE's to test. This build is very close to production they will deliver soon.

What I can say? I really like it, I can't stop testing it during recent days. And, I'm quite surprised in positive way - many bugs from previous builds are fixed, that's good news for us. Main new thing is BEA WebLogic server, its main server now and at least in ACE's build there is no embedded OC4J anymore. Actually, up to some degree I miss good old OC4J. But at the same time, it looks with WebLogic server, application deployment and execution became more stable. WebLogic brings some positive changes in the security area as well, you will see it soon.

One more thing, there will be installer now for JDeveloper. Its related to BEA WebLogic configuration. However, no worries for this, installation process is really quick - up to 5 minutes on my MacBook Pro machine.

Hope you will be able to enjoy JDeveloper 11g production soon.
Read More
Posted in JDeveloper 11g | No comments

Monday, 29 September 2008

Second Session on UKOUG 2008 Conference

Posted on 10:30 by Unknown
I already was accepted for UKOUG 2008 Conference with my paper - ADF Task Flow - Based On Practical JDeveloper 11g Experience.

However, during last week in San Francisco (Oracle OpenWorld), I got a phone call from UKOUG office and was invited to deliver second presentation on UKOUG 2008. They have asked to present similar session as I was doing on OpenWorld, Oracle Develop track - My Session at Oracle Open World 2008 (Oracle Develop). It is about Oracle Maps integration with ADF in JDeveloper 11g.

See you during UKOUG 2008, it will be really fun !
Read More
Posted in Events | No comments

Wednesday, 24 September 2008

JDeveloper/ADF News from Oracle OpenWorld 2008

Posted on 09:36 by Unknown
This week I'm in San Francisco, attending Oracle OpenWorld 2008 conference.

One of the main news for me, announced on Ted Farrell keynote - Breaking Enterprise Application Platform Barriers, was a date of JDeveloper 11g production release - October 1. I already can start to play with it, Oracle provided private ACE Directors build on September 21.

Ted Farrell announced Oracle Developer Tools Strategy:


As you see, JDeveloper/ADF is Oracle's strategic tool and framework. Enterprise Pack for Eclipse is second strategic tool, designed for core Java developers.

On the same keynote, vision for Rich Enterprise Applications powered by ADF and WebCenter was defined:


In 11g, ADF becomes really rich framework, with support for WebCenter Services, View layer with JSF Core, Data Visualization, GeoMap and Data Manipulation. ADF can render View layer on different devices, in the future there will be support for iPhone as well.

I already did my session on Monday - My Session at Oracle Open World 2008 (Oracle Develop). It was attended very well, almost full room (60 people), and what is most important no errors in demo development. You can download application - OraMaps11_Session.zip, I have developed during my session:

Read More
Posted in Oracle OpenWorld | No comments

Saturday, 13 September 2008

JDeveloper 11g - CRUD in ADF Form Component

Posted on 00:24 by Unknown
I'm again back to one of most popular topics on my blog - CRUD implementation in ADF. I was blogging previously about CRUD in 10g and also about CRUD in 11g af:table component - JDeveloper 11g - Create, Edit and Delete operations in ADF Faces af:table component. Today I want to describe CRUD in ADF Form implementation, it is different comparing to ADF Table implementation. Actually, its easy to implement CRUD operations in ADF Form, however it can be complex to implement user friendly CRUD behavior. Main focus of my blog post will be to describe how to achieve user friendly CRUD behavior with ADF Form component.


This post is based on sample application I have developed - UndoCreate.zip. Sample is based on standard HR schema, before running application make sure you have correct DB connection defined.

1) Find Functionality

By default, when you are using ADF Search Form functionality, entered query parameters are stored and are shown again when user will re-open form in Find mode. However, based on my experience, usually it is not a desired behavior. Users prefer not to see old query parameters when they re-open form in Find mode. For example, when some query parameter is entered:


Search is executed and result returned:


And now, when user will press Find button again, previous query criteria should be cleared. It is not cleared by default in ADF, however it is cleared in my sample application:


I'm clearing previous query parameters by executing combination of Rollback, Find, Delete and Create actions in backing bean findButton_action() method associated with Find button.

2) Find Functionality - No Results

When user enters query parameter, that will not give any result, and press Search button - empty form will be returned by default. Example of non-existing query criteria:


Empty form returned by default:


In my sample application, I have changed this default behavior in executeButton_action() method in backing bean. I'm doing a check - if iterator is empty, I'm returning to Find mode and displaying information message - 'No Results found!':


In this case I'm not clearing entered query criteria.

3) Undo Functionality in Create Mode

When form is in Create mode, user usually prefer to have 3 choices - to store entered data and to go to Edit mode, to clear entered data and to remain in Create mode, and to close Create mode by opening form in Find mode:


If with 2 cases - to store entered data or to open form in Find mode everything is less or more okej, there is a problem with a case when user wants to clear entered data and to remain in Create mode. With default Undo functionality, when using only Rollback action, user will be navigated back to Edit mode. In order to change this, I'm re-invoking Create mode initialization from backing bean in undoButton_action() method, it is invoked after default Rollback action. This allows to clear entered data and to stay in Create mode after Undo button is pressed:


4) Undo Functionality in Edit Mode

By default, when Undo button is pressed while in Edit mode and Rollback action is executed, changes will be discarded and at the same time form will be refreshed and will show first row from iterator. This means, user will be navigate from a row he is currently editing to a first row in iterator.

To make this behavior more user friendly, I have implemented custom Rollback functionality in undoButton_action() method in backing bean:


In this code, I'm acquiring form related iterator, getting current row user is editing and refreshing it. At the end, I'm applying Partial refresh to a form in order to display correct data. More information about Rollback functionality you can find in Chris Muir blog post - JDeveloper and the art of the rollback. The same functionality can be applied not only in 11g, but in 10g as well.

With implemented functionality, if user is editing data:


And decides to remove all changes by pressing Undo button, form will remain on the same row:


5) Delete Functionality

When user executes Delete functionality, I can recommend to commit transaction at the same time. In developed sample application, when Delete button is pressed - deleteButton_action() method is invoked, where confirmation popup is opened:


When user confirms Delete action, Commit action is executed at the same time, and row is removed from database.

6) Delete Functionality - Last Row

By default, after user will delete last row from iterator, empty form will be rendered:


Such behavior is not user friendly, much better to navigate to Find mode automatically:


This logic is implemented in deleteDialogListener(DialogEvent dialogEvent) method in backing bean:


7) Confirm or Undo Pending Changes

When user is editing data and there are pending changes (before commit or rollback), based on my experience its better not allow to navigate from current row. For example, when data is changed and there are pending changes:


Buttons related to form logic - Find, Create, Delete and buttons related to form navigation - First, Previous, Next and Delete are blocked. Information message is shown - 'Save or Undo Changes First!' asking user to confirm or dismiss current pending changes:



Information about pending changes is retrieved from bindings.Commit.enabled using Expression Language. Its enough to edit data available in the form and bindings.Commit.enabled will return true.
Read More
Posted in ADF, JDeveloper 11g | No comments

Wednesday, 10 September 2008

Oracle JDeveloper/ADF Developers Wanted

Posted on 10:44 by Unknown
In my current Oracle JDeveloper/ADF project we are searching for additional developers. Project is based on Oracle Fusion 11g, so it can be excellent opportunity for you to get experience with a new Oracle JDeveloper/ADF release. However, if you already have knowledge in 11g, it will be only a benefit.

If you are interested, drop me an email with Resume. If it will be needed, I will be glad to provide more details.
Read More
Posted in Uncategorized | No comments
Newer Posts Older Posts Home
Subscribe to: Posts (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...
  • Many-to-Many mapping in Oracle TopLink
    This kind of mapping in relational world is constructed using three tables. However, in object world only two classes are used for many-to-m...
  • Multi-selection feature and ADF Faces af:table component
    In this post I will describe how to use multi-selection feature in ADF Faces. First of all I should say - multi-selection feature is fully s...
  • Oracle JDeveloper/ADF Developers Wanted
    In my current Oracle JDeveloper/ADF project we are searching for additional developers. Project is based on Oracle Fusion 11g, so it can be ...
  • After UKOUG'08
    This week I was on UKOUG'08 conference. I really have enjoyed high quality of its content and I have learned new technical things about...
  • Oracle Spatial and Network Data Model
    During this week, a student from university where I'm achieving my master degree - Vincent, have asked me how to create SDO network dat...
  • Customizing Applications with MDS - Practical Overview
    During ODTUG Kaleidoscope 2008 , I was discussing with Shaun O'Brien (Principal Product Manager from Oracle Development Tools group) abo...
  • Hints for ADF 11g Application Credential and Policy Migration to Standalone WebLogic Servers
    Recently I was deploying our ADF 11g application on standalone WebLogic server. Deployment itself is straightforward, however it is little b...
  • 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 ...

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)
      • Groovy - Multiple LOV's per Attribute in JDevelope...
      • After UKOUG'08
    • ►  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)
    • ►  April (6)
    • ►  March (4)
    • ►  February (5)
    • ►  January (9)
  • ►  2006 (9)
    • ►  December (9)
Powered by Blogger.

About Me

Unknown
View my complete profile