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