Hey Randy,
Ok, I'll add a JIRA issue.  I can definitely see the other point of view.

Mainly, I wanted to make sure that I was understanding it properly and that
it wasn't just my environment that wasn't working properly.  I have
implemented my own security SPI components which always presents a bit of a
wild card when I run into these sorts of things! ;-)

cheers,
aaron

On 3/9/06, Randy Watler <[EMAIL PROTECTED]> wrote:
>
> Aaron,
>
> Yes, yes, and yes. There are use cases that require the user to be
> factored in with the preference. However, it is a performance nightmare
> to be looking up so many preferences for every single page. It is also
> common that people want ONE set of preferences for shared portlet
> instances. J2 tried to strike a balance on this issue. And the spec does
> not provide a way to support both AFAIK. The decision to tie it to the
> Fragment ids predates my J2 experience, so I may not be giving you all
> of the reasons behind it. On the plus side, one can now set preference
> defaults using PSML... so that helps handle the "common" settings
> problem. But it matters not: a change is required to get what you would
> like to see.
>
> Perhaps others can chime in here...
>
> Please go ahead and create a JIRA issue if you cannot find a related one
> to attach this fine email to.
>
> And yes... Fragment ids come from PSML, but are used all over the system
> to identify a portlet instance.
>
> Randy
>
> Aaron Evans wrote:
> > 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.xmlto
> >>>>>>>
> >>>>>>>
> >>>>>> 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]
> >>
> >>
> >>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

Reply via email to