Could you prepare both a 1 slide summary
(for use in the overview/prioritization discussion) and a discussion-oriented
slide set for each proposal?
To make sure I have a basic understanding:
1. We have had quite a bit of discussion
in the past, effort is to press toward completion
2. Goal is a Consumer moving from using
a test Producer to using the equivalent Production Producer. WSRP v2 now
supports moving the customized portlets, but if there were customized registration
properties, there is no in-protocol means for moving these.
3. How to use XHR with the WSRP protocol
has been an interesting discussion in the past. Lets make sure we fully
develop what can be done with the current protocol (i.e. primer section)
before we launch too far into extension ideas. Also, I will try and bring
a summary of what is happening in the OpenAjax discussions so that our
discussions can hopefully move toward leveraging their efforts as well.
Rich
From:
Nathan E Lipke <>
To:
wsrp <>
Date:
03/06/08 04:31 PM
Subject:
[wsrp] Extension Proposals for F2F
I would like to discuss the following proposals:
1. Finish
the Multiphase Render proposal (HEAD section markup)
2. Export
Registration Properties - Allow a complete propagation of a producer.
Currently it is not possible to recreate a producer's
registration on a different producer
Use case - Propagate a producer from staging to production
Staging Producer Setup
Register with a staging producer, with registration properties
Configure some portlets
Export from Staging
Export the the Registration Properties
Export the configured portlets
Import to Production
Register the producer, using the exported properties
Import the portlets3.
Make WSRP portlets
more XMLHttpRequest (Ajax) friendly
This is currently more of a discussion point than a set
of specific extensions
We have found issues with the following:
WSRP URLs are not rewritable
resource URLs
resource-id
wsrp-url
both
Perform Blocking Interaction
There is no way to tell the consumer to not send other
markup (other portlets and page markup)
There is no way for the consumer to tell the producer
this is an XHR request
May require different handling by the producer and/or
portlet
There is no way for the producer to determine if multiple
requests are part of a single client-consumer request
What to do when there's IPC - Should other portlets' markup
be processed
Events
Shared Parameters
Use Cases:1.
Simple Type Ahead
(no portlet state required)
The user starts type and matching words automatically
appear in the text box
E.g. Type "Co" and "Colorado" is entered
for you
The portlet sends a XHR to a resource URL
Via the wsrp-url
A GET parameter is tacked on to the URL
The response is XML or JSON which the client-script process
and places in the text box2.
Type ahead based
on a portlet's navigational state
Type "Ha" and "Hamburger" appear in
box (based on a previously entered value)
The portlet sends a XHR to a resource URL
Via resource id
A Get parameter is tacked on to the URL
The response is XML or JSON which the client-script process
and places in the text box3.
Wizard Style Forms
The user enters form values and presses "Next",
the next page of the wizard appears
The portlet sends a XHR to a performBlockingInteraction
URL
Parameters may be
GET parameters tacked on the URL
POST parameters in the stream
The portlet saves its navigational state to include the
new parameters and its place in the form
The response is HTML which the client uses DOM manipulation
to update the page
div.innerHTML = request.responseText
On a page refresh the portlet will return the HTML (via
getMarkup) with user on the same page and previously submitted values
are accounted for4.
Table Manipulation
The user adds rows to a table, the page keeps track of
the: sum, user average and company average
The user enters a number and presses "Add"
The table updates displaying a row for the new number
and updates the sum and averages
A parameter may be
a GET parameter tacked on the URL
a POST parameter in the stream
The portlet saves its navigational state to include the
value
The portlet calculates the sum and averages and returns
their values as JSON or XML
The response is JSON or XML which the client uses DOM
manipulation to update
data = "eval("("" + request.responseText +
")")
sumNode.innerHTML = "<b>" + data.sum + "</b>"
userAvgNode.innerHTML = "<b>" + data.userAvg + "</b>"
companyAvgNode.innerHTML = "<b>" + data.companyAvg + "</b>"
On a page refresh the portlet will return the HTML (via
getMarkup) with the user's data and the current sums and averages
Notice: This email message, together with any attachments, may contain
information of BEA Systems, Inc., its subsidiaries and affiliated entities,
that may be confidential, proprietary, copyrighted and/or legally privileged,
and is intended solely for the use of the individual or entity named in
this message. If you are not the intended recipient, and have received
this message in error, please immediately return this by email and then
delete it.