Jetspeed 2
  1. Jetspeed 2
  2. JS2-611

Custom Portlet Mode and Window State incorrectly handled / processed from portlet.xml

    Details

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

      Description

      The definition Jetspeed expects in portlet.xml for declaring a custom-portlet-mode and custom-window-state is not according to the official portlet 1.0 descriptor xsd.

      Currently, for Jetspeed to recognize custom-portlet-mode or custom-window-state definitions, you have to define them like:

      <custom-portlet-mode>
      <description>optional description</description>
      <name>sample-mode</name>
      </custom-portlet-mode>

      <custom-window-state>
      <description>optional description</description>
      <name>sample-state</name>
      </custom-window-state>

      But, the xsd requires them to be defined like:

      <custom-portlet-mode>
      <description>optional description</description>
      <portlet-mode>sample-mode</portlet-mode>
      </custom-portlet-mode>

      <custom-window-state>
      <description>optional description</description>
      <window-state>sample-state</window-state>
      </custom-window-state>

      As defense for this invalid handling, I like to point out that the Portlet Specification 1.0 documentation contains examples with the same mistake.
      (I actually implemented this in Jetspeed looking at those examples, not the xsd itself. My bad )

      I'm going to fix this ASAP, and we will probably (very soon) add portlet.xml xsd validation too, so to not make these type of mistakes again.

      Only the demo portlet application provided by Jetspeed currently uses a custom-window-state, and I will fix that one too of course.

          • WARNING: fixing this will break deployment of custom portlet applications in Jetspeed which also use this invalid definition ***

        Issue Links

          Activity

          Hide
          Ate Douma added a comment -

          I've implemented a fix for this which temporarily provides backwards compatibility still allowing allowing both the old but incorrect custom-portlet-mode/name or custom-window-state/name definitions
          as well the correct custom-portlet-mode/portlet-mode and custom-window-state/window-state definitions.
          As soon as we provide portlet.xml xsd validation though the old definitions will break portlet-application deployment.

          Show
          Ate Douma added a comment - I've implemented a fix for this which temporarily provides backwards compatibility still allowing allowing both the old but incorrect custom-portlet-mode/name or custom-window-state/name definitions as well the correct custom-portlet-mode/portlet-mode and custom-window-state/window-state definitions. As soon as we provide portlet.xml xsd validation though the old definitions will break portlet-application deployment.

            People

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

              Dates

              • Created:
                Updated:
                Resolved:

                Development