The following topic describes TrackStudio Concepts.
When developing TrackStudio, we tried to use as few objects and concepts in the system as possible, and attempted to realize the necessary functionality by enhancing already-existing objects. This philosophy allowed us to create a system that is powerful, yet easy-to-use and understand.
TrackStudio is a hierarchical database of objects. There are 17 main types of object that you need to be aware of:
In brief, tasks (items) are objects whose state is tracked and updated by users of the system. Every task is of a particular category, and categories are objects such as Issues, Risks, Incidents, Software Bugs and so on. When you create a category, you assign it a workflow, and therefore categories are a kind of "selectable workflow instance" which you make available in the TrackStudio folder structure for selection by users. This is where TrackStudio becomes an extremely powerful management tool. The workflow behind the category defines the states that are allowed for a task (item), the task's transitions between states, what type of user can transition the item to another state, and the custom fields that can be captured for the task.
Users are grouped into statuses which can be described as a typical role grouping. Statuses are used to control the permissions users have in the system. The administrator status is built-in, and you can create others to assign permissions to. Access control rules govern what user or status can do what, within a given task.
In terms of interactive control of TrackStudio, filters are a key component. Filters can be created which return lists of tasks and subtasks based on a set of criteria, and might then be selected to return lists of "all open issues" or "my open issues" for example, that might also be fed in part by custom scripts. Filters also feed and control important components of TrackStudio such as e-mail notifications or subscriptions, reports, and even full-text search.