Warning on Unsaved Changes Functional Pattern --Help!

Is there anyone out there who knows how to make this work??!!
[http://www.oracle.com/technology/products/adf/patterns/11.1.1.1.0/UnsavedDataWarning.html]
Help!

Frank Nimphius wrote:
Hi,
I am not familiar with the document, but options I see are
option 1: set uncommitted data warning property on the af:document to "on" (I am not sure, but think this is already available in JDeveloper 11g R1)
option 2: use the controller context (ControllerContext) of the ADFc task flow handler to detect if the transaction is dirty
option 3: use a managed bean that accesses the AM in the DataControl to check if the transaction is dirty
FrankThank you for the reply Frank. Below are my response to your options
response to option1:
I have already set the uncommitted data warning property on the af:document to "on" (yes, the option is already available in JDeveloper 11g R1) and even set the bounded task-flow inside the region of my page as "critical", but when I navigate to other pages thru the navigation items in my template header, the prompt for uncommited changes did not show.
response to option2:
Which class of my project will use the controller context to detect if the transaction is dirty? I have tried to google the uncommittedDataWarning property which lead me to the DirtyPageHandler class. I have read on DirtyPageHandler class API that in case I do not set an implementation the default implementation will be used- and if I me quote from the API -"that default implementation will always return false from isDataDirty and will do nothing in response to a trackNavigation call." I wonder if aren't there any concrete samples to make this work? As I understand, the uncommitted data warnings is one of the publicized new features of JDeveloper 11gR1. Nevertheless, I have tried to follow allong and did create my own implementation:
1.) I did override the isdataDirty method to always return true,
2.) override the trackNavigation method to "System.out.println("prompt");",
3.) and created a file named oracle.adf.view.rich.context.DirtyPageHandler in the META-INF/system folder of my project, and
4) created a one line text which represents my implementing class in the created file in #3.
but still nothing especial happened.
response to option3:
What exactly is "AM" in the DataControl?
Your feedback on this is very much appreciated.
Thanks,
pino

Similar Messages

  • Warning on Unsaved Changes Functional Pattern

    Overview
    One advantage of integrated applications is users can easily navigate just about anywhere based on current needs. However, with the added flexibility also comes the increased risk of unsaved data accidentally being lost when navigating away from a page. Therefore, many applications typically warn the user when this is about to occur. Using the new warning on unsaved changes feature, 11g ADF applications can easily implement this type of functionality.
    Click here to see the document that describes this pattern.
    Edited by: Richard Wright on May 13, 2010 1:10 PM

    Hi,
    I have a page with an edit form. The user can close/leave the page by clicking on different buttons (menu items, close icon, back button). In this case, the system should warn the user about unsaved data. Furthemore, I want to skip data validation. I tried to implement the "Warning on Unsaved Changes Functional UI Pattern", although this approach doesn't skip data validation. How should I do this?
    I'm using ADF 11g.
    Pedro Medeiros.

  • Missing Article: Warning of Unsaved Data Functional Pattern

    Hi
    I bookmarked an article a while back which showed a functional pattern for warning of unsaved data when navigating away from a page.
    However, now that I need to investigate and impliment this the link is broken.
    Does anybody have the new link, link to a similar article / blog?
    Thanks,
    Mario

    Hi,
    if you are on a recent version of JDeveloper 11g then this functionality is provided out of the box. Also have a look at the af:document tag on your pages. It has a property "uncommittedDataWarning" you can set to on or off so this functionality is present event for single pages
    Frank

  • Pop up Warning on Unsaved Changes

    I have an ADF JSFF page.
    It contains a drop down menu through which I could see details of a particular event b ased on the option selected in the dropdpwn choice.
    <af:selectOneChoice id="socEventLevel"
                                        label="#{Msg.LOG_LEVEL}"
                                        value="#{pageFlowScope.ea_entUiModelBean.logLevel}"
                                        disabled="#{!pageFlowScope.ea_entUiModelBean.rowSelected}"
                                        unselectedLabel="#{Msg.SELECT_LEVEL}"
                                        valueChangeListener="#{backingBeanScope.ea_entEventLogTabUiBean.getLogDetails}"
                                     autoSubmit="true">
                      <af:selectItem label="#{Msg.VIEW_LOG}" value="0"
                                     id="si5"/>
                      <af:selectItem label="#{Msg.ERROR}" value="1" id="si4"/>
                      <af:selectItem label="#{Msg.WARNING}" value="2" id="si33"/>
                    </af:selectOneChoice>
    The moment I select one of these choices and try to navigate to another page I get a popup that says "This page contains uncommitted data. Would you like to perform navigation. Press OK to continue , or cancel to abort navigation"
    How do I remove this popup ??
    Thanks in advance

    User, how should we know?
    You did not give and information about the app, what's done before you try to navigate away, no jdev version.
    You can turn the warning off completely, but i suggest you think about it first. If you get the warning, the transaction you are in is dirty. You loos every change you made if you navigate away from the page. Check Jdeveloper,Oracle ADF &amp;amp; Java: Uncommitted/Unsaved Data Warning on page Navigation-Oracle ADF for info where to configure this.
    Timo

  • Warn by leaving a form view with unsaved changes

    Hello JSF / Richfaces users,
    maybe that's not the first time, that someone asks this question here, but unfortunately I couldn't found any concrete examples on the forum. So I'd like really to get your help:
    I'd like to put some "input listeners" on my form views, so that when the user makes changes (typing in inputText, selection another value in selectMenu or checking a Checkbox), then he clicks on another Button / Link without saving, he shoudl will be warned by a dialog box remebering him to save the changes or leaving the view without saving (changes will be lost).
    I tried at first to put a boolean "inputChanged" on my Bean, then setting it to true with an adapted event (onchange) by each component. And by the buttons/links which link to another page I tried to show a <rich:modalpanel> once the value of "inputChanged" is true but I couldn't realize this conditions.
    Thereafter I found a solution based on Javascript:
    <script language="javascript" type="text/javascript">
        // Keep flag when something had changed
        var changed = false;
        Save in "changed" flag, whether an input had been done by the user.
        after that the calling of this method will be removed
        from the corresponding attribute of the input elements,
        in order to avoid redundant method calls */
        function storeChange(aChanged, aElement) {
            changed = aChanged;
            aElement.setAttribute('onchange', '');
        Finally and when the "changed" flag is true, a confirmation message will be shown
        to confirm whether the page could be left.  
        window.onbeforeunload=function unloadAlert() {
            if(changed) {
                return 'You have unsaved changes on the page. If you click on OK, the changes will be lost';
            return null;
    </script>{code}
    And in the view:
    {code}<a4j:form>
            <h:outputLabel id="label_name" value="Name" for="in_name" />
            <h:inputText id="in_name" value="#{bean.name}"
                onchange="storeChange(true, this)" />
            <br />
            <h:outputLabel id="label_email" value="E-Mail" for="in_email" />
            <h:inputText id="in_email" value="#{bean.email}"
                onchange="storeChange(true, this)" />
            <br />
            <a4j:commandButton oncomplete="javascript:changed=false"
                value="Save" />
        </a4j:form>{code}
    And now I'd
    like rather than the JS terriying dialog box, a user-friendly rich:modalPanel which should do the same function.
    For any
    indication I will be very very thankful                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

    Hi David,
    Thank for the prompt answer. I've tried that before but I have put that in checkin action. So that didn't work before but now as per your suggestion it works nicely. The form isn't evaluated.
    However, this time my changes aren't reflected on the user.. Basically what I do is
    - checkout user view (with empty form) (in an activity)
    - update user view (in another activity)
    - check in user view (in another activity)
    however, changes are discarded. I used winmerge to compare and saw exactly the necessary fields are updated after update activity. but after checkin no changes are reflected. so what should I do now :(
    Relevant actions are:
    <Action id='0' application='com.waveset.session.WorkflowServices'>
              <Argument name='op' value='checkoutView'/>
              <Argument name='viewId'>
                <concat>
                  <s>User:</s>
                  <ref>accountId</ref>
                </concat>
              </Argument>
              <Argument name='type' value='User'/>
              <Argument name='id' value='$(accountId)'/>
              <Argument name='Form' value='Empty Form' />
              <Return from='view' to='user'/>
              <Return from='WF_ACTION_ERROR' to='error'/>
            </Action>
            <Action id='0' application='com.waveset.session.WorkflowServices'>
              <Argument name='op' value='checkinView'/>
              <Argument name='view' value='$(user)'/>
              <Return from='WF_ACTION_ERROR' to='error'/>
            </Action>

  • Unsave Changes

    hi all,
    sorry for asking again. there is one af:readonly table on my page, which i dragged from 'Data Controls'.on this table , i ve a 'Edit' button, which navigates to other page,
    after selecting a single row.
    On this page i dragged same collection fm 'Data Controls' as adf:form for editing purpose . i also dragged 'Commit' operation.its working fine.
    But problem is that when i make a change in any field & navigates to page which contains table, without committing, that changes instantly reflected in table. i m navigating by a af:commandlink.
    even i m refreshing that table's iterator 'always' in pagedef file,everytime i navigate to that page. it should read fm underlying model. but this is not happening.
    i did for table in pagedef file- i created an 'action' inside 'bindings' node & created a 'invokeAction' inside executables, which is invoking 'action'.
    <executables>
    <invokeAction Binds="tableRefresh" id="tableRefreshonpageload" Refresh="always"
    RefreshCondition="#{!adfFacesContext.postback}"/>
    <iterator id="xxViewUp3Iterator" RangeSize="15" Binds="xxViewUp3" DataControl="AppModuleDataControl"
    </executables>
    <bindings>
    <action IterBinding="xxViewUp3Iterator" id="tableRefresh"
    DataControl="AppModuleDataControl" RequiresUpdateModel="true" Action="2"/>
    </bindings>
    plz help me, as i navigate to previous page any unsave changes should not reflect in table. i m using jdev10g.
    Edited by: user78995 on Apr 13, 2010 9:39 AM
    Edited by: user78995 on Apr 13, 2010 1:15 PM

    hi all,
    i got solution here - http://andrejusb.blogspot.com/2008/09/jdeveloper-11g-crud-in-adf-form.html
    4) Undo Functionality in Edit Mode
    thanks

  • FM8: File Always Opens Unsaved Changes

    Hi,
    I have a file in Framemaker 8 that always opens with "unsaved changes."  I save the file, the asterisk clears, but the next time I open the file the asterisk is there.
    I thought this might be a "missing font" issue and, as a test, turned off Remember missing fonts. This setting does not seem to impact this behavior.
    Any help much appreciated.
    Mary

    I found a very nice explanation by Fred Ridder on Framers:
    I think a better understanding of how cross-references are handled will help you under why I say this.
    Whenever you open a file that contains one or more cross-references, FrameMaker refreshes each of those references. If the reference is to another location within the same file, the refresh is straightforward unless the cross-reference truly is unresolved due to a missing or hidden cross-reference marker. If the reference points to a location that is in another file that is already open, the process is similarly straightforward.
    But if the reference points to a location that is in a file that is *not* already open, FrameMaker has to silently (without showing anything on your screen) peek inside the target file to retrieve the latest information for the refernce. If that file has any sort of problem that would throw a warning message during a non-silent open (e.g. an unavailable fonts message), FrameMaker is unable to peek inside it and therefore cannot find the marker it's looking for. It reports this failure to find the marker as an unresolved cross-reference. If you start by manually opening the file with the missing fonts issue, so that you can manually dismiss the warning message, then you will not get an unresolved cross-reference warnign when you open the original file because FrameMaker can now find the target marker when it updates the cross-references.
    BTW, the updating of the cross-references is the reason why FrameMaker will warn you about unsaved changes when you attempt to close a file that you *know* you didn't make any edits in. Even if the cross-references did not actually change as a result of the update operation, the fact that they were refreshed counts as a change that FrameMaker thinks you ought to save.
    -Fred Ridder
    This  makes sense and matches with what you said so succinctly Jeff. Thanks for the help.
    Mary

  • SharePoint PPS 2013 Dashboard Designer error "Please check the data source for any unsaved changes and click on Test Data Source button"

    Hi,
    I am getting below error in SharePoint PPS 2013 Dashboard Designer. While create the Analysis Service by using "PROVIDER="MSOLAP";DATA SOURCE="http://testpivot2013:9090/Source%20Documents/TestSSource.xlsx"
    "An error occurred connecting to this data source. Please check the data source for any unsaved changes and click on Test Data Source button to confirm connection to the data source. "
    I have checked all the Sites and done all the steps also. But still getting the error.Its frustrating like anything. Everything is configured correctly but still getting this error.
    Thanks in advance.
    Poomani Sankaran

    Hi Poomani,
    Thanks for posting your issue,
    you must have to Install SQL Server 2012 ADOMD.Net  on your machine and find the browse the below mentioned URL to create SharePoint Dashboard with Analysis service step by step.
    http://www.c-sharpcorner.com/UploadFile/a9d961/create-an-analysis-service-data-source-connection-using-shar/
    I hope this is helpful to you, mark it as Helpful.
    If this works, Please mark it as Answered.
    Regards,
    Dharmendra Singh (MCPD-EA | MCTS)
    Blog : http://sharepoint-community.net/profile/DharmendraSingh

  • FDK Problem: "Unsaved changes in file" dialog with MIFs

    Hi there
    I have a problem saving MIF files using our FrameMaker API client.
    After we have written out all our content, we're getting prompted to save unsaved changes in the .MIF file.
    We're not sure whether to click yes here or not.
    If we click yes, we then get a save dialog which prompts for a filename,
    but has the default file extension set to .FM.
    When you click "save", another message box appears telling me that I'm trying to save a
    .MIF file in the .FM format and that is not allowed, and asks if I want to save it
    as .MIF. 
    Although this is an a mere annoyance for me, it's probably very confusing for
    customers who use our software, and I'm not sure whats causing it.
    I've tried to address it by modifying the default save parameters within the FAPI
    using this:
    F_PropValsT saveParams = F_ApiGetSaveDefaultParams();
    i = F_ApiGetPropIndex(&saveParams, FS_ModDateChanged);
    saveParams.val[i].propVal.u.ival = FV_DoOK;
    Needless to say, it didn't work. I'm wondering is thee another approach I should
    be using?
    Thanks
    Eric

    Hi Eric,
    I'm not clear if your software is saving the file automatically, or whether the user needs to do it after your process runs. And, I'm not really clear on what exactly you want to happen after your code runs.
    I do think that any open MIF file (even if in binary format, after being opened in FM) will cause that prompt when you attempt to close it manually, even if you have made no changes since the last save. My thought is that FM simply looks at the file extension and generates that behavior accordingly.
    A few options you have (may be more, once I understand the situation better):
    - Let the code close the file itself once it is done, using F_ApiClose(docId, FF_CLOSE_MODIFIED). This, of course, if the interactive user doesn't need to see it.
    - Use F_ApiNotification() and F_ApiNotify to hijack the save request and save the file as MIF automatically, which should allow you to avoid the second prompt.
    - Use notifications to hijack the document closure process itself, simply closing the doc upon request whether it has changes or not. Or, maybe you could add your own prompts. This would take consideration of whether you actually want to allow an interactive user to make changes after the code runs.
    Just some ideas there. If you provide more info on what you want to happen after your code runs (presumably this is the translation thing), I might be able to help more.
    Russ

  • Is there any way to block the shutdown of the device is protected by password? This function would help in case of theft with the issue of the find my iphone app.

    is there any way to block the shutdown of the device is protected by password? This function would help in case of theft with the issue of the find my iphone app.

    Device experiences issues, locks up.
    I need to do a reset.
    How would I do that with a pass code lock in place?
    Wait until the battery dies?
    Apple's changes in iOS 7 are smarter.
    "Losing your iOS device feels lousy. Thankfully, Find My iPhone can help you get it back. But if it looks like that’s not going to happen, new security features in iOS 7 make it harder for anyone who’s not you to use or sell your device. Now turning off Find My iPhone or erasing your device requires your Apple ID and password. Find My iPhone can also continue to display a custom message, even after your device is erased. And your Apple ID and password are required before anyone can reactivate it. Which means your device is still your device. No matter where it is."
    http://www.apple.com/ios/whats-new/

  • APEX 4.1 is it possible to remove pagination "unsaved changes" message?

    Hi,
    We've developed a tabular form in APEX 4.1 which only contains one updateable column. Once the user modifies the column it raises a Dynamic Action which UPDATES data at source table. The problem is after modifying any field and clicking on pagination link, we get the following alert message "This form contains unsaved changes. Press "Ok" to proceed without saving your changes."
    Is it possible to get rid of that message? I found the way to translate the message but nothing to remove it. We also saw pagination is calling a JavaScript function called paginate, would it be possible to modify its definition to disable the message somehow?
    Thanks

    Hi,
    Apex uses a global array called gTabFormData to store the original form values when the page loads and identify which ones have been modified when the user does pagination. So, a hack you could use is to call this function right after you saved the changes to the database:
    function resetFormCachedData() {
        var c = $x_FormItems($x('report_<REPORT_STATIC_ID'>));  // e.g. report_MYSTATICID
        for (var e = 0; e < c.length; e++) {
            if (c[e].name != "X01") {
                gTabFormData[e] = c[e].value
            } else {
                gTabFormData[e] = "0"
    }I suggest putting this code in a JS library, so if Apex changes in a future release (e.g. providing a documented way to do this), it is easy to change it too.
    Luis

  • VIs that are never called or changed but always have "unsaved" changes

    I have a large project.  Whenever I close it, I always get a pop-up telling me that the same 7 sub-VIs have unsaved changes.  I have not edited or changed these VIs in over a year.  They are called by sections of the program that are conditionally disabled at the moment!   I get this pop-up warning even when the last thing I did before closing the project was save every VI that is open.
    The only clue I have to offer is that these 7 VIs are the only ones in the project that directly talk (via ethernet) to a motion controller.  Is internet activity on my computer while I am working on the project causing these VIs to think that they have been modified??
    -Geoff N.

    Well, did you ever try to save those at the dialog? Maybe they are still in an older version?
    If you open one of these VIs and look at the "lilst unsaved changes" of the VI properties, what does it say?
    LabVIEW Champion . Do more with less code and in less time .

  • Purchase Order 'Fast Change' functionality

    Hi Experts,
    The standard fast change function in PO does not accomodate fields used for intercompany transfers like Route etc. Some threads discussed this but defers to Tcode MASS which also does not include this field. MASS is not very recommended for end users
    Is there any OSS note to cover this feature for the fast functions? I checked some notes like 557702, 501853 etc but does not help much. Can someone advice the procedure to include such new fields, if applicable
    Thanks,
    Mahshook

    Hi,
    I'm looking for a solution to the same problem.
    We need to have the possibility to do massive updating of line itens for the fields: Shipping Point and Route.
    I would appreciate whether you can share the solution you found out for this.
    Thanks,
    Jose Antonio.

  • Hi, How to change date pattern in project panel in order to sort media according to date YYYY-MM-DD and not MM/DD/YY ?

    Hi
    Question is in the title
    I have the list of media and when I add columns from "metadata panel to the project panel, all dates are MM/DD/YY format and sort is not relevant !!
    Where can I change this pattern to the right one ?
    Thanks
    Emmanuel

    If you are on a PC then the instructions shown here should work for you. They did for me.
    Change the display of dates, times, currency, and measurements - Windows Help
    You just need to quit out of Premiere Pro after making the change and then start it up again.

  • Regex Pattern help.

    Me and my friend pedrofire, that�s probably around forums somewhere, are newbies. We are trying to get a log file line and process correctly but we are found some dificculties to create the right expression pattern.
    My log have lines like:
    User 'INEXIST' with session 'ax1zjd8yEeHh' added content '769' with uri 'http://mail.yahoo.com/'.
    User 'INEXIST' with session 'ax1zjd8yEeHh' changed folder from 'E-mails' to 'Milhagem'.
    User 'INEXIST' with session 'a8jXrY_N38ja' updated all content of folder 'Bancos'.
    i need to get the following data
    USER - [INEXIST]
    SESSION - [ax1zjd8yEeHh]
    ACTION - [added] or [changed] or [updated].
    Getting the user and the session is easy, but i am having difficulties grabing the action, because i need to take just the action word without blank spaces igonring the words content or folder or all.
    I m trying this for hours, but to a newbie is a little dificult
    Any help is welcome
    Thanks
    Peter Redman

    Hi,
    How about something like:
    import java.util.regex.*;
    public class RegexpTest
       private static final Pattern p = Pattern.compile(
             "^User '([^']+)' with session '([^']+)' ([^ ]+) .*$" );
       public static void main( String[] argv )
          find( "User 'INEXIST' with session 'ax1zjd8yEeHh' added content '769' with uri 'http://mail.yahoo.com/'." );
          find( "User 'INEXIST' with session 'ax1zjd8yEeHh' changed folder from 'E-mails' to 'Milhagem'." );
          find( "User 'INEXIST' with session 'a8jXrY_N38ja' updated all content of folder 'Bancos'." );
       public static void find( String text )
          System.out.println( "Text: " + text );
          Matcher m = p.matcher( text );
          if ( ! m.matches() ) return;
          String user = m.group(1);
          String session = m.group(2);
          String action = m.group(3);
          System.out.println( "User: " + user );
          System.out.println( "Session: " + session );
          System.out.println( "Action: " + action );
       }which results in:
    Text: User 'INEXIST' with session 'ax1zjd8yEeHh' added content '769' with uri 'http://mail.yahoo.com/'.
    User: INEXIST
    Session: ax1zjd8yEeHh
    Action: added
    Text: User 'INEXIST' with session 'ax1zjd8yEeHh' changed folder from 'E-mails' to 'Milhagem'.
    User: INEXIST
    Session: ax1zjd8yEeHh
    Action: changed
    Text: User 'INEXIST' with session 'a8jXrY_N38ja' updated all content of folder 'Bancos'.
    User: INEXIST
    Session: a8jXrY_N38ja
    Action: updatedYou should probably change the Pattern to be less explicit about what it matches. i.e. changes spaces to \\s+ or something similar.
    Ol.

Maybe you are looking for

  • Meeting requests sent with iOS7 don't work correctly

    When I create a meeting with invitees in an Exchange calendar on iOS7.0.2 (iPhone4), the receiver get's a mail with a "meeting.ics" file. When opened, it's not possible to select accept,decline, or maybe, but only select "add to calendar" on their iP

  • [SOLVED]pacman fails to install mtpaint

    [me@mypc ~]$ sudo pacman -S mtpaint resolving dependencies... looking for inter-conflicts... Targets (3): giflib-4.1.6-4 openjpeg-1.3-3 mtpaint-3.31-4 Total Download Size: 0.86 MB Total Installed Size: 2.61 MB Proceed with installation? [Y/n] y :: Re

  • Commit on abnormal termination of the program

    I just want to know if Oracle provides options at Connection Time, that it would commit on abnormal program termination. If yes, I want to use this feature in my Pro*C application, where I can commit after inserting every 1000 records only. So, even

  • ORA-20505: Error in DML - Version of data in db has changed

    Hello, Application Express 3.1.0.00.32 I have created a Report and Master Detail in the Sample Application on oracle.application.com. I am receiving an error on my Master Detail Form when clicking the <Previous and Next> buttons. I have viewed other

  • Advanced question - maybe

    Nancy.... Chris, I hope you guys are out there - or at least SOMEBODY! that has an idea of whats going on. Actually this may be a simple question but I can't figure it out: I'm working from a template in MX 2004 Pro.7.2. I can use the timeline to pul