Re: Discussion needed on submission verb (method)

Hi Erik,

I admit I became disenchanted with 'verb' when I could not find a 
reasonable reference to cite.  I think we should keep pulling on your 
proposal.

The proposal to just add anything we like to method was considered, but 
where we had grief is that it became impossible to determine what the 
serialization should be.  The pre-defined method settings in XForms 1.0 
each have a corresponding serialization, such as tag-value pairs or XML.

At the time, we were not thinking in terms of making the default of one 
attribute be based on the value of another attribute, so we did not think 
of having a serialization attribute that defined the serialization format 
and that defaulted to XML usually but to tag-value pairs in a few special 
cases, like urlencoded-post and get, for example.

We have now accepted the kind of defaulting needed on validate and 
relevant (e.g. they default to whatever serialize says).  So I think we 
can dump verb, use method, and add a serialization attribute instead.

In fact, I think we could dump 'serialize' and instead have 
serialization="" mean don't serialize.

Cheers,
John M. Boyer, Ph.D.
STSM: Lotus Forms Architect and Researcher
Chair, W3C Forms Working Group
Workplace, Portal and Collaboration Software
IBM Victoria Software Lab
E-Mail: boyerj@ca.ibm.com 

Blog: http://www.ibm.com/developerworks/blogs/page/JohnBoyer





Erik Bruchez <ebruchez@orbeon.com> 
Sent by: public-forms-request@w3.org
07/13/2007 03:58 AM
Please respond to
ebruchez@orbeon.com


To
public-forms@w3.org
cc

Subject
Re: Discussion needed on submission verb (method)







All,

I understand John's argument that:

1.  We had reasonably good reasons at the Venice f2f to try to find a
     term different from "method", and we chose "verb". Note that I was
     one of the people (maybe the only one?) that were unconvinced, and
     I still am, in spite of the chair's reluctance to reopen the
     debate on this.

2. The LC comment doesn't really question the use of the term "verb",
    but asks for a clarification of it.

"Still..." is going to be the term of the day for me ;-)

My guess is that we got to using "verb" because "get", "put", "post",
"delete" are actually verbs in English grammar. People also use the
term "verb" in other circumstances, like talking about "CRUD
verbs". Note that there is an exception in HTTP: the method "OPTIONS",
which is not an English verb. So while "verb" works well for most HTTP
methods and WebDAV methods, it is not appropriate in just one case.

It also seems that we are trying to abstract from a collection of
protocols of size one, namely containing only HTTP. Do we have at
least one other example of protocol where a "verb" would not translate
into an HTTP method?

I appreciate the idea of being abstract. But HTTP is the protocol for
the web, it's not going anywhere anytime soon. Maybe all protocols are
equal, but HTTP is more equal than others. It's the one I use 99% of
the time with XForms.

Other protocols like "file" and "mailto" are used, but they don't need
methods, verbs or headers. They are much simpler than HTTP, and less
commonly used.

If I am submitting to HTTP, as a form author, I very much want to use
concrete terms with which I am familiar. In particular, method,
headers, status code, etc. I don't think it is necessary to learn
another terminology.

All in all, I still have strong feelings against the use of "verb". It
seems like namespace pollution to me, in that we are adding new, and
arguably uncommon terminology for unconvincing reasons.

I realize that I am not resolving the core issue here, which is that
we have an unfortunate legacy with the XForms 1.0 @method attribute,
which is "abstract".

So what about a little proposal, just to show that it is possible to
have another solution, better or not:

1. We decide that XForms will not add new qname-but-not-ncname values
    (i.e. values without a namespace prefix) for the @method attribute
    besides "multipart-post", "form-data-post", and "urlencoded-post".

    If XForms wants to define new methods, then they will have to be
    prefixed, for example:

      method="xforms:foo"

2. Values of @method which are are qname-but-not-ncname and not
    directly recognized by XForms 1.1 work like our new @verb and
    <verb> attribute and element. So you can now write:

      method="PROPFIND"

    or:

      method="POST"

Just food for thoughts before the weekend.

-Erik

John Boyer wrote:
 >
 > Hello everyone,
 >
 > Please discuss the following issue on the list this week:
 >
 > 
http://htmlwg.mn.aptest.com/cgi-bin/xforms-issues/Submission?id=103;user=guest;statetype=4;upostype=-1;changetype=-1;restype=-1 


 >
 >
 > Please see the notes I put into place.
 >
 > The idea at the time this was resolved (in Venice, I believe) was for
 > submission's @method to be an abstraction that controlled things like
 > how to serialize.
 >
 > We then decided to use the term 'verb' to allow finer grain control 
over
 > the exact operation to be requested by a submission.  The http binding
 > for the verb is that it sets the string that is referred to in RFC 2616
 > as the 'method' but which has with some frequency also been called the
 > HTTP Verb.
 >
 > If we renamed the 'verb' attribute/element pair to instead be 'method'
 > we would have the problem that it would conflict with the @method
 > attribute we already have.  So, you would be setting the abstract
 > 'method' to virtually any string, making it impossible for us to define
 > the serialization.
 >
 > So, doing the chair thing here, I would suggest that the working group
 > already considered the name 'method' and rejected it, instead resolving
 > to use the name verb for the above reasons.
 >
 > The last call issue does ask for a clearer definition of what the verb
 > is.  I think the LC comment is fishing for us to say that it connects 
to
 > the HTTP method from RFC 2616, but we cannot come out and say that
 > because we want submission to be useful for protocols other than http.
 >  I think the best we can say is:
 >
 > The <term>submission verb</term> provides the operation being requested
 > of the server by the submission.  For example, the submission verb sets
 > the 'method' component of the HTTP protocol [RFC 2616].
 >
 > Best regards,
 > John Boyer


-- 
Orbeon Forms - Web Forms for the Enterprise Done the Right Way
http://www.orbeon.com/

Received on Friday, 13 July 2007 17:14:36 UTC