diff --git a/docs/planning/collaboration/assets/external-event-base-assoc.png b/docs/planning/collaboration/assets/external-event-base-assoc.png new file mode 100644 index 0000000..cb672eb --- /dev/null +++ b/docs/planning/collaboration/assets/external-event-base-assoc.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e398f7c7b8348a1753cd2f618e5f1af89703d5ad498eb4eee70ed08d543776de +size 178549 diff --git a/docs/planning/collaboration/assets/external-event-branch-assoc.png b/docs/planning/collaboration/assets/external-event-branch-assoc.png new file mode 100644 index 0000000..d4359d0 --- /dev/null +++ b/docs/planning/collaboration/assets/external-event-branch-assoc.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b54e3f29c4ebf5418168806923e92c1bff023a0bad231e5d9e8a7b8f88cc3f01 +size 215026 diff --git a/docs/planning/collaboration/assets/external-event-merging-view-1.png b/docs/planning/collaboration/assets/external-event-merging-view-1.png new file mode 100644 index 0000000..31cdd54 --- /dev/null +++ b/docs/planning/collaboration/assets/external-event-merging-view-1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:11c18efcfdc951e97205f2fb1962898e21dc871cb2ec3062fb70235a4c2b6137 +size 292413 diff --git a/docs/planning/collaboration/assets/external-event-merging-view-2.png b/docs/planning/collaboration/assets/external-event-merging-view-2.png new file mode 100644 index 0000000..0c32c8f --- /dev/null +++ b/docs/planning/collaboration/assets/external-event-merging-view-2.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eebd901cb19b93cd4bbd5b6a7868f0ab46f3b14ee8207241dbf6917577f5d95c +size 346103 diff --git a/docs/planning/collaboration/assets/external-event-result.png b/docs/planning/collaboration/assets/external-event-result.png new file mode 100644 index 0000000..707169b --- /dev/null +++ b/docs/planning/collaboration/assets/external-event-result.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e03570c9730d609fa9d37624cbd82bb9d83f3ed084df34d04338b7447756d02 +size 111231 diff --git a/docs/planning/collaboration/merging-plans.mdx b/docs/planning/collaboration/merging-plans.mdx index f41d9ff..b638b8d 100644 --- a/docs/planning/collaboration/merging-plans.mdx +++ b/docs/planning/collaboration/merging-plans.mdx @@ -133,3 +133,50 @@ import approveMerge from './assets/approve-merge.png'; Aerie UI - Approve Merge
Figure 9: Aerie UI - Approve Merge
+ +## 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. +
+ The base plan, and the associated group. +
Figure 10: Base Plan and Associations
+
+ +We have a branch off of that plan, which has the `Weather Default` group associated. +
+ The branch plan, and its other associated group. +
Figure 11: Branch Plan and Associations
+
+ +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. +
+ 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. +
Figure 12: The merge screen.
+
+ +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: +
+ The merge warning. +
Figure 13: The merge warning.
+
+ +We can see now in the final result that our base plan now has two derivation groups associated. +
+ The final result, which has both groups associated now. +
Figure 14: Post merge.
+
+ +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. +