gavel-team team mailing list archive
-
gavel-team team
-
Mailing list archive
-
Message #00031
Re: (no subject)
On Wed, 7 Apr 2010 10:54:35 -0600
Joshua Gardner <mellowcellofellow@xxxxxxxxx> wrote:
> I'm having second thoughts about using REST as an architecture for
> Gavel, and here's why: not enough verbs.
>
> While there are more HTTP verbs, the ones that REST normally uses, and
> piston is set up by default for, are GET (Read without modifying),
> POST (create a new item), PUT (modify an existing item), and DELETE
> (remove an existing item). Like I said, there are others. The as-yet
> unstandardized PATCH looks promising, use it mean Amend in parli-pro
> speak.
>
> But I'm not sure even that's enough. In parliamentary procedure, a
> motion is both a noun and a verb. The language of a motion is verbal,
> it specifies something that the body will do. Resolutions are also
> verbal. Only debate includes purely factual data, and even then it's
> generally structured in a persuasive argument. But at the same time
> that a motion or a resolution is verbal, it is also a noun that can be
> acted upon, using other motions.
>
> So, a motion is itself a verb, and a noun. Of course, what a motion
> actually does is outside of the Gavel software, so we can treat a
> motion as purely a noun. But that's just main motions. An amendment is
> a noun, but its purpose is to amend (verb) a motion, even another
> amendment.
>
> So, I'm just wondering if that can be squeezed into a RESTful API.
> Naturally, if amend is a verb on a motion, the syntax should be
> motion.amend("Text of amendment"). Attached (amendment.py) is an
> example of how it might work.
>
> I'm sure we can make this work, just not sure if REST fits, unless we
> can find enough HTTP verbs to get the job done. We could easily switch
> to JSON-RPC (which fits nicely with Pyjamas anyway) and then have all
> the verbs we could ever want.
>
> -Josh
>
>
I've made some changes to amendment.py and pushed it to
lp:~cellofellow/gavel/ideas.
References