Details

    • Type: New Feature New Feature
    • Status: Closed
    • Priority: Major Major
    • Resolution: Invalid
    • Affects Version/s: 1.7DR#2
    • Fix Version/s: 2.0-Alpha3
    • Component/s: Framework
    • Labels:
      None
    • Environment:
      All

      Description

      We could create some mechanism, that developers could opt into, on a bean by bean basis, or even property by property basis, of carrying forward state from the old bean into the new bean. We could provide an API, which would protect developers from the implementation details, that would provide a place for the bean to save its state to on dispose(), so that the new bean could retrieve that state, when it's constructed. Special care would be taken so that it would work with concurrent DOM views, so that one view would not get confused with another. Mircea recommended some combination of TheadLocal storage and the FacesContext.

      Another idea, from Ted, is to just use Java 1.5 Annotations, so that the framework would handle the state propagation, and the bean's wouldn't have to code to any API, beyond using the appropriate Annotations, of course. We may have to use a combination of an API and Annotations, for Java 1.4 compatibility. But it's probably best if we just do the Java 1.5 approach first, and gauge demand for the API approach, later.

      Then I realised, that there's not much difference between solving bean state propagation between refreshes, and between any GET or POST, for redirects or any regular Ajax interaction. Basically, we theoretically could remove long-lived request scope for beans, and use standard request scope, yet maintain the bean state for long lived request, or any duration. We could provide annotations for each transition, where a request bean would typically be disposed, where we could propagate the state, like redirect navigation rules, Ajax POSTs, refreshes, etc. That might be more granular, and precise than coming up with arbitrary names like "Page" or "Window" scoping.

        Activity

        Hide
        Sheng Gu added a comment -

        Does it look like MyFaces Orchestra (conversation scope for beans)? 1+

        Show
        Sheng Gu added a comment - Does it look like MyFaces Orchestra (conversation scope for beans)? 1+
        Hide
        Mark Collette added a comment -

        We could also provide annotations for session time-outs, so that users could resume into a new session if they've left their web page go stale overnight.

        Show
        Mark Collette added a comment - We could also provide annotations for session time-outs, so that users could resume into a new session if they've left their web page go stale overnight.
        Hide
        Mark Collette added a comment -

        Can you do this kind of thing with CDI? Or could this be a smaller amount of effort, to build it on top of CDI?

        Show
        Mark Collette added a comment - Can you do this kind of thing with CDI? Or could this be a smaller amount of effort, to build it on top of CDI?
        Hide
        Ted Goddard added a comment -

        CDI certainly gives a lot of new scopes, so it's definitely in the same territory. Building some useful scopes on top of CDI might be best since CDI is standard and already contains a lot of interesting functionality.

        Show
        Ted Goddard added a comment - CDI certainly gives a lot of new scopes, so it's definitely in the same territory. Building some useful scopes on top of CDI might be best since CDI is standard and already contains a lot of interesting functionality.
        Hide
        Ken Fyten added a comment -

        This features set has been deemed to be outside of scope for ICEfaces specifically.

        Show
        Ken Fyten added a comment - This features set has been deemed to be outside of scope for ICEfaces specifically.

          People

          • Assignee:
            Ted Goddard
            Reporter:
            Mark Collette
          • Votes:
            3 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: