Jetspeed 2
  1. Jetspeed 2
  2. JS2-605

Query string parameters should not (by default) be provided to portlets to be compliant to JSR 168 spec requirements

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 2.1-dev
    • Fix Version/s: 2.1-dev, 2.1
    • Component/s: Container
    • Labels:
      None

      Description

      Jetspeed currently provides query string parameters to all portlets on the page requested.
      When a portlet already has a request parameter with the same name, the values are provided as an array where the query string parameters take precedence.
      Example: with a query string parameter color=red and portlet parameter color=blue, the portlet will receive color=[red,blue].

      Although the JSR 168 specs (PLT.11) doesn't make it very explicit this shouldn't be allowed (and the TCK definitely doesn't validate it),
      the portlet 1.0 API javadoc for PortletRequest.getParameter(String) is explicit on this: "Only parameters targeted to the current portlet are accessible."

      But, existing installations of Jetspeed-2 might already depend on this "feature".
      I won't simply "fix" this by making Jetspeed-2 strict to the specs, but instead make this feature optional/configurable although by default it should be specs compliant.

      The solution will allow for three possible usages:
      a) strict - no query string parameters will be visible to portlets (default)
      b) portlet scoped parameters take precedence (like color=[blue,red] from the example above)
      c) query string parameters take precedence (like color=[red,blue] from the example above which is the current implementation)

        Activity

          People

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

            Dates

            • Created:
              Updated:
              Resolved:

              Development