Jetspeed 2
  1. Jetspeed 2
  2. JS2-509

Portlet Preferences are not stored on a user by user basis

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.0-FINAL
    • Fix Version/s: 2.1-dev, 2.1
    • Labels:
      None
    • Environment:
      Tomcat 5.5, JDK 1.5, Jetspeed 2.0

      Description

      Portlet Preferences are not stored on a user by user basis.

      Looking in the database, it looks as though the preferences are being associated with the fragment ID for the portlet of the psml page.

      I am pretty sure that the intention of the portlet spec is to enable the storing of preferences on a user by user basis. But apparently this is not possible in jetspeed unless the user creates a new portal page?

      The data I see in the DB seems to support this:

      I login as user A, and I have a portlet preference for one of my report portlets called reportTimeZone. By default is set to US/Eastern.

      User A edits his portlet preferences and sets the reportTimeZone to be US/Pacific.

      Looking in the prefs_property_value table, can see the newly created value. It has node ID 2875 and value US/Pacific. The property name is 0, I assume that this is the index in the array if it were multi-valued.

      I then look in the prefs_node table for a row with node_id=2875. The row is present and the full path of the node is:

      /portlet_entity/reports-3/no-principal/preferences/reportTimeZone/values

      Note that reports-3 is the fragment ID for the portlet fragment in the psml page.

      However, instead of 'no-principal', I would have expected to see the user name of user A.

      So now I log in as user B and go to edit my portlet preferences and the value of the reportTimeZone preference is set to US/Pacific, not the default US/Eastern I would have expected.

      So I then, as user B, set the reportTimeZone to US/Central and update my preferences.

      Sure enough, it overwrites the value in the prefs_property_value table to US/Central.

      So, in order to get the behaviour I need, I would have to generate portal pages for each user and vary the id of the portlet fragment? This does not seem like a good solution to me.

      Further, in my environment, users are not permitted to create their own pages and customize them. I am simply providing a form in the doEdit method of my portlet to allow users to customize the behaviour of the portlet.

      So, in my environment, imagine I had a weather portlet on a portal page. If someone sets their preferred city to be Bangkok, then all users will get weather for Bangkok!

      This does not seem right to me...

        Activity

        Aaron Evans created issue -
        Hide
        David Sean Taylor added a comment -
        Show
        David Sean Taylor added a comment - duplicate of http://issues.apache.org/jira/browse/JS2-449
        David Sean Taylor made changes -
        Field Original Value New Value
        Resolution Duplicate [ 3 ]
        Status Open [ 1 ] Closed [ 6 ]
        Fix Version/s 2.1-dev [ 12310686 ]
        Ate Douma made changes -
        Resolution Duplicate [ 3 ]
        Status Closed [ 6 ] Reopened [ 4 ]
        Hide
        Ate Douma added a comment -

        Closed again now properly recorded against Fix Version 2.1 as well

        Show
        Ate Douma added a comment - Closed again now properly recorded against Fix Version 2.1 as well
        Ate Douma made changes -
        Resolution Fixed [ 1 ]
        Status Reopened [ 4 ] Closed [ 6 ]
        Fix Version/s 2.1 [ 12310617 ]

          People

          • Assignee:
            Unassigned
            Reporter:
            Aaron Evans
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development