Wednesday, December 12, 2012

ADF Table Click to Edit functionality

I haven't been posting lately, i feel sorry for that.

This is mostly because i am up to my head with new projects, BPM, SOA, BI and other fusion middleware technologies. Also because:
  • we are using Jdeveloper 11.1.1.6 that is stable
  • we are using more or less the well known functionality
  • end users have started to get used to ADF functionality
 Still we need to keep walking, so i keep an eye from time to time, on the latest jdeveloper version 11.1.2.3.0 and functionality that we don't frequently use like the  ADF Table 'Click to Edit'.

Actually its a fancy functionality that make the table look nice and works fine with navitating either with mouse or by 'Tab' or arrows.
It is easy to implement, just set editingMode="clickToEdit" in editable ADF table.

everything works fine apart from the Date picker that does not work in Firefox 17 and it is not related with click to edit functionality (see forums.oracle.com )

Everything work fine until you press CreateInsert button.
Then a new row is inserted and highlighted yet it is not editable, the previous selected row is editable.


If you click on any other row by mouse nothing happens, rows don't become editable.
Arrows navigation don't work and If you try to navigate with tab it never go to the new row.
So the only applicable action is to click with mouse in the new row.

If you make a mistake not to fill the required fields and click on a different row, then validation errors appear as expected.
After that if you press rollback, even if it seems that the table is back to normal some rows are not editable any more when you click on them.
Sometimes rows display as duplicate on the table with these steps.
So it seems that click to edit functionality does not work properly for newly created rows on editable tables.
What we do to override this is that we create a popup dialog for new row data to be inserted and committed before they are editable in the table.

Test Case

Tuesday, July 24, 2012

Focus is Lost in IE8 when value is changed in Input List of values

New bug in Jdeveloper 11.1.1.6 version. It was not reproduced in 11.1.1.4.
It also happen only in Internet Explorer 8, not in 9 and not in Firefox.
When a value is selected or typed in an Input List Of values then the focus (cursor) goes to the internet explorer tab. This causes frustration to user's and delay in data entry.
Details in java.net/jira/browse/ADFEMG-31

Friday, May 11, 2012

Cannot commit orddoc Attribute through jdbc datasource

This is a new issue in JDeveloper version : 11.1.1.6.0
After migrating adf application from jdeveloper 11.1.1.4 to 11.1.1.6 the uploading of files in an ORDDOC database field fails with error:
java.sql.SQLException: Undefined type
at oracle.jpub.runtime.Util._convertToOracle(Util.java:277)
at oracle.jpub.runtime.Util.convertToOracle(Util.java:167)
at oracle.jpub.runtime.MutableStruct.getDatumAttribute(MutableStruct.java:323)
at oracle.jpub.runtime.MutableStruct.getDatumAttributes(MutableStruct.java:347)
at oracle.jpub.runtime.MutableStruct.toDatum(MutableStruct.java:118)
at oracle.ord.im.OrdSource.toDatum(OrdSource.java:93)
...

Defect 14058697 has been created  in oracle support

details in ADFEMG-22

At this time, disabling the wrapping seems to be the only viable option.
see Using Unwrapped Data Type Objects
http://docs.oracle.com/cd/E21764_01/web.1111/e13737/ds_tuning.htm#CHDEIBCE
We tested in test case and in our application and this workaround works.

Friday, May 4, 2012

java.net adfemg updates

ADFEMG-19 Combo Box not supported for ADF Faces?
lodged ER 14034162.

ADFEMG-20 ListOfValuesModelImpl : No row found for rowKey.
 new bug in jdeveloper 11.1.2.1, bug 14034129 logged and Fix scheduled 12.1.2.0.0.

ADFEMG-14Input List Of Values, autosuggest behavior
9316480 is lodged and Workaround suggestions are posted.

 

Thursday, April 5, 2012

Input List Of Values, autosuggest behavior

By default when you type a value in an input list of values the query is executed always with the LIKE operator.

This is very annoying for users that do heads-down data entry.
Also if the field is a number executed query force full table scan causing performance issues.

We just need the option to disable auto-suggest behavior (on design time) so that the query is executed with '=' operator and the LOV does not open when the value entered is valid.

You can find the details in

http://java.net/projects/adfemg

Tuesday, April 3, 2012

ADF Code Corner OTN Harvest and ADF EMG project at java.net

I would like to thank Frank Nimphius for asking and publishing my point of view for various ADF matters into OTN Harvest Summary of March 2012.
You can find this and other valuable material in Oracle ADF Code Corner.
There is also a new promissing initiative by Chris Muir and Frank Nimphius by creating an ADF EMG project at java.net. There is an issue tracking jira project there for keeping track of adf issues.
I will try to contribute to this effort by posting bugs there and just a reference summary to this blog.
I will try to find other inderesting roots for this blog.

Saturday, March 17, 2012

SDO web service from business components validations.

This issue was found by my colleague and friend Gabriel Sideras that was assigned the task to create web services from our business components.
He noticed that sometimes the entity validations was not executed from the web service. This happens when the entity primary key has checked the attribute refresh after insert.
This is reproduced at the attached test case that a simple createDepartment web service is created with HR department entity and view.



If you run the web service in Analyser and Send a request without any data then the entity validations are performed and JBO validation errors are shown in the response:


Yet if you change the DepartmentId attribute of entity which is the primary key and it is filled by a database trigger to be Refresh after Insert and you run the WS again then if you Send a request without any data the entity validations are not executed and the error that is shown is the dml failure from database.


This is a serious issue for us since we try to reuse (at least) the entities of our application to expose web services so this would require changes of implementation of primary keys.

It reproduce in jdeveloper 11.1.1.4 and 11.1.1.6.

Monday, February 27, 2012

New Jdeveloper 11.1.1.6 reproducable issues

New fusion and Jdeveloper version 11.1.1.6 is available since last week.

I hear there are a lot of upgrates for SOA and BPM.
For ADF there are some enchancements for touch-enabled devices and bug fixes.

Some inderesting bug fixes in relase notes that we care about are:

12434470

reopening search and select dialog shows old data in the table

12825879

lov on query does not validate correctly and fires a blind query

12825973

lovs do not display changed values during the current session

12991181

af:inputlistofvalues in af:table only shows 25 rows

12376375

attributedescriptor.setreadonly(true) doesn't make the field readonly


I went through the posted bugs since 11.1.1.4 in this blog and unfortunately most of them still reproduce in 11.1.1.6:

Rollback does not refresh current row of af:table after validation errors.

Attribute Validation on Input List of Values attribute

Number precision and scale bug

Range paging and Table Selected Row Bugs

Tab selection and Enable User Customization on Session bug.

ExecuteEmptyRowSet and Range Paging. (Fixed in 11.1.2)

Partial Page Rendering ChangeEventPolicy="ppr" bug. (Fixed in 11.1.2)

Dependent LOV in table shows invalid values

Invalid values in choice lists

Application Module cannot get principal when you use transaction controller in task flows (Fixed in 11.1.2)

Table Filter Number format bug

Cannot use a region in a page more than one time

Access Keys are accessible even from a modal popup

Friday, February 17, 2012

Bad performance on quering Roles in weblogic Enterprise Manager

There are about 400 application roles defined in our application.
In a production environment there are about 1000 users that have groups of these roles so there are about 7000 role assignments.
We the policy store to be Database based for production environment (as it is recommended by documentation) in order to support clustering Weblogic environment.
Then the hole performance of Enterprise Manager was much worse than in file based. It took about 8 minutes to query the roles. This was happening also in every action , create, assign, remove role.
We run statistics and clean procedure in the database Policy Store but with no improvement.

So Service Request in oracle support is posted and they managed to reproduce it and post a bug: 13597913.

As a workaround we still use File Based Policy Store and synchronize system-jazn-date files between clustered servers.