A B Testing Workflow
This workflow models comparing two versions to see which performs better.
This workflow models user creates, reads, updates, and deletes data through a browser and server.
user { # User
n1: circle label:"Start Crud User Browser Server"
n2: diamond label:"Receive Crud User Browser Server event"
n3: rectangle label:"Validate Crud User Browser Server conditions"
n5: rectangle label:"Record Crud User Browser Server outcome"
n7: circle label:"End Crud User Browser Server"
n1.handle(right) -> n2.handle(left)
n2.handle(right) -> n3.handle(left) [label="Yes/Approved"]
n2.handle(bottom) -> app.n4.handle(top) [label="No/Rejected"]
n3.handle(right) -> n5.handle(left)
n5.handle(bottom) -> app.n6.handle(top)
}
app { # App
n4: rectangle label:"Execute Crud User Browser Server action"
n6: rectangle label:"Monitor Crud User Browser Server status"
n6.handle(right) -> user.n7.handle(left)
n4.handle(right) -> user.n5.handle(top)
}
This workflow models comparing two versions to see which performs better.
This workflow models checking user permissions before actions run.
This workflow models an async operation that notifies a callback when done.
This workflow models keeping large payloads external and only passing references.
This workflow models rolling back work when a later step fails.