Hi, Thinking about this a bit, I get quite at unease. Initially I understood ujax as a two-part protocoll: A client-side and a server-side part. The server-side part would care for accessing the storage while the client-side would care for user interaction and GUI support. This IMHO means, the protocol should be defined for "machine-machine" interaction and leave the human interface to the client-side frontend.
Looking from this position, there are the following options: * Send back success information for the client * Redirect to the input form submitting the POST * Redirect to the modified/created Resource The main issue is the question of sending back success information, because the other two cases can be handled by the ujax:redirect parameter. Now for sending this information and keeping in mind the separation of the tasks of client and server, I would just send back plain machine readable information, that is JSON (parsing HTML is error-prone at best ;-) ). Therefore, I would really like to make it as simple as possible by defining a new property ujax:response as follows and dropping ujax:redirect: ujax:response = ujax:status -> send back status info as JSON ujax:response = *[ext] -> redirect to modfied/created Resource where ext is used as the extension, default .html ujax:response = ujax:referer -> redirect to Referer: As a default (when ujax:response property is missing), I suggest to redirect to the created/modified Resource. Am Samstag, den 02.02.2008, 14:13 +0100 schrieb Tobias Bocanegra: > another thought: since the extension of a request pretty much > determines what content should be returned, i suggest to use the > extension to select the POST response: > > assume a resource at /foo/bar > > POST /foo/bar > writes back changes and redirect per default to the referrer Not sure... > POST /foo/bar.html > writes back changes and responds with the suggested HTML status response Probably might also expect to just get the modified Resource back as HTML ??? > POST /foo/bar.json > writes back changes and responds with a JSON status response (tbd) Same but as JSON ?? > > for node creation: > > POST /foo/bar/* > creates node, writes back changes and redirects to the newly created > resource (default .html ext.) > POST /foo/bar/*.html (or /foo/bar.html/*) ?? > creates node, writes back changes and responds with the HTML status response > POST /foo/bar/*.json (or /foo/bar.json/*) ?? > creates node, writes back changes and responds with the JSON status response These show exactly, the complexities of your proposal, all look bad and ugly.. Regards Felix > > things that at not very clear to be are: > - needs the creation request to be /*.html or .html/* so that the > resources .html extension mapped > servlet does not get selected? > - how can one still use a custom POST script for that resource ? maybe > the extension for the > HTML status response should be .xhtml ? > > regards, toby > > On 2/1/08, Tobias Bocanegra <[EMAIL PROTECTED]> wrote: > > hi, > > i've discussed this with david extensively and since he was the > > inventor of the ujax (former rjax) "protocol" he thinks now that the > > proposal to use the referer as default redirect is not useful. > > it was also david that proposed the html response which is of a format > > that it is human (browser response), machine (xml) and dhtml > > (javascript) readable. > > > > i think it would be great to apply the patch of SLING-213 and forget > > about the referer stuff of SLING-126. > > > > regards, toby > > > > > > On 2/1/08, Felix Meschberger <[EMAIL PROTECTED]> wrote: > > > Hi all, > > > > > > I am trying to apply the patch of SLING-213 [1], which conains a rewrite > > > of the ujax POST servlet. There is just one issue with this patch, which > > > I would like to sort out on the list. This patch changes the response > > > behaviour of the POST requests as follows: > > > > > > * The default response is a status 200 response containing a list of > > > changes in HTML > > > format > > > * Setting the ujax:redirect request parameter to "*" causes a 302 > > > (temporary redirect) > > > to the modified/created node > > > * Setting ujax:redirect to an URL causes a 302 (temporary redirect) > > > to the given URL > > > > > > This setting collides, with what was intended by SLING-126 [2], where a > > > redirect to the Referer URL was postulated. > > > > > > I would now like to resolve this issue of the response to a POST > > > request. Can you please enlighten me on that front ? > > > > > > My personal opinion would be to get redirected to the Referer by default > > > (this is the standard GUI case, probably), with an option to redirect to > > > a possibly newly created node (ujax:redirect is *) or - in the Ajax case > > > - get a machine readable response, JSON that is. > > > > > > WDYT ? > > > > > > Regards > > > Felix > > > > > > [1] http://issues.apache.org/jira/browse/SLING-213 > > > [1] http://issues.apache.org/jira/browse/SLING-126 > > > > > > > > > > > > -- > > -----------------------------------------< [EMAIL PROTECTED] >--- > > Tobias Bocanegra, Day Management AG, Barfuesserplatz 6, CH - 4001 Basel > > T +41 61 226 98 98, F +41 61 226 98 97 > > -----------------------------------------------< http://www.day.com >--- > > > >