On Wed, 7 Apr 2010 10:54:35 -0600 Joshua Gardner <mellowcellofel...@gmail.com> 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. _______________________________________________ Mailing list: https://launchpad.net/~gavel-team Post to : gavel-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~gavel-team More help : https://help.launchpad.net/ListHelp