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

 


Help: OASIS Mailing Lists Help | MarkMail Help

wsrp message

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


Subject: [no subject]


This idea however is not expressed strongly in the spec, which causes
some confusion. Below is a list of questions:

=20

1.	HandleEventResponse and BlockingInteractionResponse are
identical, but defined as two distinct types, why is this?

=20

2.	According to paragraph 6.4.2.1 Event Handling, the Consumer may
invoke handleEvent() on different Portlets simultaneously. But if the
event handling has the same Producer-side semantics as processing user
interaction, all the restrictions described in paragraph 6.4.1 must be
applicable as well. Which means that all the operations on the page must
be blocked until handleEvent() either returns or fails.

=20

3.	What if HandleEventResponse contains events? Must they be
processed by the Consumer?=20
	Let's consider a Consumer processing a page which contains two
portlets: P1 and P2.

	a.	Consumer calls P1.performBlockingInteraction(), and gets
event E1
	b.	Consumer propagates the event to the Portlets:

                                                               i.
Question: should the consumer invoke P1.handleEvent(E1)? I guess no...

                                                             ii.
Consumer calls P2.handleEvent(E1) and gets another event E2 in the
response.

                                                            iii.
Must the Consumer call P1.handleEvent(E2)? If yes, there could be an
endless loop; if no, the HandleEventResponse should not contain
events...

=20

Regards,

Artem

Artem Spector | Portal Platform Infrastructure | NetWeaver Application
Platform | SAP Labs Israel| (+972-9) 7779567

=20


------_=_NextPart_001_01C52272.10C7675B
Content-Type: text/html;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" =
xmlns:o=3D"urn:schemas-microsoft-com:office:office" =
xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns=3D"http://www.w3.org/TR/REC-html40";>

<head>
<meta http-equiv=3DContent-Type content=3D"text/html; =
charset=3Dus-ascii">
<meta name=3DGenerator content=3D"Microsoft Word 11 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
	{font-family:Verdana;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman";}
a:link, span.MsoHyperlink
	{color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{color:#606420;
	text-decoration:underline;}
p
	{mso-margin-top-alt:auto;
	margin-right:0cm;
	mso-margin-bottom-alt:auto;
	margin-left:0cm;
	font-size:12.0pt;
	font-family:"Times New Roman";}
tt
	{font-family:"Courier New";}
span.EmailStyle19
	{mso-style-type:personal-reply;
	font-family:Arial;
	color:navy;}
@page Section1
	{size:612.0pt 792.0pt;
	margin:72.0pt 90.0pt 72.0pt 90.0pt;}
div.Section1
	{page:Section1;}
 /* List Definitions */
 @list l0
	{mso-list-id:1627083142;
	mso-list-type:hybrid;
	mso-list-template-ids:-554532962 67698703 67698713 67698715 67698703 =
67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
	{mso-level-tab-stop:36.0pt;
	mso-level-number-position:left;
	text-indent:-18.0pt;}
@list l0:level2
	{mso-level-number-format:alpha-lower;
	mso-level-tab-stop:72.0pt;
	mso-level-number-position:left;
	text-indent:-18.0pt;}
@list l0:level3
	{mso-level-number-format:roman-lower;
	mso-level-tab-stop:108.0pt;
	mso-level-number-position:right;
	text-indent:-9.0pt;}
ol
	{margin-bottom:0cm;}
ul
	{margin-bottom:0cm;}
-->
</style>

</head>

<body lang=3DEN-US link=3Dblue vlink=3D"#606420">

<div class=3DSection1>

<p class=3DMsoNormal style=3D'margin-left:18.0pt'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'><o:p>&nbsp;</o:p></span></fo=
nt></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>From the Producer point of view, handling the user
interactions and the events are very similar tasks. The spec describes =
an
interaction as an &#8220;encodable event&#8221; (6.4.2), which points =
out that interactions
and events are just two different ways to invoke the same Portlet =
logic.<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>This idea however is not expressed strongly in the =
spec,
which causes some confusion. Below is a list of =
questions:<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:18.0pt'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'><o:p>&nbsp;</o:p></span></fo=
nt></p>

<ol style=3D'margin-top:0cm' start=3D1 type=3D1>
 <li class=3DMsoNormal style=3D'mso-list:l0 level1 lfo1'><font size=3D2 =
face=3DArial><span
     style=3D'font-size:10.0pt;font-family:Arial'>HandleEventResponse =
and
     BlockingInteractionResponse are identical, but defined as two =
distinct
     types, why is this?<o:p></o:p></span></font></li>
</ol>

<p class=3DMsoNormal style=3D'margin-left:18.0pt'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'><o:p>&nbsp;</o:p></span></fo=
nt></p>

<ol style=3D'margin-top:0cm' start=3D2 type=3D1>
 <li class=3DMsoNormal style=3D'mso-list:l0 level1 lfo1'><font size=3D2 =
face=3DArial><span
     style=3D'font-size:10.0pt;font-family:Arial'>According to paragraph =
6.4.2.1
     Event Handling, the Consumer may invoke handleEvent() on different =
Portlets
     simultaneously. But if the event handling has the same =
Producer-side
     semantics as processing user interaction, all the restrictions =
described
     in paragraph 6.4.1 must be applicable as well. Which means that all =
the
     operations on the page must be blocked until handleEvent() either =
returns
     or fails.<o:p></o:p></span></font></li>
</ol>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<ol style=3D'margin-top:0cm' start=3D3 type=3D1>
 <li class=3DMsoNormal style=3D'mso-list:l0 level1 lfo1'><font size=3D2 =
face=3DArial><span
     style=3D'font-size:10.0pt;font-family:Arial'>What if =
HandleEventResponse
     contains events? Must they be processed by the Consumer? <br>
     Let&#8217;s consider a Consumer processing a page which contains =
two
     portlets: P1 and P2.<o:p></o:p></span></font></li>
 <ol style=3D'margin-top:0cm' start=3D1 type=3Da>
  <li class=3DMsoNormal style=3D'mso-list:l0 level2 lfo1'><font size=3D2 =
face=3DArial><span
      style=3D'font-size:10.0pt;font-family:Arial'>Consumer calls =
P1.performBlockingInteraction(),
      and gets event E1<o:p></o:p></span></font></li>
  <li class=3DMsoNormal style=3D'mso-list:l0 level2 lfo1'><font size=3D2 =
face=3DArial><span
      style=3D'font-size:10.0pt;font-family:Arial'>Consumer propagates =
the event
      to the Portlets:<o:p></o:p></span></font></li>
 </ol>
</ol>

<p class=3DMsoNormal =
style=3D'margin-left:108.0pt;text-indent:-108.0pt;mso-text-indent-alt:
-9.0pt;mso-list:l0 level3 lfo1'><![if !supportLists]><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'><span =
style=3D'mso-list:Ignore'><font
size=3D1 face=3D"Times New Roman"><span style=3D'font:7.0pt "Times New =
Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;
</span></font>i.<font size=3D1 face=3D"Times New Roman"><span =
style=3D'font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font></span></span></font><![endif]><span dir=3DLTR><font =
size=3D2
face=3DArial><span =
style=3D'font-size:10.0pt;font-family:Arial'>Question: should
the consumer invoke P1.handleEvent(E1)? I guess =
no&#8230;<o:p></o:p></span></font></span></p>

<p class=3DMsoNormal =
style=3D'margin-left:108.0pt;text-indent:-108.0pt;mso-text-indent-alt:
-9.0pt;mso-list:l0 level3 lfo1'><![if !supportLists]><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'><span =
style=3D'mso-list:Ignore'><font
size=3D1 face=3D"Times New Roman"><span style=3D'font:7.0pt "Times New =
Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;
</span></font>ii.<font size=3D1 face=3D"Times New Roman"><span =
style=3D'font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font></span></span></font><![endif]><span dir=3DLTR><font =
size=3D2
face=3DArial><span style=3D'font-size:10.0pt;font-family:Arial'>Consumer =
calls P2.handleEvent(E1)
and gets another event E2 in the =
response.<o:p></o:p></span></font></span></p>

<p class=3DMsoNormal =
style=3D'margin-left:108.0pt;text-indent:-108.0pt;mso-text-indent-alt:
-9.0pt;mso-list:l0 level3 lfo1'><![if !supportLists]><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'><span =
style=3D'mso-list:Ignore'><font
size=3D1 face=3D"Times New Roman"><span style=3D'font:7.0pt "Times New =
Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font>iii.<font size=3D1 face=3D"Times New Roman"><span =
style=3D'font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font></span></span></font><![endif]><span dir=3DLTR><font =
size=3D2
face=3DArial><span style=3D'font-size:10.0pt;font-family:Arial'>Must the =
Consumer
call P1.handleEvent(E2)? If yes, there could be an endless loop; if no, =
the
HandleEventResponse should not contain =
events&#8230;<o:p></o:p></span></font></span></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>Regards,<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>Artem<o:p></o:p></span></font></p>

<p class=3DMsoNormal =
style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><strong><b><=
font
size=3D1 color=3D"#999999" face=3DVerdana><span =
style=3D'font-size:7.5pt;font-family:
Verdana;color:#999999'>Artem Spector</span></font></b></strong><font =
size=3D1
color=3D"#999999" face=3DVerdana><span =
style=3D'font-size:7.5pt;font-family:Verdana;
color:#999999'>&nbsp;| Portal
Platform&nbsp;Infrastructure&nbsp;|&nbsp;NetWeaver Application =
Platform&nbsp;|
SAP Labs Israel|&nbsp;(+972-9) 7779567</span></font><o:p></o:p></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

</div>

</body>

</html>

------_=_NextPart_001_01C52272.10C7675B--


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