MyFaces Trinidad
  1. MyFaces Trinidad
  2. TRINIDAD-116

PPR + State Management: reuse state tokens while PPRing to avoid flushing the cache

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.0.1-core
    • Fix Version/s: 1.0.2-core
    • Component/s: None
    • Labels:
      None

      Description

      Today, if you have the following series of requests:
      1. Page A
      2. PPR #1 on A
      3. Page B
      4. PPR #1 on B
      5. PPR #2 on B

      You get the following state tokens in the page:

      Request Token
      1. Page A 1
      2. PPR #1 on A 2
      3. Page B 3
      4. PPR #1 on B 4
      5. PPR #2 on B 5

      But, say we've configured Trinidad down to save only two
      state tokens (just for the sake of the example). Click
      the back button after request #5, and we'll be on Page A
      with state token 2 - but that token is gone, even though
      we've only gone back one page!

      What's lame here is that with PPR, we're caching all sorts
      of state tokens that are totally inaccessible (there's no way to
      get back to tokens 1, 3, or 4 after their respective requests).
      So: why not just reuse the existing state token on PPR?

      Request Token
      1. Page A 1
      2. PPR #1 on A 1
      3. Page B 2
      4. PPR #1 on B 2
      5. PPR #2 on B 2

        Activity

        Matthias Weßendorf made changes -
        Status Resolved [ 5 ] Closed [ 6 ]
        Adam Winer made changes -
        Field Original Value New Value
        Status Open [ 1 ] Resolved [ 5 ]
        Fix Version/s 1.0.2-core [ 12312537 ]
        Resolution Fixed [ 1 ]
        Adam Winer created issue -

          People

          • Assignee:
            Adam Winer
            Reporter:
            Adam Winer
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development