Common Ancestors
This release solves a number of issues related to transformations, relationships, and timeouts.
It introduces a new methodology for tracking operation relationships. Operations are now considered "related" if they share a common ancestor. Related operations are always processed together as part of the same transformation.
Note for Source Authors
Source authors can now group operations together, even if they are all siblings, by providing them with a shared ancestor operation. This shared ancestor doesn't need to be applied to the source, and its properties can be blank. Its sole purpose is to connect operations so that they will be applied together as part of the same Transformation
. This can be done by creating child operations with spawn
.
For instance:
var parentOperation = new Operation();
var childOperation1 = parentOperation.spawn({op: 'add', path: path1, value: value1});
var childOperation2 = parentOperation.spawn({op: 'add', path: path2, value: value2});