You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by md...@apache.org on 2013/11/05 17:28:16 UTC

svn commit: r1539048 - /jackrabbit/oak/trunk/oak-doc/src/site/markdown/differences.md

Author: mduerig
Date: Tue Nov  5 16:28:16 2013
New Revision: 1539048

URL: http://svn.apache.org/r1539048
Log:
OAK-301 Document Oak
Document latest changes from OAK-1090 and OAK-144

Modified:
    jackrabbit/oak/trunk/oak-doc/src/site/markdown/differences.md

Modified: jackrabbit/oak/trunk/oak-doc/src/site/markdown/differences.md
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-doc/src/site/markdown/differences.md?rev=1539048&r1=1539047&r2=1539048&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-doc/src/site/markdown/differences.md (original)
+++ jackrabbit/oak/trunk/oak-doc/src/site/markdown/differences.md Tue Nov  5 16:28:16 2013
@@ -107,11 +107,6 @@ Observation
   Furthermore the order of the events depends on the underlying implementation and is not specified.
   In particular there are some interesting consequences:
 
-    * `Event.NODE_MOVED` is not supported. Instead `Event.NODE_ADDED` and `Event.Node_REMOVED` events
-      are reported for the respective subtrees.
-
-    * Reordering nodes will [not report any event](https://issues.apache.org/jira/browse/OAK-1090).
-
     * Touched properties: Jackrabbit 2 used to generate a `PROPERTY_CHANGED` event when touching a
       property (i.e. setting a property to its current value). Oak keeps closer to the specification
       and [omits such events](https://issues.apache.org/jira/browse/OAK-948). More generally removing
@@ -122,6 +117,19 @@ Observation
       such as e.g. jcr:versionHistory if the corresponding versionable node
       was removed and a versionable node with the same name is being created.
 
+    * Limited support for `Event.NODE_MOVED`:
+
+      + `NODE_MOVED` are only reported for nodes whose source location is not transient. A source
+        location is transient if it is transiently added or a child node of a transiently moved
+        tree.
+
+      + Removing a node and adding a node with the same name at the same parent will be reported as
+        `NODE_MOVED` event as if it where caused by `Node.orderBefore()`.
+
+      + The exact sequence of `Node.orderBefore()` will not be reflected through `NODE_MOVED`
+        events: given two child nodes `a` and `b`, ordering `a` after `b` may be reported as
+        ordering `b` before `a`.
+
 * The sequence of differences Oak generates observation events from is guaranteed to contain the
   before and after states of all cluster local changes. This guarantee does not hold for cluster
   external changes. That is, cancelling operations from cluster external events might not be