Wednesday, September 9, 2009

Unsaved changes uncommittedDataWarning bug

I was reading JDeveloper 11g — Functional Patterns & Best Practices for unsaved changes
and decided to try it.

I created 2 task flows and 2 pages and navigation between them, normal and as dialog
In both pages i set and i run application.
I make a change in department name and press Employees Dialog.
The warning message for changes apear.

But the Employees Doesn't open as dialog!!??
When i try to return to Departments i get again the warning, even though no changes in this page and its a different task flow
So with this feature
you cannot use dialogs,
it does not rollback data
it does not depend on page or on task flow.
you cannot change the message
you cannot add custom logic on it
The only good thing about this feature is that the warning shows also when you try to close the explorer window. I wish it was working only then and it also released the application module.
test case:

7 comments:

  1. The attached application does not contain a taskflow with a dialog, and does not have uncommitted data warning enabled. Could you attach the correct test case?

    ReplyDelete
  2. Need help with this issue

    http://forums.oracle.com/forums/thread.jspa?threadID=2125354&tstart=0

    Uncommitted Data Warning not working for fields with AutoSubmit=true

    ReplyDelete
  3. Please change link from
    http://www.oracle.com/technology/products/adf/patterns/11.1.1.1.0/UnsavedDataWarning.html

    to
    http://www.oracle.com/technetwork/testcontent/unsaveddatawarning-096556.html

    ReplyDelete
  4. any clue regarding the issue I posted above ?

    ReplyDelete
    Replies
    1. Hi Sudipto did you find any solution. I also face the same issue. It would be nice if you share something on below

      6. Re: 11.1.1.3 Uncommitted Data Warning not working for fields AutoSubmit =true
      861645
      Newbie
      861645 Nov 12, 2011 7:36 AM (in response to SudiptoDesmukh)
      Hi, I think maybe we can not solve this problem by setting a attribute on controls or something, because when the autoSubmit attribute is set to true on a control, that means whenever the value is changed on the control, the control's value will be submitted to server trough those 6 life cycle steps of JSF by a ppr way, as a result, when you click browser's back button or cancel button on same page, because the control's value is already updated to model, so the local value on the control is already cleared, so the control is not dirty anymore, so no warning message pops up.

      We can fix this problem by below workaround:
      1. define a hidden input box on the page, and do not set the autoSubmit attribute;
      2. add the for value change event in the control's tag whose autoSubmit attribute is set to true,
      3. in the js code, set anything in the first step's input box, this will cause the page being marked with dirty.


      Thanks,
      Roy

      Delete