Return-Path: X-Original-To: apmail-couchdb-user-archive@www.apache.org Delivered-To: apmail-couchdb-user-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 6C9BE14A1 for ; Wed, 20 Apr 2011 19:44:21 +0000 (UTC) Received: (qmail 60352 invoked by uid 500); 20 Apr 2011 19:16:20 -0000 Delivered-To: apmail-couchdb-user-archive@couchdb.apache.org Received: (qmail 60225 invoked by uid 500); 20 Apr 2011 19:16:20 -0000 Mailing-List: contact user-help@couchdb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@couchdb.apache.org Delivered-To: mailing list user@couchdb.apache.org Received: (qmail 60217 invoked by uid 99); 20 Apr 2011 19:16:20 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 20 Apr 2011 19:16:20 +0000 X-ASF-Spam-Status: No, hits=0.0 required=5.0 tests=FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,RFC_ABUSE_POST,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of paul.joseph.davis@gmail.com designates 209.85.220.180 as permitted sender) Received: from [209.85.220.180] (HELO mail-vx0-f180.google.com) (209.85.220.180) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 20 Apr 2011 19:16:14 +0000 Received: by vxk12 with SMTP id 12so1213853vxk.11 for ; Wed, 20 Apr 2011 12:15:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:in-reply-to:references:from:date :message-id:subject:to:content-type:content-transfer-encoding; bh=rOMwiiDYmJczRtprx8y//xhUK6rVJUa1hExcFYK+w7c=; b=Aedvhkm07O/rVOggcBF1sQPxoimvoIkcq0sXAaGBtNGAeEOD0txCEKHJgrgoHR3MWj X+cNVquDBeFoQA7qJ9aw6o1wg/kAwVRwlVF6YCYeQf4YUHejsDbQ9EUAdqhvEA8LAvEE bam4RkABFVSKYMQWhnkN+YbgUCkkVnmoNHpqA= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type:content-transfer-encoding; b=EpC6DrPLNCemkahF9cUA2MO/x6QnL/RUP6xM2XTGsAwbRMaXztbxqYCFLYv29kj09V TfpTyyU6dXYe9d610CJhi8kOFKphvkPQZWeMPgzgvXmuYxSzii5qiQkeOSHhoP73FADI og1Qp4eWujnzZywFCjbJxraqPbnKmqGzHlehY= Received: by 10.52.107.195 with SMTP id he3mr1136500vdb.12.1303326953117; Wed, 20 Apr 2011 12:15:53 -0700 (PDT) MIME-Version: 1.0 Received: by 10.52.164.232 with HTTP; Wed, 20 Apr 2011 12:15:13 -0700 (PDT) In-Reply-To: <1303324273.25024.1301.camel@dynamo> References: <1303324273.25024.1301.camel@dynamo> From: Paul Davis Date: Wed, 20 Apr 2011 15:15:13 -0400 Message-ID: Subject: Re: JSON-Patch To: user@couchdb.apache.org Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable X-Virus-Checked: Checked by ClamAV on apache.org On Wed, Apr 20, 2011 at 2:31 PM, Paul C. Bryan w= rote: > I just posted an informational Internet-Draft regarding a JSON media > type to support HTTP PATCH partial modifications=97something I've desired > in CouchDB for a while, since this thread: > http://web.archiveorange.com/archive/v/pNInH33bynEnhjlOlX5f > > http://tools.ietf.org/html/draft-pbryan-json-patch-00 > > Any feedback would be appreciated. > > Paul > Cool work. Though I would argue against relying on JSONPath in the spec, because JSONPath has no spec itself. I did a fairly similar thing to this but instead of using paths I added operations for moving around the JSON object. There's code for it in a Python package [1] that I'll try and remember to move to github later tonight. Also, I would remove all wording about HTTP from the specification. Just because CouchDB might use the HTTP PATCH verb to apply JSON diffs doesn't mean the diff format should be aware that HTTP even exists. That's be like saying that unified diff's are only valid when applied over email or something. [1] http://pypi.python.org/pypi/jsontools/0.1