Return-Path: Delivered-To: apmail-incubator-couchdb-user-archive@locus.apache.org Received: (qmail 64483 invoked from network); 14 Nov 2008 21:57:01 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 14 Nov 2008 21:57:01 -0000 Received: (qmail 15089 invoked by uid 500); 14 Nov 2008 21:57:07 -0000 Delivered-To: apmail-incubator-couchdb-user-archive@incubator.apache.org Received: (qmail 15059 invoked by uid 500); 14 Nov 2008 21:57:07 -0000 Mailing-List: contact couchdb-user-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: couchdb-user@incubator.apache.org Delivered-To: mailing list couchdb-user@incubator.apache.org Received: (qmail 15048 invoked by uid 99); 14 Nov 2008 21:57:07 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 14 Nov 2008 13:57:07 -0800 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of antony.blakey@gmail.com designates 209.85.198.244 as permitted sender) Received: from [209.85.198.244] (HELO rv-out-0708.google.com) (209.85.198.244) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 14 Nov 2008 21:55:46 +0000 Received: by rv-out-0708.google.com with SMTP id k29so1827108rvb.0 for ; Fri, 14 Nov 2008 13:56:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:from:to :in-reply-to:content-type:content-transfer-encoding:mime-version :subject:date:references:x-mailer; bh=wUhHANXeD2KIdGkp/GOlcZgKgzXCFFTQlIw9eQIWN7Q=; b=AzOXvqIbGr39J9pvGxLFeo2YEYgagRIeQXTReXvK/zCXpgUeY+sIoYjaKoN8malOk7 TC4rCw/0zkjcQ3+XCXCSwhZjX/UtJcb9uQyUgYwv+jh3rPHiKFXkldjncnFIiGUGmfBN laai0HT7s0mUmSRTTzpq1N3lQc7BIa8nOn39I= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:from:to:in-reply-to:content-type :content-transfer-encoding:mime-version:subject:date:references :x-mailer; b=c5aI8hqT7fSEQPOMUxO4Bktca7zKv20CUJbS20kbUJhp6QzeF8vRaQ+3Vbj8K7z5sg 5/mdQTX7t43cGB3pLPIYa25eS3YEp681fQWhPibmDMmsoYepxVpqCS+9NAWgmx50inUY 906esqXVLtlNgT9a57bGl68hbmrPgzGhQAkyI= Received: by 10.141.137.16 with SMTP id p16mr780850rvn.180.1226699780039; Fri, 14 Nov 2008 13:56:20 -0800 (PST) Received: from ?192.168.0.16? (ppp121-45-41-103.lns10.adl2.internode.on.net [121.45.41.103]) by mx.google.com with ESMTPS id g31sm2730866rvb.7.2008.11.14.13.56.17 (version=TLSv1/SSLv3 cipher=RC4-MD5); Fri, 14 Nov 2008 13:56:19 -0800 (PST) Message-Id: From: Antony Blakey To: couchdb-user@incubator.apache.org In-Reply-To: Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v929.2) Subject: Re: Document Updates Date: Sat, 15 Nov 2008 08:26:14 +1030 References: <27d8d0930811130840t47269d91o9539fae200bcd380@mail.gmail.com> <20081113220313.GG15315@tumbolia.org> <20081113233718.GI15315@tumbolia.org> <20081114040241.GJ15315@tumbolia.org> <20081114115348.GA24001@tumbolia.org> X-Mailer: Apple Mail (2.929.2) X-Virus-Checked: Checked by ClamAV on apache.org On 15/11/2008, at 4:10 AM, Chris Anderson wrote: > But I've been thinking about this as well. If we were to attack this > problem of "High REST" head-on, I think the appropriate course would > be to define a media type application/couch+json or something. The > media type's definition would explain how to get from "id" params to > document URIs, etc. I think some equivalent to base-uri would be needed to avoid the definition of the media type including requirements on the URL structure of the server. Either that of the document would include the resource URL. A landing page with URLs for the design documents would also be needed. View definitions would need a unique media type because currently their meaning is dependent on their location. But maybe I'm misunderstanding REST. So easy. > Doing that is all it would take to be (mostly) > RESTful. I think the existence of _bulk_docs POST doesn't break > RESTfulness, either. There's no law that says a system can't define > RESTful resources alongside RPC endpoints. Agreed, but IMO Couch shouldn't claim to be at all RESTful if it doesn't meet the criteria. It might be REST-like. If some parts are RESTful and others not, then the claim should be that it includes some RESTful interfaces. It might seem nitpicking, but the definition of REST is voided when things claim to be RESTful that in fact aren't, and it's rarely used correctly. I'm not even sure what conformance looks like. > I'm not sure how meditating on the Zen of REST will help us get > json-diffs right, but it sure can't hurt. Sorry, I distracted the discussion when I mentioned _bulk_docs. I would start working on an implementation of the apply-end of my diff proposal, but I don't want to waste time if the powers-that-be don't think it's the right way to go. Antony Blakey ------------- CTO, Linkuistics Pty Ltd Ph: 0438 840 787 Some defeats are instalments to victory. -- Jacob Riis