Return-Path: X-Original-To: apmail-jackrabbit-oak-dev-archive@minotaur.apache.org Delivered-To: apmail-jackrabbit-oak-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 45BCA9C71 for ; Tue, 20 Mar 2012 17:54:23 +0000 (UTC) Received: (qmail 77258 invoked by uid 500); 20 Mar 2012 17:54:23 -0000 Delivered-To: apmail-jackrabbit-oak-dev-archive@jackrabbit.apache.org Received: (qmail 77235 invoked by uid 500); 20 Mar 2012 17:54:23 -0000 Mailing-List: contact oak-dev-help@jackrabbit.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: oak-dev@jackrabbit.apache.org Delivered-To: mailing list oak-dev@jackrabbit.apache.org Received: (qmail 77224 invoked by uid 99); 20 Mar 2012 17:54:23 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 20 Mar 2012 17:54:23 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=5.0 tests=RCVD_IN_DNSWL_NONE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of julian.reschke@gmx.de designates 213.165.64.23 as permitted sender) Received: from [213.165.64.23] (HELO mailout-de.gmx.net) (213.165.64.23) by apache.org (qpsmtpd/0.29) with SMTP; Tue, 20 Mar 2012 17:54:16 +0000 Received: (qmail invoked by alias); 20 Mar 2012 17:53:55 -0000 Received: from mail.greenbytes.de (EHLO [192.168.1.140]) [217.91.35.233] by mail.gmx.net (mp035) with SMTP; 20 Mar 2012 18:53:55 +0100 X-Authenticated: #1915285 X-Provags-ID: V01U2FsdGVkX18ThVhd7lMTCa1L0rvlzUVrR4FAQhdYxQf2doksy3 k9UFhLs1miNS/r Message-ID: <4F68C432.2080108@gmx.de> Date: Tue, 20 Mar 2012 18:53:54 +0100 From: Julian Reschke User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:10.0.2) Gecko/20120216 Thunderbird/10.0.2 MIME-Version: 1.0 To: oak-dev@jackrabbit.apache.org Subject: JSOP vs JSON-Patch, was: [Jackrabbit Wiki] Update of "Jsop" by stefan References: <20120320171207.96104.27975@eos.apache.org> In-Reply-To: <20120320171207.96104.27975@eos.apache.org> X-Forwarded-Message-Id: <20120320171207.96104.27975@eos.apache.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Y-GMX-Trusted: 0 X-Virus-Checked: Checked by ClamAV on apache.org Hi, so Stefan is cleaning up the JSOP Wiki page (thanks!). I think it's time to look again at the difference between the JSOP diff format (as used in MK.commit()), and the IETF JSON Patch format, now . JSOP has lost it's dependency on member ordering, and JSON Patch now has "test" and "copy", so it seems the only missing gap is the metadata feature. If this is true, we can (mostly) define the JSOP diff format as a transformation from JSON Patch. That might be useful in order to avoid bikeshed discussions about syntax. One open issue seems to be escaping inside pathString; if a JSON member contains a forward slash ("/"), how is it represented in a pathString? 1) We could define that it's not allowed to be in a member name, thus we don't need escaping, or 2) We could adopt the escaping syntax from JSON Pointer (now "^"). 1) has the advantage of being simple. 2) has the advantage that it would work with generic JSON data, something I think we need to deal with if we want to use JSOP diff outside the MK work. Thoughts? Best regards, Julian -------- Original Message -------- Subject: [Jackrabbit Wiki] Update of "Jsop" by stefan Date: Tue, 20 Mar 2012 17:12:07 -0000 From: Apache Wiki Reply-To: dev@jackrabbit.apache.org To: Apache Wiki Dear Wiki user, You have subscribed to a wiki page or wiki category on "Jackrabbit Wiki" for change notification. The "Jsop" page has been changed by stefan: http://wiki.apache.org/jackrabbit/Jsop?action=diff&rev1=42&rev2=43 Comment: the order of child nodes & properties is unspecified. * + pathString: object - The added node may contain child nodes. The order of child node is preserved, that means, when requesting the object, the child nodes will appear in the same order as they appear when the node was added. This only applies to child nodes however; it does not apply to the order of properties. For example, an implementation may sort the properties by name. + The added node may contain child nodes. '''addPropertyDiff:'''