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
<http://trac.tools.ietf.org/html/draft-ietf-appsawg-json-patch-01>.
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 <wikidi...@apache.org>
Reply-To: d...@jackrabbit.apache.org
To: Apache Wiki <wikidi...@apache.org>
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:'''