XForms should support PUT

I would just like to add my voice to those who are concerned about 
supporting the PUT method in XForms. This seems like a natural interaction 
with a DAV server, and could be particularly useful with one that also 
supported DeltaV since it would allow versioning of the form instance data.

I think it would be beyond the scope of the specification to define exactly 
how the interaction between an XForms client and a DAV server (or an HTTP 
server with PUT support) worked. That is already defined well enough in the 
HTTP and DAV specifications. The only changes I would envision for the 
XForms specification would be:

   Section 3.6 - Add "put" as a supported method of submitInfo (the default 
would remain "post").

   Section 4.4.1 - Reword options 4 and 5 as follows:

-------------

     4. Instance data is delivered over the network using the network 
protocol indicated by element submitInfo attribute method.
         Note:
         The HTTP "get" protocol is deprecated for use in form submission. 
Form authors should use "post" for greater compatibility, or "put" if the 
functionality of that method is desired and supported by the server.

     5. The response returned from the submission is applied as follows: if 
element submitInfo attribute method has the value of "put", the entire 
containing document is replaced and no checking of attribute replace is 
done. if element submitInfo attribute replace has the value of "all", the 
entire containing document is replaced. If the attribute value is 
"instance", the response is parsed as XML and the internal instance data is 
replaced with the result, using the same processing as remote instance data 
retrieved through xlink:href, and the xforms:initialize event is dispatched 
to element model. Behaviors of other possible values for attribute replace 
are not defined in this specification.

         Under no circumstances may more than a single concurrent submit 
process be under way for a particular XForms Model.

----------

The reason I am suggesting a restriction on the "replace" attribute when 
doing a PUT is simplicity. Although it may be possible to imagine a 
mechanism whereby a "diff" of the XML document could be generated and 
applied to an existing XML document, I believe that such a feature would 
introduce a host of complications with potential impact on the XForms spec 
that would not be appropriate to consider at this point. If anyone really 
wanted such a thing, it could be considered for a revised spec sometime in 
the future. However, given the lack of definition in the HTTP and DAV 
specifications for partial replacement of documents, I personally doubt 
there would ever be a need.

Thanks for considering these changes.

Received on Friday, 25 January 2002 14:12:59 UTC