javaserverfaces-spec-public
  1. javaserverfaces-spec-public
  2. JAVASERVERFACES_SPEC_PUBLIC-1227

Add <f:protectClientWindowOpenInNewTab> JavaScript behavior tag

    Details

    • Type: New Feature New Feature
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: 2.2
    • Fix Version/s: None
    • Component/s: Ajax/JavaScript
    • Labels:
      None

      Description

      With the introduction of ClientWindow in JSF 2.2, it's possible to protect against multiple tabs being open on the same view. However, components that render links allow the user to do "open in new tab" or "open in new window". This can cause a situation where there are multiple tabs that still have the same ClientWindow, which is incorrect.

      This feature proposal asks for the creation of a ClientBehavior tag that, when nested inside of a component that renders as a link, will make it so a new client window is created when the link is clicked.

        Activity

        Hide
        tandraschko added a comment -

        The documentation in DeltaSpike should be complete: https://deltaspike.apache.org/documentation/jsf.html#Multi-WindowHandling

        We should look what we can introduce as default modes for the upcoming API version.

        Show
        tandraschko added a comment - The documentation in DeltaSpike should be complete: https://deltaspike.apache.org/documentation/jsf.html#Multi-WindowHandling We should look what we can introduce as default modes for the upcoming API version.
        Hide
        tandraschko added a comment - - edited

        window.name is also used in DeltaSpike.
        Please have a look at it: http://deltaspike.apache.org/documentation/jsf.html#AvailableModes
        CLIENT_WINDOW is the most complete and 100% working mode.

        I will complete the docu these days, LAZY mode is described much more detailed.

        Show
        tandraschko added a comment - - edited window.name is also used in DeltaSpike. Please have a look at it: http://deltaspike.apache.org/documentation/jsf.html#AvailableModes CLIENT_WINDOW is the most complete and 100% working mode. I will complete the docu these days, LAZY mode is described much more detailed.
        Hide
        muellermi added a comment -

        Maybe window.name (JavaScript) would be helpful to perform this task.

        Show
        muellermi added a comment - Maybe window.name (JavaScript) would be helpful to perform this task.
        Hide
        muellermi added a comment -

        The idea behind this issue only protects the browser to open a new tab or window using the same client id.

        Sadly the user still is able to copy the url and paste it into a manually opened new tab. What we really need is some information to determine the "right" window.

        Show
        muellermi added a comment - The idea behind this issue only protects the browser to open a new tab or window using the same client id. Sadly the user still is able to copy the url and paste it into a manually opened new tab. What we really need is some information to determine the "right" window.
        Hide
        Manfred Riem added a comment -

        Setting priority to Major

        Show
        Manfred Riem added a comment - Setting priority to Major

          People

          • Assignee:
            Unassigned
            Reporter:
            Ed Burns
          • Votes:
            6 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

            • Created:
              Updated:

              Time Tracking

              Estimated:
              Original Estimate - 4 days
              4d
              Remaining:
              Remaining Estimate - 4 days
              4d
              Logged:
              Time Spent - Not Specified
              Not Specified