Adding Tasks

Let's talk about the most basic activity in GoalStream: creating new tasks.

GoalStream provides a number of different commands for adding tasks. Their differences have to do with whether or not any dependencies are created at the same time.

Creating Tasks

Screenshot of commands for adding and deleting tasks

If you have an empty project or there is no primary selection, simply press Enter. A new task will be created with no attached dependencies (it will be detached.)

When a task is selected..

When a task is selected, there are six different commands that create new tasks.

Add Sibling

Pressing Enter invokes the Add Sibling command. If the selected task is a prerequisite for exactly one downstream task, it creates a new task that is also a prerequisite for the same downstream task (i.e., a sibling task). Otherwise, the command adds a new detached task.

Before the Add Sibling command: Two tasks named 'A' and 'B'

After the Add Sibling command: A task that is a dependency of 'B' has been added

Add Detached Task

The Add Detached Task command (Ctrl + Enter) creates a new task that is not connected to any other task.

Add After Selected

Add After Selected creates a new task that is dependent on the primary selection.

Before Add After Selected: Before add after selected command

After Add After Selected: After add after selected command

Add Before Selected

Add Before Selected is similar but works in the opposite direction. This command creates a new task on which the primary selection depends.

Before Add Before Selected: Before add before selected command

After Add Before Selected: After add before selected command

Add Between Selected & Next

This command creates a new task "in between" two existing tasks.

Before Add Between Selected & Next: Before: Add between selected and next

After Add Between Selected & Next: After: Add Between Selected & Next

Add Between Selected & Previous

Same idea for this command, but in the opposite direction.

Before Add Between Selected & Previous: Before: Add between selected and previous

After Add Between Selected & Previous: After: Add Between Selected & Previous

Deleting Tasks

You can easily delete selected tasks by pressing Del.

Let's delete task B in the image below. Notice what happens with the dependencies.

Before Delete Task: Tasks before delete

After Delete Task: Tasks after delete

The connection entering B has been fused with the connections leaving B. In this way, the semantics of the dependency relationships are preserved.