DreamManager
DreamManager is HeroEngine’s integrated bug and task tracking system. It stores people, team, and task information, though is not intended as a project planning tool.
Contents |
Installing
Each world must have a DreamManager configured for it. This is done either directly by Simutronics, or Source licensees can do this themselves via the Master Control Console. To configure a DreamManager for a particular world, open the Master Control Console, and click on the Edit Worlds button.
For more information, see World Editor.
Opening
In normal use, to access the DreamManager, go to the Panels Menu and select Dream Manager.
Note: If the panel says "Not Connected", this means that a DreamManager has not yet been configured for the current world. To create a DreamManager for the world, see the "Installing" section above.
Features
- 1. Team and individual responsibility
- 2. Links to the exact virtual camera view of an issue
- 3. Pervasive hyperlinking
- 4. Arbitrarily complex tree organization of tasks, staff, and teams
- 5. Unobtrusive notification of task assignment
- 6. Task history records
- 7. Staff contact information
Tasks are created by any member of the game development staff so that they can be tracked to completion. They can be anything from minor bugs to major new development projects to merely organization folders. Users are encouraged to create subtasks to identify separate work that may be assigned to other teams or people.
Staff members receive a notification when a task is assigned to them. At this time, the only things that issue alerts are task assignments to an individual. They will appear until they are clicked on to go away.
Task filters can also be used to see all of the tasks for a team or staff member.
The server side of the DreamManager is designed to work across worlds.
HSL interface
external function SubmitDreamManagerTask(title as string, desc as string, team as string, \ type as string, class as string, urgency as string, parent as string, heat as string, \ linkXML as string, duplicateIdentifyingText as string)
The strings match what is displayed in HeroBlade.
- 'parent' can be either a task title or its number.
- 'heat' is a number from 1 to 10.
- 'duplicateIdentifyingText' is checked against recently submitted tasks to determine if it can be thrown away. If left empty, it becomes a concatenation of 'title', 'parent', 'linkXML', and the current script call stack.
Examples of 'linkXML' are:
// <l name='buena vista' type='Area View' pos='0,0,0' rot='0,0,0'/> <l name='frodo' type='GM Note' note='the ring'/> <l name='something' type='client HSL' script='joshtest' line='1'/> <l name='problem' type='blocked on' task='42'/> //
Main interface
The main interface consists of 4 subwindows:
- 1. A tree of all staff members
- 2. A tree of all teams
- 3. A tree of all tasks
- 4. A tabbed set of task filters
Usage
Tasks
Most users will be dealing with tasks. Administrators and team leaders are more likely to work with the other information.
Your assigned tasks are listed under the “My Tasks” tab in the task lists. In the list, you can see the task title, type icon, and assigned individual and team. To view details click anywhere on the box except over a hyperlink to something else.
Tasks can be created from the tree of all tasks or from within the task details dialog. When created from the tree, a new task is placed under the currently selected task. The task can be moved later by simply dragging it to its new parent in the tree.
This would be a good place to describe the course of a typical task.
Custom task lists
You can create custom tabs on the task lists window that display tasks matching the specified criteria. They are currently not saved between sessions.
User Information
User information is organized much like tasks and teams in a tree. Open user details from the tree or by clicking a link. Drag and drop names to reorganize (dropping below the tree moves user to the top).
There is no delete option for users because we want to keep user records around for historical reference and query capability. It is suggested that you create a top level user with a name like, "(former users)" and move inactive users under that one.
Team Information
Team information is organized much like tasks and users in a tree. Open team details from the tree or by clicking a link. Drag and drop names to reorganize (dropping below the tree moves user to the top).
Reference
Task detail dialog
The task detail dialog shows the following information:
Title | The big white text in the blue bar at the top |
Creation date | The date the task was put into the system. |
Task number | Used to reference the task regardless of name or location changes. |
Parent task link | A hyperlink to the task which holds this task in the tree |
Assignment tab | Contains the following: |
Team | All tasks except folders and questions are required to be assigned to team. It is the team’s responsibility to complete the task. The responsibility can be further specified to an individual (see “Assigned” field). |
Assigned | Specifies the team member responsible for this task. This is optional. |
Creator | The person that put this task into the system. |
Assigner | The last person to change the team or individual assigned. |
Children tab | Shows a tree of tasks starting with the children of this task. A handy place to create new child tasks. |
Links tab | A list of various types of references. In some cases, the name and type are editable. Selecting a row and clicking “Go to” will take you to the target of the link. The links types are: * Area View – a location in the world * GM Note – a location in the world with markup *Tasks – related change, blocked on, duplicate *Scripts – Client HeroScript, server HeroScript, GUI/XML |
Due date | An optional field for when the task should be done. |
Heat | An editable indication of priority intended to be relative to other current tasks. |
Type | General classification of the task: *Folder – just meant to organize other tasks *Work – something to do that isn’t a bug or feature *Bug – something that is not working as intended *Feature – an enhancement to an existing work *Question – a request for information |
Class | Further classification of the task after Type. |
Urgency | How big of a problem this is. |
Stage | How far this is in the lifecycle of a task. |
Description/History | The big text box on the lower half of the dialog contains a history of changes to the task data along with notes. For preexisting tasks, the history is read-only, but an input area is created when a change is made or by clicking “Add Note” at the bottom. |
User detail dialog
The user detail dialog shows the following information:
Real name | The big white text in the blue bar at the top |
Supervisor | A hyperlink to the user which holds this user in the tree |
Identity tab | Shows user’s account name and primary character. |
Teams tab | Shows what teams the user is on. Team names is red are the ones that the user was on when the dialog opened. Checkboxes are the currently edited state. A grayed out checkbox means that the membership comes from sub-teams. Double clicking opens the team. |
Minions tab | Partial tree of users starting with the ones under the current user. Double clicking opens the user. |
Contact | Additional contact information. |
Notes/History | The big text box on the lower half of the dialog contains a history of changes to the user data along with notes. |
Team detail dialog
The team detail dialog shows the following information:
Team name | The big white text in the blue bar at the top |
Parent | A hyperlink to the team which holds this team in the tree |
Members tab | Shows the members of the team. User names in red are the ones that were on the team when the dialog opened. Use checkboxes to edit. Double clicking opens the user. “Make Leader” is an upcoming feature. |
SubTeams tab | Partial tree of teams starting with the ones under the current user. Double clicking opens the team. |
Reports tab | Upcoming feature. |
Editing a task
See also
- World Editor, to show how to configure a specific world to use the DreamManager system via the Master Control Console