Overcoming a challenge: combining UI Shell dirty tab + self-closing-BTFs

I'm finding it difficult to utilise facilities of the ADF UI Shell from self-closing-standalone bounded task flow.
What the ADF UI Shell does well: from the UI Shell you can open a standalone BTF as an activity, and if the BTF closes itself (ie. given the user selects a ok or cancel/close button, the the standalone BTF navigates to a Task-Flow-Return option), the BTF closes and the ADF UI Shell correctly closes the tab around the activity.
My challenge is I want to add the ADF UI Shell's "dirty tab" facility to the BTF, such that if the user inside the BTF selects a custom cancel/close button (not the UI Shell close button for tabs) that navigates to the Task-Flow-Return option within the BTF, they get a chance to confirm/cancel the close via the ADF UI Shell dirty tab popup. (Note that the Task-Flow-Return options are critical to self-closing BTFs as they not only give the BTF the chance to commit/rollback, as well as make them re-entrant, or play with the savepoint features.)
If from the ADF UI Shell shellLauncher bean we call makeCurrentTabDirty method on opening the BTF, the BTF's activity tab is italicized correctly. Yet if the user selects the BTF's cancel button, the BTF closes (it actually disappears from the ADF UI Shell) but the UI Shell activity tab is still visible, then the dirty tab dialog shows, which is too late, the BTF has closed already.
So my solution at this point is on the BTF close button being pressed, before it navigates to the BTF Task-Flow-Return option, I can get the ActionListener of the BTF close button to raise a Contextual Event to the ADF UI Shell to capture the "Close Event" occurring. The UI Shell then has a chance to show the dirty tab dialog by capturing the Contextual Event.
My sticking point then is the TabContext class provided in the UI Shell has no way to invoke the dirty tab dialog without calling the removeTab method. It's not desirable for the UI Shell to close the BTF as the BTF's Task-Flow-Return activities must still be called.... remembering they have additional functionality that is required for the BTF.
Even if the TabContext method did have a solution for displaying the dirty tab dialog without closing the tab (TabContext is easy enough to extend yourself if you have the source code), the problem to which I can't think of a solution is, how to get the dirty tab dialog to communicate the result (yes/no) back to the standalone BTF such that it can make a decision about aborting the close action and leaving the user on the current page fragment, or navigating to the Task-Flow-Return node?
It might be suggested I could expose the dirty tab dialog to the standalone BTF such that it could show the confirm dialog itself. However the point being is the BTF is standalone, and should not have any knowledge of where it's being used, in the UI Shell or some other application supershell. Publishing the intent to close the BTF via a contextual event seems fine, but alternatively loading in components from the UI Shell seems to break the standalone I-don't-know-or-care-about-what-my-parent-caller-is-doing BTF principle seems on the border of wrong.
Anybody any pointers, suggestions, or comments like you're-an-idiot-Chris,-do-it-this-way? Your help appreciated.
Regards,
CM.
PS. JDev v11.1.1.2.0 with UI Shell v1.02

how to get the dirty tab dialog to communicate the result (yes/no) back to the standalone BTF such that it can make a decision about aborting the close action and leaving the user on the current page fragment, or navigating to the Task-Flow-Return node?I hope everyone interested on this challenge will find the application on this link useful: http://soadev.blogspot.com/2010/08/loosely-coupled-bounded-task-flows.html
Regards,
Rommel Pino
http://soadev.blogspot.com

Similar Messages

  • Latest Oracle Dynamic Tabs Shell (Dynamic Tabs UI Shell ) Source/JAR

    Hi,
    Please can any body provide the link where i can get the Latest Oracle Dynamic Tabs Shell (Dynamic Tabs UI Shell ).
    Reg,
    Brahma B.

    Hi John,
    Thanks for your reply..
    I got the jar for UI Shell from the link you have provided. Here am trying to create my own TabContext by extending the existed one in the jar file.But jar contains the Tabcontext as final so am not able to extend and create my own CustomTabcontext.
    While i started working with tabcontext i got the source of UI Shell(first version) and i added some code in Tabcontext itself for achieving some functionality as per the requirement like dirty checking and displaying the dailog like Do you want save changes with some buttons. Now i want to use the latest Ui Shell Tab By including by code as well.
    Please can you give any suggestion how can i proceed here.
    Reg,
    Brahma B.

  • How can I customize the UI shell close tab behaviour?

    I am using JDevelepor 11.1.2.1.0 Version
    I Am New In ADF
    How can I customize the UI shell close tab behaviour? When i close the tab I ned to rollback the transaction else where when reopen the taskflow it show an error message duplicate key..
    So how i can handle?

    Download the sample at http://www.oracle.com/technetwork/issue-archive/2012/12-mar/o22adf-1518265.html . frank states -
    The CustomerOrdersCRUD-btf task flow in the BoundedTaskFlows.jws workspace accompanying this sample, for example,
    uses the tabContext reference to close the tab displaying the task flow upon rollback and commit—which also is when the task flow is exited.
    In addition, when data changes are performed within a task flow, the tab’s dirty state is changed to indicate to the template that the tab title needs to be shown in italics.

  • Collapsible Panel - Tab start closed?

    Hello
    Just began working with Spry and I'm going to use the
    Collapsible Panels to display multiple lists, each form a different
    year, beneath eachother. Therefore I wanted the top list to start
    as open, just as it normally does - but the rest that followed
    would start as closed. I'll code the PHP to assign the tabs their
    classes based on their position myself, but I just need help with
    how to give a tab the closed-value.
    Do I need to temper with the .js-file, or is it enough to
    change the class of the tab-div to CollapsiblePanelClosed for
    instance. I tried the latter, but it didnt work. In addition I
    couldn't find the class CollapsiblePanelClosed represented in the
    .css-file either.
    Short example:
    2007 (begins open and displays its content)
    - item 01
    - item 02
    - item 03
    2006 (begins closed)
    2005 (begins closed)
    etc.
    Thanks,
    Eirik

    Hi Eirik,
    you should better use Collapsebile Panel group. We can find
    an working example
    here.
    Diana

  • Bug Report : Upgraded to Firefox v10. Holding CTRL+ [F4] too long after all tabs are closed causes error. "Exc in ev handl: TypeError: this.oPlg.onTabClosed is not a function"

    Bug Report :
    Upgraded to Firefox v10. Holding CTRL+ [F4] too long after all tabs are closed causes error.
    "Exc in ev handl: TypeError: this.oPlg.onTabClosed is not a function"

    What extensions do you have? (Go to Firefox > Customize > Add-ons to see or Help > Troubleshooting info for a copy-pasteable list)

  • Firefox is not saving open tabs when closing, it says other session of Firefox is running but this is not the case.

    Firefox used to save open tabs when closing the browser. This no longer happens and Firefox says other session running. Task Manager shows that this is not the case.
    Recently installed an flv/mpeg viewer "aLot" which placed a toolbar in Firefox.
    Am running Firefox 3.0.5 on Windows XP with Service Pack 3.

    Your useragent says your are running Firefox 3.6.13 -> is that true.
    If not, do the following and post back your new Firefox version:
    * Type about:config in the URL bar and hit Enter
    * If you see the warning, you can confirm that you want to access that page.
    * Filter = general.useragent.
    * Right-click the preferences that are bold, one line at a time, and select Reset.
    * Then restart Firefox

  • How do I move a group of tabs before closing a window?

    I recently lost all my custom settings on Firefox after an aggressive tech support person "cleaned" my browser settings. When this happened, I lost the ability to move my open tabs to a new group before closing the window they were in.
    Previously, when I had multiple windows open, and I initiated an "Exit" or "Close" command on one of the open windows, 2 things happened:
    (1) First I received a warning message asking me if I wanted to close the window
    (2) Then I received a second warning message asking me if I wanted to move my tabs before closing the window.
    Now, I only receive the 1st message, and I am no longer offered the option of moving my tabs to a new window before closing the current window.
    I've tested this both with and without the Tabs Group Manager which I was using prior to the time my browser was "cleaned", and I still have not found a way to restore this missing feature.
    Unfortunately, I don't know if this feature/option is:
    -- provided as a default in Firefox
    -- a customizable feature in Firefox, or
    -- a feature in a Firefox add-on.
    Can anyone tell me where/how to restore this option to move a group of tabs before closing a window?
    Thanks,
    Metta

    Thank you, guigs2, for your feedback, and my apologies for the confusion. After rereading my question, I realize I made a couple of typos in my original help request which cannot now be corrected. Specifically, the 2nd sentence in the first paragraph should have read:
    "I lost the ability to move GROUPS of open tabs to a new WINDOW before closing the window they were in."
    This means that, as far as I can tell, neither of your plugin recommendations applies:
    -- Apparently, Tab Mix Plus only applies to manipulating tabs WITHIN the existing window and, unless I am missing something, I did not see any reference to the option I'm looking for -- specifically, an automatic prompt offering to move groups of tabs to a new window before closing the existing window.
    -- Unfortunately, the other plugin you mentioned (Tag Cloud) appears to be non-functional in the current version of Firefox, based on the most recent user reviews.
    In light of this, I will consider the possibility of resubmitting my question with the typos corrected -- and, in the meantime, if there is any additional feedback that you (or anyone else) can offer, I would be most grateful!

  • When a PDF is opened in a tab, my laptop's touchpad scroll stops working for other tabs. (But works perfectly fine on the pdf tab or with every tab after closing the pdf tab)

    My touchpad scroll was not working many times after i installed firefox 6. But it works perfectly fine in other browsers at the same time.
    After some playing around, i found that this problem occurs only when a pdf is open in some tab (The scrolling works in pdf's tab but not in other tabs). Once that particular tab is closed, the scrolling starts working properly.

    Using similar scroll function on my netbook. To add to the above, I find that using scroll is actually causing the PDF to scroll rather than the tab I'm actually in.
    Reader 9 is installed on my Win7 Starter.

  • I lose saved tabs after closing Firefox 7.0.1/Vista

    I have configured FF through Options to save tabs when closing. I shut down my system every night, and approximately once every 2 weeks when restarting FF it can't recover my previous session. The "We're embarrassed..." window option to restore tabs is grayed out. History... Restore Previous Session is grayed out, so I can't restore that way. Closing FF and restarting it doesn't solve the problem. I am also experiencing crashes once every 1-2 weeks. Is this loss of saved sessions a known bug?

    A possible cause is an update of Firefox.
    If you notice an update then try to close Firefox via Firefox/File > Exit instead of clicking the Apply Update button.

  • Cannot save opened tabs before closing the browser

    Cannot save opened tabs before closing the browser. I do not know if there is such a feature (should be), and how to activate it.
    It was very useful with previous version.

    One change in Firefox 4 is to by default stop Firefox displaying the warning message, but it can be turned back on by changing some preferences.
    # Type '''about:config''' into the location bar and press enter
    # Accept the warning message that appears, you will be taken to a list of preferences
    # Locate the preference '''browser.tabs.warnOnClose''', if its value is set to '''false''', double-click on it to change its value to '''true'''
    # Repeat this for these 3 preferences '''browser.warnOnQuit''', '''browser.warnOnRestart''' and '''browser.showQuitWarning'''
    If you always open the last set of tabs an alternative approach is this:
    # Click the orange Firefox button, then select options to open the options window
    # Go to the General panel
    # Change the setting "When Firefox starts" to "Show my windows and tabs from last time"

  • The new Firefox opens all the old tabs it closed with, when it starts. I'd rather just start a new session. How can I make that the default setting?

    The new Firefox re-opens all the tabs it closed with; and, I'd rather just start a new session, as the default setting. How can I do this? It would make it easier on me, the machine, and the Internet feed, not to reload automatically a bunch of tabs that were just closed. There must be someway to fix this. This happens on my brother's Windows computer, as well; and, it's running Firefox 4. Thanks for your help.

    Make that "Firefox ->Preferences -> General -> When Firefox starts: "Show my windows and tabs from last time" is not selected as this is not the default.
    Basically this setting will make Firefox start with whatever windows and tabs that were last open when a user closes Firefox by way of File ->Quit/Exit as if Firefox was never closed.

  • Firefox jumps from tab group to tab group when tab is closed. Why? It should stay in the same tab group.

    Firefox jumps from tab group to tab group when tab is closed. Why? It should stay in the same tab group.
    Is it bug? In any case it is very inconvenient.

    Ahh. Thanks. That seems like a bit of a hassle though. If I were to create more tabs in the group, would I have to re-bookmark all the tabs?
    I would really love it if I could just pull them in and out of the tab group screen :)
    Thanks for your help!

  • How do I stop all the tabs from closing at once in Safari v 6.0.3?

    How do I stop all the tabs from closing at once in Safari v 6.0.3?

    Activate cycle mode, adjust cycle area as needed and export tracks as audio files, no?
    http://help.apple.com/logicpro/mac/10/#lgcp8e5ce2d3
    Or cut globally at position 2min and 3min, then mute manually regions before and after the 2 - 3 minute range, bounce and get rid of the not needed silence in the audio.
    Cheers!

  • Cannot save open tabs when closing, instructions on "help", don't; FF4 has crashed/locked several times also. Frequently have to hit link button (or back button) twice for it to work. Had MUCH better performance from previous version (Windows 7 user)

    previous version asked if I wanted to save tabs when closing, not version 4. "Help" suggested checking setting but does NOT indicate what to check! (I cannot find any options/settings related to saving tabs upon closing). Second option was to rename two files, did so, did not allow saving tabs (just erased history). I liked saving tabs and am very frustrated by this.
    FF has crashed a couple of times, locked a couple of times (most recently I could not even stop with windows task manager, had to reboot)
    Frequently links (or "back" button) gives no response until pressed twice

    forgot to add that pages are generally much SLOWER to load with version 4 than previous version. NOT progress!

  • How to close locked tab without closing firefox

    When firefox freezes how do I close offending tab without closing firefox

    Start Firefox in <u>[[Safe Mode|Safe Mode]]</u> to check if one of the extensions (Firefox/Tools > Add-ons > Extensions) or if hardware acceleration is causing the problem (switch to the DEFAULT theme: Firefox/Tools > Add-ons > Appearance).
    *Do NOT click the Reset button on the Safe Mode start window or otherwise make changes.
    *https://support.mozilla.org/kb/Safe+Mode
    *https://support.mozilla.org/kb/Troubleshooting+extensions+and+themes
    If it works in Safe Mode and in normal mode with all extensions (Tools > Add-ons > Extensions) disabled then try to find which extension is causing it by enabling one extension at a time until the problem reappears.
    Close and restart Firefox after each change via "Firefox > Exit" (Windows: Firefox/File > Exit; Mac: Firefox > Quit Firefox; Linux: Firefox/File > Quit)
    *If you have many extensions then first enable half of the extensions to test which half has the problem.
    *Continue to divide the bad half that still has the issue until you find which one is causing it.

Maybe you are looking for

  • I don't have Operator Interfaces with TS3.0 Installation

    HI, After the Installation of TS 3.0 I don't have a NI directory under \TestStand\OperatorInterfaces. I do have a User directory with some of my own interfaces. How can I install them? I found on the installation disk: \componnents\operatorInterfaces

  • With single trigger, I want to acquire two channel in sequence

    I wanted to observe the sequence of  effects on more than two channels with respect to a single trigger input. And also I wanted to measure each channels with different " number of samples". For example Firstt channel with 10 samples and second with

  • Type on a path, the other direction

    Hi, I can make the type go on a path. It types clockwise, but I am wanting it to go counter clockwise, along the bottom of a circle but still be readable without tilting your head. I have seen it done before, but can't recall how to do it. Any ideas?

  • How to obtain GUID of a CRM Order Object

    Hello, I want to retrieve an external reference number of a CRM Order. First I should obtain the GUID of a CRM Order Object(component type CRMT_OBJECT_GUID). My problem is, which FM should I use? Thanks.

  • After Effects CS6 (11.0.3) update released!

    Fixes for crashes and other bugs, ability to run on Mac OS X v10.9 (Mavericks) Information here: http://blogs.adobe.com/aftereffects/ Windows download: http://www.adobe.com/support/downloads/product.jsp?product=13&platform=Win Mac download: http://ww