[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Event distribution question
Under the section that describes the "Three-step Protocol" (sorry - no page numbers again), there is a conformance statement requiring that consumers MUST NOT begin gathering the markup until it considers that all portlets to have finished the event distribution step. I remember the background on this statement, but need some clarification on how to interpret this in the context of a specific implementation scenario. Here is my use case: - Consumer is rendering a portlet in a different browser request, either by using an iframe, or through some DOM manipulation via Ajax. - Portlet has an action URL. - Portlet fires an event during this action processing. This event can only be handled by some other portlet. - Consumer looks at the events, but since it is not rendering other portlets during the same user request, decides to batch the event for a future delivery. When the user requests the aggregated page sometime later or when the target portlet is being rendered via another request, the consumer decides to dispatch the batched event to that portlet, and render those. This flow also ties into the use cases I brought up for using Ajax in portlets. I can hear arguments that this opens up state management issues, but I would argue that this is a consumer's issue and the spec should not care whether the aggregation is done in the same request or across several requests. I can see two possible interpretations of the statement, one of which makes the above scenario not comply to the spec. 1. Consumer considers that there is only one portlet being processed in the current request, and decides that event distribution is over. Here "all" implies just one portlet, and hence is complying to the spec. 2. Consumer is rendering a portlet before dispatching the event, and hence is violating this conformance statement. What do others think? Regards, Subbu
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]