Jetspeed 2
  1. Jetspeed 2
  2. JS2-834

Automatically cleanup of the PortalURL: no navigational state in browser url

    Details

    • Type: New Feature New Feature
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 2.1.3
    • Fix Version/s: 2.1.3, 2.2.0
    • Component/s: Components Core, Container
    • Labels:
      None

      Description

      Some users don't really like the cryptic navigational state parameter in the browser url.
      When the navigational state is fully maintained in the session (portlet mode, window state and render parameters), there is an easy solution to get rid of the navigational state in the browser url by sending a client side redirect without the navigation state in the url after the state is synchronized with the session.

      I've created a valve for this purpose: CleanPathInfoEncodedNavStateFromPortalURLValve.
      This valve will clean encoded navstate from the browser url by sending a client side redirect to the same url with the navstate removed.
      This valve will only do this:

      • on a GET Render request (not for Resource or Action requests)
      • the request is not served by the Desktop
      • the navstate is encoded as PathInfo
      • all the navstate is maintained in the session (portlet mode, window state and render parameters)

      This valve needs to be added to the portal pipeline after the ContainerValve to ensure navstate is properly synchronized with the session.
      In the default pipeline.xml this valve won't be enabled, but defined commented out.

      Caveats:

      • bookmarking browser url will no longer retain nav state, but with SessionFullNavigationState this wasn't really reliable anyway.
      • back button history is no longer maintained by browsers for GET render urls, somewhat similar to Ajax based requests (e.g. Desktop)

        Activity

        Hide
        Ate Douma added a comment -

        Feature implemented.
        You can enable it by uncommenting the new cleanupPortalURLValve reference in the jetspeed-pipeline defined in the assembly pipelines.xml

        Show
        Ate Douma added a comment - Feature implemented. You can enable it by uncommenting the new cleanupPortalURLValve reference in the jetspeed-pipeline defined in the assembly pipelines.xml

          People

          • Assignee:
            Ate Douma
            Reporter:
            Ate Douma
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development