OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

wsrp-interfaces message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]

Subject: Re: [wsrp-interfaces] Questions regarding getPortletDescription()

I forget, can  the consumer pass a null userContext to getPortletDescription to "guarantee" the same semantic as calling getServiceDescription?  If a userContext must be passed we may have just invented a difference in the meaning of passing a null userContextKey vs wsrp:minimal.

Coco, Christopher wrote:
Like Subbu said, right now if a Consumer wants to reread the portlet description
for a POP, they have to get the entire ServiceDescription and search for the POP's
portlet description. While it seems nice to say that we expect the Consumer to
cache the ServiceDescription and thus not request it very often, the use cases
we are talking about are not when the Consumer just wants the ServiceDescription
for the sake of getting the ServiceDescription. There are more times when the
Consumer wants to update only some subset of POPs metadata, and because of the
issues Scott has raised (the getPortletDescription() is sensitive to the UserContext),
if the Consumer wants the "full" POP description it must request the entire
ServiceDescription again as this is assured to have the "full" POP description.
Getting the "full" POP description from the ServiceDescription seems to be inefficient
and it would be better if the Consumer could request the "full" POP description by
using the getPortletDescription() call (i.e. irrespective of a user).
-----Original Message-----
From: Michael Freedman [mailto:Michael.Freedman@oracle.com]
Sent: Thursday, June 03, 2004 4:07 PM
To: wsrp-interfaces@lists.oasis-open.org
Subject: Re: [wsrp-interfaces] Questions regarding getPortletDescription()

First off on the question of  "This makes me wonder if I should completely ignore what’s found in the ServiceDescription to avoid using incorrect information."  I would advise the opposite.  getServiceDescription() defines the complete function of a portlet.  If you are choosing to pass the additional context information to getPortletDescription() then you are in effect checking with the producer what subset of this complete function this particular context can use.  Because all producers must be defensive an assume they will be called to do things in inappropriate contexts a consumer can safely try any operation directly [without checking first] and then deal with the resulting fault/denial.  And given getPortletDescription is an extra roundtrip in general its more advisable to not call it and just try the operation.  That being said there may be some circumstances in some consumers where its considered important to prevent the user from invoking function that isn't available -- for example one might want to restrict the view of a toolbox of portlets that can be added to a "page" to only those portlets this user can access/see.  This feature allows us to meet this type of [hopefully limited] use case.

As for the comments about cumbersome, can you describe the use cases that are making this cumbersome?  I recall we expected the consumer would [generally] be caching this information hence getServiceDescription would not be called very often.  

Coco, Christopher wrote:
I agree that this process is cumbersome and not necessarily desirable.


-----Original Message-----
From: Subbu Allamaraju [mailto:subbu@bea.com]
Sent: Thursday, June 03, 2004 2:21 PM
To: wsrp-interfaces@lists.oasis-open.org
Subject: Re: [wsrp-interfaces] Questions regarding

This is a good point, and I agree that there is scope for confusion.

On a related note, based on the implementation experience, I wish there 
is a getPortletDescription operation on the Service Description 
interface. Right now, if a consumer wants to find out the description of 
a POP, it must get the complete service description and look for the 
particular portlet. This is cumbersome for both the consumer and the 
producer. Did we ever discuss this during 1.0?



Goldstein, Scott wrote:
Thanks, again, for the info Rich.


It might be worth considering changing the language of the 
getPortletDescription() section to clarify expected behavior.  The 
existence of the UserContext parameter together with the statements:


“This operation allows a Producer to provide information about the 
Portlets it offers in a contextsensitive





“Consumers may choose to alter how they interact with a Portlet based on 
the metadata

contained in the returned PortletDescriptionResponse.”


leads me to believe, as a Consumer developer, that the content returned 
from this operation will be different than that in the 
ServiceDescription.  This makes me wonder if I should completely ignore 
what’s found in the ServiceDescription to avoid using incorrect information.







*From:* Rich Thompson [mailto:richt2@us.ibm.com]
*Sent:* Thursday, June 03, 2004 3:26 AM
*To:* wsrp-interfaces@lists.oasis-open.org
*Subject:* RE: [wsrp-interfaces] Questions regarding getPortletDescription()




*"Coco, Christopher" <Christopher.Coco@vignette.com>*

06/02/2004 08:10 PM




"Goldstein, Scott" <Scott.Goldstein@vignette.com>, Rich 
Thompson/Watson/IBM@IBMUS, <wsrp-interfaces@lists.oasis-open.org>






RE: [wsrp-interfaces] Questions regarding getPortletDescription()





 From my understanding, as long as the call is for a POP as CCPs aren't 
listed in the ServiceDescription.
-----Original Message-----*
From:* Goldstein, Scott *
Sent:* Wednesday, June 02, 2004 5:08 PM*
To:* Rich Thompson; wsrp-interfaces@lists.oasis-open.org*
Subject:* RE: [wsrp-interfaces] Questions regarding getPortletDescription()

Thanks for the info, Rich.
So, just to be completely clear, in the case that the metadata is not 
updated in any fashion by the producer, if I were to call 
getPortletDescription() with a UserContext containing all of the 
Producers’ user categories, I would be guaranteed to receive the same 
structure as if I had called getServiceDescription().  Correct?



*From:* Rich Thompson [mailto:richt2@us.ibm.com] *
Sent:* Wednesday, June 02, 2004 8:57 AM*
To:* wsrp-interfaces@lists.oasis-open.org*
Subject:* Re: [wsrp-interfaces] Questions regarding getPortletDescription()

Thanks for your persistence ... sometimes as we get busy we hope that 
others will supply the answers :}

The data in GetPortletDescriptionResponse is the same that is included 
in the array returned by getServiceDescription() with a few caveats. The 
data is allowed to change (portlet data updated, user access rights, 
etc) and most Producers will only return data from 
getServiceDescription() for their POPs while getPortletDescription() can 
be invoked against any portletHandle.


*"Goldstein, Scott" <Scott.Goldstein@vignette.com>*

06/02/2004 11:31 AM











[wsrp-interfaces] Questions regarding getPortletDescription()






I haven’t received a reply to my message I sent out last week, so I 
thought I would try to resend it.  If you have any answers to the 
questions below, please reply.  Thanks.
I have the following questions regarding the getPortletDescription() 
1.        How does the data returned in the PortletDescriptionResponse 
relate to the portlet description contained within the 
ServiceDescription?  Must they be identical?  Or, can the producer 
change the data based on the user context.  For instance, could the 
producer not specify a particular supported mode if the user is not an 
2.        If the answer to #1 is that they can be different, then is 
there a way to ensure, when calling this method, that the 
PortletDescription returned would be equal to that in the 
ServiceDescription?  Perhaps by sending all of the possible User 
3.        If the answer to #1 is that they must be the same, then is the 
only use of the UserContext attribute to allow the producer to throw an 
AccessDenied Fault?  Will passing all user categories avoid this?
Essentially, I’m trying to understand the intended use of 
getPortletDescription() and if it can be used as an optimization to 
update portlet meta data without having to retrieve the full service 
Thanks for the information.



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]