[Zope-dev] Request typing (to get the xmlrpc layer discussion
finished)
Stephan Richter
srichter at cosmos.phy.tufts.edu
Tue Dec 18 11:32:01 EST 2007
On Monday 17 December 2007, Christian Zagrodnick wrote:
> a couple of weeks ago there was some discussion about the skin/layer
> support for XML-RPC which I implemented without asking (shame on me).
> As some time has passed now everybody could have some fresh thoughts
> about it.
Since the original implementation and discussion, I had a lot more time to
discuss this proposal with Roger (who was heavily in favor of it), think
about it, and work on other HTTP-based protocols.
Thus, I am now in favor of a solution. It is good that you laid out the
implementation details as well.
> Let me first summarise:
>
> * Skin and layers should be seen as typing the request.
Well, that's what they actually do.
> * There are no general objections against having layers for XML-RPC.
I think there were pretty strong objections to layers for XML-RPC and all
other non-browser HTTP requests.
> * There are objections against using ++skin++ for XML-RPC, ++api++
> would be fine.
I think I was against anything typing non-browser related.
> Therefore we propose to:
>
> * Create in zope.publisher.interfaces:
>
> class IRequestType(zope.interface.interfaces.IInterface):
> pass
This is good.
> * Rename IXMLRPCSkinType to IXMLRPCAPIType(IRequestType) and create a
> traverser ++api++ for IXMLRPCApiType.
This would not fulfill the use case that Fred brought up in his response to
the proposal. I really like his points and his historical considerations.
I think, it would be ideal to have one way to specify the request type, maybe
through ++type++. If, for legacy reasons, ++skin++ is easier to use, then
that's fine with me too.
Let's widen our considerations to JSON and REST as well.
What do others think?
> * Use IRequestType as new base of IBrowserSkinType (instead of IInterface).
Okay.
> * Do *not* provide any traverser for IRequestType since the traversers
> should be close to the “channel†so it is easy to understand what is
> happening. If the traverser name is too far fetched we end in confusion
> like with skin for xmlrpc.
Right, this is very important. The same rule should apply for IBrowserRequest;
see the other discussion thread of this mail.
Regards,
Stephan
--
Stephan Richter
CBU Physics & Chemistry (B.S.) / Tufts Physics (Ph.D. student)
Web2k - Web Software Design, Development and Training
More information about the Zope-Dev
mailing list