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

 


Help: OASIS Mailing Lists Help | MarkMail Help

wsrp-interop message

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


Subject: RE: [wsrp-interop] cloneBeforeWrite when using ProducerOfferedPortlets


Title: RE: [wsrp-interop] cloneBeforeWrite when using ProducerOfferedPortlets

A producer could implement its own persistence without any WSRP cloning at all (e.g. using the user context info provided to key into a database) so I would not call this a "bug". However, I agree a careful consumer would only touch POPs using cloneBeforeWrite.

On the second topic:
If hasUserSpecificState is true then the producer must support the clone() operation
else [hasUserSpecificState is false] then the normal use case should be to access via cloneBeforeWrite. So we say nothing about whether a portlet/POP can be cloned or not.

e.g. it may be ok to clone() a POP but not ok to clone() the clone. [Remember that the two share a portletDescription and portlet sessions are not cloned.] The only way to find out is to call clone() at runtime.

But we could add a SHOULD rule for POPs: A POP is always clone()-able if the producer implements the portletManagement factor. The producer could just return the POP's handle from clone() if clones are never required.

regards,
Andre

-----Original Message-----
From: Michael Freedman [mailto:Michael.Freedman@oracle.com]
Sent: 02 July 2003 00:27
To: Richard Jacob
Cc: wsrp-interop@lists.oasis-open.org
Subject: Re: [wsrp-interop] cloneBeforeWrite when using
ProducerOfferedPortlets


Richard,
    Given the various replies to this do you now agree that your
Consumer contains a "bug" in that a POP can only write state if its
cloned and it can only clone if InteractionParams.stateChange =
cloneOnWrite?
I.e. the fault will be thrown if either a readOnly is sent and you need
to write or the entity is a POP and cloneOnWrite isn't sent.

As for interpreting hasUserSpecificState, pelase see/comment on my other
e-mail.  I don't want this to mean consumer must clone rather I want
this to mean the portlet supports cloning.  Currently the spec provides
no way for a consumer to determine if a portlet supports cloning.  It
can only determine if a producer does -- hence can only detect the
situation that no portlets support cloning.
     -Mike-

Richard Jacob wrote:

>Hi,
>
>the Oracle producer throws a StateChangeRequiredFault if our consumer uses
>a producer offered portlet (POP) and wants to change the persistent state
>in edit mode of portlet E:0:default for example.
>We have the InteractionParams.stateChange set to "readwrite" allowing the
>producer to write.
>
>I think the flag hasUserSpecificState in PortletDescription encourages the
>consumer to clone, but it is not required to clone.
>I think if a consumer using a POP allows the portlet to change its state,
>the producer should perform a clone before write here.
>The spec says for the PortletStateChangeRequiredFault:  Used when a Portlet
>needs to modify its persistent state, but has been prevented from doing so.
>So my understanding is that this fault should only be thrown if the
>consumer indicates "readonly" to the portlet but the portlet needs to
>change its persistent state on an action.
>
>If we interpreted the flag hasUserSpecificState=true as the requirement to
>clone, producers not exposing the PortletManagement interface could never
>have portlets that change their persistent state.
>
>What do people think?
>
>Mit freundlichen Gruessen / best regards,
>
>        Richard Jacob
>______________________________________________________
>IBM Lab Boeblingen, Germany
>Dept.8288, WebSphere Portal Server Development
>Phone: ++49 7031 16-3469  -  Fax: ++49 7031 16-4888
>Email: mailto:richard.jacob@de.ibm.com
>
>
>You may leave a Technical Committee at any time by visiting http://www.oasis-open.org/apps/org/workgroup/wsrp-interop/members/leave_workgroup.php

>

>



You may leave a Technical Committee at any time by visiting http://www.oasis-open.org/apps/org/workgroup/wsrp-interop/members/leave_workgroup.php



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