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]