## The Task Tracker

The Task Tracker is used to keep track of various tasks with defined start and end dates, different statuses, descriptions, and resolutions.

It is up to the user to decide if something should be a task or regular appointment. Appointments can be used to hold simple tasks that require no special tracking, such as "pay mortgage" or "take out garbage". The task tracker is meant for longer running, more complex tasks, such as "code new BORG feature", "design new widget", or "re-floor bathroom" - things that have multiple steps to check off, that require documentation of a resolution, and/or have "sliding" due dates.

There are 3 levels of objects managed by the task tracker – Projects, Tasks, and Subtasks.

Projects

A Project is simply a way to group related projects and tasks. A Project can set an overall due date for all child projects and tasks.

Each project can have any number of child projects and tasks. All child tasks must have due dates on or before the project due date. A project cannot be closed unless all of its child tasks are closed.

You are not required to use Projects. Tasks can still be created that are not part of any Project.

From the Projects tab, you can use the buttons on the bottom of the screen to Add, Delete, Change, Close, or Clone Projects.

Tasks

Tasks are complex activities that have start and end dates, and are created in an initial state (default is OPEN) and progress through a user configurable tree of states to reach an end state (default is CLOSED).

BORG comes with a set of default task types and states just as an example so that the task tracker can do something useful after a fresh install.

If you don't like the default task types and states, you can change them. Please see the section below on Editing Task Types and States for more info. The default task states are some of the ones used by the author and provide a good example of what can be done. There is no problem if you discard them all and replace them with your own.

When editing tasks, much of the functioning of the editor window is obvious. However:

The PA (person assigned) field doesn’t really do anything except hold data. Use it as you like.

### Subtasks

Subtasks are single units of work that do not progress through a set of states. They are either completed or not-completed.

Subtasks are managed from the same window used to edit a single tasks. Each subtask can have an optional due date. All subtasks must have due dates on or before the parent task’s due date. A task cannot be closed unless all of its subtasks are closed.

### Editing Task Types and States

The default task tracker states defined above are probably adequate for some people, but not others. The user has the capability to edit the list of task types and state transitions in the task tracker.

There is now an editor to help you edit the task types and states. It can be reached by choosing the first menu item under the options->Task State Options menu.

The task state editor shows task types, states, next states, and subtasks (from left to right). If you select a task type on the left, the states list will reflect the states for that task type. If you select a state, the next state list will show the list of states that you can transition to from the selected state. If you select a task type, the subtask list will show the default subtasks for that task type. These default subtasks are generated for all tasks of that type and are added when the task is created. These default subtasks are optional. Tasks do not need to have any default subtasks.

To change anything, just select what you want to change and right-click on it. For example, to add a new state for a task type, select the task type and right click in the state column. One of the options that pops up will be to add a state.

* I realize that the documentation on the task type editor is not really that great