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

         Key: JS2-509
         URL: http://issues.apache.org/jira/browse/JS2-509
     Project: Jetspeed 2
        Type: Bug
  Components: Portlet Entities and Preferences  
    Versions: 2.0-FINAL    
 Environment: Tomcat 5.5, JDK 1.5, Jetspeed 2.0
    Reporter: Aaron Evans


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...

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to