Randy,

These are portlet preferences and don't really have anything to do with
PSML.  But, 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 you are telling me that
this is not possible in jetspeed unless the user creates a new portal page?

What you are saying seems to jive with what I am seeing in the DB:

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




On 3/9/06, Randy Watler <[EMAIL PROTECTED]> wrote:
>
> Aaron/Keshavan,
>
> I am fairly sure this is intentional. Preferences on shared PSML pages
> are not stored per user. If the user customizes their own PSML page,
> even at the same url in the portal, then the preferences become user
> specific. In a nutshell, preferences are stored based on the unique PSML
> Fragment id only. We have discussed changing this... JIRA issues and
> feedback are welcome as usual.
>
> Randy
>
> Keshavan, Rango wrote:
> > We're using 2.1-dev
> >
> >
> >
> > ----------
> > Rango Keshavan
> > 617 563 2435
> >
> >
> >
> >> -----Original Message-----
> >> From: Aaron Evans [mailto:[EMAIL PROTECTED]
> >> Sent: Thursday, March 09, 2006 10:43 AM
> >> To: Jetspeed Users List
> >> Subject: Re: portletPreference question
> >>
> >> What version of jetspeed are you using?
> >>
> >> I am using Jetspeed 2.0 and it is definitely not storing them on a user
> by
> >> user basis for me.
> >>
> >> Here is what I've done:
> >> I login as user A, change some portlet preferences from the defaults.
> >>
> >> I then login as user B *on a different machine* (just to make sure it
> is
> >> not
> >> a session issue).  I look at my preferences for the portlet and they
> are
> >> set
> >> to the values that user A set them to!
> >>
> >> I assume that I am using the correct API calls:
> >>
> >> //get the user's preferences
> >> PortletPreferences prefs = request.getPreferences();
> >>
> >> //set a value for a preference
> >> prefs.setValue("aPreferenceName","aPreferenceValue");
> >>
> >> //store the preferences
> >> prefs.store();
> >>
> >>
> >>
> >> On 3/9/06, Keshavan, Rango <[EMAIL PROTECTED]> wrote:
> >>
> >>> The way it is working for us is we have them in the portlet.xml, which
> >>> creates a default set of preferences for the user.  When we change
> them
> >>>
> >> per
> >>
> >>> user, it stays that way.  When a new user enters the system, the
> default
> >>> preferences are copied over for the user.
> >>>
> >>> I do want to put some code in, though, that would add new preferences
> on
> >>> the fly (the JSR spec says it can be done, so I'm presuming it can,
> >>>
> >> haven't
> >>
> >>> tried it yet).  I hope those are handled in this fashion.  That a new
> >>>
> >> user
> >>
> >>> would only get the defaults that are in the portlet.xml, and NOT get
> the
> >>> new ones added for another user...
> >>>
> >>> We shall see!!
> >>>
> >>> ----------
> >>> Rango Keshavan
> >>> 617 563 2435
> >>>
> >>>
> >>>
> >>>> -----Original Message-----
> >>>> From: Aaron Evans [mailto: [EMAIL PROTECTED]
> >>>> Sent: Thursday, March 09, 2006 10:05 AM
> >>>> To: Jetspeed Users List
> >>>> Subject: Re: portletPreference question
> >>>>
> >>>> In my case, the preferences are specified in the portlet.xml .
> >>>>
> >>>> On 3/9/06, Keshavan, Rango <[EMAIL PROTECTED]> wrote:
> >>>>
> >>>>> Do you have the Portlet Preferences specified in the portlet.xml to
> >>>>>
> >>>> begin
> >>>>
> >>>>> with or are you adding them in???
> >>>>>
> >>>>>
> >>>>>
> >>>>> ----------
> >>>>> Rango Keshavan
> >>>>> 617 563 2435
> >>>>>
> >>>>>
> >>>>>
> >>>>>> -----Original Message-----
> >>>>>> From: Aaron Evans [mailto:[EMAIL PROTECTED]
> >>>>>> Sent: Thursday, March 09, 2006 9:58 AM
> >>>>>> To: Jetspeed Users List
> >>>>>> Subject: Re: portletPreference question
> >>>>>>
> >>>>>> Holy cow!  He's right!
> >>>>>>
> >>>>>> I just assumed that portlet preferences were stored on a user by
> >>>>>>
> >>> user
> >>>
> >>>>>> basis,
> >>>>>> but I just tested and they are being treated globally!
> >>>>>>
> >>>>>> So this is a bug, right?
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>> On 3/9/06, 立焰 李 <[EMAIL PROTECTED]> wrote:
> >>>>>>
> >>>>>>> hello,everyone:
> >>>>>>> At fist,i change
> >>>>>>> '<security-constraints-ref>public-view</security-constraints-
> >>>>>>>
> >> ref>'
> >>
> >>>>>>> into
> >>>>>>> '<security-constraints-ref>public-edit</security-constraints-
> >>>>>>>
> >> ref>'
> >>
> >>>>>>> within  file default-page.psml under directory pages/.
> >>>>>>> then i new users user1 and user2.
> >>>>>>> when i logon jetspeed2 with username user1 role user,i
> >>>>>>> add a new bookmark.why user user2 can get it when he
> >>>>>>> logon jp2.how do i understand the portletPreference?
> >>>>>>> isn't it user-specific in jetspeed2?
> >>>>>>> tks!
> >>>>>>>
> >>>>>>> __________________________________________________
> >>>>>>> 赶快注册雅虎超大容量免费邮箱?
> >>>>>>> http://cn.mail.yahoo.com
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>> --------------------------------------------------------------------
> >>>
> >>>> -
> >>>>
> >>>>>>> To unsubscribe, e-mail:
> >>>>>>>
> >>> [EMAIL PROTECTED]
> >>>
> >>>>>>> For additional commands, e-mail: jetspeed-user-
> >>>>>>>
> >>>> [EMAIL PROTECTED]
> >>>>
> >>>>>>>
> >>>>> --------------------------------------------------------------------
> >>>>>
> >> -
> >>
> >>>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
> >>>>> For additional commands, e-mail: jetspeed-user-
> >>>>>
> >> [EMAIL PROTECTED]
> >>
> >>>>>
> >>> ---------------------------------------------------------------------
> >>> To unsubscribe, e-mail: [EMAIL PROTECTED]
> >>> For additional commands, e-mail: [EMAIL PROTECTED]
> >>>
> >>>
> >>>
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
> >
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

Reply via email to