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


Reply via email to