Skip to content

Commit

Permalink
update merging behavior
Browse files Browse the repository at this point in the history
  • Loading branch information
psubram3 committed Sep 30, 2024
1 parent 553b31b commit c28d9f9
Show file tree
Hide file tree
Showing 6 changed files with 62 additions and 0 deletions.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions docs/planning/collaboration/assets/external-event-result.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
47 changes: 47 additions & 0 deletions docs/planning/collaboration/merging-plans.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -133,3 +133,50 @@ import approveMerge from './assets/approve-merge.png';
<img alt="Aerie UI - Approve Merge" src={approveMerge} />
<figcaption>Figure 9: Aerie UI - Approve Merge</figcaption>
</figure>

## External Event Behavior

import basePlanAssoc from './assets/create-merge-rq.png';
import branchPlanAssoc from './assets/create-merge-rq-modal.png';
import mergingEE1 from './assets/create-merge-rq-modal.png';
import mergingEE2 from './assets/create-merge-rq-modal.png';
import eeResult from './assets/create-merge-rq-modal.png';

As different plans can have different derivation groups associated with them (which means different branches of plans can have different derivation groups associated with them), some behavior needs to be defined when said plans are merged.

The current behavior is very straightforward; branches being merged will have the OR of their respective associated derivation groups present in the final result. We can illustrate this with an example.

Below we have a base plan, which has the `Weather Degen` derivation group associated.
<figure>
<img alt="The base plan, and the associated group." src={basePlanAssoc} />
<figcaption>Figure 10: Base Plan and Associations</figcaption>
</figure>

We have a branch off of that plan, which has the `Weather Default` group associated.
<figure>
<img alt="The branch plan, and its other associated group." src={branchPlanAssoc} />
<figcaption>Figure 11: Branch Plan and Associations</figcaption>
</figure>

We now attempt to merge these two. Note that in order to actually process the merge (merge creation works just fine but starting the merge will fail), we need to have the activities differ. A merge is not possible between two plans if the only difference between said branches is the associated derivation groups, as this is something that can easily be resolved manually. Examining the above screenshots illustrates this; the singular `contact` event is present at different times.

Upon merging, we are presented with the familiar merging view. Note that because derivation group behavior is strictly defined as producing a superset, there is no possible action that can be taken on the planners's part and it is therefore not referenced on the merge screen itself.
<figure>
<img alt="The merge window is the same as normal with and without external events. There is no action that can be taken by the planner here." src={mergingEE1} />
<figcaption>Figure 12: The merge screen.</figcaption>
</figure>

That being said, on merge, should the derivation groups differ, a prompt is presented to the user warning them about the aforementioned "OR" behavior with associated derivation groups:
<figure>
<img alt="The merge warning." src={mergingEE2} />
<figcaption>Figure 13: The merge warning.</figcaption>
</figure>

We can see now in the final result that our base plan now has two derivation groups associated.
<figure>
<img alt="The final result, which has both groups associated now." src={eeResult} />
<figcaption>Figure 14: Post merge.</figcaption>
</figure>

In any case, this behavior could be subject to change in the future as new features, such as scheduling with external events, are introduced to AERIE. Such features may introduce previously unanticipated consequences that may require greater nuance with respect to merging behavior.

0 comments on commit c28d9f9

Please sign in to comment.