Vous êtes sur la page 1sur 366

Track+ Users Guide, Version 3.

4
This manual and the accompanying software and other documentation is protected by international copyright laws, and maybe only used in accordance with the accompanying license agreement.
Trackplus and the Track+ logo are trademarks of Trackplus, and may be registered in certain
jurisdictions. The absence of a trademark from this list does not constitute a waiver of Trackpluss intellectual property rights concerning the trademark.
All other company, brand and product names may be trademarks or registered trademarks of
their respective holders. Trackplus disclaims any responsibility for specifying which marks are
owned by which companies or which organizations.
Trackplus provides links to external third-party Web sites to help you find supplemental information. Site content and availability may change without notice. Trackplus makes no warranties
no representations whatsoever as to site content or availability.
Trackplus
Eugen-Ruoff-Str. 30
D-71404 Korb
Germany
Tel.: +49 7151 937 940
Fax: +49 7151 937 941
Support: support@trackplus.com
Copyright 2001-2007 Trackplus, All rights reserved
December 2007
If you have any comments or suggestions regarding this document, please send them by e-mail
to support@trackplus.com.
iii

iv

Track+ License
Track+ comes with two license models: one license for installations supporting not
more than five active users (Track+ Open Source License, and one license for
commercial usage with more than five users (Commercial Open Source License). For
both license models, the copyright (C) is with Trackplus.

Track+ Open Source License


For installations with up to five users Track+ has been published as Open Source. This
facilitates modifications and enables small organizations to improve their project
management capabilities without any financial investment.
Redistribution and use of the software described herein in source and binary forms,
with or without modification, are permitted within your organization provided that the
following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list
of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this
list of conditions and the disclaimer listed below in the documentation and/or
other materials provided with the distribution.
3. Any derivative work may not use the name and logo of Track+ or Trackplus as a
product name or to endorse or promote products derived from this work without specific prior written permission by the copyright holders.
4. Any derivative work, or any work incorporating any part of this software must
not support more than five active users.
5. Any installations of the original software or any derivative work supporting
more than five active users must apply for a commercial license (see
http://www.trackplus.com). Open Source projects, charities, academic institutions, and contributors to the project receive free commercial licenses upon
request.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND


CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.

Commercial Open Source License


The End User License Agreement for the Commercial Open Source License is available
as a separate document from Trackplus. In summary, it grants you the rights to use the
software based on the valid period and number of users defined in your purchase order.
You may modify the software for your own purpose, but any modified software is
subject to the same terms as the original.

Rational Behind this Licensing Model


We have chosen this licensing model because we do not want Track+ end up like
90.000 open source projects on Sourceforge that have started out ambitiously and
passed away silently.
We did not want to rely on good luck to find translators, good documentation writers,
testers, and graphical designers. We have little problem of finding people that like to
code along and do all the fun stuff.

vi

For 95% of our users, Track+ is completely free, like in free beer. The rest will use
Track+ in a larger commercial environment with more than five users, and we consider
it fair that these people contribute to the advancement of the project either with a
modest amount of development resources or in a monetary way. We believe that open
source will be able to survive in this way even for less prestigious projects without self
exploitation of some nice people.

vii

viii

Contents

What is Track+?
1.1 Key Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.1 Issue Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1.2 RACI-Methodology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1.3 Issue. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Issue Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Priority. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Severity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.1.4 Time and Cost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Account . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Cost Center . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Work and Expense . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.1.5 Permission . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Role . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.1.6 Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.1.7 Project Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Track+ for Team Members


2.1 Registration and User Settings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.1.1 Registration with Track+ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.1.2 Changing Password . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.1.3 Activating LDAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.1.4 Configuring CSV Character. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.1.5 Configuring E-Mail Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.1.6 Configuring E-Mail Reminder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.1.7 Configuring Notification Levels. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.1.8 Disabling All E-Mail Notifications. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.1.9 Switching Locale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

2.1.10 Configuring Issue Watch Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28


2.1.11 Obtaining a New Password . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.2 Digital Dashboard. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.2.1 Changing Dashboard Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.2.2 Configuring Dashboard Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.3 Issue Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.3.1 Working with Issues. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.3.2 Issue Description and Comment Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.3.3 Creating an Issue - Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Create Issue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.3.4 Adding a Comment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.3.5 Adding an Attachment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.3.6 Moving an Issue. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Changing Issue Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Moving Issues To Another Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.3.7 Changing Issue Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
2.3.8 Change Start and Due Date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
2.3.9 Changing the Issue Watcher List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
2.3.10 Attaching an Issue to a Parent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
2.3.11 Creating a Child Issue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
2.3.12 Copying Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Copy Issue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
2.3.13 Linking Issues to Other Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
2.3.14 Linking Issues to Version Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
2.3.15 Budgets and Expenses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Time and Cost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Total Budget . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Estimated Remaining Budget . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Issue Expense Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Add Budget . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Changing Budgets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Changing Estimated Remaining Budgets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Adding Time and Expenses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

2.4 Reporting Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75


2.4.1 Working with the Report Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Modifying Column Width. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Moving Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Adding and Removing Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Sorting Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Folding and Unfolding Issue Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Template Based Reports. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Exporting Overview Result Set to XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Exporting Overview Result Set to CSV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
2.4.2 Managing Report Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Managing Report Tree Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
TQL Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
TQLPlus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
2.4.3 Managing Report Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Using a Report Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Report Template Repositories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Downloading a Report Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Uploading a Report Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Removing Report Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
2.4.4 Built In Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Bar Charts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Pie Charts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Gantt Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
2.4.5 Accounting Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Setting the Reporting Period . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Setting Personal Or Managers View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Setting Filter Criteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Person - Project - Account . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Project - Cost Center - Account - Person . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Project - Account - Person Detailed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

2.5 Automail and Notifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118


2.5.1 Automail Trigger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
2.5.2 Automail Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

Track+ for Project Managers


3.1 Managing Projects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
3.1.1 Creating a New Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
3.1.2 Deleting a Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
3.1.3 Setting Project Type. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
3.1.4 Setting Project Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
3.1.5 Setting Initial Issue Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
3.1.6 Enabling Project Accounting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
3.1.7 Setting Default Manager & Responsible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
3.1.8 Setting Project Specific E-Mail Inbox. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
3.1.9 Configuring Subsystems and Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
3.1.10 Setting Version Control Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
3.2 Managing Releases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
3.2.1 Adding a Release . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
3.2.2 Deleting a Release . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
3.2.3 Setting Release Status. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
3.2.4 Setting the Release Sort Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
3.3 Managing Project Team Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
3.4 Exporting a Project to MS Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
3.5 Importing a Project from MS Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
3.6 Copying Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158

Track+ for Configuration Managers


4.1 Customization Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
4.2 Project Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
4.3 Roles and Permissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
4.3.1 Roles Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
4.3.2 Example Roles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
4.3.3 Permissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
4.3.4 Multiple Roles in One Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
4.3.5 Restricting Access To Issue Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170

4.3.6 Adding Roles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172


4.3.7 Deleting Roles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
4.3.8 Restricting Access to Issue Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
4.4 Automail Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
4.4.1 Automail Trigger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
Managing Automail Triggers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
Configuring Automail Triggers For Create Actions . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Configuring Automail Triggers For Edit Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
4.4.2 Automail Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
Automail Conditions Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
Managing Automail Conditions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Example Condition Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
Handling Current User in Automail Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
Handling Dates in Automail Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
4.5 Managing Accounting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
4.5.1 Accounting Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
4.5.2 Setting up Accounting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
4.6 Defining Issue Types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
4.6.1 Issue Type Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
4.6.2 Customizing Issue Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
4.6.3 Localizing Issue Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
4.7 Defining Issue Statuses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
4.7.1 Status and Status Transitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
4.7.2 Customizing Statuses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
4.7.3 Localizing Statuses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
4.8 Configuring Workflows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
4.8.1 Workflow Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
4.8.2 Creating a Workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
4.8.3 Changing Workflows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
4.8.4 Workflow Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
4.8.5 Example Workflows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
Action Item List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
Milestone Tracking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211

Risk Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212


Issue Lists. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
4.9 Custom Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
4.9.1 Custom Fields Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
System Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
Custom Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
Deprecated and Required Fields. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
Custom Field Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Label and Tooltip. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
4.9.2 Custom Field Types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Short Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Long Text for Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
Integer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Double. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Check box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
Simple Select . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
Multiple Select . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
Cascading Select Parent-Child . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
Cascading Select Parent-Children . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
Cascading Select Parent-Child-Grandchild . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
4.9.3 Managing Custom Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
Adding a Custom Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
Overwriting Custom Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
Modifying Custom Fields. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
Deleting Custom Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
4.10 Custom Selection Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
4.10.1 Custom Lists Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
System Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
Custom Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
Project Specific Lists. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
4.10.2 Managing System Lists. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
Managing Issue Statuses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244

Managing Priorities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245


Managing Severities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
Managing Issue Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
Managing Project Statuses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
Managing Release Statuses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
Managing Account Statuses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
4.10.3 Managing Custom Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
Adding A Custom List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
Editing A Custom List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
Configuring A Custom List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
Deleting A Custom List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
4.11 Custom Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
4.11.1 Custom Forms, Actions, and Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
Tabs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
Panels. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
Actions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
4.11.2 Managing Custom Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
Assigning Custom Forms to Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
Creating Custom Forms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
Modifying Custom Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
Copying Custom Forms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
Deleting Custom Forms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
4.12 Configuration Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
4.12.1 Customers and Developers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
4.12.2 Anonymous Access. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
4.12.3 Personal To Do List. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
4.12.4 Small Development Teams, Lean, Informal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
4.12.5 Large Development Teams, Lean, Formal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281

Track+ for System Administrators


5.1 Server Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
5.1.1 Configuring Licensing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
5.1.2 Configuring E-Mail Functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Configuring the Outgoing E-Mail Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287

Configuring the Incoming E-Mail Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290


5.1.3 Full Text Search Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Enable Full Text Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Index Attachments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Reindex on Startup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Lucene Analyzer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
Index Root Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
5.1.4 Other Configuration Items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
LDAP Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
Container Based Authentication. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
Attachment Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
Force Track+ Server URL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
Configuring Self Registration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
Configuring Site as Demo Site . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
Configuring Workflow Layout Engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
5.2 Configuring Logon Page Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
5.3 Managing Server Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
5.4 Managing Users and Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
5.4.1 Adding Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
5.4.2 Modifying User Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
5.4.3 Deactivating Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
5.4.4 Removing Users Permanently . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
5.4.5 Adding and Modifying Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
5.4.6 Assigning Users to Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
5.4.7 Removing Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
5.5 Managing Departments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
5.5.1 Adding Departments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
5.5.2 Changing Department Name. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
5.5.3 Deleting Departments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
5.5.4 Moving Users to Another Department. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
5.6 Broadcasting E-Mails to Track+ Users. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
5.7 Adding Locales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
5.8 Non-Western Character Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319

5.9 Configuring Diagnostic Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320


5.10 Switching Database Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321

Customizing and Extending Track+


6.1 Adding Custom Skins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
6.2 Adding Your Company Logo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
6.3 Adding Custom Accounting Reports. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
6.3.1 Step 1: Create the Custom Report Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
Defining getReportNameInResource(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
Defining getDefinitionJspName() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
Overwriting getBundleName(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
Defining getData(Object configObject, Integer userID) . . . . . . . . . . . . . . . . . . . . . . 329
Defining yourOwnMethodCallToDatabase(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
6.3.2 Step 2: Add Text Resources to Localized Bundle Files . . . . . . . . . . . . . . . . . . . . . . . . . 330
6.3.3 Step 3: Create the Java Server Pages (JSPs). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
6.3.4 Step 4: Create a ZIP File for Drop In Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
6.4 Adding Event Handlers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337

Index

1
What is Track+?
Track+ is a web based software for task and issue management.
Track+ organizes tasks and issues in projects. A single server supports many
hundred projects and thousands of users. There is no need to install any software on the client side. Track+ servers can be accessed within a company
intranet or extranet worldwide.
Track+ helps to manage due dates and budgets in an easy to use and pleasant
way. Track+ permits fine grained control to information. Track+ can send
reminder e-mails for tasks that are due or overdue, or whenever something has
changed in a task of interest.
Track+ permits to organize issues in a hierarchical fashion. Track+ is typically
used for
+ bug tracking in software and hardware development
+ mile stone tracking
+ action item tracking
+ quality assurance programs
+ customer help desk
+ project management and effort tracking

What is Track+?

Track+ is a software for teams. It supports small teams, and it supports projects
and organizations involving thousands of people. It is easy to use. It supports
open, agile cultures, as well as highly security conscious organizations.

Figure 1: Track+ usage overview


Intranet
C# -CliCompany
ent

Browser

Eclipse Client

External Developer

External Developer

Track+ Server
Developer

Eclipse Client

Browser
Firewall
WWW

WWW
External Developer

Manager

Br ow s e r
PHP-Client

Manager@Home

Supplier

1.1 Key Concepts


The following sections describe Track+ key concepts.

Key Concepts

1.1.1 Issue Management


Project management to a great extend means issue management. Issues can be
of many different types, like incidents, tasks, requirements, calls, and so on.
Track+ helps users to keep track of all sorts of issues by means of issue lists.
The secret of many successful people is that they are well organized. They keep
lists with what they or others they are responsible for or dependent on need to
do. The traditional way to handle this is a Filofax or TimeSystem organizer.
The modern version is a personal digital assistant (PDA) with its to do list.
As soon as many people have to cooperate in achieving a common goal, the
personal todo lists do not suffice any more. While the method of keeping lists
of all issues is still very helpful, these lists have to be shared among different
people.
Not everybody may have a legitimate interest in all entries of these lists, and
there may be many different lists for different purposes and projects. Track+
is a system which permits to handle thousands of these lists, share them among
teams, while controlling the state and access to each entry. It can be thought
of as the Filofax for teams.

1.1.2 RACI-Methodology
A RACI diagram is used to describe the roles and responsibilities of various
teams or people in delivering a project. It is especially useful in clarifying roles
and responsibilities in cross functional/cross departmental projects and initiatives. Track+ implements and supports the methodology behind the RACI
diagram by providing proper fields for each issue.
The RACI diagram splits project tasks down to four participatory responsibility types that are then assigned to different roles in the project. These
responsibility types make up the acronym RACI. It stands for

What is Track+?

+ Responsible (those who do work to achieve the task, there can be

multiple resources responsible).


+ Accountable (the resource ultimately accountable for the completion of
the task - there must be exactly one A specified for each task).
+ Consulted (those whose opinions are sought. Two way communication).
+ Informed (those that are kept up-to-date on progress. One way communication).
Track+ fully supports this methodology. In Track+, each issue must have
exactly one accountable (A), and one responsible (R). The responsible can be
a group. There can be any number of users that are in a Consulted or Informed
role.
The following figure shows an example setup. In reality, configurations are
much more complex. Track+ permits to follow this methodology even for
large number of issues.

Figure 2: Example for a RACI matrix diagram (from [1])

Key Concepts

1.1.3 Issue
Issues (or tasks) are the central objects of Track+. Issues can be of various types,
like mile stones, bug reports, action items. Issue have a lifecycle, and issues
belong to projects.
By default, Track+ issues have the following attributes:
+ project - each issue belongs to a project
+ subsystem (component) - each issue belongs to a subsystem
+ title or summary
+ description
+ issue type
+ class - can be used to further categorize issues, e.g. documentation, soft+
+
+
+
+
+
+
+
+
+
+
+
+

ware, hardware
reporter - the user that entered the issue into the system
manager - the user that is accountable for this issue
responsible - the user that is currently responsible for this issue or to work
on this task
release of the project which is affected by this issue
release of the project which is to resolve this issue
build - a build designator for a release
priority- how urgent it is to resolve this issue
severity - how important it is to resolve this issue
start date - when work on this issue should begin
due date - when this issue should be resolved
state - the current state of the issue, like open, closed, processing
a complete history of all changes
a log with comments of users

What is Track+?

Issue Type
Issues can be of various types, like bug reports, action items, mile stones,
requirements, and so on. It is possible to define any number of issue types. It
is possible to have issue type specific workflows, attributes, and screens. It is
possible to restrict user access to certain issue types.
Each issue has a life span between its conception and its death. Track+ permits
you to define your own list of issue types. You can define which user role is
able to see which issue types. Each issue type can have a separate workflow for
each project type. For example, an action item may only be in two states: open
or closed. A feature request may have a much more complex state space. This
state space may even be different across different project types.
A project is made up of many such issues of different types and levels of detail,
that start at some time throughout a project and that end at some other time.
In this area, the art of project management is the art of keeping track of all
these issues.
One of the key points is that somebody needs to take responsibility for an
issue. For any non-trivial sized project, it is impossible that a project manager
takes on this responsibility all by himself. Part of this responsibility is to make
sure that the state of an issue is accurately known at any time to all people that
have a reasonable interest in it. A central repository that is maintained by all
people involved in a project and not just by some project managers greatly
supports this kind of model. This technique has been used with good success
for several years in software defect tracking and change management, but can
and should be employed as well in tracking any issue that is part of a project.
For software projects, the Track+ system delivers a great deal of functionality
required to reach CMMI and SECM process maturity levels 2 and 3, and SIL
2 and 3. For other projects, this system supports adherence to ISO 900x standards.

Key Concepts

Priority
Priority describes an issues relative importance. Each issue is assigned a
priority.
Issue can be sorted by priority, to see what should be done first. E-mail notification can be set based on an issues priority. For example, if less important
issues are due, users can disable e-mail reminders for such issues.
Track+ can handle any number of priorities. The default priorities available are
+ occasionally
+ soon
+ immediate

Thus, the default priorities express the relative importance of issues by how
soon they should be processed.
It is possible to change the names of the default priorities, remove priorities,
or add new ones. Priorities can be made specific for each project type and issue
type.Priorities carry an additional attribute, a warning level. Using this level it
is possible to restrict e-mail notifications by the Track+ system.

Severity
Severity is the expected consequence of an event in terms of degree of injury,
property damage, project goal impairment, or other impairing factors.
The severity of an issue expresses the expected consequence of not closing the
issue at all or closing it in a timely manner.
Severities could be
+ blocker
+ major

What is Track+?

+ minor
+ cosmetic

Status
Each issue carries a status which expresses the current position in the workflow. Typical statuses are open, processing, or closed.
In the course of its life, each issue goes through different statuses. Typically,
when issues are created they are in status open. At the end of their lifecycle
they are typically in status closed. In between issues may be in different
statuses, depending on the issue type and the workflows defined.In Track+ any
number of statuses can be defined. Statuses can be made specific for project
types and issue types. The default statuses are
+ opened
+ analyzed
+ assigned
+ suspended
+ processing
+ implemented
+ integrated
+ assessing
+ closed

In the default configuration, Track+ permits to move an issue from any status
to any other status. This can be restricted by defining custom workflows.
By default, Track+ restricts issue statuses for certain issue types to only a subset
of the available statuses. For example, action items can only be in status
opened or closed.

Key Concepts

Each status is related to a stateflag. There are three types of stateflag: open,
closed, and ready for integration.

1.1.4 Time and Cost


Track+ can track two types of expenses: time spent (work) and money spent
(cost).
Track+ has a powerful time and cost budgeting and tracking module. Track+
permits to budget each issue separately and dynamically, with all changes
tracked. Estimated time to completion can be shown, as well as all expenses
written on this issue.
Time spent and cost incurred is tracked via accounts and cost centers. It is
possible to define any number of cost centers, and any number of accounts
associated with these cost centers.
Each project is related to a number of accounts. It is possible to use the same
account for any number of projects
Track+ permits to budget and track time that is needed to resolve issues in its
database. Track+ also permits to budget and track cost or monetary expenses
that occur in the course of the resolution of an issue. Times inside the Track+
database are kept in working hours.
Track+ does not only permit to budget and track time spent on an issue. It is
also possible to budget and track cost, like expenses for external labour, for
equipment that needed to be leased, or utility expenses. Inside the Track+
database cost are tracked in a currency that can be set individually for each
project.

What is Track+?

Account
In Track+, an account is a label used for recording and reporting a quantity of
time or money.
All expenses, either time or monetary expenses are written on accounts. Each
account belongs to exactly one cost center.
Accounts can be thought of similar to bank accounts. It is possible to get a
regular overview who has withdrawn time or money from an account for
what purpose.
Accounting can be enabled or disabled for each project. A single account may
be used by many projects.
By using the same cost center and account numbers in Track+ as in a bookkeeping or ERP software like SAP or Oracle, it is possible to prepare monthly
customer invoices or project reports.

Cost Center
Cost centers are divisions that add to the cost of an organization, but only indirectly add to the profit of the company. Examples include Research and Development, Marketing and Customer service. A cost center is identified with a
speed type number (cost center id).
In Track+, each account has to belong to a specific cost center. Costs that
occur in the course of a project are written on these accounts, and thereby
attributed towards cost centers.
Cost centers oftentimes have yearly or quarterly budgets. Using Track+ it is
possible to monitor time and money expenses against these budgets.

10

Key Concepts

Work and Expense


Track+ distinguishes between work and expense. Work is the time spent
on a task, and expense means monetary expenses.
Track+ permits to budget and track time that is needed to resolve issues in its
database. Track+ also permits to budget and track cost or monetary expenses
that occur in the course of the resolution of an issue. Times inside the Track+
database are kept in working hours.
Track+ does not only permit to budget and track time spent on an issue. It is
also possible to budget and track cost, like expenses for external labour, for
equipment that needed to be leased, or utility expenses. Inside the Track+
database cost are tracked in a currency that can be set individually for each
project.

1.1.5 Permission
Permissions control what information can be accessed. Permissions are tied to
roles. By assigning roles to users in projects, the users permissions in that
project are defined.
Users can have multiple roles even in a single project. In that case the permissions of all roles in that project add up.
For example. with permissions it is possible to grant a user project administrator rights, or restrict users to see only their own issues, or only certain issue
types in certain projects.

11

What is Track+?

Role
If users want to access a project they have to have a role in that project. Roles
are linked to permissions. Users can carry many different roles in the same or
different projects.
It is possible to define any number of roles. Examples for roles are project
administrator, manager, responsible, developer, technical sales. Roles are
always directly linked to permissions.
Users have to be assigned at least one role in a project to be able to access any
project information. Roles can also be assigned to groups; all users in that
group then carry that role.
Workflows refer to roles. In workflows, the ability to make issue status changes
can be restricted to certain roles.

Group
Track+ can organize users in groups. Groups make it easy to manage large
numbers of users.
Users can belong to many groups, not just one. In most respects, groups are
treated just like users, e.g. they can be assigned roles, they can have an e-mail
address, or they can be assigned to issues.
Users that belong to a group inherit the roles this group is assigned to.

1.1.6 Project
A project is a temporary endeavour to create a product or a service. Projects
may be executed in steps, called releases. In Track+, all issues are organized in
projects. An issue always belongs to exactly one project.

12

Key Concepts

Projects inherit some behavior from their associated project types, such as
workflows and fields. Projects are typically managed by a project administrator. The project administrator can only manage the projects he is responsible for. Other attributes a project carries are
+ subsystems (components) - each issue belongs to a subsystem
+ classes - like documentation, software, hardware
+ releases or versions
+ default manager and responsible
+ default initial state of newly created issues
+ configuration of source code control repository
+ configuration of e-mail inbox
+ accounting enabler
+ accounting currency
+ accounting default daily working hours

Each project can have its own e-mail inbox. Issues can then be submitted by
sending an e-mail to this inbox.

1.1.7 Project Type


Many projects in an organization are quite similar. With project types it is
possible to define common attributes, policies and workflows for a number of
projects. This eases the setup of new projects and improves adherence to
company standards in the individual projects.
Each project belongs to one project type. A project type can for example be a
software development project, a procurement project, a field trial, a roll out
project, or a house management project.
Different project types may require different workflows, and come with
different issue types. Using project types, the user can manage different
13

What is Track+?

requirements on project attributes such as workflows in one central location.


Projects inherit attributes and behaviour from project types.

14

2
Track+ for Team Members
This chapter describes common procedures and tasks that are used by regular
project team members.
Your project manager has told you that you will be using the Track+ system to
keep track on issues that arise in the course of the project. This chapter will
help you to get started with Track+. Actually, you probably will find that using
Track+ will be quite intuitive, and that you will find your way around even
without this documentation. There is also online help available in case you
need it.
What this chapter cannot do is explain how Track+ is being used in your organization. This has to do with the roles and processes your project administrator
has defined. To get an answer to these questions means that you have to turn
to your project administrator. In a well run project there is a project handbook
which describes such procedures. In larger organizations the project handbook
may point to company standards.
What you will find here are tutorials on the most common tasks you can carry
out with the Track+ system. In particular, this chapter describes
+ Registering and changing your user profile
+ Working with the dashboard

15

Track+ for Team Members

+ Creating and managing issues


+ Working with budgets and expenses
+ Getting issue overviews and reports
+ Configuring Automail and notifications

2.1 Registration and User Settings


Users can customize Track+ to match their requirements. There are a number
of parameters associated with each user, for example user name, password,
e-mail address, preferred user interface locale, and e-mail notification settings.
There is a single entry point to manage these settings via the Administration
submenu.
The following sections describe how to register and manage the different user
specific settings in Track+.

2.1.1 Registration with Track+


If you do not have an account with the Track+ system you need to register. For
this you either ask your Track+ system administrator to do this for you, or you
do it yourself (if self registration has been enabled for your system).
PREREQUISITE
You have to know the URL of your Track+ server, and when you point your
browser to it you can see the login screen. You may want to bookmark this
URL in your browser since you will use it later on every day.
You have to know your e-mail address which you have to enter in order to
receive your password. The pattern of allowed e-mail domains might have

16

Registration and User Settings

been restricted by the system administrator. By default, all domains are


enabled, but you may find that it is not possible to register as
joke@yahoo.com.
1.

Point your browser to the Track+ server URL.

2.

Click on the link labeled No account? Register here.

3.

Fill out the form that appears. Enter your login or user name. The login
name should be the same that you use in other systems, for example
your Windows logon. This will facilitate central password management
via an LDAP server.

17

Track+ for Team Members

4.

Enter your first and last name, and your e-mail address. Your initial
password will be sent to this address.

5.

Optionally, fill out the rest of the form. You can also do this any time
later on.

RESULT:
Your system administrator will receive an e-mail that you have registered. The
administrator can assign you to a department, and can assign you to projects.

18

Registration and User Settings

You will receive an e-mail with your initial password. With this password, you
can access the system. Note however that you cannot access any project data
until your project administrator or system administrator has granted you
access rights in a project.

2.1.2 Changing Password


After registration, a password is sent to your e-mail account and you can log
on. The password should be changed on first login via menu entry Administration > My Profile. You can also change this password any number of times
later on. It is possible to have the password stored with an LDAP server.
PREREQUISITE
You have already logged into the Track+ server.
You do not have enabled LDAP authentication.
1.

You select Administration > My Profile.

2.

You enter your new password into the password field.

3.

You enter your new password into the repeat password field.

19

Track+ for Team Members

4.

You hit the Save button.

RESULT:
Your password has been changed. The next time you logon you have to use
your new password.

2.1.3 Activating LDAP


Instead of storing user name and password in the Track+ database, it is possible
to use available data from an LDAP compatible directory server. This way
passwords are kept in a central location, and can be modified there instead of
in each application.
PREREQUISITE
Your Track+ administrator has configured Track+ to connect to an LDAP
server. If this is not the case you will not be able to mark the LDAP check box.
1.

20

Select Administration > My Profile.

Registration and User Settings

2.

Mark the check box labeled LDAP-authentication.

3.

Hit the Save button to save your configuration.

RESULT:
With your next login, your LDAP password is being used by Track+ for
authentication.

2.1.4 Configuring CSV Character


Track+ permits you to export reports such that you can include them in Excel
or OpenOffice spread sheets for further processing. Depending on the locale
of your Office installation, there may be a different separation character for
these file formats. If you find that on opening a Track+ report in Excel you do
not get nicely formatted columns, you may want to change this character. In
most locales, it is either a comma , or a semicolon ;.
1.

Select Administration > My Profile.

21

Track+ for Team Members

2.

Set the CVS character to the value your Office installation requires.

3.

Hit the Save button.

RESULT:
Next time you export a report to a CSV file, columns will be separated by the
character you configured.

2.1.5 Configuring E-Mail Format


You can select if you want to receive e-mails in plain text format or in HTML
format. The HTML format looks much better and quickly gives you an overview on what has changed. Most e-mail clients support the HTML format
well, so there may be little reason to not choose this.
1.

22

Select from menu Administration > My Profile.

Registration and User Settings

2.

Select the desired e-mail format, plain or HTML.

3.

Hit the Save button to save your configuration.

RESULT:
From now on, Track+ will send all e-mails to you using the selected e-mail
format.

2.1.6 Configuring E-Mail Reminder


In Track+, issues can be assigned a start and a due date. If a due date is
assigned, the Track+ system can remind you that such an issue is due soon or
is overdue. You can set the weekdays on which you want to be reminded, as
well as the number of days before the due date that you want to get the
reminder.
1.

Select Administration > My Profile.

23

Track+ for Team Members

2.

Set the number of days you want to be informed in advance before a due
date comes up (Days lead).

3.

Set the weekdays on which you want to be informed, e.g. each Monday
and Wednesday. You will get reminder e-mails only on these weekdays.

4.

Optionally, mark in which role you want to be informed. If for example


you check the Remind me as manager box, you will be informed on
all issues you are the current manager of.

RESULT:
You will get reminder e-mail for tasks that you have authored, you are the
current manager or current responsible of, depending on what you have
marked in the associated check boxes.
EXAMPLE:
Let us assume some issue is due on Tuesday, April 24, and that you have set
your profile to get reminders on Mondays only. If you set the lead to 10 days
you will receive a reminder e-mail on Monday, April 16. So in the worst case
you will receive a reminder just three days before the issue is due.

24

Registration and User Settings

The example shown below demonstrates what happens if an issue is due on


Friday, and reminders were set for Mondays and Thursdays. With lead set to
3 days, the reminder will come on Thursday.
Issue due
3 days lead

Mo

Tu

We

Th

Fr

Sa

Su

Remind at

2.1.7 Configuring Notification Levels


You can set the minimum priority and severity levels for which you want to
receive reminders and notifications in case issues were created or changed. This
way you can prevent that you are notified of issues that are not really important. Only in case issues with a priority or severity level equal to or higher the
one you selected are created or changed, or are overdue, you will get a notification.
1.

Select Administration > My Profile.

2.

From the selection box, select the minimum priority level for which you
want to get notifications.

25

Track+ for Team Members

3.

From the selection box, select the minimum severity level for which you
want to get notifications. This will facilitate central password management via an LDAP server.

4.

Hit the Save button to save your configuration.


In addition to this rather simple scheme there is a much
more elaborate notification configuration available via
Automail triggers and filters.

RESULT:
From now on, you will get notifications only for issues that have both at least
the required priority level as well as the required severity level.

2.1.8 Disabling All E-Mail Notifications


If you feel annoyed by the e-mails the Track+ systems sends to you, you can
shut them off. But be aware that this feature is considered to be one of the most
useful.
The e-mails you receive from the Track+ system are marked in a special way,
so that you can easily have them sorted automatically by your e-mail client into
specific folders. The e-mail subjects look like this:
[Project yourProject]....
Thus you can have your e-mail client sort Track+ e-mails into project specific
folders. You can also direct all Track+ messages by the X-Mailer field in the
mail header. It is always named Trackplus.

26

Registration and User Settings

1.

Select Administration > My Profile.

2.

Mark the check box named Do not send e-mail to me

3.

Hit the Save button to save your configuration.

RESULT:
You will not get any e-mails from the Track+ system any more at all, except
for password recovery e-mails.

2.1.9 Switching Locale


The Track+ system has been localized in many different languages. You can
choose which language is presented to you by either setting the preferred
language in your browser, or by setting the language in your profile. Be careful
to not select Chinese if you are not really fluent in this language, you may have
trouble setting things back.
1.

Select Administration > My Profile.

27

Track+ for Team Members

2.

Choose your preferred user interface language settings. Browser


means that your browsers preferred language settings are being used, if
available.

3.

Hit the Save button.

RESULT:
You will now see the user interface in the selected language. If set to Browser
your preferred language setting may not be available.

2.1.10 Configuring Issue Watch Lists


Each user can register with Track+ to watch classes of issues for modifications
made to them. In case a modification is made, the user gets a notification
e-mail. Notification classes are characterized by project, subsystem, and actual
issue status.
PREREQUISITE
You must have been granted access to at least one project by your project or
system administrator.

28

Registration and User Settings

1.

Select Administration > My Profile.

2.

Select the Notification tab.

3.

Select at least one project.

4.

Optionally select subsystems and statuses.

5.

Add this class of issues to your watch list by hitting the Add to issue
watch list button.

RESULT:

29

Track+ for Team Members

From now on, you will be informed of any changes that are made on any issue
that belongs to the class defined here. Only issues that you have at least read
access to will be considered.

2.1.11 Obtaining a New Password


If you have forgotten your password, you can have the Track+ system send you
a new one. It is not possible to retrieve the old password, since passwords are
stored in the database in an encrypted, irreversible way.
NOTE: Be aware that all accounts with the e-mail provided by you will be set to
this new password. For example, if you are the admin user and registered as a
regular user with the same e-mail address, both accounts will be set to the new password.

If you are the system administrator, and you have forgotten your password
AND your e-mail address, you have to enter a new known encrypted password
string into the database. There is information available on the forum on how to do
this.

NOTE:

30

1.

Go to the logon screen.You enter your e-mail address in the field


provided.

2.

Click on the link labeled Forgot password?

Digital Dashboard

3.

Enter your e-mail address in the form that comes up.

4.

Hit the Save button.

RESULT:
A new password will be sent to the e-mail address you provided, in case it exists
in the database. This password pertains to all accounts using this e-mail
address. The next time you logon you have to use this new password.

2.2 Digital Dashboard


Track+ provides a special overview page, the dashboard. Based on the metaphor of the instrument panel in a car, this "digital" version of a dashboard
provides you with the input necessary to "drive" your business.
The dashboard contains views such as red/green/yellow lights, alerts,
drill-downs, summaries, graphics such as bar charts, pie charts, bullet graphs,
sparklines and gauges. You can custom configure the set of views you want to
have on your dashboard.

31

Track+ for Team Members

The Track+ dashboard is made up of tabs, panels, and views. Views can be
placed on panels, and panels are placed on tabs. There is no limit on the
number of tabs and panels you can configure.
The dashboard layout can be configured by each user interactively and individually, using Track+ drag and drop technology.
The set of views delivered with Track+ can be augmented by custom views
using the Track+ dashboard API.

2.2.1 Changing Dashboard Layout


The dashboard is completely user customizable. You can choose which devices
you want to include, and where to include them.
32

Digital Dashboard

NOTE: All changes made to the dashboard are immediately saved to the database.
There is no need to specifically save anything.

1.

On the dashboard page, click on the Edit link on the top right, right
below the product icon.

2.

The screen changes, and a floating box appears on the right side,
containing a list with all available dashboard views.

3.

Using the icons on the top left, you can add or remove tabs and panels.
To remove an element, you first select it by clicking on it. To change an
element position, you drag it to the new position.

4.

For tabs, you can change the tab label by selecting the tab, and then
entering the desired label in the floating box, field named label.

5.

Views are always placed on panels. You can define the number of grid
positions for each panel by selecting it, and then entering the number of
rows and columns in the floating box, fields named rows and
columns.

6.

You can place views onto panel grid positions by dragging them from
the floating box to the desired grid position. You can move views by
dragging them to their new position.

7.

When you are done, hit the Back symbol in the toolbar.

RESULT:
You will be returned to the regular view of the dashboard page. You will see
your newly designed layout.

2.2.2 Configuring Dashboard Views


Some dashboard views may require configuration, for example project parameters, date parameters, or status parameters.

33

Track+ for Team Members

PREREQUISITE
You are on the dashboard page. You can get there any time by clicking on the
Home menu entry.
1.

On the dashboard page, click on the Edit link on the top right, right
below the product icon.

2.

The screen changes, and a floating box appears on the right side,
containing a list with all available dashboard views.

3.

If a dashboard view can be configured, an edit link will appear right


next to this views preview. Click on this edit link.

4.

The form that appears depends on the kind of view. Make the appropriate changes and save them.

5.

You will be returned to the dashboard design page. When you are done
click on the Back icon in the toolbar.

RESULT:
You have changed the device configuration. You will now see the dashboard
configured with the new device options.

2.3 Issue Overview


Each issue consists of a number of attributes (or fields) and trail information.
This information is available on a single overview page. This page is the central
starting point to carry out actions on issues.
Examples for issue actions are moving an issue to another project, adding a
comment, changing the issue status, or adding a child issue to this issue.

34

Issue Overview

The history trail on the issue overview page consists of several tabs. The standard tab shows all changes made to the issue in a historical order. The other
tabs are basically filters, to just display date change or status change (workflow)
information.

2.3.1 Working with Issues


Issues are the central objects in Track+. Track+ helps to manage issues. All
issues have a lifecycle. At some point in time they are being created, either
by yourself or by somebody else.
One of the most important aspects of the Track+ system is that there are
always two people in charge of an issue: the manager (or accountable) and the
responsible. They can be the same person.
The manager is the person that supervises the issue and looks after it.
The responsible is the person supposed to carry out the work related with this
issue in its current status. In Track+ there is no such thing as a dangling issue
where nobody feels responsible.
Each issue has a status associated with it. As the issue is being processed this
status may change. As an example, the following figure shows a lifecycle for an
issue of type action item.

35

Track+ for Team Members

[$USER==QA ] /reopen
In it ia l
create prob lem report
[$USER==Q A] /close
open

closed
[$US ER== MAN
|| $USER= =PM]
/suspend

[$USER= =RSP ||
$USER= =MAN]
/ana lyze

[$USER==Q A] /close
suspended

[$USER==QA]

analyzed

assessing
[$USE R==MA N ||
$USER==PM]
/assign; move to
impleme nta tion error

[$US ER== MAN]


/assign; move to
impleme nta tion error
assigned

reje ct [ $USE R==TST]

start processing [$USER==RSP]

start testing [$USER=TST]


integrated

[$US ER== INT]


/int egra ting
proce ssing

implem ented

[$USER==RSP]

The issue is created and thereafter in status opened. A person in role


$RESPONSIBLE can move it to status processing when she starts to work
on this action item. This gives everybody else the opportunity to see that
things are progressing. Once she is done, she moves the action item to status
closed.
In this process the manager and responsible for the issue can change. For
example, there may be a different person responsible for the implementation
of a feature request, and another for the final test.
While an issue is moving through its lifecycle, all changes to it are recorded.
Thus you never have to worry that any information is lost. Even if somebody
changes the responsible or the manager, the due date or even the project, this
will be recorded in the audit trail of the issue.
36

Issue Overview

At any time you or other authorized people may add comments to the issue.
These comments will be recorded in the issue trail as well.
The following sections explain some more issue related concepts and guide you
to common tasks related to issues.

2.3.2 Issue Description and Comment Fields


Track+ provides large text fields for descriptions and comments. These
description fields provide a Wiki style formatting facility. This section
describes the tags that are available with the standard renderer.
In the description text you may use simple tags to color, underline, boldface
or italicize text, and to create active hyperlinks to other issues or external
hyperlinks and include source code snippets:
[issue # /]

creates a hyperlink to another issue.


E.g. [issue 247] would create a
hyperlink to issue number 247.

[u] [/u]

would underline the text enclosed

[b] [/b]

would give bold text

[i] [/i]

would give italic text

[src] [/src]

allows you to include source code into


the description. It will be displayed in
a separate box.

[ul] [/ul]

marks the beginning and end of an


unordered list. Single list items would
be marked inside this with the [li][/li]
tags.

37

Track+ for Team Members

38

[ol] [/ol]

marks the beginning and end of an


ordered list. Single list items would be
marked inside this with the [li][/li]
tags. Each list item is numbered with a
roman number, starting with 1.

[ola] [/ola]

marks the beginning and end of an


ordered list. Single list items would be
marked inside this with the [li][/li]
tags. Each list item is numbered with a
a lower capital letter, starting with a.

[li] [/li]

marks the beginning a single entry in


either ordered or unordered lists.

[url=http://...] [/url]

allows you to include active


hyperlinks to external web sites. For
example,
[url=http://www.trackplus.com]Track
+ site[/url] would create an active
hyperlink to the Track+ home page.

[vc=module/file <rev=x.y>]File[/vc]

Description of file [/vc] allows you to


create an active hyperlink to a CVS or
Subversion repository, assuming you
have installed the viewCVS program.
The base URL is set once for the
entire project this issue belongs to, so
there is no need to enter it here. The
revision is optional; if set the file in
that revision will be displayed.
Otherwise an overview page with all
revisions of this file is shown in a new
browser window.

Issue Overview

2.3.3 Creating an Issue - Overview


Creating an issue is a two step process. In the first step, you have to select the
project this issue pertains to, an issue type such as bug report, action item,
mile stone, and whether you want to treat this issue as a private or public
issue.
If you mark an issue a private, nobody other than you will ever be able to see
it. It will not show in any reports except your own. This way it is possible to
keep your private tasks separated from tasks others may have a legitimate
interest in. You can always switch issue visibility later on between public and
private.

39

Track+ for Team Members

In the second step you fill in all the details of the issue just created. The form
you are using for this may have been customized by your system administrator.
Once you have filled in the required information, you save the issue. Unless
you have marked the issue as private, others may get an e-mail notification that
this issue has been created. Who will be informed depends on the notification
trigger and filter settings of other users. A common configuration is to receive
notifications as manager, responsible, consultant, and informed.

Create Issue
This section describes how to create an issue from scratch.
PREREQUISITE
You must have permission to create issues in at least one project. Otherwise
you will not see the Create Issue toolbar icon and menu entry.

40

1.

Click on the Create Issue menu entry.

2.

On the screen that appears, select the desired project and issue type. The
default will be your last selection. Mark the check box if you want to
keep this issue hidden from anybody else. This will mark your new issue
as private, it will really only be visible to yourself. You can change this
to a public issue any time later on, if you wish.

Issue Overview

3.

Click the Next button.

41

Track+ for Team Members

4.

The new issue screen appears. This screen may have been configured
specifically for this project and issue type. Some fields are mandatory,
they will always be there.

5.

Enter a title, or short summary of your issue in the title field.

6.

Enter a full description of your issue in the description field.

7.

Enter any other information that you know of and that is required.
Since screens can be issue type dependent, you may see different fields
and tabs in different projects and for different issue types.

8.

When you are done entering the data, hit the Save icon at the top.

RESULT:
A new issue has been created and stored in the database. An issue number was
assigned to this issue. Depending on the notification settings, concerned
parties like the manager and responsible of the issue have been informed by
e-mail that a new issue was assigned to them. There will be no e-mail notification to anybody if you have marked the issue as private.

2.3.4 Adding a Comment


Anybody with proper access permissions can add a comment to an existing
issue. Comments become part of the issue history. This section describes how
to add a comment to an issue. It is not possible to delete a comment.
PREREQUISITE
You must have retrieved the issue to which you want to add a comment. This
can be done by entering the issue number in the search field, or by selecting
the issue from the overview report.
You must have been granted edit permissions for this issue. You will not see an
Add comment action icon if you do not have proper permissions.

42

Issue Overview

1.

From the issue overview, select action icon Comment.

2.

Enter your comment. You may use Wiki style tags to format the
comment.

3.

Click on Preview to check if you have correctly formatted the


comment.

4.

Click on Add to file this comment for addition to this issue.

5.

You are returned to the main screen. To make your change persistent
and finally add this comment to the issue, save the issue by clicking on
the Save icon in the toolbar.

RESULT:
The comment has been added to the issue. People that are on the watch list of
this issue are being sent an e-mail containing the comment.

43

Track+ for Team Members

2.3.5 Adding an Attachment


Each issue can have any number of attachments. The size of an attachment
might have been limited by the system administrator. Attachments containing
text can be included in the full text search. This section describes how to add
an attachment to an issue.
PREREQUISITE
You must have retrieved the issue to which you want to add an attachment.
This can be done by entering the issue number in the search field, or by
selecting the issue from the overview report, or by creating a new issue.
You must have been granted edit permissions for this issue, or you are
permitted to create an issue. You will not see an Edit action symbol or
Create Issue menu entry if you do not have proper permissions.

44

1.

From the issue overview, click on toolbar icon Add attachment, or


follow the procedure to create a new issue.

2.

Only if you are creating an issue, or editing an issue: in the toolbar, click
on the attachment icon.

Issue Overview

3.

A new screen appears. Enter the path name to your attachment.

4.

Add a title or brief description for the attachment.

5.

Click on Add to add this file as an attachment to this issue.

6.

You may add another attachment or click on Done to return to the


main screen.

7.

Click on the Save icon in the toolbar to finalize the operation.

RESULT:

45

Track+ for Team Members

The attachment has now been added to the issue. If full text search is enabled,
and the attachment contains text in a format recognized by Track+, that text
is included in the index.
People that are on the watch list of this issue will be sent an e-mail of this
change, if notifications are configured accordingly.

2.3.6 Moving an Issue


Moving an issue means to change its project, its issue type, or its visibility.
Please be aware that issue information can become inaccessible when moving
an issue to another issue type or project. For example, it is possible that some
fields do not exist in the new project or issue type, but they do in the current
one.
Furthermore, forms may have been customized differently for different
projects and issue types, also possibly rendering some information inaccessible.
Private visibility means that no person except for the originator of an issue will
be able to see this issue anywhere in the system.

Changing Issue Type


Track+ organizes issues in different lists, called issue types. You can move an
issue from one issue type to another. How to do this is outlined below.
PREREQUISITE
You must have retrieved the issue which you want to move to another issue
type list or project. This can be done by entering the issue number in the search
field, or by selecting the issue from the overview report.
You must have been granted edit permission for this issue. Issue actions will be
disabled if you do not have proper permissions.
46

Issue Overview

1.

From the issue overview, click on tool bar icon Move.

2.

A new screen appears. Select the new issue type.

3.

Click on the Next button.

4.

A new screen appears. Here you may change other parameters related to
the issue type change. This form might have been configured by your
system administrator.

47

Track+ for Team Members

5.

Once you are done with changing other parameters, click on the
Move button.

RESULT:
The issue will now be in the chosen issue type list and has been removed from
the old list.
Be aware that this can change a number of things, including your right to
access this issue. For example, there could be other statuses available, or other fields
or input masks.

NOTE:

People that are on the watch list of this issue will be sent an e-mail of this
change, if notifications are configured accordingly.

Moving Issues To Another Project


You can move an issue from one project to another one. This is a grave operation, since the receiving project might have totally different fields, access
permissions, input masks, managers, responsibles, and so one. The following
section describes how to move an issue to another project.

48

Issue Overview

PREREQUISITE
You must have retrieved the issue which you want to move to another project.
This can be done by entering the issue number in the search field, or by
selecting the issue from the overview report.
You must have been granted edit permissions for this issue. You will not see an
active Move tool bar icon if you do not have proper permissions.
1.

From the issue overview, click on tool bar icon named Move.

2.

A new screen appears. Select the new project or issue type where you
want to move the issue to.

3.

Click on the Next button.

4.

A new screen appears. Here you may change other parameters related to
the project or issue type move. This form might have been configured
by your system administrator.

49

Track+ for Team Members

5.

Once you are done with changing other parameters, click on the
Move button.

RESULT:
The issue has now been moved to the new project or issue type and has been
removed from the old project or issue type. Be aware that this can change a
number of things, including your right to access this issue. For example, there
could be other statuses available, or other fields or input forms.
People that are on the watch list of this issue will be sent an e-mail of this
change, if notifications are configured accordingly.

2.3.7 Changing Issue Status


The lifecycle of an issue is characterized by its status. As work on an issue
progresses, it is typically moved from one status to another one. Oftentimes, a
status change coincides with a change of the responsible person.
PREREQUISITE

50

Issue Overview

You must have retrieved the issue which you want to move to another issue
type list. This can be done by entering the issue number in the search field, or
by selecting the issue from the overview report.
You must have been granted edit permissions for this issue.
1.

From the issue overview, click on tool bar icon Change Status.

2.

A new screen appears. Select the new status, and depending on your
system configuration a new responsible and other parameters.

3.

Click on the Save icon in the toolbar to finalize the operation.

RESULT:
The issue will now have the new status. Be aware that this can change accessibility of the issue, and the list of available statuses for another status change

51

Track+ for Team Members

may have changed. This is defined by the workflow for this project and issue
type.
For example, it may not be possible to move an issue from status closed to
opened, only reopened may be possible.
People that are on the watch list of this issue will be sent an e-mail of the status
change, if notifications are configured accordingly.

2.3.8 Change Start and Due Date


Issues can have start and due dates. These dates are being used to notify users
of issues that are due soon, and to mark unresolved issues as late. Start and due
dates are also being used for Gantt diagrams. This section describes how to add
or modify start and due dates.
PREREQUISITE
You must have retrieved the issue where you want to add or change start and
due dates. This can be done by entering the issue number in the search field,
or by selecting the issue from the overview report.
You must have been granted edit permissions for this issue. You will not see an
Issue Actions menu entry if you do not have proper permissions.
You must have been granted permission to add and change start and due dates
for this issue. If this is not the case, you will see these fields deactivated.
1.

52

From the issue overview, select action icon Edit.

Issue Overview

2.

A new screen appears. By default, the start and due dates are on the main
tab. Your system administrator may have changed this.

3.

Using the little calendar icon, add or change a start date or a due date or
both. You can also enter the date directly in the text field, but you have
to know the format.

4.

To make this change persistent, click on the Save button in the tool
bar.

RESULT:
The issue will now have the new start and/or due date. All watchers will be
notified of the change, if they have configured their notification triggers and
filters accordingly.
Changes to start and due dates are recorded in the issue history. Reminder
e-mails will be sent for issues due or overdue if the e-mail reminder facility is
configured appropriately.

53

Track+ for Team Members

2.3.9 Changing the Issue Watcher List


Each issue comes with two watch lists: one for people in RACI role
consulted (two way communication) and the other for people in RACI role
informed (one way communication). This section describes how to add and
remove users from these watch lists.
PREREQUISITE
You must have retrieved the issue for which you want to change the list of
watchers. This can be done by entering the issue number in the search field, or
by selecting the issue from the overview report, or by creating a new issue.
You must have been granted edit permissions for this issue. You will not see an
Edit action icon if you do not have proper permissions.

54

1.

From the issue overview, select action icon Edit.

2.

A new screen appears. Switch to tab named Watchers.

3.

To add a consulted, click on toolbar icon named Add Consulted. To


add an informed, click on toolbar icon named Add Informed. To add
yourself in these roles, click on Add Me.

Issue Overview

4.

A selection box appears. Mark the users you want to add to the list.

5.

Click on the Add button.

6.

To remove users from the lists, mark them with the associated check
box. Then click on the Delete icon in the toolbar to remove these
users from the list.

RESULT:
The selected users have been added to or removed from the consulted and/or
informed list. All changes to issues will be passed to the notification triggers
and filters for these roles. If the trigger fires and the filter lets the issue pass, the
users on the consulted and informed lists are notified of changes to the issue.

2.3.10 Attaching an Issue to a Parent


Issues can be organized hierarchically. You can either create a child issue for an
existing issue, or you can attach an issue as a child to an existing parent issue.
This sections describes how to attach an issue to a parent issue.
PREREQUISITE
You must have chosen an issue, and you must be in edit mode for this issue.
You can get there by either creating a new issue, or by editing an existing one.
55

Track+ for Team Members

1.

Click on the toolbar icon labeled Choose Parent.

2.

A new window opens. You can now define a filter by project and
subsystem, or directly enter the issue number of the parent issue.

3.

Click on the Search button. A list with issues matching the filter
appears.

4.

Select one of this list as the new parent issue.

5.

Click on the issue you want to add as a parent issue to finish this operation.

RESULT:

56

Issue Overview

You have made the current issue a child issue to the chosen parent issue. In the
report overview you will see this structural dependence. You will not be able
to close a parent issue before you have not closed all child issues.

2.3.11 Creating a Child Issue


Issues can be organized hierarchically. You can either create a child issue for an
existing issue, or you can attach an issue as a child to an existing parent issue.
This sections describes how to create a child issue from an existing issue.
PREREQUISITE
You must have chosen an issue, and you see the issue overview.
1.

Click on the toolbar icon labeled Add Child.

2.

On the screen that appears, select the desired project and issue type. The
default will be your last selection. Mark the check box if you want to
keep this issue hidden from anybody else. This will mark your new issue
as private, it will really only be visible to yourself. You can change this
to a public issue any time later on, if you wish.

57

Track+ for Team Members

3.

58

Click the Next button.

Issue Overview

4.

The new issue screen appears. This screen may have been configured
specifically for this project and issue type. Some fields are mandatory,
they will always be there.

5.

Enter a title, or short summary of your issue in the title field.

6.

Enter a full description of your issue in the description field.

7.

Enter any other information that you know of and that is required.
Since screens can be issue type dependent, you may see different fields
and tabs in different projects and for different issue types.

8.

When you are done entering the data, hit the Save icon at the top.

RESULT:
You have created a new issue which is the child issue of the original issue.

2.3.12 Copying Issues


It is possible to create a new issue from an existing one by means of the Copy
action.
The new issue will automatically be a child issue of the copied issue. The title
will be the same, but with the text (Copy) prepended.
The copy operation can copy including all history trail information (deep
copy), or without the history trail information.

Copy Issue
You can create new issues from existing issues by copying. You can choose if
the copy should include the entire history of the master issue, or just the
current attributes and fields.
PREREQUISITE
59

Track+ for Team Members

You must have retrieved the issue which you want to move to another issue
type list. This can be done by entering the issue number in the search field, or
by selecting the issue from the overview report.
You must have permission to create issues.
1.

Click on the Copy icon in the toolbar.

2.

On the screen that appears, mark the check box if you want to copy the
issue including its history, otherwise leave it unchecked.

3.

Click the Copy button.

RESULT:
A new issue has been created which is a copy of the original issue. The new
issue is by default marked with Copy in the subject field, and it is by default
a child issue of the original issue.

60

Issue Overview

2.3.13 Linking Issues to Other Issues


There are two ways to link issues to other issues: by means of a parent-child
relationship, or by flat links. This sections describes how to link issues by flat
links.
PREREQUISITE
You must have chosen an issue, and you are in edit mode for this issue. You
can get there by either creating a new issue, or by editing an existing one.
1.

From the issue overview, click on the Edit action icon.

2.

On the screen that appears, select the description field.

3.

Click on the Issue button at the top of the description area, or enter
the issue you want to link to like [issue 4711/]. You can add as many
links as you want.

61

Track+ for Team Members

4.

Click on the Preview button and check that the link to referenced
issue appears.

5.

Save the issue with all changes.

RESULT:
You have created a link to another issue in the system. By clicking on the link
rendered in the reports and previews, you can go to the linked issue.

2.3.14 Linking Issues to Version Control


Track+ can tightly integrate with version control software. There are two ways
to link issues to version control information: by direct links in the description
area or by automatically generated information retrieved from version control
logs. This sections describes how to link to version control through description
area tags. If you want to link files from version control to an issue, just add the
issue number preceded with a hash # to the commit comment.
PREREQUISITE

62

Issue Overview

Your project administrator must have set up links to the version control system
of your project.
You must have chosen an issue, and you must be in edit mode for this issue.
You can get there by either creating a new issue, or by editing an existing one.
NOTE: There is another way to automatically link into version control repositories.If your project administrator has setup the project appropriately, a new tab will
appear named Version control. All file revisions related to this issue will appear
on that tab. Relationship is created by adding tags of the form #<issue no.> to the
commit comment in your version control system, like Related to issue nos. #13,
#17, and #19.

1.

Click into the description area. Place the cursor where you want the
version control links to appear.

2.

Click on the VC button just above the description area.

3.

A tag of the form [vc=module/file <rev=x.y>]File[/vc] appears. Enter


values for module, file, and rev(ision) as they are used in your version
control system. You can enter any name for the File text, for example
the file name plus some descriptive information. You can enter any
number of such tags into the description area.

4.

Save the issue.

RESULT:
You have now created information that will appear as link in the reports and
issue overview. When clicking on the link rendered by the Track+ system, a
browser window will open up showing you the file referenced.

63

Track+ for Team Members

2.3.15 Budgets and Expenses


Each issue can have a budget of time and a monetary budget. As work
progresses, actual work performed or cost incurred is tracked against the
budget. In this section we describe the main concepts related to budget and
effort tracking.

Time and Cost


As work is performed processing this issue each user that has worked on it can
enter the time spent in a time sheet. Times and costs are always booked against
accounts. Which accounts are available for the project an issue belongs to was
defined by the system or project administrator.
Budgeting, time and cost tracking has to be enabled by the project administrator for the respective project, otherwise this tab will not be visible. Furthermore, the user has to have granted proper permissions by the project
administrator in order to be able to see the budget, cost and time tab and enter
values there.
Adding time and expenses by default changes the estimated remaining budget.
If a change is not desired, it is possible to keep the old estimated value even
when time and expenses are being booked on this issue.
It is possible to define the date for which the booking shall take place, in case
times and expenses are booked at a later date than the date when the work was
actually performed.
Adding times and expenses is irreversible. If an error was made, a negative
amount can be booked to compensate for any wrong values.
Time can be added in hours or workdays. Internally Track+ keeps all values in
hours. The internal value in hours is calculated from the users profile settings
where for each user the hours per workday can be defined. If nothing is defined
there, the project default setting is taken.
64

Issue Overview

Total Budget
For each issue, those permitted to do so can enter a total budget. This budget
serves as a baseline. There is a difference between a monetary budget and a
time budget. You can use either, or both. The total budget can be changed,
but the changes are recorded in the issue history.
Not everyone may be permitted to enter budgets; there is a special permission
flag for this. It depends on your organization if you are permitted to enter and
change budgets or if this is reserved to the managers.

Estimated Remaining Budget


Beside the total budget there is a value called the estimated remaining
budget. Here one can enter actual estimates how much time and money it
will probably take to complete work on this issue. As time goes by, the estimated remaining budget may become more and more precise. It also may be
larger or smaller than the total budget. Changes to the estimated remaining
budget are not recorded in the tracking database; the last value entered is the
only visible one, including the person who entered it into the Track+ system.
This approach is similar to the Earned Value Method. The difficulty with the
original method is to exactly define the earned value. In Track+ it is more clear
that we are talking about estimates unless we are done.

Issue Expense Overview


For each issue you can get an overview of the expenses already booked, and
how they relate to the budget and estimated remaining budget. This overview
can be filtered and shown in different views. There is a bar graph that concisely
describes the situation for this issue. The blue bars show the total budgets,
while the other bars show the expenses that have already been booked, and the
estimated remaining values. If the values booked itself or in conjunction with
65

Track+ for Team Members

the estimated remaining budgets exceed the total budget the bars are shown in
red.
It depends on your role with associated permission whether you can see all
expenses, or only your own.

Add Budget
If accounting is enabled for a project, it is possible to associate a budget with
an issue. This permits to monitor issues whether they are within the budget or
out of it. It also permit to monitor issue progress by comparing actual effort
and cost to the budget. This section describes how to add a budget to an issue.
PREREQUISITE
You must have retrieved the issue to which you want to add a budget. This can
be done by entering the issue number in the search field, or by selecting the
issue from the overview report.
You must have been granted edit permissions for this issue. You will not see an
Edit action icon if you do not have proper permissions.
Accounting must have been enabled for this project by the project or system
administrator. Otherwise you will not see the Time and Cost tab.
You must have been granted the permission to add and modify budgets for
issues. Otherwise you will see the budget fields deactivated.
1.

66

From the issue overview, select action icon Edit.

Issue Overview

2.

A new screen appears. Select the Time and Cost tab.

3.

Open the panel named Total budget by clicking on the little blue
arrow button on the right side. The Total budget panel is hidden by
default. It is the third from the top.

67

Track+ for Team Members

4.

Add time and cost in the respective fields. Optionally, add a description
for this budget.

5.

Click on the Modify button. The budget will be changed to the value
just entered, even if you do not save the issue itself.

RESULT:
The issue now has a new budget. Actual time and cost spent is compared to
this budget. Budget changes are recorded in the issue history.

Changing Budgets
You can assign a budget to each issue in the Track+ system for projects where
accounting has been enabled. The budget may be changed anytime, all
changes are kept in the history trail of this issue.
PREREQUISITE
Your project administrator must have enabled accounting for this project, and
must have assigned accounts to this project.
You must have permission to change budgets for an issue, that is you have been
assigned a role in the project by the project administrator which carries this
kind of permission flag.

68

1.

Select an issue either by typing the issue number into the search field or
by selecting an issue from the report overview.

2.

In the toolbar, click on the Edit icon.

Issue Overview

3.

On the form that appears, switch to the Time & Cost tab.

4.

If you are changing an existing budget, and you do not want to change
the estimated remaining budget, first go to the estimated remaining
budget field area and select the radio button Leave existing estimate.
Otherwise, the estimated remaining budget is adjusted by the difference
between the current budget and the new budget.

69

Track+ for Team Members

5.

Click on the little icon on the right in the row labeled Total budget.

6.

Add the new budget values for time and cost. Add a brief description of
the purpose of this budget, if desired.

7.

Click on the Modify button below the description field to save the
change to the database.

RESULT:
A new budget has now been assigned to this issue. The previous budget, if any,
has been recorded in the issue history.
If you have not selected the Leave existing estimate radio button in the Estimated Remaining Budget area, the new estimated remaining budget is calculated as Current Estimated Remaining Budget + (New Total Budget Previous Total Budget).
You can at any time override the estimated remaining budget manually.
There is no need to save the issue, the budget change has been modified independent of any other issue changes.
All parties concerned will receive a notification e-mail of this budget change,
if the Automail system has been configured accordingly.

70

Issue Overview

Changing Estimated Remaining Budgets


You can assign an estimated remaining budget to each issue in the Track+
system for projects where accounting has been enabled. This estimated
remaining budget shall give an indication on work progress. It can be changed
any time, changes are not recorded in the history trail.
PREREQUISITE
Your project administrator must have enabled accounting for this project, and
must have assigned accounts to this project.
You must have permission to change budgets for an issue, that is you have been
assigned a role in the project by the project administrator which carries this
kind of permission flag.
1.

Select an issue either by typing the issue number into the search field or
by selecting an issue from the report overview.

2.

In the toolbar, click on the Edit icon.

3.

On the form that appears, switch to the Time & Cost tab.

71

Track+ for Team Members

4.

Click on the little icon on the right in the row labeled Estimated
remaining budget.

5.

Depending on what you want to do, select one of the three radio
buttons. You can either select leaving the actual estimate, doing an auto
adjust when time or expenses are added, or manually changing the estimate. When you get here you most likely want to select Changing estimated remaining budget.

6.

Click on the Modify button to save the change to the database.

RESULT:
A new estimated remaining budget has now been assigned to this issue. Be
aware that the default behavior in case of budget changes or adding time and
cost is an auto adjust of the estimated remaining budget.

72

Issue Overview

For example, if an original budget of 50 hours is entered, the initial estimated


remaining budget will be set to 50 hours, unless you select the Leave estimated remaining budget radio button.
If time expense of 10 hours is added, by default the estimated remaining
budget will go down to 40 hours.
Let us assume you now manually change the estimated remaining budget to
45 hours, since you found out in the meantime that this task will take you
longer than originally anticipated. If you now add another 6 hours of work,
the estimated remaining budget will go down to 39 hours.
If later on you should decide to make the budget change public, you can
change the total budget to 45 hours. In this case, unless you select the Leave
estimated remaining budget radio button, the estimated remaining budget
will move to 44 hours, namely the current 39 hours plus the difference
between the original total budget and the new total budget.
There are no e-mail notifications associated with changing the estimated
remaining budgets.

Adding Time and Expenses


You can assign a budget to each issue in the Track+ system for projects where
accounting has been enabled. Thereafter you can log work (time) or other
expenses against that budget.
PREREQUISITE
Your project administrator must have enabled accounting for this project, and
must have assigned accounts to this project.
You must have permission to add time and expenses for an issue, that is you
have been assigned a role in the project by the project administrator which
carries this kind of permission flag.

73

Track+ for Team Members

74

1.

Select an issue either by typing the issue number into the search field or
by selecting an issue from the report overview.

2.

In the toolbar, click on the Edit icon.

3.

On the form that appears, switch to the Time & Cost tab.

4.

Enter the time and/or cost spent, a brief title and a more elaborate
description or justification for the expense. If desired, change the date
for this expense, in case you add all expenses at one time but you want
to have them listed as they occurred.

Reporting Overview

5.

Check closely, since this operation can only be reversed by booking


negative amounts, and click on the Add button right below the
description field.

RESULT:
A new expense has now been logged against this issue.
There is no need to save the issue, the time and expense have been added independent of any other issue changes.
There are no e-mail notifications associated with writing expenses against
issues.

2.4 Reporting Overview


Track+ gives you a number of options on retrieving information from its database. This section describes the concepts and principles of the Track+
reporting engine.
A Track+ database may contain thousands of issues even for a single project.
Track+ permits to select collections out of the entire number of issues by
means of filters.

75

Track+ for Team Members

To get a view on a collection of issues, you execute a "Browse" operation using


a filter. Track+ will make sure you will only see issues that you have been
authorized to see, regardless of the filter settings.
Three of the most commonly used filters have been provided directly in the
menu:
+ My issues - all unclosed issues that you are either the author of, the

manager, or responsible. This covers all projects you have access rights in.
+ Responsible issues - all unclosed issues you are currently responsible for.
This is basically your personal to do list.
+ Managers issues - all unclosed issues you are currently the manager of.
You may want to look after these issues once in a while to monitor work
progress.
Beside these three predefined filters, you can define and use any number of
custom filters, or even use filters that others have defined and published. There
are two filter types:
+ Tree filter - easy to use yet powerful way to define filter criteria.
+ TQL filter - permits you to define filter criteria in a language similar to

SQL. These filters are even more powerful than tree filters, but have a
steeper learning curve.
You can mark your own filters for inclusion in the menu. They will then
appear as entries in a submenu below the predefined report filters.
When you execute a "Browse" operation with a filter, you will get the result
on the report overview page. The column layout of the report overview page
is completely customizable.
The result set shown on the report overview page can be exported into
template based PDF, HTML, RTF or Excel reports, or to comma separated
values (CSV) format, or to an XML file. There is an interactive template
designer that comes with Track+. Any number of templates can be uploaded
to the Track+ server.
76

Reporting Overview

Template based reports can ignore the result set and can define their own filter
criteria. Furthermore, there are additional reports for accounting available,
which also come with their own filter engine.

2.4.1 Working with the Report Overview


This section explains how to work with the report overview. You get to the
report overview when you execute a filter, for example My issues or any
other custom filter.

Introduction
The report overview page is the central location to view a collection of issues.
This sections describes how to modify the column layout of this page.
Issues come with a number of attributes. Not all of them may be interesting
for the report overview, and it would be confusing to display them all. For this
reason you can define which columns to see, and how much space you want
to provide for each column. Furthermore you can sort on any column by
clicking on the columns header.

Modifying Column Width


To modify the width of a column move the cursor to the right double bar of
that column header. Select and move the bar to increase or reduce the width
of the column. All settings are permanent, they will be preserved across
sessions.

77

Track+ for Team Members

Moving Columns
To move a column to another place select that column header and drag and
drop it to another column header. After you have dropped it, it will appear
right to the column header where you dropped it.

Adding and Removing Columns


To add or remove attributes, click on the Choose Columns link at the top
right position of the report overview page. A list with available and selected
attributes pops up. Check an unchecked attribute to add it to the report overview, or uncheck a checked column to remove it from the report overview.

The issue number column should not be deleted. It provides the logic to
unfold hierarchically organized issues.

Sorting Columns
You can sort the report overview by clicking on the appropriate column. It will
sort in turn in ascending and descending order.

78

Reporting Overview

Folding and Unfolding Issue Hierarchy


The issue number column should not be deleted. It provides the logic to
unfold hierarchically organized issues. To unfold child issues, click on the +
button. To fold them back together click on the - button in that column. To
fold or unfold all issues, click on the appropriate buttons in that columns
header.

Template Based Reports


The report overview sometimes does not suffice as a presentation format. For
more complex report layouts Track+ uses the Jasper Report engine which
permits to define pixel perfect reports and export them into a variety of
formats. These reports are defined via templates. Track+ comes with a number
of predefined templates, and you can upload your own templates to the server.
If you want to use a template for a result set displayed in the report overview,
click on the Export button in the toolbar.
Select a report template from the list that appears and click on the Execute
button in the Action column on the right. You can get a description and
preview of the report template when you hover over its name in the template
list.

Exporting Overview Result Set to XML


The set of issues shown in the report overview can be downloaded in XML
format. Click on the XML icon in the toolbar.
79

Track+ for Team Members

The XML file will contain all information regarding the issue, including all
history information. The XML format is very helpful when you design your
own report templates. Track+ uses the same format internally, so you can
conveniently design your report templates locally on your client computer
using the Track+ ReportStudio design software, and test your reports with real
data. When everything works you can upload your new template to the server.

Exporting Overview Result Set to CSV


You can export the set of issues shown in the report overview to a comma separated value (CSV) format file. This format for example is good if you want to
further process the data in Excel.
You can set the separator character which is being used in the CSV file in your
personal profile area, since it may depend on your version of MS Office and
locale on your client computer.
To download the file in CSV format click on the CSV icon in the toolbar of
the report overview.

2.4.2 Managing Report Filters


Report filters are used to limit views on issue collections. You can define your
own report filters, and publish them for use in other projects or for all users.
Track+ provides three repositories to store filters in:
+ a personal filter repository
+ project specific filter repositories
+ a system wide filter repository

Each user if the Track+ system has his own, personal filter repository. Here you
can store, modify and delete filter expressions that you have developed for
80

Reporting Overview

yourself and found useful. You can copy some of your own, personal filters
into the public repository and make them available to all other users of the
system, that share at least one project with you. This is a convenient way to
interchange filter expressions with other users in order to later on personalize
them.

From the public repository, you can copy queries into your personal repository
to modify them there. You can delete your own published queries from the
public repository, but not those owned by anybody else.
If you have project administrator rights in at least one project you may add,
modify and delete filters from the project repository. Members of a project
may use project specific queries and can copy them into their own, personal
repository for modification. Entries in the project specific repository list can
be filtered by project name.

All access rights are handled such that only authorized persons can access,
modify and delete report filter definitions in the repositories. To get an issue

81

Track+ for Team Members

overview with a certain filter, go to the Action column and click on the little
tooth wheel symbol Browse with filter.

If there are a lot of filters you can limit the view to a selection based on name
pattern, filter type, and repository using the little filter symbol at the top right
position of the form.

Managing Report Tree Filters


One of the two Track+ filter types is called Tree filter. The name is caused
by the fact that you can define the filter by organizing filter criteria in a tree
structure.
This section describes how to define and manage tree filters.

Overview
Tree filters consist of two parts. The first part is assembled by selecting entries
from selection boxes for different issue field. For example, by selecting a
project from the project selection list, and selecting closed from the status
selection list, and unselecting everything else, the result set would contain all
closed issues for this project. Selecting additional fields and values would add
these criteria to the filter.

82

Reporting Overview

In logical terms, this part of the filter is comprised of the logical AND of the
logical ORs of the selections for each field like this:
(PROJECT==P1 OR PROJECT==P2) AND (STATUS==CLOSED OR
STATUS==SUSPENDED)

This principle covers most use cases. Track+ provides the most important
fields for this form of filter criteria definition.
Additional fields and custom fields are available in the tree part of the filter.
To add a field there select the AND node in the empty tree. Then hit the
EXP (expression) button. A new expression has been added to the filter, but
with an invalid filter expression. To define the expression, click on it. On the
right side a number of selection boxes appear. Configure the desired values.
The logical expression for this filter will appear in the preview area.
To add a second expression that should be ANDed with the first expression,
again select the AND node in the tree. Then click on the EXP button. As
before, a new expression has been added to the tree. You have to define a new
filter expression as before.
The filter expression of the selection area is ANDed with the complete expression from the tree area. The fastest way to learn using the tree filter is to play
around with it and watch the logical expression showing up in the preview
area.
You can directly browse an issue collection with this filter without saving it, or
you can give it a name and save it, so that you later on can reuse it.
83

Track+ for Team Members

You can place any filter into your private repository. You can place filters into
the project repository, or publish them for system wide use.
Private filters can be added to the menu for direct use by checking the Add to
menu check box.

Selecting Projects and Project Wildcard


Filters usually refer to a specific project. If you select a project you will see a
number of project specific selection boxes, like releases, subsystems, and so on.
It is however possible to define filters that pertain to more than one project, or
to none at all. In this case it is not possible to select attributes from project
specific fields, except for in the tree section.
The advantage of using filters with no projects selected is that it makes the
filters more reusable. For example a filter like all issues changed since my last
login can be used by all users, and it will pertain to each users projects.

Tree Filter Examples


Changed Since Last Login

84

1)

Select all projects.

2)

Select all statuses.

Reporting Overview

3)

In the tree area, click on the topmost AND node.

4)

Click on the EXP (expression) button right above the tree. A new
node appears named Unknown expression Click on that node.

5)

In the selection box on the right of the tree select field Last modified.

6)

Another selection box appears. Select After last login.

85

Track+ for Team Members

86

7)

On the top of the screen, enter a name for the filter and a repository. If you select private only you will be able to see and use the
filter. In this case you can add it to the menu. If you select
Project, you have to choose a project. In this case others in the
same project will also be able to see and use this filter. If you select
Public (you can only do this as administrator), all system users
will be able to see and use this filter.

8)

Save the filter.

Reporting Overview

Closed Since Last Login

1)

Select all projects.

2)

Select status closed.

3)

In the tree area, click on the topmost AND node.

4)

Click on the EXP (expression) button right above the tree. A new
node appears, named Unknown expression. Click on that node.

87

Track+ for Team Members

88

5)

In the selection box on the right of the tree select field Last modified.

6)

Another selection box appears. Select After last login.

7)

On the top of the screen, enter a name for the filter and a repository. If you select private only you will be able to see and use the
filter. In this case you can add it to the menu. If you select
Project, you have to choose a project. In this case others in the
same project will also be able to see and use this filter. If you select
Public (you can only do this as administrator), all system users
will be able to see and use this filter.

Reporting Overview

8)

Save the filter.

Pending (Unclosed) Problem Reports

1)

Select all projects.

2)

Select all statuses except for closed and suspended. This is the
default selection when the screen comes up for the first time.

3)

Select issue type problem report.

89

Track+ for Team Members

4)

On the top of the screen, enter a name for the filter and a repository. If you select private only you will be able to see and use the
filter. In this case you can add it to the menu. If you select
Project, you have to choose a project. In this case others in the
same project will also be able to see and use this filter. If you select
Public (you can only do this as administrator), all system users
will be able to see and use this filter.

5)

Save the filter.

Assigned Where Current User is Responsible

1)

90

Select all projects.

Reporting Overview

2)

Select status assigned.

3)

Select from Responsible selection box $USER.

4)

On the top of the screen, enter a name for the filter and a repository. If you select private only you will be able to see and use the
filter. In this case you can add it to the menu. If you select
Project, you have to choose a project. In this case others in the
same project will also be able to see and use this filter. If you select
Public (you can only do this as administrator), all system users
will be able to see and use this filter.

5)

Save the filter.

91

Track+ for Team Members

Changed During Last Week

92

1)

Select all projects.

2)

Select all statuses.

3)

In the tree area, click on the topmost AND node.

4)

Click on the EXP (expression) button right above the tree. A new
node appears named Unknown expression Click on that node.

Reporting Overview

5)

In the selection box on the right of the tree select field Last modified.

6)

Another selection box appears. Select <= x DAYS AGO. A text


field appears. Enter the number 7 in this text field.

7)

On the top of the screen, enter a name for the filter and a repository. If you select private only you will be able to see and use the
filter. In this case you can add it to the menu. If you select
Project, you have to choose a project. In this case others in the
same project will also be able to see and use this filter. If you select
Public (you can only do this as administrator), all system users
will be able to see and use this filter.

93

Track+ for Team Members

8)

Save the filter.

Complex Example
It is possible to create more complex filter expressions. In the following
example we create a filter for all issues belonging to two projects with a specific
release, that have been modified during the last 7 days.

Note that when you select releases they are shown together with their project
in the selection box. You do not have to explicitly enter the project itself.

TQL Filters
One of the two Track+ filter types is called TQL filter (Track+ Query
Language). The language used for this filter type is similar to the Structured
Query Language (SQL) WHERE clause. TQL offers a flexible way to define
filter criteria. With its extension TQL+ it permits full text and fuzzy searches
on all system and custom fields.
A TQL expression is made up of a number of simple comparison terms that
are related by the boolean operators AND or OR. Example:
attribute == value AND attribute >= value OR attribute
<= value

The AND operator has a higher precedence than the OR operator. This
behavior can be overwritten with parentheses:
94

Reporting Overview

attribute == value AND (attribute >= value OR attribute


<= value)

The following table shows all possible comparison operators and their
meaning.

Operator

Description

Example

==

equal

State == opened

!=

not equal

State != closed

>=

greater than or equal

ItemNo >= 1000

>

greater than

ItemNo > 995

<=

less than or equal

LastEdit <= 2007-03-01

<

less than

EndDate < 2007-08-17

Creating a TQL Filter


To create a TQL filter, go to Reports > Manage report filters...

Click on action icon New TQL filter.


95

Track+ for Team Members

A new screen appears.

Enter the name you want to give this filter, if you want to reuse it.
Select if you want to keep it in your private repository, or in a project or public
repository (only if your are project administrator or system administrator).
You can add this filter to your Reports menu. If you want to do so check the
box provided for this purpose.
Enter the TQL expression.
Save the filter by clicking on the action icon labeled Save.

Sorting Criteria
The sort order of the result set of a TQL query can be defined by a sort criterion. The sort criterion is represented by the attribute to be used for the sort.
The sort criterion is defined by the key word ORDER_BY followed by the
attribute name and an optional keyword ASC for ascending sort order or

96

Reporting Overview

DESC for descending sort order. The ORDER_BY expression has to precede
the TQL expression proper and has to be separated from it by a semicolon:
ORDER_BY state DESC, Project; state == open OR state ==
implemented

Date and Time Functions


Some attributes of an issue represent dates or timestamps. To facilitate the
selection of issues based on these attributes, operators are available in addition
to the comparison operators shown in Table 1. These date related comparison
OLDER_THAN and NEWER_THAN can be used with a variety of time
units, as shown in the following table.

Time Units

Example

HOURS

NEWER_THAN 55 HOURS

DAYS

OLDER_THAN 34 DAYS

WEEKS

OLDER_THAN 21 WEEKS

MONTHS

NEWER_THAN 13 MONTHS

YEARS

OLDER_THAN 8 YEARS

BEGINNING_OF_LAST_QUARTE
R

NEWER_THAN
BEGINNING_OF_LAST_QUARTER
+ 3 DAYS

BEGINNING_OF_THIS_YEAR

NEWER_THAN
BEGINNING_OF_THIS_YEAR - 2
MONTHS

97

Track+ for Team Members

Time Units

Example

BEGINNING_OF_THIS_MONTH

NEWER_THAN
BEGINNING_OF_THIS_MONTH

BEGINNING_OF_THIS_WEEK

NEWER_THAN
BEGINNING_OF_THIS_WEEK

BEGINNING_OF_THIS_DAY

NEWER_THAN
BEGINNING_OF_THIS_DAY

LAST_LOGIN

NEWER_THAN LAST_LOGIN

For example, the following TQL expression would return all issues that have
been created at most 8 weeks ago and not less than 13 days ago:
Created OLDER_THAN 13 DAYS AND Created NEWER_THAN 8
WEEKS

The operators OLDER_THAN and NEWER_THAN permit to define a


point in time relative to a point in time of an attribute, as shown above.
To work with absolute points in time, there are several functions available.
First, to specifiy an absolute point in time the DATE function can be used.
The DATE function requires as its parameter a date and time in a specified
format, as shown in the table below. The code YYYY stands for the year, MM
for the month, DD for the day, hh for the hour, mm for the minutes, and
finally ss for the seconds. The following example shows how to use the DATE
function:
LastEdited > DATE(2007-03-10) AND LastEdited <
DATE(2007-06-14 24)

98

Reporting Overview

This limits the result set to those issues that have been modified between
March 10, 2007, 00:00:00 and June 14, 2007, 24:00:00.

Date Format

Example

YYYY-MM-DD

2007-06-01

YYYY-MM-DD hh

2007-06-01 12

YYYY-MM-DD hh:mm

2007-06-01 12:12

YYYY-MM-DD hh:mm:ss

2007-06-01 12:12:12

Attribute Alias Names and Values


Each issue in Track+ carries a number of attributes that may be used as selection criteria and for sorting. TQL recognizes the attributes given in the table
below exactly as written there (watch upper and lower case letters).

Field Name

Remarks

ChangedByFirstname

$USER.Firstname as value will be replaced


with current users firstname

ChangedByLastname

$USER.Lastname as value will be replaced with


current users lastname

Class

use localized values

Created

format see Table 3

Description

99

Track+ for Team Members

Field Name
EndDate

Remarks
format see Table 3

ItemNo
Lastedit

format see Table 3

List

use localized values

ManagerFirstname

$USER.Firstname as value will be replaced


with current users firstname

ManagerLastname

$USER.Lastname as value will be replaced with


current users lastname

OriginatorFirstname

$USER.Firstname as value will be replaced


with current users firstname

OriginatorLastname

$USER.Lastname as value will be replaced with


current users lastname

Priority

use localized values

Project
ReleaseNoticed
ReleaseScheduled

100

ResponsibleFirstname

$USER.Firstname as value will be replaced


with current users firstname

ResponsibleLastname

$USER.Lastname as value will be replaced with


current users lastname

Reporting Overview

Field Name

Remarks

Severity

use localized values

StartDate

format see Table 3

State

use localized values

Subsystem
Synopsis

Values in a TQL expression have to be in the right format. Some values are
localized, and you have to enter the value that corresponds to your current
locale and that you see in all other places of the application as well. For
example, take the State attribute. One possible state may be opened in
English, or geffnet in German. If you see the user interface in German, your
preferred locale as sent to the Track+ server by your browser is German. Thus
you need to enter geffnet as value. If you see the Chinese user interface, you
would have to enter the Chinese value for opened (good luck if you are not
Chinese).
Date and time functions are not localized; you have to use the format given in
Table 3.

TQL Examples
Below some examples of TQL expressions are listed to demonstrate how to use
the various features of this language.
State != opened
Lastedit < DATE(2003-01-01)

101

Track+ for Team Members

Project NOT_LIKE "Foo%"


ORDER_BY OriginatorFirstname DESC ; ItemNo > 0
(Created OLDER_THAN 20 DAYS) AND State == geffnet
Project == "Southpark" AND ManagerLastname == "Cartman"
Project == "F4-WS" AND ResponsibleLastname ==
"$USER.Lastname"
(ManagerLastname == "Cartman" OR ManagerLastname LIKE
"Mc%")
AND (Lastedit OLDER_THAN 2 DAYS)
AND Project == "Southpark"
AND (Created > DATE(1999-12-24)
AND (State == opened OR State == suspended)

TQLPlus
TQL comes in two forms: the regular form as described above, and the
TQLplus form. Syntax of the TQLplus form is slightly different, and there are
additional fields that can be searched for. All other field names are equivalent.
The TQLplus form permits to search in attached files (HTML, text, XML,
OpenOffice, PDF, Excel) and permits to perform fuzzy and proximity
searches. You also have to use TQLPlus if you want to include custom fields
in your search.
The TQLplus form is characterized by the leading hashmark # as first character of the query expression (not shown any more below). The TQLplus form
query expression can also be entered in the search field on the menu bar
102

Reporting Overview

without the hashmark #. While field names are equivalent to regular TQL field
names, functions and operators are not. Furthermore, field values can be
entered in any locale available on the system

Terms
A query is broken up into terms and operators. There are two types of terms:
Single Terms and Phrases.
A Single Term is a single word such as "test" or "hello".
A Phrase is a group of words surrounded by double quotes such as "hello
dolly".
Multiple terms can be combined together with Boolean operators to form a
more complex query (see below).
If the term consists of just a number, only the issue number field is searched
for exactly this number.

Fields
TQLplus supports fielded data. When performing a search you can either
specify a field, or use the default field. The default field encompassses basically
all textual fields of Track+.
You can search any field by typing the field name followed by a colon ":" and
then the term you are looking for.
As an example, let's assume you want to find the issue entitled "The Right
Way" which contains the text "don't go this way", you can enter:
Synopsis:"The Right Way" AND Description:go

or
Synopsis:"Do it right" AND right
103

Track+ for Team Members

Since text is the default field, the field indicator is not required.
NOTE:

The field is only valid for the term that it directly precedes, so the query

Synopsis:Do it right

will only find "Do" in the title field. It will find "it" and "right" in the default field
(in this case the text field).

Term Modifiers
TQLplus supports modifying query terms to provide a wide range of searching
options.
Wildcard Searches
TQLplus supports single and multiple character wildcard searches. To
perform a single character wildcard search use the "?" symbol. To perform a
multiple character wildcard search use the "*" symbol.
The single character wildcard search looks for terms that match that with the
single character replaced. For example, to search for "text" or "test" you can
use the search:
te?t

Multiple character wildcard searches looks for 0 or more characters. For


example, to search for test, tests or tester, you can use the search:
test

You can also use the wildcard searches in the middle of a term:
te*t
NOTE:

104

You cannot use a * or ? symbol as the first character of a search.

Reporting Overview

Fuzzy Searches
TQLplus supports fuzzy searches based on the Levenshtein Distance, or Edit
Distance algorithm. To do a fuzzy search use the tilde, "~", symbol at the end
of a Single word Term. For example to search for a term similar in spelling to
"roam" use the fuzzy search:
roam~

This search will find terms like foam and roams.An additional (optional)
parameter can specify the required similarity. The value is between 0 and 1,
with a value closer to 1 only terms with a higher similarity will be matched.
For example:
roam~0.8

The default that is used if the parameter is not given is 0.5.


Proximity Searches
TQLplus supports finding words that are within a specific distance away. To
do a proximity search use the tilde, "~", symbol at the end of a Phrase. For
example to search for a "apache" and "jakarta" within 10 words of each other
in a document use the search:
jakarta apache~10

Range Searches
Range Queries allow one to match documents whose field(s) values are
between the lower and upper bound specified by the Range Query. Range
Queries can be inclusive or exclusive of the upper and lower bounds. Sorting
is done lexicographically.
Lastedit:[20060101 TO 20060101]

105

Track+ for Team Members

This will find documents whose Lastedit fields have values between 20060101
and 20060101, inclusive. Note that Range Queries are not reserved for date
fields. You could also use range queries with non-date fields:
Synopsis:{Aida TO Carmen}

This will find all documents whose synopsis are between Aida and Carmen,
but not including Aida and Carmen.
Inclusive range queries are denoted by square brackets. Exclusive range queries
are denoted by curly brackets.
Boosting a Term
TQLplus provides the relevance level of matching documents based on the
terms found. To boost a term use the caret, "^", symbol with a boost factor (a
number) at the end of the term you are searching. The higher the boost factor,
the more relevant the term will be.
Boosting allows you to control the relevance of a document by boosting its
term. For example, if you are searching for
jakarta apache

and you want the term "jakarta" to be more relevant boost it using the ^
symbol along with the boost factor next to the term. You would type:
jakarta^4apache

This will make documents with the term jakarta appear more relevant. You
can also boost Phrase Terms as in the example:
"jakarta apache"^4 "TQLplus new"

By default, the boost factor is 1. Although the boost factor must be positive, it
can be less than 1 (e.g. 0.2).
106

Reporting Overview

Boolean Operators
Boolean operators allow terms to be combined through logic operators.
TQLplus supports AND, "+", OR, NOT and "-" as Boolean operators(Note:
Boolean operators must be ALL CAPS).
OR
The OR operator is the default conjunction operator. This means that if there
is no Boolean operator between two terms, the OR operator is used. The OR
operator links two terms and finds a matching document if either of the terms
exist in a document. This is equivalent to a union using sets. The symbol || can
be used in place of the word OR.
To search for documents that contain either "jakarta apache" or just "jakarta"
use the query:
"jakarta apache" jakarta

or
"jakarta apache" OR jakarta

AND
The AND operator matches documents where both terms exist anywhere in
the text of a single document. This is equivalent to an intersection using sets.
The symbol && can be used in place of the word AND.
To search for documents that contain "jakarta apache" and "TQLplus new"
use the query:
"jakarta apache" AND "TQLplus new"

+-Operator

107

Track+ for Team Members

The "+" or required operator requires that the term after the "+" symbol exist
somewhere in a the field of a single document.
To search for documents that must contain "jakarta" and may contain
"TQLplus" use the query:
+jakarta TQLplus

NOT
The NOT operator excludes documents that contain the term after NOT.
This is equivalent to a difference using sets. The symbol ! can be used in place
of the word NOT.
To search for documents that contain "jakarta apache" but not "TQLplus
new" use the query:
"jakarta apache" NOT "TQLplus new"
NOTE: The NOT operator cannot be used with just one term. For example, the
following search will return no results:

NOT "jakarta apache"

--Operator
The "-" or prohibit operator excludes documents that contain the term after
the "-" symbol. To search for documents that contain "jakarta apache" but not
"Apache TQLplus" use the query:
"jakarta apache" -"Apache TQLplus"

108

Reporting Overview

2.4.3 Managing Report Templates


You can view a subset of all issues through filters. The issues that pass a filter
are displayed in a report overview. The report overview serves as a quick way
to display a number of issues matching certain criteria, namely the filter
criteria.
Sometimes it is desirable to display a list of issues in a different way, for
example in PDF format, with complete history, or as a graphical summary.
Track+ has a powerful template based reporting engine that can prepare pixel
perfect results from lists of issues. Track+ comes with an interactive report
design software, called Track+ ReportStudio. With this software you can
define your own report templates any way you like. These templates can be
tested on your computer, and once you are satisfied with the result uploaded
to the server.
The report template engine even permits you to preprocess data using XSLT
style sheets. The style sheets are part of the template and will be executed on
the server prior to executing the formatting part of the report template. This
permits great flexibility on processing and presenting issues.
This section describes
+ How to use report templates
+ How to download report templates from the server
+ Report template repositories
+ How to upload report templates to the server
+ Removing report templates from the server

Using a Report Template


Report templates take a list of issues and format them in the way defined in
the template. The examples that come with Track+ are templates to present
109

Track+ for Team Members

their results in PDF. There are examples for reports with and without history,
grouping, localization, and even graphical output.
To get a result set displayed with one of the templates on the server proceed as
follows:

110

1)

Create a result set, using a filter. You can use any of the predefined
filters (e.g. menu Reports > My issues) or any other filter from the
list of custom filters (menu Reports > Manage report filters...).

2)

You will see the report overview. Click on the Export icon in the
toolbar.

3)

You will see a list of available report templates. If you hover over
the report name you will see a preview of how the report will look
like.

Reporting Overview

4)

Click on the Execute icon in the Action column of the report


template you like to use. A new window will open with your set
of issues formatted according to the report template.

If you go directly to the list of templates (menu Reports > Manage report
templates...) and hit the Execute icon the last set of issues displayed in the
report overview will be taken for the report. So if you want to try out several
report templates, you dont have to run the query again and again.

Report Template Repositories


Track+ provides three types of repositories to keep report templates in:

1)

A private report template repository for each user

2)

A project specific report template repository

3)

A system wide report template repository

Each user may upload personal report templates to his private report template
repository. Other users will not be able to see these templates.
111

Track+ for Team Members

Project administrators may upload templates for use in projects they are
responsible for. Users that have a role in these projects will be able to see these
report templates.
The system administrator can upload templates that can be seen by all users.
You can sort the list of templates by name by clicking on the column header.

Downloading a Report Template


You may want to download a report template for modification purposes, or to
create a derived template. You can then locally (on your client computer)
modify the template, and even test it with XML data from Track+. Once you
are satisfied with the result you would upload the template to the server.
To download a report template from the server to your client computer, click
on the Download icon in the Action column for that particular report.

Uploading a Report Template


You can upload your personal report templates to the server. Depending on
your role in the system you may only upload report templates to your private
template repository, to a project repository, or for system wide use.

Removing Report Templates


Owner of report templates can remove them from the server by clicking on the
Delete icon in the Action column of the report template.
112

Reporting Overview

The system administrator can remove any template.

2.4.4 Built In Diagrams


Track+ offers the possibility to present the results of reports in form of pie or
bar charts and Gantt diagrams. The charts are always based on the result set of
a report overview.
To generate this result set, select a filter and run the overview report. Issues
that do not pass the filter are not considered in drawing the diagrams.

Bar Charts
There are three types of built in bar charts:
+ number of issues vs. responsible person, grouped by status
+ total number of issues for all projects, grouped by status
+ number of opened issues over the last four weeks

Pie Charts
The built in pie chart depicts for each user the number of issues for all projects
included in this report. This way a manager can get a quick overview on the
workload of each person included in the report.

113

Track+ for Team Members

Gantt Diagrams
For issues including start and end dates it is possible to draw Gantt diagrams.
Issues that have neither a start date nor a due date are disregarded for Gantt
diagrams. Issues which have just a due date are displayed as milestones. Parent
issues are drawn as super tasks.

2.4.5 Accounting Reports


With Track+ you can record work and expenses incurred when moving issues
through a workflow. Recording takes place on an issue level. This section
explains how to retrieve accounting information.

Overview
There are a number of predefined reports that can be used to retrieve
accounting information from the Track+ system. It is possible to extend this
list of reports with custom reports. In the section we will describe the
accounting related reports that come with Track+.
To access accounting reports go to menu Reports > More reports >
Accounting reports...

114

Reporting Overview

Setting the Reporting Period


A typical use case for accounting reports are monthly time sheets. Track+
makes it easy to select the current or last month as reporting period.
Beyond that is possible to select any period by providing a start and an end
date.

Setting Personal Or Managers View


You can define if you want to consider only expenditures caused by yourself or
other users expenditures. Access to other users expenditures may be restricted
depending on the roles you have in a project.

Setting Filter Criteria


A number of filter criteria is available you can set before executing your report.
All criteria are ANDed together.

115

Track+ for Team Members

In your filter you can consider


+ Projects; cross project reporting is possible
+ Departments
+ Users that entered expenditures (in case you have the permission for this)
+ Cost centers
+ Accounts

For example, you could run a report on expenditures that were made by users
belonging to a certain department. Or you could limit a report to a certain
account, for example in case you have assigned a single account to each of your
customers.

Person - Project - Account


This report lists expenditures grouped by person, subgrouped by project, and
within a project grouped by accounts. Expenditures are accumulated over the
reporting period, it is not visible when exactly and what for the expenditures
were made.

Person
John Doe

Project
PA

PB

116

Account

Time

Money

234789

12h

400,00

432789

8h

250,00

543214

40h

0,00

632789

14h

0,00

756789

21h

0,00

Reporting Overview

Person
Diana Smith

Project
PA

PC

Account

Time

Money

432789

12h

0,00

832789

45h

70,00

932789

40h

0,00

Project - Cost Center - Account - Person


This report groups expenditures first by project, then by cost center, thereafter
by account, and then by person. Expenditures are accumulated over the
reporting period, it is not visible when exactly and what for the expenditures
were made.

Project
PA

Cost
Center
850350

850351

PB

850350

Account
234789

Person

Time

Money

John Doe

12h

400,00

Diana Smith

8h

250,00

543214

John Doe

40h

0,00

756789

Diana Smith

14h

0,00

432789

Janet Age

21h

0,00

532790

James Dean

12h

0,00

123456

John Doe

45h

70,00

117

Track+ for Team Members

Project

Cost
Center

Account
654321

Person
Diana Smith

Time
40h

Money
0,00

Project - Account - Person Detailed


This report groups expenditures first by project, then by account, and then by
persons. Expenditures are displayed with details, i.e. each expenditure of time
or money is recorded with the issue it was made for and a brief description, as
entered.
This report is particularly useful as a detailed work sheet that can be given to
customers as a work and expense report.

2.5 Automail and Notifications


Track+ has a highly configurable e-mail notification system. E-mail notifications can be globally and individually configured to ensure proper information
flow.
Track+ can automatically send e-mails to users on certain system events. Two
types of events sending e-mails are built in, others can be added. The two types
are
+ due date notifications
+ issue change notifications

118

Automail and Notifications

Due date notifications can be sent to users based on each users profile settings.
Track+ can send you an e-mail some time before an issue you have an interest
in is due.
The second type of notification occurs whenever an issue is created or
changed. To limit the amount of e-mail traffic you receive from the Track+
system to the information you are really interested in you can configure the
issue change notification scheme.
E-mail notifications are generated by a two stage process. Each stage can be
configured individually. The first stage relates to the trigger of an e-mail. You
can define triggers for each action type (create, edit, budget change), issue
field, and system role (manager, responsible, reporter, consulted, informed).
Trigger (source of change)

Automail Condition

Only checked fields will trigger an


e-mail in case they are changed.

Only e-mails for issues matching


the condition will pass through

Status
Priority
Responsible
Manager
Description
Due date
Project
Issue type
Severity

(New Priority==high)
AND
(New Responsible==Doe,
Susan
OR Old Responsible==Doe,
Susan)

If the trigger matches, the issue causing the notification is sent to the automail
condition filter, the second stage of the e-mail notification process. Here the
issue is checked for a match, and if the issue matches the condition an e-mail
is generated and sent to a user.
For each project you can configure a combination of a trigger and a filter, or
work with the project or system defaults. If you are a project administrator,
you can define a trigger and filter settings for your projects.

119

Track+ for Team Members

2.5.1 Automail Trigger


When an issue is changed, an e-mail message is triggered depending on the
trigger settings. This section describes the concept of notification triggers.
It is not useful to send e-mail notifications of all issue changes to all people
related to this issue, like reporter, manager, responsible, consulted, and
informed. The manager may just be interest in a notification in case of a new
issue, and when an issue is closed. The reporter may want to monitor issues
more closely as they proceed through the workflow. Informed may only be
interested in due date changes, since these may affect their work.
With notification triggers, you can define for each action type (create, edit,
change cost and budget related information), for each system role (manager,
responsible, reporter, consulted, informed, watchers), and for each issue field
whether a message is triggered or not.

As an example, for the create process we check the boxes for manager and
responsible, but no others. Thus, if this trigger is assigned to a project, either
by the project administrator or by someone individually, and a new issue is
created in this project, only the new manager and responsible of this issue will
receive an e-mail notification.
Let us assume another user has linked a different trigger to this project, where
the consulted will be informed of newly created issues as well. If that user is
120

Automail and Notifications

registered as a consulted for this new issue, he will also get an e-mail notification.
It is important to understand that the notification triggers cannot be used to
exclude others from notification e-mails. Any user can overwrite the project or
system wide settings and get a maximum of e-mail messages. Notification triggers define how YOU will be informed, or others that also use this trigger.
It is typical to define a few standard triggers, like verbose, regular, and
silent. As you work with the system you may want to reduce the number of
e-mail messages, and then you would start defining your own trigger.
You can get a good start at defining a new filter by copying an existing one,
and modifying it.
As a regular user you dont have to define your own trigger settings. In this case
the project or system defaults will pertain to you.

2.5.2 Automail Conditions


In the second step of a notification process, notification messages are passed
through a notification filter with an automail condition. Only if messages
match the condition, an e-mail is actually sent.
For example, you may only be interested in e-mail notification for issues that
have both a high priority and severity, or which were changed by a certain
person.
With automail conditions you can define complex filter criteria based on the
new and previous issue attribute values. For example, you may only be interested in issued whose new status is closed, or whose old status was closed.
You ask yourself why would anybody make changes to a closed issue, you want
to be informed in that case. And you dont care about all the work until an
issue is closed, you just want to see the results.

121

Track+ for Team Members

This can be done with automail conditions. You can define your own conditions, or use existing conditions, and you can assign your personal filter specifically for each project. If you do not do this, the settings provided by the
project or system administrator pertain.
You will notice that all attributes can be selected with either their new or
their old value. New in this case means the attribute value that was the result
of the action causing the automail trigger, and old in this case means the value
the attribute carried before the action.
This makes it possible to define conditions that check for transitions, for
example status transitions from anywhere to closed, or responsible transitions
from yourself to anybody else.
Condition expressions are defined by configuring a filter tree. As an example,
let us assume you only want to get notification in case an issue was closed or
changes to a closed issue where made.

122

1)

From the menu, select Administration > Automail... > Automail


conditions...

2)

A new screen appears. Click on the action icon Add.

Automail and Notifications

3)

Click onto the AND node of the tree in the lower left area of the
form.

4)

Click the EXP button to add a new automail condition expression. A new node shows up in the tree, named unknown expression.

5)

Click on this node. Right from the tree area the display changes.
Select new Status == closed.

6)

Again click on the AND node in the tree and add another expression using the EXP button.

123

Track+ for Team Members

7)

Click on the new unknown expression and define another


condition expression. Select old Status == closed.

8)

In this example the two expression are connected via an AND.


However, you want to be informed in either of the two cases, so
you need to change the AND to an OR. For this you again select
the AND node in the filter tree, click on the right mouse button
and select Change to OR.

After you have linked the filter with a project, you will only receive messages
for issues which have entered in status closed or which have been modified
in status closed.

124

3
Track+ for Project Managers
This chapter describes common procedures and tasks that are used by by
project managers.

3.1 Managing Projects


Track+ organizes all issues in projects. Projects are administered by users that
have project administrator privileges for their projects. This chapter describes
tasks and concepts typical for project administrators.
In particular, this chapter deals with
+ Creating a project (actually a system administrator task)
+ Setting project parameters
+ Assigning users to a project
+ Importing and exporting projects to and from MS Project projects
+ Handling releases
+ Copying template lists

125

Track+ for Project Managers

3.1.1 Creating a New Project


For obvious reasons, only system administrators may create a new project. This
section describes the procedure.
PREREQUISITE
You must be logged in as project or system administrator and you must have
opened a project in edit mode (Administration > Projects > Manage
projects...).

126

1.

From the menu, select Administration > Projects > Manage Projects...

2.

A new screen appears. Click on the Add icon in the toolbar.

3.

A new screen appears with a number of tabs. Leave the Main tab
selected.

Managing Projects

4.

Give your project a name, and if you like, fill out some of the other
fields. However, you can do that later as well. Please look at the proper
section of this chapter for a detailed description of each project
attribute.

5.

Click on the Save button in the toolbar.

6.

Now edit the new project by clicking on the Edit icon in the Action
column of the project overview. The same form as before appears.

7.

Select tab Assign roles.

127

Track+ for Project Managers

8.

Select the radio button for Administrator. This is for users that shall
act as project administrators. Click on Add Person in the toolbar.

9.

In the popup box that comes up mark those users you want to act as
project administrators. Click on the Add button in the popup
windows.

10.

Repeat these steps at least for roles Manager and Responsible. Your
project will not be functional if you do not assign these roles to anybody.

RESULT:
Your project is now configured sufficiently to create and manage issues. Of
course, there are many more paramaters you can set like accounting, version
128

Managing Projects

control, releases, and incoming e-mails. However, you dont have to set these
at the beginning, and not even later on.
From here on the project administrators can completely control this project;
there is no need any more to involve the system administrator.

3.1.2 Deleting a Project


It is possible to delete an entire project, including all issues. This section
describes how to do this.
PREREQUISITE
You must log in as system administrator (admin user).
You should consider setting the project status to archived rather then
deleting a project. This will make the project disappear on practically all lists and
selection boxes, but will keep everything in the database. It is also reversible.
Deleting a project is irreversible, everything is removed from the database!
NOTE:

1.

From the menu, select Administration > Projects > Manage Projects...

2.

Click on the Delete icon in the action column for the project you like
to delete.

129

Track+ for Project Managers

3.

A warning appears, unless the project does not have any issues associated, i.e. it had just been created and never used. The project to be
deleted is marked in a different color.

4.

Mark the check box in the action column for this project, and again
click on the delete button.

RESULT:
The project with all its associated issues and attributes has been deleted from
the database. There is nothing left.
There will be an entry in the server log of this delete operation, stating the date
and the user who performed it.

130

Managing Projects

3.1.3 Setting Project Type


Each project belongs to a project type. This section describes the project type
concept and how to change the project type of a project.
PREREQUISITE
You must be logged in as project or system administrator and you must have
opened a project in edit mode (Administration > Projects > Manage
projects...).
Project types are a convenient way to configure properties and attributes for an
entire class of projects, rather than for each one separately. For example, you
may want to define different issue types, statuses available, custom fields, input
forms, and workflows for company internal projects and projects with
customers.
If attributes of the project type like a workflow are changed, these changes are
applied to all projects of this type. This concept is much more powerful than
just copying a project setup once to a new project.
Only system administrators can create and modify project types (Administration > Customize > Project types...). When Track+ is first delivered, there is
only one project type in the database. It can be renamed, but not deleted.
It is a far reaching operation to change the project type of a project that has
been around for a while. You may render information inaccessible, for example if
custom input forms have been assigned differently in the new project type. However,
the operation is reversible.

NOTE:

131

Track+ for Project Managers

1.

In project edit mode, select the Main tab.

2.

Select a project type from the list of available project types.

3.

Save the change by clicking on the Save action icon in the toolbar.

RESULT:
Your project now inherits a number of configuration options from the new
project type. These configuration options include
+ Workflow
+ Custom fields
+ Custom forms
+ Statuses, priorities, and severities

3.1.4 Setting Project Status


As time goes by there will be a growing number of projects in the Track+ database. You can permanently delete projects, but this is not really necessary. By
setting the project status appropriately, you can remove a project from almost
all selection menus. This section describes how to do this.
PREREQUISITE
You must be logged in as project or system administrator and you must have
opened a project in edit mode (Administration > Projects > Manage
projects...).
Via its project status you can control visibility of a project and what kind of
operations are possible in a project. When delivered, Track+ offers five project
statuses:
132

Managing Projects

+ proposed (active)
+ in planning (active)
+ in progress (active)
+ on hold (inactive)
+ archived (closed)

The names and the semantics of these status can be changed via Administration > Customize > Lists > System lists... Each status has a status flag which
determines the availability of a project. There are three values a status flag can
assume:
+ active
+ inactive
+ closed

Projects with an active status are open to the entire functionality the system
offers. Issues can be created and changed with no restrictions.
Projects with an inactive status will not accept new issues and will not permit
to modify existing issues. However, all existing information remains visible, as
well as the projects themselves.
Projects with a closed status will not accept new issues and will not permit
to modify existing issues. Furthermore these projects are effectively hidden
with all their information. Issue information is inaccessible.
Changing the project status may make the project inaccessible, or may make
it impossible to create new issues or change existing ones.

NOTE:

133

Track+ for Project Managers

1.

In project edit mode, select the Main tab.

2.

Select a project status from the list of available project status values.

3.

Save the change by clicking on the Save action icon in the toolbar.

RESULT:
Your project will now be in the new status. This may render the project inaccessible, if the associated status flag is of type inactive or closed.

3.1.5 Setting Initial Issue Status


When issues are created they will have a status. It is possible to remove the
status selection box from an input form. In this case, and in the case of issues
submitted by e-mails, the issue assumes a predefined initial status. This section
describes how to set this inital issue status for each project.
PREREQUISITE
You must be logged in as project or system administrator and you must have
opened a project in edit mode (Administration > Projects > Manage
projects...).
If there is a workflow defined for your project type you need to make sure
that the status selected as initial issue status is part of that workflow. Otherwise it
may not be possible to advance the issue further on the workflow.

NOTE:

134

Managing Projects

1.

In project edit mode, select the Main tab.

2.

Select an initial issue status of the list of available statuses.

3.

Save the change by clicking on the Save action icon in the toolbar.

RESULT:
When you create an issue in this project, the issue gets the selected inital issue
status. If there is a status selection box on the create form for your project, this
status is selected by default.

3.1.6 Enabling Project Accounting


Track+ permits to assign budgets to work and money to issues, and record
work or money spent for issues. This feature can be selectively enabled and
disabled for each project. This section describes how to enable or disable
accounting for a project.
PREREQUISITE
You must be logged in as project or system administrator and you must have
opened a project in edit mode (Administration > Projects > Manage
projects...).
For accounting to work you have to define at least one account and one cost
center (Administration > Cost centers & accounts...) and assign it to your project.

NOTE:

135

Track+ for Project Managers

1.

In project edit mode, select the Main tab.

2.

Mark the check box labeled Time & Cost to enable accounting.
Uncheck this box to disable accounting.

3.

When you enable accounting, fill out the fields labeled Working hours
per day, currency, and currency symbol.

4.

Save the change by clicking on the Save action icon in the toolbar.

RESULT:
Accounting has been enabled for this project. When working with issues, a
new tab appears where you can enter budget and expense information. In the
report area you can generate accounting reports. In case you have disabled
accounting, the tab will not show any more. Existing accounting information
will be preserved, however.

3.1.7 Setting Default Manager & Responsible


When issues are created they must have a manager and responsible assigned to
them. It is possible to remove the respective selection boxes from an input
form. In this case, and in the case of issues submitted by e-mails, the issue

136

Managing Projects

assumes predefined managers and responsibles. This section describes how to


set the default manager and responsible for each project.
PREREQUISITE
You must be logged in as project or system administrator and you must have
opened a project in edit mode (Administration > Projects > Manage
projects...).
When issues are created, a manager and a responsible has to be selected. In
order to relief the reporting person from making the decision who should take
care of the new issue, or in case they cant know, the default manager and
responsible person is automatically assigned.
This is particularly required in case of issues submitted by e-mail. Typically,
there is one responsible that receives all issues, analyzes them, and assigns them
to the person that should look for a resolution.
Track+ does not like to leave things unassigned. If you want to have unassigned issues, you need to create a pseudo user named unassigned and use
that as the default manager and responsible. However, this is not recommended.
You must make sure that the users you select as default managers and
responsibles are assigned roles that permit them to act as responsibles and managers.
Use the Roles tab to assign users to roles in this project.
NOTE:

137

Track+ for Project Managers

1.

In project edit mode, select the Main tab.

2.

Select an default manager from the list of available system users.

3.

Select an default responsible from the list of available system users.

4.

Save the change by clicking on the Save action icon in the toolbar.

RESULT:
When an issue is created, the users selected above will appear as preselected
manager and responsible, in case the appropriate boxes are present on the
input form. If the selection boxes are not present, these users will automatically
be assigned as manager and responsible at the end of the issue creation process.

3.1.8 Setting Project Specific E-Mail Inbox


In Track+ it is possible to assign a specific e-mail inbox to each project. This
way Track+ can create issues or add comments to existing issues from
incoming e-mails sent to this box. This section describes how to set up this
feature.
PREREQUISITE
You must be logged in as project or system administrator and you must have
opened a project in edit mode (Administration > Projects > Manage
projects...).
You can either use a POP3 e-mail account or an IMAP account. Leave everything empty if you do not want to use this feature.
Please note that it is also possible to define a system wide e-mail inbox, in case
you have but a few projects and want to collect everything in one place.
138

Managing Projects

Dont use the same e-mail account for more than one project. Also, do not
use the system wide e-mail inbox account at the same time for a project specific
e-mail inbox account. This could result in erroneous behavior.

NOTE:

NOTE: You have to set up the e-mail account you are using below on your mail
server.
NOTE: You can globally configure that you want to accept e-mails from people
whose e-mail address is not in the Track+ database, or that you do not. Furthermore, you can globally restrict the domains from which you accept e-mails. This
permits you to minimize spam to your projects, even if you have published your
e-mail as a support e-mail on the internet.

1.

In project edit mode, select the Main tab.

2.

Go to the area where e-mail inbox parameters are set.

139

Track+ for Project Managers

3.

Select the mailbox protocol (POP3 or IMAP).

4.

Enter the mail server address.

5.

You usually do not have to change the communication port.

6.

Your mailbox is associated with a user name. Enter it here.

7.

If you want to leave messages on the mail server, even if they have been
read, mark the check box Keep messages on server.

8.

Enter the address under which this e-mail box can be reached from the
internet or intranet. This is important so that users can reply on e-mails
sent to them from your project, and the reply is being added as
comment to the issue related to the original e-mail.

9.

Save the configuration by clicking on the Save action icon in the


toolbar.

RESULT:
You now have set up Track+ to create new issues from e-mail received under
this e-mail address.

140

Managing Projects

3.1.9 Configuring Subsystems and Classes


In Track+ you can configure any number of custom lists. There are two special
lists that are project specific: project subsystems and project classes. Using the
custom field editor you can rename the labels of these lists to whatever you
like. This section describes how to manage the project specific subsystems and
classes lists.
PREREQUISITE
You must be logged in as project or system administrator and you must have
opened a project in edit mode (Administration > Projects > Manage
projects...).
The subsystem list permits to further subdivide a project. Subsystems could be
user interface, business logic, or for more hardware related project
chassis, engine, etc.
The classes lists permits to categorize issues in relation to process areas. This
could be helpful in process improvement programs. For example, if classes
would be divided in documentation, software, hardware, supplied
components, it would be easy to check later on which area needs improvement the most based on problem reports related to these classes.
You dont have to configure these lists; in that case one default subsystem and
class is provided, named -.
You could rename these lists in the custom field editor to give them a different
meaning (Administration > Customize > Custom fields...). You could remove
these lists from all forms if you do not need them (Administration >
Customize > Custom forms...).
1.

In project edit mode, select the Subsystems & Classes tab.

141

Track+ for Project Managers

2.

Using the radio button select either subsystem or class.

3.

To add a subsystem or class, click on the Add icon in the toolbar.

4.

To edit a subsystem or class click on the edit icon in the Action column
on the left.

5.

To delete a subsystem or class click on the delete icon in the Action


column on the left.

6.

Save the changes by clicking on the Save action icon in the toolbar.

RESULT:
You have now modified the project specific lists of subsystems or classes.

3.1.10 Setting Version Control Connection


Track+ can integrate with your source code version control system, for
example CVS, Subversion, or Perforce. This section describes for CVS how to
proceed.
PREREQUISITE
You must be logged in as project or system administrator and you must have
opened a project in edit mode (Administration > Projects > Manage
projects...).
142

Managing Projects

You must know how to connect to your version control system. Typically you
already have used that information when you set up your version control client
software.
1.

In project edit mode, select the Version control tab.

2.

Enter the URL of your version control web viewer, if there is any. This
will support direct linking of version control from issue descriptions via
the vc tag.

3.

Enter the project for your version control web viewer.

4.

Mark to use the log scanner for your version control system. This will
support direct automatic linking of all changed files for an issue, when
the issue number appears in the commit text of such files like #<issue
no.>, e.g. #4711.

5.

Select one of the supported version control systems. The list may vary.
Additional system can be supported via plug-ins. The following procedure and parameters depend on the system selected.

6.

Fill in the connection information (here shown for CVS).

143

Track+ for Project Managers

7.

There may be additional connection information required. Fill that in


as well (here shown for CVS).

8.

Save the configuration by clicking on the Save action icon in the


toolbar.

RESULT:
Your project is now directly linked to your version control system. When
editing issue there will be a tab showing all files including their meta information that are related to this issue.

144

Managing Releases

3.2 Managing Releases


Track+ organizes all issues in projects. Within projects you can create releases.
This chapter describes how to add, modify, and delete releases.
You can create any number of releases for a project. Releases have a status, just
as entire projects do. The release status determines accessability of a release.
You can determine the sort order in which releases appear in the selection
boxes. You can set due dates for releases.

3.2.1 Adding a Release


This section describes how to add a release.
PREREQUISITE
You must be logged in as project or system administrator and you must have
opened a project in edit mode (Administration > Projects > Manage
projects...).
1.

On the project selection screen that appears, click on the Edit icon in
the Action column.

2.

A new screen appears with a number of tabs. Select the Releases tab.

145

Track+ for Project Managers

3.

Click on the Add button in the toolbar.

4.

Some new fields show up. Give the new release a name, a status (for
explanation see Change release status) and optionally a due date and
a description.

5.

Click on the Save button in the toolbar.

6.

Optionally, move the release to the right position in the sort order (for
explanation see Setting sort order).

RESULT:
You have created a new release in the selected project. The new release will be
available in selection boxes for issues and filters.

3.2.2 Deleting a Release


This section describes how to delete a release.
PREREQUISITE
You must be logged in as project or system administrator and you must have
opened a project in edit mode (Administration > Projects > Manage
projects...).
146

Managing Releases

NOTE:

The delete operation for a release is not reversible!

1.

On the project selection screen that appears, click on the Edit icon in
the Action column.

2.

A new screen appears with a number of tabs. Select the Releases tab.

147

Track+ for Project Managers

3.

Click on the Delete icon in the Action column.

4.

The release to be deleted will be marked. A selection box appears. In this


selection box, select a replacement release. All entries with the old release
will be replaced with this new release.

5.

Click on the Delete button in the selection area to finalize the delete
operation.

RESULT:
The release you have deleted has been replaced with the release you have
selected as a replacement release.

3.2.3 Setting Release Status


Similar to issues and projects, releases have a status. This section describes the
status concept and how to set a release status.
PREREQUISITE
You must be logged in as project or system administrator and you must have
opened a project in edit mode (Administration > Projects > Manage
projects...).

148

Managing Releases

Via the release status you can control visibility of a release and what kind of
operations are possible with this release. When delivered, Track+ offers five
release statuses:
+ proposed (active)
+ in planning (active)
+ in progress (active)
+ on hold (inactive)
+ archived (closed)

The names and the semantics of these status can be changed via Administration > Customize > Lists > System lists... Each status has a status flag which
determines the availability of a release. There are three values a status flag can
assume:
+ active
+ inactive
+ closed

Releases with an active status are open to the entire functionality the system
offers. These releases appear in the Released Noticed as well as the Release
scheduled selection boxes.
Releases with an inactive status cannot be selected in the Release scheduled
selection box. However, they will show up as normal in the Release noticed
box.
Releases with a closed status will not appear in either the Released scheduled or Release noticed selection box.
NOTE:

1.

Changing the release status may make releases inaccessible.


On the project selection screen that appears, click on the Edit icon in
the Action column.

149

Track+ for Project Managers

2.

A new screen appears with a number of tabs. Select the Releases tab.

3.

Click on the Edit icon in the Action column.

4.

Change the status to the new one.

5.

Click on the Save button in the toolbar.

RESULT:
The release is now in the new status. This may remove the release from the
selection boxes when creating or modifying issues.

150

Managing Releases

3.2.4 Setting the Release Sort Order


You can control the order in which releases are displayed in the selection boxes.
By default, the topmost release is selected when creating a new issue. This
section describes how to set the sort order.
PREREQUISITE
You must be logged in as project or system administrator and you must have
opened a project in edit mode (Administration > Projects > Manage
projects...).
1.

On the project selection screen that appears, click on the Edit icon in
the Action column.

2.

A new screen appears with a number of tabs. Select the Releases tab.

151

Track+ for Project Managers

3.

Click on the green arrow next to the column header Release name to
sort all releases alpha-numerically in descending order.

4.

Alternatively, use the green arrows in the Action column on the right to
move single release up or down.

5.

Click on the Save button in the toolbar.

RESULT:
Your releases will now appear in the release selection boxes in the same order
as shown in the release overview list.

152

Managing Project Team Members

3.3 Managing Project Team Members


Similar to issues and projects, releases have a status. This section describes the
status concept and how to set a release status.
PREREQUISITE
You must be logged in as project or system administrator and you must have
opened a project in edit mode (Administration > Projects > Manage
projects...).
1.

On the project selection screen that appears, click on the Edit icon in
the Action column.

2.

Select tab Assign roles.

153

Track+ for Project Managers

3.

Select the role to which you want to assign users in your project or where
you want to remove users from by clicking on the appropriate radio
button.

4.

If you want to add users, click on the Add Person or Add Group
button in the toolbar. If you want to remove users from your project,
select the Delete button in the toolbar.

5.

In the popup box that comes up mark those users you want to act in the
new role or that you want to remove from this role. Click on the Add
or Delete button in the popup window.

RESULT:

154

Exporting a Project to MS Project

You have now assigned or removed users in roles to your project. Note that it
is possible to assign a single user in more than one role.

3.4 Exporting a Project to MS Project


As a project administrator, you can export an entire project into an MS Project
database file for further analyzing and viewing. This section describes how to
do this.
PREREQUISITE
You must have project or system administrator privileges.
MS Project offers a number of views and features that are not included in the
Track+ web application. You can use MS Project to create your initial project
plan, and later on you can use it to monitor project progress while keeping
everything safe in your Track+ database.
You can export an entire Track+ project into an MS Project database file. The
file format is MS Project XML. You can open the file directly from MS Project
for viewing and analyzing.
If a project does not contain any issues, you can also import an entire MS
Project XML file when you have created it from a file that was the result of a
Track+ export. This is required so that user identification numbers match
between MS Project and Track+.
1.

From the menu, select Administration > Projects > Manage Projects...

155

Track+ for Project Managers

2.

A new screen appears. Click on the export icon in the Action column.

3.

You will get a download dialog in your browser. Save the file to your
local disk.

RESULT:
Your project has now been saved to your local computer disk in MS Project
XML format. You can open the file with MS Project and analyze it.

156

Importing a Project from MS Project

3.5 Importing a Project from MS Project


As a project administrator, you can import an entire project from an MS
Project database file if your receiving Track+ project does not contain any
issues. This is particularly useful for an initial project plan.
PREREQUISITE
You must have project or system administrator privileges.
MS Project offers a number of views and features that are not included in the
Track+ web application. You can use MS Project to create your initial project
plan, and later on you can use it to monitor project progress while keeping
everything safe in your Track+ database.
To create the initial MS Project plan within MS Project, you first need to
create a Track+ project and assign all users for the initial plan as resources.
Then you export the Track+ project in MS Project format.
Once you have created your project plan, including budgets, start and due
dates, and resource assignments, you import this plan back into Track+.
The import icon will only show if your Track+ project does not yet contain
any issues.

NOTE:

1.

From the menu, select Administration > Projects > Manage Projects...

157

Track+ for Project Managers

2.

A new screen appears. Click on the import icon in the Action column.
It will only be there for projects that do not contain any issues.

3.

You will get a file selection dialog in your browser. Select the MS Project
file and upload it to the server.

RESULT:
You have now imported your MS Project project into Track+.

3.6 Copying Templates


You can create template lists in Track+ and copy them later on, changing some
attributes in the process. This feature is very useful to create assessment plans
or quality gate check lists, and move them later on to assessment protocols or
quality gate assessment protocols. This section describes how to use this
feature.
158

Copying Templates

Before you use this feature, set up a template issue structure. As an example,
let us take an assessment plan. The assessment plan consists of many steps,
each of which has to be executed. The assessment plan would be assigned to a
special issue type, for example an issue type assessment plans.
The assessment plan could have a hierarchical structure, and would have
managers and responsible assigned as placeholders. The assessment plan issues
could also include start and due dates.
Oftentimes products are developed in releases, and the assessment plan might
have to be executed for each release. Some issues (test steps) might have to be
added, but not very often test steps will be removed.
If the original assessment plan would be executed, and each issue would be
closed once a test step succeeded, you would have to enter the entire assessment plan again the next time the assessment has to be carried out.
A better approach is to preserve the original plan as a template, and copy the
template to a new issue type, for example assessment protocols. In the
process, some parameters can be changed, for example manager and responsible, project, release, and build number. Start and due dates will be shifted
based on the shift of the earliest date in the original assessment plan.
1.

Select Administration > Projects > Copy list...

2.

A new screen appears. The From list acts as a filter. Make the proper
selection.

3.

The To list defines the target parameters.


159

Track+ for Project Managers

In the example given here we select all issues from project Track+, issue
type template, release 3.4 and map it to issues in the same project,
release 3.5, issue type work package. The new issues will get the string
2007-11-30 as build number. All date of the original issues are shifted
by the difference between the earliest date found in any of the original
issues and the date given here, December 12, 2007.
4.

Optionally, you can further map more parameters, managers and


responsibles to new values.

5.

Click on the Copy icon in the toolbar.

RESULT:
You have copied an entire issue structure to a new structure, changing some
parameters in the process. You can now work on the new structure, preserving
the original structure for further copy operations.

160

4
Track+ for Configuration Managers
This chapter describes common procedures and tasks that are used by configuration managers, people responsible for defining the engineering process, and
system configurators.
In particular, it describes
+ managing project types
+ managing roles and permissions
+ setting up accounting
+ defining custom fields
+ defining custom lists
+ defining custom input forms

4.1 Customization Overview


Track+ can be customized and adapted to your processes to a large extend.
This includes roles, issue types, workflows, issue fields, action forms, and
much more.
161

Track+ for Configuration Managers

As shipped, the Track+ configuration may suite already many requirements,


in particular for the development of software based system. This section
describes and discusses the various options when configuring Track+ to adapt
to your processes.
One of the most important parts of running projects with a group of people is
to define who is supposed to do what, how things should be done, and how
things should be named. This can be either communicated ad hoc, as a particular situation requires, or it can be defined as a company or project policy.
We recommend to write up the most important aspects, for example as part of
a project handbook or configuration management manual. In many cases it
also suffices to implement policies in the Track+ system; however, the semantics of names may not always be self explanatory and should be described
where project team members can find it.
It would be nice if there was the one and only right process. Unfortunately
there is not. We therefore can just give some examples, and outline the general
procedures, hoping that this might be helpful enough to get you started. If you
have no idea, using the Track+ default configuration should be a pretty good
start. You can always change the process later on, if you feel that the default
process model of Track+ does not suit your needs.
If you cannot get started on this, Track+ provides process consulting on
various levels through its consultant network. For example, we would discuss
your needs and project environment, and would supply a project manual, a
configuration manual, and a Track+ configuration exactly matching your
requirements.

162

Project Types

4.2 Project Types


In an organization projects are oftentimes similar to each other. It may be
desirable configure template setups for such projects and reuse these template
configuration when creating new projects.
For this purpose Track+ provides a project type. A project type could for
example be a development project, a software project, a hardware project, a
sales project, a procurement project, and so on.
In a company there may several such project types at the same time. Each has
its own workflow and process. In Track+ you can define a class of projects via
+ its workflows
+ its issue statuses
+ its issue types
+ its issue fields
+ its input forms

Once you have defined these for a specific project type, all projects of that type
inherit the project types properties.
To edit, create or delete project types go to the Administration > Customize
>Project types... menu.

163

Track+ for Configuration Managers

Select an entry from the list to edit, using the little Edit icon on the right
side, or use the Add button in the toolbar area to add a new project type.

You can enter a default for the hours of work per working day. This value is
taken if no other value is set in the projects themselves.
Once you are done with editing, save the changes using the Save button in
the toolbar area.

4.3 Roles and Permissions


Track+ manages permissions, that is the rights what users can do within the
system, via roles. By assigning roles to users in specific projects a project
administrator grants certain rights to a user for his project, like the permission
to view other peoples issues, or the permission to act as a manager, responsible,
or consultant, or the right to modify an issue description of other users issues.
This section describes how roles work and are managed within Track+.

4.3.1 Roles Overview


In a project, users assume different roles. For example, there may be a user that
takes care of preparing the coffee for project meetings. The same person may
also act as a configuration manager who is supposed to take care of assembling

164

Roles and Permissions

releases, documentation, archival tapes, and so on. So this person assumes two
roles in the project: the coffee maker, and the configuration manager.
Of course there may be other roles, like that of a documentation manager,
product manager, project manager, and so on. You therefore have to think
about what roles you will have in your project or organization. You should sit
down, list them and add a brief description of their responsibility.
This responsibility might require different access rights in the Track+ system.
For example, you may not want your customer or product manager have a free
view on all internal bug reports, this would just make them nervous. You may
not want to have developers a view on the risks or budgets associated with a
project.
If you work in software projects, many process models recommend that you
write up this description in a project manual or configuration management
manual. Roles in your project or organization are more or less static, they do
not change that often. However, people that assume these roles come and go.
While you as a configuration manager are in charge of defining roles, it is the
task of the project manager to assign people to these roles. It should make him
nervous if he has roles in his project that are unassigned.
To foster reuse, all roles are global to the system. It is up to the project administrator which roles he actually needs to use in his project. If none of the roles
available are suitable, a new role has to be created by the system administrator.

4.3.2 Example Roles


The table below gives you an example for roles that you may find in your
project. This example list has a certain project type in mind, in this case a
development project for embedded systems. It is the set of roles that is
preloaded when you freshly install the Track+ system.

165

Track+ for Configuration Managers

Role

166

Description

PM

the project manager

PA

the project administrator. She helps the PM in


administrative functions to manage the project.

CM

the person responsible for configuration


management in the project. It decides on versioning
issues and proper archiving of published versions.

CCB

the change control board. It meets on a regular basis


and decides which changes have to be executed.
During development and prior to integration, the
CCB may be represented by an SWD, HWD, SYS or
the PM.

SYS

the system architect

SWD

a regular software developer, if this is a development


project

HWD

a regular hardware developer, if this is a hardware


development project

QA

the quality assurance manager

INT

the person that integrates subsystems or modules


that have been changed and generates a single,
testable release

TST

the tester of a resolved issue. He ultimately decides if


an issue resolution is accepted.

Roles and Permissions

Role

Description

PRC

the person responsible for the procurement issues in


a process, e.g. purchase of components or external
services

SLS

the person that represents technical sales

MAN

any person acting as a manager or supervisor

RSP

any person that could be responsible for an issue

DOC

the person that is responsible for technical


documentation

You can imagine that if you are dealing with procurement projects, or you
want to model a manufacturing process, you may require different roles.
You can safely delete the roles that come with the Track+ default installation,
or rename them and configure your own.

4.3.3 Permissions
In most installations it is important that not everybody can do everything. For
example, if regular project team members could change project parameters this
could lead to havoc. If anybody could change the description of anybody elses
tasks, confusion could result.
Track+ offers a detailed permission system. On purpose, the permission
system does not control every field, since this would cause a maintenance and
configuration headache. However, the most important fields and actions are
protected by permission flags. These flags shall be explained below.

167

Track+ for Configuration Managers

Access Flag

168

Description

read any

May read or view all issues in this project, not just


your own, i.e. those you are either the author,
manager, or responsible of.

modify any

May modify all issues in this project, not just your


own, i.e. those you are either the author, manager, or
responsible of.

create

May create issues in this project.

close any

May close any issue.

close if resp.

May only close issues you are currently responsible


for.

close if manager or
originator

May only close issues you are the current manager of,
or that you have originated.

manager

This is not exactly a permission flag. It indicates that


your name appears in the selection list of managers
when modifying or creating issues.

Roles and Permissions

Access Flag

Description

responsible

This is not exactly a permission flag. It indicates that


your name appears in the selection list of responsibles
when modifying or creating issues.

consulted

This is not exactly a permission flag. It indicates that


your name appears in the selection list of consulted
when modifying or creating issues.

informed

This is not exactly a permission flag. It indicates that


your name appears in the selection list of informed
when modifying or creating issues.

project admin

Permits you to act as a project administrator or


manager. You can assign users to your project, and set
all project parameters. You cannot create a project,
this has to be done by the system administrator
(admin user).

extern

This flag currently does not have any effect.

modify budget

Permits you to modify budgets for issues.

modify due dates

Permits you to modify due dates.

add expenses

Permits you to add expenses to issues.

view all expenses

Permits you to view expenses that have been written


towards an issue by others. If this flag is not set, you
would only see your own expenses.

assign to responsible
or manager

Permits you to assign an issue to a new responsible or


manager. If this is not set you will never be able to get
rid of an issue unless you close it.

169

Track+ for Configuration Managers

Access Flag

Description

modify watch list

Permits you to modify the list of consulted and


informed.

see all watchers

Permits you to see the entire list of consulted and


informed. If this is not set you will only see yourself,
in case you have been registered as a consulted or
informed for this issue.

4.3.4 Multiple Roles in One Project


Permissions accumulate if a person carries more than one role in a project. For
example, a person could have roles PM, PA, manager, and responsible in the
same project. her rights would then be the sum or logical OR of all permission
flags of all these roles.
It is not possible to subtract issue permissions. If a flag was set in any of the
roles for this person, it will be set regardless of the settings in the other roles.

4.3.5 Restricting Access To Issue Types


You can limit the issue types a role may access. By default, each role is open to
all issue types. To restrict access, click on the edit icon in the last column,
labeled Access to Issue Types. In the screen that appears move all issue types
that you want to exclude from access to the no access box.

170

Roles and Permissions

Please note, that if a user is the originator, current manager or responsible for
an issue, she can still access that issue for basic editing, but she cannot modify
budgets or start and end dates.

171

Track+ for Configuration Managers

4.3.6 Adding Roles


As system administrator, you can add any number of roles to your installation.
This section describes how to do that.
PREREQUISITE
You must be logged in as system administrator (admin user).

172

1.

Select Administration > Customize > User roles.

2.

A new screen appears. Click on the Add button in the toolbar area.

3.

In the list of roles a new entry appears, named New Role. Click on the
access flags you want to set for this role, as explained in the concept
section.

Roles and Permissions

4.

When you are done, click on the Save button in the toolbar area.

RESULT:
You have created a new role with associated permissions. You or any project
administrator can now assign users in this role to projects.

4.3.7 Deleting Roles


As a system administrator, you can remove roles from the system. This section
describes how to do that.
PREREQUISITE
You must be logged in as system administrator (admin user).
When you remove a role, all users having just this role in a project will not
be able to access that project anymore!

NOTE:

1.

Select Administration > Customize > User roles.

173

Track+ for Configuration Managers

2.

A new screen appears. For the role you want to delete, select the
checkbox.

RESULT:
The role has been deleted from the system.

4.3.8 Restricting Access to Issue Types


Track+ permits to restrict access to a set of issue types for each role. By default,
a role can access all issue types. This section describes how to restrict role access
to just a few issue types.
PREREQUISITE
You must be logged in as system administrator (admin user).

174

Roles and Permissions

When you restrict access to issue types, you will prevent users from seeing all
issues of a different issue type. This may lock out users from participating in the
workflow!

NOTE:

1.

Select Administration > Customize > User roles.

2.

A new screen appears. Click on the Edit icon all on the left for the role
you want to change issue type specific access.

3.

A new screen appears. In the left selection box, select the issue types you
want to limit access to.

175

Track+ for Configuration Managers

4.

Click on the >>>>> button in the middle.

5.

When you are finished, click on the Done button below the selection
boxes. You will see the selected issue types in the overview area. If no
issue types are shown, all issue types are permitted.

RESULT:

176

Automail Overview

You have limited access to the selected issue types. If you have just this role in
a project, you will only be able to see issues of this issue type, all others will be
inaccessible for you.

4.4 Automail Overview


Track+ can routinely inform users of issue activity. The conditions under
which such information occurs can be largely customized.
There are two classes of Automail:
+ information due to issue activity
+ information due to issues being due or overdue (reminder e-mails)

In your user profile you can configure the conditions and frequency for
reminder e-mails. In your user profile you can also decide to switch off e-mail
notifications entirely.
This section discusses the principles and functionality for automail due to issue
activities, like creating issues, adding comments, and so on.
A complete Automail configuration consists of three steps:
1)

Defining Automail triggers

2)

Defining Automail conditions

3)

Assigning Automail trigger and conditions to projects

With Automail triggers you define for classes of actions (create, edit, budget
changes) and for each issue field which designated users (current responsible,
manager, author, consulted, informed, etc.) shall be informed of the field
change.

177

Track+ for Configuration Managers

Automail conditions define when users receive issue change messages. Each
user can define his own set of conditions, or reuse conditions from others. For
example, you can specifiy that in a certain project you only want to receive
messages for issues having a high priority.
For each project, you can assign a combination of an Automail trigger and an
Automail condition. You can also define such a combination for all projects
where you do not have explicitly defined it (all other projects).
The system administrator can predefine Automail triggers and Automail
conditions which you can use directly, or which you can copy and modify.
E-Mails sent by the system can be in text or HTML format. You can define in
your personal profile settings which format you prefer.

178

Automail Overview

4.4.1 Automail Trigger


Via Automail Triggers you can define what events fire a message to which
types of users. If the message passes the users Automail conditions, the user will
receive the message There are two types of actions: create actions and edit
actions. Automail triggers can be defined separately for both types of actions.

Managing Automail Triggers


To manage Automail triggers go to menu entry Administration - Automail Automail triggers....

On the screen that comes up you find the list of all triggers defined in the
system. Those triggers that have been provided by the system administrator are
designated as type System. You can copy them to your private area, and
modify them there. You cannot directly modify a system trigger.
Also shown are all your own trigger definitions. These definitions are private,
they cannot be seen by others. Triggers created by the system administrator
(admin user) are automatically of type System.

179

Track+ for Configuration Managers

You can add new triggers by clicking on the Add button in the toolbar. You
can modify your own private triggers by clicking on the little edit icon on the
right. You can copy a trigger by clicking on the little copy icon on the right.
You can also delete your own triggers.

Configuring Automail Triggers For Create Actions


When issues are created, all fields are changed. In this case it makes no sense
to define a trigger based on changed fields.
When editing Automail triggers the top area is designated to the definition of
the create type action triggers. There are six columns. When you mark a
checkbox in this column you say that an Automail shall be triggered if you are
currently acting in the designated role on that issue.
For example, if an issue is created by some system user, and you have been
assigned to this issue as a responsible, and you have set the check mark in the
first column, an e-mail will be triggered for you.
The same principle pertains to all other roles you may assume on that issue.
The last column pertains to the settings in your user profile, where you can set
watches on classes of issues.
It is important to understand that these settings apply to yourself acting in
these roles, not to anybody else! They would only pertain to somebody else if that
user should decide to use this trigger as well.

NOTE:

You set the all check boxes with one click using the All button.
180

Automail Overview

After you are done make the changes permanent using the Save button.
The dashboard contains devices such as red/green/yellow lights, alerts,
drill-downs, summaries, graphics such as bar charts, pie charts, bullet graphs,
sparklines and gauges. Each user can custom configure the set of devices he
wants to have on his dashboard.

Configuring Automail Triggers For Edit Actions


When editing an issue you can possibly change all issue fields. You derfine
Automail triggers based on changes to fields.
There are four field types:
1)

regular issue fields

2)

budget fields

3)

remaining budget fields

4)

expense fields

Regular issue fields include all custom fields, you would see them in this list if
there were any defined.

181

Track+ for Configuration Managers

By setting a mark at the intersection of a field and a role you are saying that
you want to have a message triggered when a change to this field is made, and
you are currently in the designated role for this issue.
It is important to understand that these settings apply to yourself acting in
these roles, not to anybody else! They would only pertain to somebody else if that
user should decide to use this trigger as well.

NOTE:

You set the all check boxes in a row or in a column with one click using the
All button.
A noisy trigger configuration has many check boxes marked. A silent
trigger configuration has only a few checkboxes marked. For example, you
could set only the Status check box for role Reporter, in which case you
would get at most messages if the status of the issue changes, i.e. it progresses
through the workflow. If you would then set an Automail condition on that
project which tests for a new status of closed, you would only get a message
when the issue you had reported is closed.

4.4.2 Automail Conditions


With Automail conditions you can next to Automail triggers further fine tune
what kind of messages you will get from the Track+ system when issues are
created or modified.

Automail Conditions Overview


When issues are created or changed, depending on the Automail trigger
settings a message is prepared for this issue to be sent to you. With Automail
conditions you can investigate the issue belonging to this message, and
depending on the result of the evaluation, the message is passed on to you as
an e-mail, or it is stopped and discarded.

182

Automail Overview

Automail conditions are logical expressions that relate to issue fields. If the
condition evaluates to true, an e-mail is sent to you. With Automail conditions
you can take a look at all issue fields, and not only their new value but also the
value prior to the change. This permits you to filter on absolute values as well
as on value transitions.
Each Automail condition can be named, and can be stored in a repository. The
system administrator can place conditions into the public repository so that all
users can access and use them. A project administrator can copy conditions to
a project repository, so it becomes available to all users that have a role in any
of the projects the project administrator manages.
You can copy a public Automail condition into your private repository and
modify it there to your liking. You can modify and delete your own conditions, and you can create new conditions.

Managing Automail Conditions


To manage Automail conditions go to menu Administration - Automail Automail conditions....

On the screen that appears you can add new conditions using the Add
button in the toolbar, you can edit your own conditions by clicking on the
Edit icon in the actions column, or you can copy a condition using the
Copy icon in the action column. You can also delete your own conditions.

183

Track+ for Configuration Managers

When there are a lot of conditions you can filter the list by name pattern, or
by type of repository using the little filter symbol in the top right.

When you add, edit, or copy a condition the Automail condition definition
screen comes up. You need to define the logical condition expression, give the
condition a name, select the repository you want to save it to, and then save it.

Example Condition Design


The fastest way to understand how the condition designer works is by
example. In this example we will design an Automail condition that will only
pass messages of issues that have entered the closed or suspended status.

184

Automail Overview

We do not want to receive any messages that have been modified in the
closed or suspended statuses.
The logical expression is designed by defining an expression tree. If you are
familiar with designing report filters, this is the same principle. The tree
consists of logical nodes (AND, OR) and expressions. You can have any level
of nesting, and you can move any node to another one using drag and drop.
This makes it easy to expand the tree over time without having to start the
design from scratch.

Right above the tree area the logical expression appears in the more familiar
standard notation using parantheses. Our expression shall look like
(new Status == closed OR new Status == suspended) AND
(old Status != closed AND old Status != suspended)

We dont want to get e-mails for issues that have been changed in status
closed or suspended.
So we need two subexpressions that are connected with AND, thus on the top
level we can leave the AND logical node. It means that all nodes directly
underneath it are ANDed together.
The first subexpression consists of two expressions that or ORed together.
Thus we create an OR node directly underneath the topmost AND node. For
this we have clicked on the AND node. Then we click on the AND button. A

185

Track+ for Configuration Managers

new AND node appears in the tree. We use the right click context menu to
change that node to an OR node. This is just for demonstration of the context
menu, we could have added an OR node rightaway using the OR button.

We select the OR node and click on the EXP (for expression) button. A new
node labeled Unknown Expression appears.

We click on the Unknown Expression node. The screen area in the right
changes, a number of selection boxes appears. We change the selection boxes
as shown below. We can observe how the tree and the plain text expression
changes.

186

Automail Overview

We go back and again select the OR node. We add a second expression using
the EXP button. Again, a new node appears with Unknown Expression. We
click on the node and repeat the procedure outlined before.

We have now defined the first subexpression, the two expressions that are
ORed together. Now we move to the second subexpression. The procedure is
the same as for the first subexpression, except that the two logical expressions
inside the subexpression have to be ANDed. Thus we click on the tomost
AND node, and add an AND node below by clicking on th AND button.

We now add and define the two logical subexpressions as explained above.

187

Track+ for Configuration Managers

The final result will look like the expression shown below. We can now save
this condition into our private repository and test it. If you were the system
administrator or a project administrator you could also save the expression in
a public or project repository so that others could use it.

It is important to know that you can use drag and drop techniques to move
nodes in the tree. This makes it easy to expand expressions, for example when
a new nesting level is required.
Oftentimes filter conditions may only be simple expressions ANDed or ORed,
with no level of nesting. In this case you may just have the top AND or OR
node, and directly below it all expressions.

188

Managing Accounting

Handling Current User in Automail Conditions


Let us assume you want to create an automail condition for issues where you
are the new responsible. You could hardcode your name in the filter condition.
In this case the filter would only be useful to yourself, you could not make it
public.
Track+ provides the possibility to define a parameter for users in the user selection box, the current user. It is designated as $USER. If this user is set it always
means me from the users point of view who is using the automail condition.

Handling Dates in Automail Conditions


Track+ provides a number of comparison operations for dates. There are two
classes of comparisons:
+ absolute dates
+ relative dates

Absolute dates are more or less obvious, but they are probably also less useful.
Relative dates are a little more difficult to understand, but they are very useful
since they do not become outdated.

4.5 Managing Accounting


Track+ permits to budget and track times and expenses for issues. To this
purpose, the system provides accounts and cost centers. All expenses are accumulated in accounts, and each account belongs to a cost center. Projects write
their expenses against those accounts that they are permitted to use.

189

Track+ for Configuration Managers

4.5.1 Accounting Overview


There may be as many accounts in the system as required. Accounts may
assume states; for example they can be open, so authorized people can place
their expenses on them, or they can be closed, and it will not be possible any
more to write expenses against them.
A single account may belong to one or more projects. For example, there may
be accounts for common tasks or overheads like department meetings, vacation, illness, etc.
Project P1

Project P2

Cost Center 850350


Development

Account 257000
Overheads
Development

Account 257101
SW Development
P1

Account 257102
SW Development
P2

Cost Center 850351


Sales Support

Account 257001
Overheads Sales

Account 257201
Sales Support P1

Account 257202
Sales Support P2

Cost Center 850352


Procurement

Account 257002
Overheads
Procurement

Account 257300
General
Procurement
Activities

Track+ is not a bookkeeping system. However, it is easy to connect an enterprise management system like SAP or Oracle to the information stored in
Track+. In this case it has to be made sure that the account and cost center
numbers in Track+ match those in the bookkeeping system.

190

Managing Accounting

Accounting can be enabled for each project separately. So if a project manager


does not require accounting and budgeting for his project, this function can
be disabled.
Cost centers can be deleted; in this case their accounts are being transferred to
a replacement cost center.

4.5.2 Setting up Accounting


The first step in enabling accounting is to create cost centers. Track+ associates
but little information with cost centers: a unique number which should match
that of the larger bookkeeping software, if available, and a name. Oftentimes
cost centers correspond to departments.
The second step is to create accounts. Accounts carry four attributes:
+ a unique account number
+ a name
+ a cost center
+ a status

The account number should match that of the bookkeeping system being
used. The account name can be any string and should briefly describe the
purpose of the account. Each account is assigned to exactly one cost center.
The person responsible for the cost center thereby is also the person responsible for the account.
Each account has a status. The status determines if the account can be actively
used, or if the account is closed. If the account is closed it will not appear any
more in the selection boxes when users need to record their expenses.
Accounts can be deleted; however their entire history has then to be mapped
to another account that still exists.

191

Track+ for Configuration Managers

Accounts can accumulate either monetary expenses (cost) or time expenses


(efforts). Each project defines the base currency for the monetary costs. Their
can be different base currencies for different projects. The base currency for
time expenses is one working hour. Working days are mapped to working
hours by the values found in either the project type definition, the project definition, or a single users definition for how many hours one working has.
The third step in setting up accounting for a project is to assign the accounts
defined previously to the projects. It is possible to assign a single account to
more than one project. It is also possible to disconnect accounts from projects.

4.6 Defining Issue Types


Managing a project means to keep track of work packages, start and due dates,
budgets, action items, problems, and much more. It is good practice to keep
lists of these issues, and manage these lists well. Track+ permits users to distinguish issues by their type, thereby keeping things apart that do not really
belong together, and to possibly restrict access to certain types of issues to a
defined group of people.

4.6.1 Issue Type Overview


For a small organization, running small projects, or for use as a simple bug
tracking system it would suffice to configure just one issue type. It is up to you
to decide if you for example would benefit from distinguishing between a
problem report and a bug. If you think you dont, you dont have to bother
setting up different issue types.
On the other hand, you may want to use Track+ to improve your process. In
this case it may make a difference whether you have a lot of problem reports,
192

Defining Issue Types

or if you have a lot of bugs. A problem report could come from bad documentation, unsufficient user training, or a badly designed user interface. A bug is
if your developers did not implement the specification correctly. So you may
have to improve different areas of your process, depending on whether there is
a one to one relation between bugs and problem reports, or there many more
problem reports than bugs.
Track+ comes with a set of default issue types as shown in the table below. You
can safely delete those you do not need, or rename them to something more
appropriate to your requirements. This you can do even later on. If you then
delete issue types, issues of this type will then be mapped to one of those types
you keep.

Issue Type

Description

Problem Report

Somebody has a problem with something, rather


unspecified. May be a know how problem, a user
interface problem, or a bug.

Requirement Change

The agreed on requirements need to be changed to


achieve the desired functionality

Requirement

A list with requirements. This permits for requirement


engineering and tracing. Since attachments can be
added to each issue, you can add figures, source code,
or other documents to a requirement.

Implementation
Error

There was some problem found in the


implementation, i.e. the requirements are correct, but
the implementation is not.

193

Track+ for Configuration Managers

Issue Type

194

Description

Work Package

In a well managed project there exists a work


breakdown structure with many work packages. It is
very tedious for a project manager to keep track of the
status of such work packages. Using this list and
having each $RESPONSIBLE take care of the status of
her work package the project manager can without a
lot of effort obtain the actual status of his project and
look for instance for late packages.

Action Item

There may be use for a rather unspecific list of action


items at the project management level.

Milestone

Keeping a list with important milestones could be the


shortcut version of keeping a list with work packages.

Risk

Project management without a current list of relevant


risks is not really complete.

Release notes

Once a requirement has been implemented, or a bug


has been fixed, you can copy it from the bug list to the
release notes list. Once a release is assembled, you can
extract a report filtering for the release notes list. This
way you can make sure you have all changes included
in your release notes.

Templates

This list permits to define templates that may be


copied to new lists changing certain parameters in the
copy process. This is very helpful for defining
assessment plans and quality gate check lists, that can
be reused and copied to a protocol list. The protocol
list may be worked off for each project, release, and
build.

Defining Issue Types

Note that for the different issue types, not every state out of the set of possible
states may make sense. It is up to the definition of a specific project how to use
the possibilities the Track+ system offers. You can limit the set of states for
each project type and issue type. For example, for milestone lists two states
might suffice: opened and closed. We will later on explain how to assign field
option values to issue types and project types.
During the lifecycle of an issue, it is quite common that it changes its type. For
example, a problem report could result in an implementation error after the
report has been analyzed. Track+ makes it easy to move issues between issue
types.

4.6.2 Customizing Issue Types


In Track+ you can define any number of issue types. You can rename the
existing ones, delete some of the default issue types, or create new ones.
To customize issue types, go to menu entry Administration - Customize Lists - System Lists.

On the screen that appears click in line named Issue Types on the little edit
icon in the Action column.

195

Track+ for Configuration Managers

In the same manner you can now change on the following screen the name of
existing issue types, delete issue types, or create new ones.

You can limit for each project type defined which issue types are available out
of the set of defined issues types. To restrict the list of available issue types click
on the little filter symbol in the toolbar.

196

Defining Issue Types

Now mark the issue types you want to make available to projects of a certain
type. Click the Save button to make the change permanent.
If no issue type is checked on this screen, this means there is no restriction, i.e.
all issue types are available in projects of this type. This is default.

4.6.3 Localizing Issue Types


When you rename issue types, or create your own you may want to make them
available in more than one language. If this is not a requirement in your environment you dont have to read further since the name of the issue type is the
text that will be displayed at the user interface.
However, if you need to display the issue type name in various languages at
your site you need to localize the labels. Localization takes place via files
WEB-INF/classes/resources/BoxResources_xy.propert
ies, where xy stands for your locale (en for English, de for German,
'no for Norwegian, it for Italian and so on; look at your browsers language
menu for more). Here is an excerpt from the standard version of this file:
...
TCATEGORY.WorkPackage=Work Package
TPRIORITY.immediate=immediate
TPRIORITY.occasionally=occasionally
TPRIORITY.soon=soon
TROLE.Administrator=Administrator
TSTATE.opened=open
...
197

Track+ for Configuration Managers

Issue types use the prefix TCATEGORY. Spaces in label names are
converted to underscore (_) characters before searching for a localized value
in the resource file. Example: We define an issue type Work Package which
is being stored in the database. Later on we want to have a German localization
for it. We thus would enter the following line in BoxResources_de.properties:
...
TCATEGORY.Work_Package=Arbeitspaket
...

A server or application restart is required after changing the localization files.

4.7 Defining Issue Statuses


At all times, each issue carries a status with it. Track+ workflows are comprised
of status transitions and transitions for people responsible for an issue.

4.7.1 Status and Status Transitions


It is obvious that issues must have at least two statuses: open and closed.
In Track+ it is possible to assign any number of more detailed statuses to these
super statuses. Probably most statuses belong to the open category; the
default configuration sets only status closed and suspended to category
closed. This allows for easy queries such as: give me all open issues,
meaning all those that are not in status closed or suspended.
The table below describes the statuses that are delivered with the Track+
system as a default configuration. The super status of each status is shown in
brackets. These statuses may be renamed, extended or deleted to suit your
specific needs.
198

Defining Issue Statuses

Track+ installs by default with no enforcement of valid status transitions as


this has shown to be not too helpful in most organizations. However, you can
completely define workflows restricting status transitions to certain roles and
list categories. How this is done is described further down. Certain status transitions can be controlled via permissions assigned to roles, e.g. you can define
roles that are not allowed to close an issue.
In any case, all important status transitions (e.g. from an open status to a closed
or suspended status) are being e-mailed to the people concerned. Thus the risk
of loosing an issue is rather small.
If you are not satisfied with the default statuses you can either rename them,
delete them, or add new ones. The philosophy with the default statuses is that
the status describes either the end of a process step, or the process step itself.
For example, there is a status assigned, and there is a status implementing.
The first describes the status at the end of the analysis, while the other desribes
the process of implementation.
In general it is useful to name statuses in their progressive form for process
steps that take some time like analyzing, implementing or assessing. For
statuses that are not associated with some continous processing it is better to
name them with their participle form, like opened, closed or suspended.
Not all statuses are useful for all issue types. For example, it makes little sense
to have a status implementing for mile stones, and it may be of little value
to have a status assessing for action items.
If you are in the software or hardware development business, the default status
should suit you quite well.

4.7.2 Customizing Statuses


In Track+ you can define any number of statuses. You can rename the existing
ones, delete some of the default statuses, or create new ones.

199

Track+ for Configuration Managers

To customize statuses, go to menu entry Administration - Customize - Lists


- System Lists.

On the screen that appears click in line named Issue Status on the little edit
icon in the Action column.

In the same manner you can now change on the following screen the name of
existing statuses, delete statuses, or create new ones.

200

Defining Issue Statuses

The second column defines the STATEFLAG. This integer indicates if a status
belongs to category open (STATEFLAG=0, active) such as opened,
analyzed, etc., category closed (STATEFLAG=1, closed) such as closed
or suspended, or category ready for final test or closing (STATEFLAG=2,
inactive). You can define additional stateflag values for example to mark rows
differently in the report overview. However, the internal notification logic
currently knows only about these three values. The stateflag is accessible from
all reports.

STATEFLAG

Description

0, active

open statuses such as opened, analyzed,


implemented, etc. The task is not done, further action
is necessary.

1, closed

closed statuses such as closed or suspended. The


task is done, no further action necessary.

201

Track+ for Configuration Managers

STATEFLAG
2, inactive

Description
ready for final testing or closing statuses. Not used in
the default process model right now.

You can limit for each project type and each issue type defined which statuses
are available out of the set of defined statuses. To restrict the list of available
statuses click on the little filter symbol in the toolbar.

Now choose a project type, and then mark the issue type/status combinations
you want to make available to projects of the selected type. In the example
above, status opened, analyzed, and assigned would be available in issue
types ProblemReport. In issues of type RequirementChange on statuses
opened and analyzed would be available.
Click the Save button to make the change permanent.
If no issue type is checked on this screen, this means there is no restriction, i.e.
all issue types are available in projects of this type. This is default.

4.7.3 Localizing Statuses


When you rename statuses, or create your own you may want to make them
available in more than one language. If this is not a requirement in your envi-

202

Defining Issue Statuses

ronment you dont have to read further since the name of the status is the text
that will be displayed at the user interface.
However, if you need to display the status name in various languages at your
site you need to localize the labels. Localization takes place via files
WEB-INF/classes/resources/BoxResources_xy.propert
ies, where xy stands for your locale (en for English, de for German,
'no for Norwegian, it for Italian and so on; look at your browsers language
menu for more). Here is an excerpt from the standard version of this file:
...
TPRIORITY.soon=soon
TSTATE.opened=open
...

Statuses use the prefix TSTATE. Spaces in label names are converted to
underscore (_) characters before searching for a localized value in the
resource file. Example: We define a new status Ready for testing which is
being stored in the database. Later on we want to have a German localization
for it. We thus would enter the following line in BoxResources_de.properties:
...
TSTATE.Ready_for_testing=bereit fr Test
...

A server or application restart is required after changing the localization files.

203

Track+ for Configuration Managers

4.8 Configuring Workflows


It has to be clear to all project members what cycles the different issues may go
through. In a well managed project, these state diagrams are described either
in the project handbook or the configuration management manual.

4.8.1 Workflow Overview


In larger projects it may be useful to guide project members so they adhere to
the defined process. It has to be considered however, that many of these
processes do not take exceptional circumstances into account, and may thus
block workers from making useful exceptions. In addition, a large multidimensional configuration space is opened up and may lead to configuration
errors.
A workflow for Track+ controls
+ which role (e.g. developer, current manager, tester, current responsible)
+ in which project type (e.g. generic projects, development projects,

procurement projects)
+ for which issue type (e.g. mile stones, action items, bugs)
may change an issue from which status to another status.
The Track+ system thus permits to define state and role based workflows for
each project type and list type. The workflow control window consists of six
areas. Five areas are used to select project type, the issue type, the role, and the
status transition. It is possible to select multiple list types and roles at once; it
is not possible to select several project types or status transitions in one step.

204

Configuring Workflows

4.8.2 Creating a Workflow


To create a workflow, proceed as follows:
1)

select a project type

2)

select at least one issue type

3)

select at least one role

4)

select the state transition, consisting of an initial state and a target state

5)

push the save button

Thereafter the defined state will show up in the overview area. If you select the
defined workflow there, the associated selections in the other boxes will be
highlighted.

205

Track+ for Configuration Managers

4.8.3 Changing Workflows


To change an existing workflow you need to select a project type, and then the
respective workflow in the overview area. You can now change
+ change issue types
+ change roles
206

Configuring Workflows

You cannot change project types or status transitions for an existing workflow.
To change these two attributes, first delete the entire workflow and then
reconstruct it with the new attributes.

4.8.4 Workflow Reports


Two different views allow to get a good picture on the workflows defined in
the Track+ system. Probably the most effective view is the graphical state
diagram representation as shown below. It shows all defined workflows
grouped by project and issue type.
The second view, as shown below provides a textual list representation of the
defined workflows. It lists for each state transition for each project and list type
which role can perform this transition.

207

Track+ for Configuration Managers

208

Configuring Workflows

209

Track+ for Configuration Managers

4.8.5 Example Workflows


This section presents some examples for useful workflows. The examples are
based on the standard Track+ status space and role definitions.

Action Item List


The action item list is the most general in the Track+ system. It was designed
and developed to help facilitate communication within groups as small as
members of a project or as large as members of an entire organization. In
today's world, action items levied against members of an organization are
created from several different sources through various avenues (either by email,
voice mail, in meetings, or by word of mouth) resulting in actions not being
completed because either the action was forgotten, misplaced, or miscommunicated.
The intent of the action item list is to:
+ centralize and organize all action items for a particular organization or

project
+ make the system available through the Internet, and notify individuals
via email when an action is assigned to them or is nearing or has surpassed
the due date
+ allow for a concise and up to date overview on a projects status
Not all states the Track+ system has to offer are helpful when dealing with
action items. The figure below shows the status subset that could be used for
action items.

210

Configuring Workflows

close [$USER==RSP || $USER==MA N || $USER==PM]


In it ia l
open

closed

reopen [ $USER==MAN || $USER==PM]

An action item is created and initially set to status opened. Action items
should always carry a due date and a person to which they are assigned. This
is unavoidable in the Track+ system.
Once work on an action item has started the status is set to processing by the
current responsible. This permits other people to see that something is actually
happening regarding this issue. The issue can be closed by the responsible or a
manager once all tasks associated with this action have been completed.

Milestone Tracking
In a well managed project, there will be lots of binary milestones, those that
are either passed or not passed. It is an often observed project sickness that
milestones are not defined in a binary fashion. You will hear people coming up
with terms like conditionally passed, 90% done, almost there and so on.
If you hear such phrases you know you are in trouble.
It is in the nature of a milestone that you have either passed it or not. It may
take some effort to define project milestones, but it pays well. The best milestones are connected to assessable, 100% complete results. For example, a
good milestone would be customer requirements reviewed with customer and
frozen. A bad example would be customer requirements 50% finished.

211

Track+ for Configuration Managers

A milestone has to have a due date associated with it. It can be either opened
or closed. The status transition from opened to closed marks the passing
of the milestone.
pass [$USER==MA N || $USER==PM]

In it ia l

open

closed

It is quite common that the milestone passing dates, as envisioned in the first
project plan, have to be moved. In a badly managed project such movements
become visible only at the milestone due date, or worse, at the next quality
gate. With Track+ it is no problem to move a due date, but the change is
recorded and you can watch how a milestone slips. Looking at the database,
you can draw reports of milestone slippage in your project, telling you quite
clearly where you stand.

Risk Management
Planning a project and then executing the plan is based on estimates. Unless
you have a magic crystal ball you are making assumptions that could or could
not be true. One definition for an estimate calls it a prediction that is equally
likely to be above or below the actual result. Estimate uncertainty occurs
because an estimate is a probabilistic assessment of a future condition.
The many events that could lead to your estimate being too optimistic I call
risks. There could be a risk that you won't be able to meet the schedule, or the
budget, or the expected quality level. You may not be able to get the right
people at the required time. A supplier you are counting on falls short to
deliver on his contract. You may depend on weather conditions, and they turn
out to not being in your favor. It's up to your imagination what could happen.

212

Configuring Workflows

close [$USER==RSP || $USER==MA N || $USER==PM]


In it ia l
open

closed

reopen [ $USER==MAN || $USER==PM]

Managing a project to a good extent means managing risks. It is very helpful


to always have a list with the ten most prevalent risks in your project. You
should have a strategy available on how to react if any of these risks materializes. The Track+ system helps you to manage a list of risks.There may be more
than just ten risks. Enter all you know, and assign them to the different priority
and severity levels. This permits to draw reports with those risks that are most
likely to occur, or that have the greatest impact. Use the priority to describe
the probability of occurrence, and the severity to describe the possible impact.
The most critical risks are those that have the highest probability of occurrence
and the largest impact.
There are only two statuses for a risk: it is either opened or closed. Status
closed means the probability of this risk occurring in the future is zero.
Reasons to close a risk could be that there is no future for your project, because
it has been closed, or that the risk already occurred, or that you absolutely can
rule out that the risk could ever come up again.

Issue Lists
In the software business this is also called the bug list. Unlike milestones and
action items, issues are usually not planned, but they will occur. For large
projects, and particularly in software projects, from the beginning to the end
there will be many issues. From our experience, for an embedded system with
about 100.000 non commented lines of code you may have to handle about
213

Track+ for Configuration Managers

2500 issues before you can ship your system. Since it is close to impossible to
control such an amount of issues without any tool support, bug tracking
systems have been on the market for quite some time.
The Track+ system is well suited to act as an issue or bug tracker. Compared
to other systems it supports well large organizations with many projects, due
to its technology and access control features. Except for access control the
Track+ system imposes very few restrictions on its users. This leads to fast
adoption and intense usage even without organizational policy enforcement.
The life of an issue starts with status opened. Anybody with appropriate
permission in a specific project can create a new issue. There is a default person
assigned as manager of an issue who is responsible to evaluate and possibly
assign it to somebody for further investigation or resolution.

214

Configuring Workflows

[$USER==QA ] /reopen
In it ia l
create prob lem report
[$USER==Q A] /close
open

closed
[$US ER== MAN
|| $USER= =PM]
/suspend

[$USER= =RSP ||
$USER= =MAN]
/ana lyze

[$USER==Q A] /close
suspended

[$USER==QA]

analyzed

assessing
[$USE R==MA N ||
$USER==PM]
/assign; move to
impleme nta tion error

[$US ER== MAN]


/assign; move to
impleme nta tion error
assigned

reje ct [ $USE R==TST]

start processing [$USER==RSP]

start testing [$USER=TST]


integrated

[$US ER== INT]


/int egra ting
proce ssing

implem ented

[$USER==RSP]

If there is a time gap between the decision to further pursue this issue and the
time it can be assigned to somebody for resolution it is possible to mark an
issue as analyzed. If the analysis shows that resolution of an issue should be
deferred to some later time the issue can be set to suspended. From this
status it can always be reopened, or directly be assigned to some person for
further processing.
To permit management some insight when an issue is actually being worked
upon by the person responsible for it, status processing is available. This
status marks the period during which resolution of an issue is pursued. While
most other statuses describe the end of a period, this status describes the
process. The end of this period is marked by status implemented, which

215

Track+ for Configuration Managers

means that resolution has been completed, but no integration and tests have
been carried out.
The integrators and testers can use status integrated, assessing, and
closed. If the integration and assessment process reveals no further problems
with the implemented issue resolution, the issue can be closed. In any other
case, the issue is being set back to assigned.
As with status processing, status assessing defines a process rather than the
end of a process. This again is to enable management visibility when the assessment process, which could take some time, has actually been started.

4.9 Custom Fields


In Track+ you can define custom fields for issues. There are a number of field
types like text fields, numeric fields, selections, and date fields provided with
Track+. It is possible to extend the number of field types using the Track+ plug
in architecture.
This chapter describes:
+ basic custom field concepts
+ custom field types
+ how to add, modify, and delete custom fields

4.9.1 Custom Fields Overview


Track+ knows of two general issue field type:
+ System fields
+ Custom fields
216

Custom Fields

If you want to use a field, you have to place it on an input form so that it
can be accessed (see section on Custom Forms).

NOTE:

Fields are always global, but their attributes like label, tooltip, and selection list
can be overwritten
+ for each issue type
+ for each project type and issue type
+ for each project and issue type

Field attributes are inherited down the hierarchy: system, issue type, project
type, and project. A project manager may define or overwrite custom fields
only at the project level.
This approach fosters reuse of existing custom field definitions across many
projects, makes it easy to change configurations globally while preserving full
flexibility down to each project.
The figure below shows at the top the global configuration. When defining
system and custom fields at this level, all projects and issue types will automatically inherit this configuration, unless they overwrite it locally.
The issue type specific configuration permits to define system and custom
fields differently for each issue type. If things are configured here, in all
projects for these issue types this configuration will be visible.

The next figure shows configuration at a project type level. Here you can
define for each project type and issue type system and custom fields. In the
example below project type Generic Project is opened, and for this project
type the issue type Problem Report.
217

Track+ for Configuration Managers

All projects of this project type will automatically inherit this configuration.
The figure below shows a configuration at a project level, for project Track+.
Here you can define for each project and issue type system and custom fields.

System Fields
System fields are the fields that are built into Track+. Many of the system fields
have some logic associated with them, like the originator field, the manager
field, the responsible field, the issue type field, and so on. For an overview at
all system fields have a look at section Key Concepts.
These fields are always there, even though they may not appear at the user
interface. You can overwrite the labels and tooltips of these fields at each of the
levels mentioned above, thus permitting you some limited customization.

Custom Fields
As a system or project administrator you can define completely new fields. A
field has a field type, like text field, date field, and so on. If you want to define
fields offering a selection, you first have to create the selection before you
define the field.
218

Custom Fields

Custom fields do not automatically appear at the user interface. You have to
explicitly place them on at least one custom form before they become visible
to users.

Deprecated and Required Fields


All fields can be marked as deprecated or required.
Deprecated fields cannot be selected anymore from the field selection list when
managing input forms. They are still in the database, but they cannot be used
anymore when designing new forms.

If a field is marked as required, users have to enter information for this field
when an issue is created. If they do not enter information, an error message is
displayed. The required attribute pertains to creating issues only, and no
other action.

NOTE: It is possible to create problematic configurations that prevent the user from
creating new issues. If a field is marked as required, but does not appear on the associated input mask for this project and issue type, the user is locked out.

219

Track+ for Configuration Managers

Custom Field Names


Each field has a name. This name is used in the full text search index. When a
field name is changed, this change is always global, even for fields that have
been derived, or have been overwritten at the project, project type, or issue
type level.

Label and Tooltip


Each field has a label and a tooltip attribute. The label attribute is the one
shown at the user interface as the label for this field. The tooltip attribute will
be displayed as a tooltip when hovering over the field.

4.9.2 Custom Field Types


A number of field types is available for custom fields. This list can and will be
extended in the future using the Track+ plug in architecture for custom field
types. This section describes the types available with their configuration
options and how they appear on input forms.

Short Text
Short text fields can contain short (one line, about 5 to 50 characters) text.

220

Custom Fields

You can define a default text that appears when creating an issue, and you can
define the minimum and maximum length of the field.

When you place this field on an input form, it will look like shown below.

Long Text for Descriptions


Long text fields can contain longer descriptions, up to many thousands of
characters. Long texts display as a text area for convenient editing.

You can define a default text that appears when creating an issue, and you can
define the minimum and maximum length of the field.

221

Track+ for Configuration Managers

When you place this field on an input form, it will look like shown below.

Date
Date fields contain dates, or may be left empty. The date is formatted
according to the users preferred locale.

It is possible to define a default date which is entered when creating an issue.


The default date can be set to now, which means the then current date is
entered. It also can be set to specific date.
It is also possible to define an earliest possible date and a latest possible date.
Here again the date can be set to now, or to a specific date.
At the user interface this field would appear as shown below.

222

Custom Fields

Integer
Integer fields can contain integer numbers, negative or positive.

It is possible to define a default value, a minimum and maximum value. Of


course, the minimum value needs to be less than the maximum value, if any is
defined. Furthermore, the default value needs to be larger or equal to the
minimum and less than or equal to the maximum value.

At the user interface this field would appear as shown below.

Double
Double fields can contain floating point numbers, negative or positive.

It is possible to define a default value, a minimum and maximum value. Of


course, the minimum value needs to be less than the maximum value, if any is

223

Track+ for Configuration Managers

defined. Furthermore, the default value needs to be larger or equal to the


minimum and less than or equal to the maximum value.

At the user interface this field would appear as shown below.

Check box
Check box fields can be marked or unmarked.

In any case you define a default value, either marked or unmarked. Mark the
check box for default value if the default value shall be set to marked.

When you place this field on an input form, it will look like shown below.

224

Custom Fields

Simple Select
Simple select lists permit to select a single item from a given list. The default
value is configured as part of the list, not as part of the field.

NOTE: You must have defined already a simple list before you start defining a
custom field of this type. Otherwise you may not be able to complete the definition
of a field of this type.

When you place this field on a form, it will look like shown below.

Multiple Select
Multiple select lists permit to select one or more items from a given list. The
default value is configured as part of the list, not as part of the field.

225

Track+ for Configuration Managers

NOTE: You must have defined already a simple list before you start defining a
custom field of this type. Otherwise you may not be able to complete the definition
of a field of this type.

When you place this field on a form, it will look like shown below.

Cascading Select Parent-Child


Cascading select list of type parent-child permit to select from a list of parent
items, and when a parent item has been selected the list of selectable child
items changes as well. For example, the parent list could be products, and the
child list could be components.
You must have defined already a list of this type before you start defining a
custom field of this type. Otherwise you may not be able to complete the definition
of a field of this type.

NOTE:

In our example, we have a short list of customers, Bosch and Siemens. The
children are divisions of Bosch and Siemens. For Bosch, we have divisions
Benzin and Diesel, for Siemens we have divisions telecommunication and
medical. All this information is contained in the list named Customers.
226

Custom Fields

When placed on the screen, this selection would look like shown below.

When the selection in the left box is changed, the selection in the right box
changes as well. Another example would be a selection for an operating system:
Windows, Linux, Solaris on the left, and the version (98, ME, XP, Vista,
Redhat, Debian, SuSE) on the right.
Even though the selection appears as two fields, this will be a single field in
the database. To search for this in TQLPlus you would search for
Customer:Bosch#Benzin. The field name is shown as part of the tooltip, in case
your label is different from the field name.
NOTE:

Cascading Select Parent-Children


Cascading select list of type parent-children associate two lists of child items
with a single entry in the parent item list. The first child has no dependence
on the second child.
For example, if the parent item list would contain car models, the first child
list could contain engine sizes available for this model, and the second child list
could contain colours available for this model. Different models might be
offered with different engine sizes and colors.
You must have defined already a list of this type before you start defining a
custom field of this type. Otherwise you may not be able to complete the definition
of a field of this type.

NOTE:

227

Track+ for Configuration Managers

In our example we have defined a generic list Parent-Children, with three


parent, Parent-1, Parent-2, and Parent-3. Each parent item has two lists with
a number of child items associated with it. For example, Parent-1 has in its first
child list Child-1:1, Child-1:2 and in its second child list Child-1:L1,
Child-1:L2, Child-1:L3. The names can of course be anything.

At the user interface this would look like shown below. When the parent selection is changed, the two children lists change along.

Cascading Select Parent-Child-Grandchild


Cascading select list of type parent-child-grandchild creates a hierarchy of
dependencies. The child list is unique for each parent. The grandchild list is
unique for each child. This can be thought of as a tree with a nesting level of
two.
For example, if the parent item list would contain car manufacturers, the child
list could contain models for each car manufacturer, and the second list could
contain engine sizes for each model of that manufacturer.
The engine size that could be selected would depend on the specific model of
that manufacturer.

228

Custom Fields

You must have defined already a list of this type before you start defining a
custom field of this type. Otherwise you may not be able to complete the definition
of a field of this type.

NOTE:

In our example we have defined a parent list with three parent entries. For each
parent we have defined three children. For each child we have defined a
number of grandchildren.

At the user interface this field type would look like shown below. When you
change the parent selection, both the child and grandchild selection changes
automatically.
When you change the child selection, the grandchild selection changes automatically.

4.9.3 Managing Custom Fields


This section describes how to add, overwrite, modify, and delete custom fields.

229

Track+ for Configuration Managers

Adding a Custom Field


This section describes how to add a custom field to your installation.
PREREQUISITE
You must be logged in as system administrator (admin) or you must have
project administrator rights in the project you want to add a custom field to.
NOTE: If you want to add a field of type list or cascaded list, you must have created
that list before you start the procedure described below (menu Administration >
Customize > Lists > Custom Lists...).

1.

From the menu, select Administration > Customize > Custom fields...

2.

A new screen appears, consisting of a tree structure on the left and a


context sensitive edit area on the right. The tree structure depends on
whether your are logged in as system administrator or project administrator. Click on the leaf node where you want to add the custom field.
In the example shown here we will add a custom field to project Track+,
for issues of type problem report.

230

Custom Fields

3.

Click on the Add button at the top of the right area.

4.

Select the type of field you want to create, and give it a name. Under this
name fields will be searchable later on.
It makes no sense to mark a completely new field as deprecated, since it
will not appear in the selection lists when you want to add the field to
an input form.

NOTE:

5.

You cannot change the type of a field once you have created it!

Enter a label for this field, and optionally a tooltip. This label will appear
on the input forms where you place the field.

231

Track+ for Configuration Managers

If you mark the field as required, and it appears on an input form that is
associated with a Create issue action, the user has to enter a value here. If the field
does not appear on any form, there is no error message.

NOTE:

6.

Fill out the field type specific configuration part, for example enter
default values, or minimum and maximum values.

7.

Click on the Save button in the toolbar area.

RESULT:
Your new custom field has been added to the Track+ system. This field is available to all projects, if they like to use it, that is even though in this example you
defined it at a project level, it is automatically propagated to the system level
for reuse.
NOTE: Before you can use your new field, you have to add it to at least one input
form, using the interactive form designer.

Overwriting Custom Fields


This section describes how to overwrite global custom field settings at a
project, project type, or issue type level. Overwriting means you can modify

232

Custom Fields

any of the attributes except for the field type, like label, selection list, tooltip
or required attribute.
PREREQUISITE
You must be logged in as system administrator (admin) or you must have
project administrator rights in the project where you want to overwrite a
custom field.
1.

From the menu, select Administration > Customize > Custom fields...

2.

A new screen appears, consisting of a tree structure on the left and a


context sensitive edit area on the right. The tree structure depends on
whether your are logged in as system administrator or project administrator. Click on the leaf node and select the custom field you want to
overwrite.
In the example shown here we will overwrite field No. of Users
specific for issue type Problem Report. Before the value is overwritten,
it is inherited from the global configuration. This is shown by the light
grey color of the labels.

233

Track+ for Configuration Managers

234

3.

In the right area, we click on the Derive button in the toolbar. If you
like, change the field name. This will change the name globally!

4.

Change the label and tooltip. Make this a required field.

5.

Change the default and boundary values.

Custom Fields

6.

Click on the Save button in the toolbar. In the tree area the field has
changed from a light color to a strong color, indicating that this is a
derived field.

RESULT:
You have created a derived field and overwritten the global field at the place
chosen with the derived version. The field itself is still the same global field,
though!
You can revert this operation and return back to the global setting by right
clicking on the derived field in the tree area, and then selecting Reset.

NOTE:

235

Track+ for Configuration Managers

Modifying Custom Fields


This section describes how to modify a custom field.
PREREQUISITE
You must be logged in as system administrator (admin) or you must have
project administrator rights in the project you want to change a custom field.
1.

From the menu, select Administration > Customize > Custom fields...

2.

A new screen appears, consisting of a tree structure on the left and a


context sensitive edit area on the right. The tree structure depends on
whether your are logged in as system administrator or project administrator. Click on the leaf node where you want to modify the custom
field.
In the example shown we will change the name of a system field on a
global level.

236

Custom Fields

3.

Change the name of the system field.

4.

Change the label and tooltip.

5.

Click on the Save button in the toolbar area. The renamed field will
show up in the tree area.

237

Track+ for Configuration Managers

RESULT:
You have renamed a system field. It will appear on all input forms with the new
label and tooltip.
What you can change depends on the field type. For system fields, you can
only change the name, label, and tooltip. For custom fields, you can change
anything except for the field type.

Deleting Custom Fields


This section describes how to permanently delete a custom field.
PREREQUISITE
You must be logged in as system administrator (admin) or you must have
project administrator rights in the project where you want to delete a custom
field.
1.

238

From the menu, select Administration > Customize > Custom fields...

Custom Fields

2.

A new screen appears, consisting of a tree structure on the left and a


context sensitive edit area on the right. The tree structure depends on
whether your are logged in as system administrator or project administrator. Click on the custom field you want to remove.

3.

Click on the delete button in the toolbar area.

RESULT:
The field has been removed from your system.

239

Track+ for Configuration Managers

4.10 Custom Selection Lists


Some fields require a selection of predefined values. For example, you may
have a list of customers, or you want to support a number of operating systems.
Track+ permits you to define your own selection lists which can then be used
for custom or system fields.
This section describes
+ System lists, custom lists, and project specific lists
+ how to manage system lists
+ how to manage custom lists

4.10.1 Custom Lists Overview


Track+ provides three types of selection lists: system lists, custom lists, and
project specific lists. This section describes the concepts behind this approach.

System Lists
Track+ has a number of built in fields that draw their value from a list of
options. These fields have some logic associated with them, for example in the
notification and workflow engines.
The following system lists exist:
+ Issue Status
+ Priority
+ Severity

240

Custom Selection Lists

+ Issue Type
+ Project Status
+ Release Status
+ Account Status

These are simple selection lists, and you can define the set of list values as you
like. The logic is associated with flags that you give your list entries.
For issue status, priority, and severity you can limit the set of visible values
from your list to a subset for each issue type and project type. For example, you
could have issue statuses open and closed for issue type mile stone, and
much more statuses for issue type problem report.
You can limit the set of visible issue types for each project type. For example,
for a external customer project you may just need issue types problem report
and requirements, while for internal projects you may want to use more issue
types such as requirements, mile stones, action items and so on.
The project status, release status, and account status determine the visibility
and possibilities of actions you can perform on these entities. For example, you
may not want to permit a release that has been published to appear in the box
of releases you want to schedule something for.

Custom Lists
You can define any number of custom lists. Custom lists do not have any
specific application logic associated with them. Track+ offers three types of
custom lists:
+ Simple select
+ Multiple select
+ Cascaded select

241

Track+ for Configuration Managers

The last type, the cascaded select can be rather complex. Track+ comes with
implementations for a parent-child list, a parent and two children list, and a
parent-child-grandchild list.
Custom lists are assigned to custom fields of the same type. You can assign
different lists to the same custom field in different projects. For example, you
may have a list of customers defined as a custom field. In one project you may
assign a different customer list to this field than in another one.

Project Specific Lists


Even though custom lists can be defined project specific, there are three lists
that are built in as project specific lists:
+ Project releases
+ Project subsystems or components
+ Project classes

While the notion of releases and subsystems or components is probably


obvious, the notion for classes is not. You may use this selection field however
you like, for example to separate problem reports and requirements into
certain categories (e.g. documentation, software, hardware). You can overvrite
the meaning and label of this field globally or not use it at all (see sections on
custom fields and custom forms).

4.10.2 Managing System Lists


This section describes how to manage system lists.
To access the management area for system lists, in the menu go to Administration > Customize > Lists > System lists...

242

Custom Selection Lists

A new screen appears with all system lists.

You can edit the list items, for example the list of available issue statuses by
clicking on the edit icon on the right. This will open up another screen specific
for this type of system list. On these screens you can add new list items, delete
existing ones, or modify the item label.
When you delete an item you will be asked for a replacement item. All references to the deleted item will be replaced by references to the replacement
item.
You can sort the order in which entries of these lists appear using the green
arrows on the right in the Action column.

243

Track+ for Configuration Managers

Managing Issue Statuses


This section describes specifics on managing issue statuses.
The issue statuses screen has two peculiarities compared to the other system
list screens. First it has a status flag column. Second it has a little Filter
symbol in the toolbar area.

Status Flag
The logic associated with an issue status is conveyed via the status flag. There
are three types of flags:
+ active
+ inactive
+ closed

Status flags inactive is currently not being used. Status flag closed is used for
filtering open issues. The standard filters will like My issues and Responsible issues will look at this status flag and will not show any issues with a
status that has a status flag of closed.
This makes it possible to name statuses in any way you like, but have the
system act according to this useful logic.

244

Custom Selection Lists

Project and Issue Type Specific Issue Statuses


You can limit the list of statuses that is visible at the user interface for each
project type and issue type. To do this click on the little yellow filter symbol
in the toolbar.

The screen now shows a matrix with all issue statuses and all issue types, and
you can select the project type. You can mark those combinations that you
like.

When you are done, save the changes using the Save button in the toolbar.

Managing Priorities
This section describes specifics on managing issue priorities.
The priorities screen has two peculiarities compared to the other system list
screens. First it has a warning level column. Second it has a little Filter
symbol in the toolbar area.
245

Track+ for Configuration Managers

Warning Level
The warning level is used by the notification engine. In your user profile you
can set the level beyond which you want to be notified of changes to issues.
There are a number of levels predefined; you can add more if you like by
directly editing them in the database.

Project and Issue Type Specific Priorities


You can limit the list of priorities that is visible at the user interface for each
project type and issue type. To do this click on the little yellow filter symbol
in the toolbar.

The screen now shows a matrix with all priorities and all issue types, and you
can select the project type. You can mark those combinations that you like.

When you are done, save the changes using the Save button in the toolbar.

246

Custom Selection Lists

Managing Severities
This section describes specifics on managing issue severities.
The severities screen has two peculiarities compared to the other system list
screens. First it has a warning level column. Second it has a little Filter
symbol in the toolbar area.

Warning Level
The warning level is used by the notification engine. In your user profile you
can set the level beyond which you want to be notified of changes to issues.
There are a number of levels predefined; you can add more if you like by
directly editing them in the database.

Project and Issue Type Specific Severities


You can limit the list of severities that is visible at the user interface for each
project type and issue type. To do this click on the little yellow filter symbol
in the toolbar.

The screen now shows a matrix with all severities and all issue types, and you
can select the project type. You can mark those combinations that you like.

247

Track+ for Configuration Managers

When you are done, save the changes using the Save button in the toolbar.

Managing Issue Types


This section describes the specifics on managing issue types.
You can define any number of issue types. You can limit the number of issue
types that are available for each project type.
Click on the little filter symbol in the toolbar.

A new screen appears with a matrix of issue types and project types.

248

Custom Selection Lists

Select those issue types for your project types that you like to be included. If
none are selected for a project type, all will be shown.
When you are done, save your changes using the Save button in the toolbar.

Managing Project Statuses


This section describes how to manage the list of project statuses.
Via its project status you can control visibility of a project and what kind of
operations are possible in a project. When delivered, Track+ offers five project
statuses:
+ proposed (active)
+ in planning (active)
+ in progress (active)
+ on hold (inactive)
+ archived (closed)

Each status has a status flag which determines the availability of a project.
There are three values a status flag can assume:
+ active
+ inactive
+ closed

Projects with an inactive status will not accept new issues and will not permit
to modify existing issues. However, all existing information remains visible, as
well as the projects themselves.
Projects with an active status are open to the entire functionality the system
offers. Issues can be created and changed with no restrictions.

249

Track+ for Configuration Managers

Projects with a closed status will not accept new issues and will not permit
to modify existing issues. Furthermore these projects are effectively hidden
with all their information. Issue information is inaccessible.
To customize project statuses, go to menu entry Administration - Customize
- Lists - System Lists.

Click on the Edit icon in the Action column for Project Status.
On the sreen that follows you can add, modify, delete and sort project statuses.

Managing Release Statuses


This section describes how to manage the list of release statuses.
Via the release status you can control visibility of a release and what kind of
operations are possible with this release. When delivered, Track+ offers five
release statuses:
+ proposed (active)
+ in planning (active)
+ in progress (active)
+ on hold (inactive)
+ archived (closed)

250

Custom Selection Lists

The names and the semantics of these status can be changed via Administration > Customize > Lists > System lists... Each status has a status flag which
determines the availability of a release. There are three values a status flag can
assume:
+ active
+ inactive
+ closed

Releases with an active status are open to the entire functionality the system
offers. These releases appear in the Released Noticed as well as the Release
scheduled selection boxes.
Releases with an inactive status cannot be selected in the Release scheduled
selection box. However, they will show up as normal in the Release noticed
box.
Releases with a closed status will not appear in either the Released scheduled or Release noticed selection box.
To customize release statuses, go to menu entry Administration - Customize
- Lists - System Lists.

Click on the Edit icon in the Action column for Release Status.
On the sreen that follows you can add, modify, delete and sort release statuses.

251

Track+ for Configuration Managers

Managing Account Statuses


This section describes how to manage the list of account status.
Via the account status you can control if an account can be used to book work
or expenses on it. When delivered, Track+ offers two account statuses:
+ open
+ closde

Accounts that have been closed cannot be used to book new expenses on.
However, all expenses booked on it remain visible.
To customize account statuses, go to menu entry Administration - Customize
- Lists - System Lists.

Click on the Edit icon in the Action column for Account Status.
On the sreen that follows you can add, modify, delete and sort account
statuses.

4.10.3 Managing Custom Lists


This section describes how manage custom lists.
To access the management area for system lists, in the menu go to Administration > Customize > Lists > Custom lists...
252

Custom Selection Lists

A new screen appears where you can add, copy, edit, configure or remove
custom lists.

To edit a list means to change its name and type, if possible.


To configure a list means to modify the list entries.

Adding A Custom List


This section describes how to add a custom list.
PREREQUISITE
You must be logged in as system or project administrator. If you are logged in
as project administrator, you can only modify lists associated with your
project(s).

253

Track+ for Configuration Managers

254

1.

Click on the Add button in the toolbar.

2.

A new screen appears. Select the list type you like (see section on list
types for an explanation), enter a name and optionally a description.

3.

Click on the Save button in the toolbar.

4.

You will be returned to the custom list overview screen. Your new list
will appear there. Click on the Configure icon in the Action column
for your new list.

5.

A new form appears. Add a new entry to your list by clicking on the
Add button in the toolbar. Mark the Default check box if you want
this list entry appear as default selection for new issues.

Custom Selection Lists

6.

Click on the Save & Add button in the toolbar area. This will save
your entry, and open the dialog again for another entry.

7.

With your last entry, click the Save button in the toolbar area.

8.

In case of cascaded selects, for each list entry click on the Configure
icon in the Action column to configure the dependent child list. Configuration of each child list proceeds as described above.

RESULT:
You have now configured a custom list of the selected type. You can assign this
list to custom fields for the same type. This assignment can be global, issue
type specific, project type and issue type specific, or project and issue type
specific.

Editing A Custom List


This section describes how to edit a custom list. Edit means to change the
name and description of the list. To modify the list items, see Configuring a
custom list.
PREREQUISITE
You must be logged in as system or project administrator. If you are logged in
as project administrator, you can only modify lists associated with your
project(s).

255

Track+ for Configuration Managers

1.

Click on the Edit icon in the Action column of custom list you like to
edit.

2.

A new screen appears. Modify the name and description.

3.

Click on the Save button in the toolbar.

RESULT:
You have changed the name and description of your custom list.

Configuring A Custom List


This section describes how to configure a custom list. Configuring a custom
list means to change the list entries.
PREREQUISITE
You must be logged in as system or project administrator. If you are logged in
as project administrator, you can only modify lists associated with your
project(s).

256

Custom Selection Lists

1.

Click on the Configure button in the Action column of the list you
want to configure.

2.

A new form appears. Add a new entry to your list by clicking on the
Add button in the toolbar. Mark the Default check box if you want
this list entry appear as default selection for new issues.

257

Track+ for Configuration Managers

3.

Click on the Save & Add button in the toolbar area. This will save
your entry, and open the dialog again for another entry.

4.

With your last entry, click the Save button in the toolbar area.

5.

In case of cascaded selects, for each list entry click on the Configure
icon in the Action column to configure the dependent child list. Configuration of each child list proceeds as described above.

6.

Change a list item name by clicking on the Edit icon in the Action
column.

7.

Delete a list item by clicking on the related Delete icon the in Action
column.

8.

Change the sort order in which your list entries appear by clicking on
the arrows in the Action column.

RESULT:
You have now configured a custom list of the selected type. You can apply the
same procedure recursively in case of cascaded selection lists.

258

Custom Selection Lists

Deleting A Custom List


This section describes how to delete a custom list. Deleting a custom list will
preserve the history; the list is only marked as deleted and will not be available
anymore for new custom fields.
PREREQUISITE
You must be logged in as system or project administrator. If you are logged in
as project administrator, you can only delete lists associated with your
project(s).
1.

Click on the Delete button in the Action column of the list you want
to delete.

2.

A confirmation box appears in case your list has been used in a custom
field somewhere. Confirm the delete operation.

RESULT:
Your custom list has been removed from the system for selection for new
custom fields. All issues that had a reference to this custom list will still have
all information available.

259

Track+ for Configuration Managers

4.11 Custom Forms


You can layout and design your own input masks or forms, specific for each
action type, like create, edit, add comment, and so on. You can assign forms
you have created globally, or for each issue type, project type, or even project.
For example, you can have a very simple form for issues of type mile stone,
and a complex mask for issues of type problem report.
This section describes
+ basic concepts of forms, fields, and actions
+ how to assign forms to actions
+ how to create, modify, and delete forms

4.11.1 Custom Forms, Actions, and Fields


In Track+ you can define any number of forms that are used for creating issues,
editing issues, changing issue status, adding comments to issues, and moving
issues to new projects or issue types.
Forms contain system fields and custom fields, and forms are associated with
the actions mentioned above, like creating issues. These associations can be
configured
+ globally
+ issue type specific
+ project type and issue type specific
+ project and issue type specific

This approach supports configuration efficiency while preserving flexibility.

260

Custom Forms

Each form consists of


+ tabs
+ panels
+ fields

The procedure to create and use a new form is


1)

Create the new form, using the interactive form designer

2)

Assign this form to the desired action, either globally or at a more


specific level.

You can modify forms any time.

Tabs
Each form consists of at least one tab. Tabs contain panels, and panels contain
fields. The figure here shows a form with three tabs. The first tab can be
designed any way you like. The other two tabs have been automatically added
to this form because the respective feature (watch lists and accounting) have
been enabled for this project. These tabs are predefined by the system, they
cannot be modified interactively.

261

Track+ for Configuration Managers

There is only a practical limit on the number of custom tabs you can add to
your form. You can specify the tab label to whatever you like.

Panels
Tabs contain panels. All fields are placed on panels. A panel is made up of rows
and columns. A panel organizes the space for fields in a grid.

Grid positions not used are specifically marked in the form designer, and are
left empty in the rendered form.
There is only a practical limit on the number of panels you can use. You can
move panels any time using drag and drop techniques.

Actions
In Track+, forms are associated with actions. For example, you may want to
keep the form to create an issue as simple as possible, while editing an issue
should reveal all issue attributes available. Adding a comment should only
involve a comment description field, and nothing else. Changing a status often262

Custom Forms

times coincides with a change in the responsible person, so this action would
require a comment field, the status field, and the responsible field.
Track+ currently knows of the following actions:
+ Create issue
+ Edit or modify issue
+ move issue to new project or issue type
+ add comment to issue
+ change issue status
+ add child issue to existing issue

To each of these action a specific form can be assigned.

4.11.2 Managing Custom Forms


This section describes how to create, assign, modify, and delete custom forms.

Assigning Custom Forms to Actions


This section describes how to associate a custom form with an issue action.
PREREQUISITE
You must be logged in as system or project administrator.
1.

From the menu, select Administration > Customize > Custom forms >
Form assignments...

263

Track+ for Configuration Managers

2.

In the tree area on the right, select the action to which you want to
assign a new form. You can select the action at a global level, issue type
specific, project type specific, or project specific.
In the example here, we change the assignment only for the Track+
project, and only for issue type problem report, for the create issue
action.

3.

In the edit area on the right a selection list of available forms appears.
The one that is currently active is marked with a radio button. Select a
different form by clicking on the associated radio button.
In the example shown here we assign the Edit form to the create issue
action.

264

Custom Forms

4.

Click on the Save button in the toolbar area to make the change
permanent.

RESULT:
If you create a new issue in project Track+, and you select problem report
as the issue type, you will not get the standard new issue mask but the edit
issue mask.

Creating Custom Forms


This section describes how to create a new custom form.
PREREQUISITE
You must be logged in as system or project administrator.
1.

In the menu, go to Administration > Customize > Custom forms >


Form configuration...

265

Track+ for Configuration Managers

266

2.

A new screen appears. Click on the Add button in the toolbar.

3.

Give the new form a name and a description.

4.

Click on Save in the toolbar area. Then click on the Edit icon in the
Action column on the right.

Custom Forms

5.

The interactive form designer appears with the new form. This designer
supports drag and drop. Click into the top panel to select it. In the Properties window the panel attributes appear. You can move the Properties
window to a convenient location in the main browser window by
selecting the blue bar and dragging the window to a new position.

6.

You keep the default of 3 rows and 3 columns for this panel. To add a
field to a location you select the field from the field list in the Properties
window.
Here you have selected the IssueId.

267

Track+ for Configuration Managers

268

7.

You drag the selected field to its position in the panel and drop it there
(left mouse down in the field list, drag to position, release mouse).

8.

The same procedure you repeat for some more fields. You can leave
spaces empty without any problem. You can also have fields occupy
more than one row or column. You can add a new panel by clicking on
the panel button in the toolbar. You can drag a panel to another position.

9.

For the new panel, change the number of rows and columns to two rows
and one column,

Custom Forms

10.

Add a title or synopsis field and a description fields These fields are
rather large, so you need to give them more space by having only one
column for the entire width.
Notice that the label for the description is in the middle. It might be
better to have it at the top.

11.

Select the description field and in the Properties window change the
label alignment for the description field to vertical top.

12.

This looks better, the label has moved to the top.


269

Track+ for Configuration Managers

270

13.

Now add a custom field of type cascaded select. These fields can be
rather wide, too wide for one column.

14.

Select the new cascaded select field in the panel. In the Properties
window change attribute column span to 2. This will give this field 2
columns space.

15.

When you are done click the Back button in the toolbar area.

Custom Forms

16.

Assign the new form to an action. For this go to menu Administration


> Customize > Custom forms > Forms assignment...

RESULT:
When you call up the action you will see your newly designed screen. You can
modify the layout of your new screen any time if you are not satisfied.

Modifying Custom Forms


This section describes how to modify existing custom forms.
PREREQUISITE
You must be logged in as system or project administrator.

271

Track+ for Configuration Managers

272

1.

In the menu, go to Administration > Customize > Custom forms >


Form configuration...

2.

A new screen appears. Click on the Edit icon in the Action column on
the left for the form you want to edit.

3.

The interactive form designer appears.

4.

Delete a field from a panel. Select the field with a left click. Open the
context sensitive menu with a right mouse click.

Custom Forms

5.

In the context sensitive menu click on Delete. Confirm the operation


in the dialog that comes up.

6.

The field has now been deleted from the form and the space is available
for another field.

7.

Move a field to a new position by drag and drop.


In this example move the Manager field to the Originator field and drop
it there.

8.

The Originator field position is now taken by the Manager field position and vice versa.
273

Track+ for Configuration Managers

274

9.

Add a new tab by clicking on the New Tab button in the toolbar.

10.

Click on the new tab to select it. In the Properties window change the
tab label.

11.

Add a panel to the new tab and change the number of rows and columns
to 2. For this select the panel, and change the rows and columns parameters in the Properties window dialog.

Custom Forms

12.

Add two custom fields, a multiple select and two regular fields. The
multiple select requires more vertical space, so set its row span to 2. For
this select the field by clicking on it in the panel area, then go to the
Properties window and change the row span parameter.

13.

When you are done, click on the Back button in the toolbar area.

RESULT:
You have modified the custom form. Whenever the associated action is called
the new form will be used.

Copying Custom Forms


This section describes how to copy a custom form.
PREREQUISITE
You must be logged in as system or project administrator.
275

Track+ for Configuration Managers

1.

In the menu, go to Administration > Customize > Custom forms >


Form configuration...

2.

A new screen appears. Click on the Copy icon in the Action column
on the left for the form you want to make a copy of.

RESULT:
You have created a copy of the original form. You can now edit this new form
without changing the original form.

276

Custom Forms

Deleting Custom Forms


This section describes how to delete a custom form.
PREREQUISITE
You must be logged in as system or project administrator.
You can only delete forms that are not being used anymore! If a form is still
being used you will not see a delete icon.

NOTE:

1.

In the menu, go to Administration > Customize > Custom forms >


Form configuration...

2.

A new screen appears. Click on the Delete icon in the Action column
on the left for the form you want to delete.

277

Track+ for Configuration Managers

RESULT:
The form has been deleted from the system.

4.12 Configuration Scenarios


This section gives examples of configuration scenarios, pertaining to roles and
permissions, issue types, and worflows.

4.12.1 Customers and Developers


A common scenario is to grant customers access to the system but in a way that
they only see their own entries. Developers should be able to see all entries,
including internally generated tasks. There are three ways to accomplish this
setup in Track+:
1)

278

Customers are assigned to role Extern. This way they can only see
their own issues. A disadvantage may be that entries from this customers
are not grouped. If there are several people associated with this
customer, each can only see his own entries, but not those of his peers

Configuration Scenarios

from the same company. If each customer is granted a collective


account, this usually poses no problem though.
2)

If there is only a limited amount of customers, a list is created for each


customer. Only people associated with this customer and developers are
granted access to this list. Customers may now have extended rights to
this list, and all people associated with this customer may see all tasks in
this list.

3)

A separate project is created for each customer. Internal developers can


access all projects, while customers can only access their specific project.
This permits to use the finer classification of different lists even with
many different customers.

Each solution has its distinct advantages, and it depends on the number of
customers and how one likes to interface the system with the customer which
solution is preferable.

4.12.2 Anonymous Access


To permit anonymous access to the system create an account anonymous or
use the predefined guest account with no password or a public password and
grant this user all access rights desired. Public passwords may for example
published on the logon page.

4.12.3 Personal To Do List


It is possible to configure Track+ such that you have your personal to do list
that is not visible to others. There are three ways how to achieve this. One solution is to define a new project, e.g. named Personal, and assign each user the
Extern role. This permits you to create, modify and close issues that only you
can see.

279

Track+ for Configuration Managers

The second approach is to define a new issue type personal issues and define
via access restriction on the access permission page that only role Extern can
access this list.
The third approach is to use the privacy flag on issues you want to hide. You
can set this flag when creating issues, or later on when you modify your own
issues. It is not possible to set the privacy flag on issues you have not originated.

4.12.4 Small Development Teams, Lean, Informal


Here is an example for a lean configuration. This works very well for small
teams, in open cultures with less formal approaches.
The following issue types are used:
+ tasks
+ mile stones

You may delete all other issue types.


You can use the default priorities and severities.
The following states are being used:
+ opened
+ suspended
+ closed
+ processing

There should be no workflows configured; thus it is possible to go from any


state to any other state. All team members shall have role responsible.This
will give you a solid yet open process which is very efficient for small teams.

280

Configuration Scenarios

4.12.5 Large Development Teams, Lean, Formal


Here is an example for a lean but more formal configuration. This works very
well for larger teams where it may be necessary to restrict state changes to
certain people, e.g. that only a tester can close an issue, or that marketing
should not see bugs only known to the developers.
The following issue types are used:
+ tasks
+ problem reports
+ request for enhancements
+ mile stones

You may delete all other issue types.


You can use the default priorities and severities.
The following states are being used:
+ opened
+ analyzed
+ assigned
+ suspended
+ testing
+ closed
+ processing

Issue type access should be constrained to the specific roles; for example
marketing shall only be able to see mile stones and requests for enhancements,
developers should be able to see everything.
There should be reasonably open workflows configured. In general, any state
transition shall be possible with a few exceptions. You should ask yourself not
who should be able to carry out this transition? but rather is there any
281

Track+ for Configuration Managers

reason that not anybody could carry out this transition?. This will lead to a
more practical workflow than if you just go ahead and consider the good
case, not taking into account the many exceptions that might happen in the
course of a project.

282

5
Track+ for System Administrators
This chapter deals with tasks that are usually reserved to the Track+ system
administrator. Like many operating systems, Track+ comes with a built in
special user, named admin, initial password tissi. This user has a number
of privileges, and is the only one that can access the menus and tasks described
below.
System administration tasks can be categorized as follows:
+ Server configuration, usually done once after system installation.
+ Adding new system locales; usually only necessary if the locales coming
+

+
+
+

with the distribution do not suffice.


Managing users and groups. This is an ongoing activity. If self-registration is permitted, user management may largely be assigned to project
administrators.
Managing cost centers and accounts. This is an ongoing activity, however
probably not a very frequent one.
Configuring logging. Required only in case of system problems for
debugging purposes.
Setting logon page text. This may be an ongoing activity to advice users
of downtimes or other important information.

283

Track+ for System Administrators

+ Switching to a different database system and generating database backup

files.
+ Sending broadcast e-mails to Track+ users.

5.1 Server Configuration


There are a number of parameters that need to be configured before Track+
can run in a meaningful way. This section describes these basic system settings.
In particular, this section describes
+ how to configure the e-mail interface
+ how to set up full text search
+ how to setup the graphical workflow display
+ how to configure licensing
+ how to configure LDAP

5.1.1 Configuring Licensing


Track+ controls licensing via a license key. The license key is bound to your
servers IP address.
To configure licensing, in the menu go to Administration - Manage server Server configuration....

284

Server Configuration

A screen with a number of tabs appears, as shown below.

Here you can enter the license key. Just cut and paste it from the file you have
received into the text are. Hit the Save button. The number of users and the
expiration date of the license key shows in the area below the text box.
NOTE: When requesting a license key, make sure you supply the IP number as
shown on this page. Some servers may have more than one IP number, and the one
shown here is taken by the Track+ licensing mechanism. Also make sure you are
supplying the right Track+ version number, as shown on the top of this tab area.

285

Track+ for System Administrators

5.1.2 Configuring E-Mail Functionality


One important interface between Track+ and the rest of the world is the e-mail
interface. Track+ can send e-mails to notify users of events within Track+, and
Track+ can receive e-mails and create issues or comments to issues from them.
To configure the outgoing e-mails interface, go to menu entry Administration - Manage server - Server configuration....

The standard server configuration screen appears. Click on tab E-Mail. The
screen shown below will appear.

286

Server Configuration

There are a number of configuration items which shall be explained in the


following.

Configuring the Outgoing E-Mail Interface


Track+ can send e-mails when events inside the system occur. There are two
types of events: those caused by user action, like creation of an issue, or
changing issue status, and events caused by the system itself through system
services, like reminder e-mails for due or overdue issues.

287

Track+ for System Administrators

Track+ System E-Mail


For all system generated e-mails, like reminder e-mails, or password e-mails,
Track+ uses its own e-mail address. This e-mail address is also being used in
case you want to enable issue submission via e-mail.
If you do not want to enable issue submission via e-mail, this e-mail address
does not necessarily have to have a real e-mail inbox associated with it, it can
be a virtual e-mail address. You would not see any messages sent to that
address in the Track+ system anyway.
If you want to use the issue submission via e-mail feature, there has to be an
e-mail inbox associated with that e-mail address.

Use Track+ From Address in E-Mails


For events generated by users, Track+ can send e-mails either under the name
of the user (e.g. From: Joe.Doe@doeJones.com), or under its own e-mail
address (e.g. From: Tracksystem@doeJones.com). You can set this parameter as you wish. However, some SMTP servers require that the From
address matches the SMTP user name. In this case you are forced to check this
box.

Mail Encoding
Track+ can send e-mails in a variety of encodings. Here you set the encoding
such that it matches your users preferred encoding. In the meantime, many
clients support unicode (UTF encoding). This encoding works with any
language. The setting here is typically the same as in your e-mail clients setting.
For Western languages, "ISO-8859-1" usually works fine.

SMTP Server Name And Port


To send e-mails, Track+ needs to have access to an SMTP e-mail server. This
e-mail server can be located on the same machine as Track+, or can be placed

288

Server Configuration

anywhere as long as it can be directly reached. For example, it is well possible


to use an SMTP server on the internet.
Typically, you would enter the same parameters here that you are using inside
your regular e-mail client software. However, you probably should not use the
same account, as this may lead to access contention depending on the authentication scheme you are using.
Usually, it is wise to leave the standard port set (25), since most SMTP server
use this port. If your SMTP server is located outside your companies intranet,
the firewall has to be open to permit traffic on the port configured here.

SMTP User Name and Password


Many SMTP servers require user authentication before permitting to send
anything. Some company intranet SMTP servers may have been configured to
be used without any authentication.
Track+ provides two authentication schemes: via SMTP password and via
POP3 before SMTP. Track+ automatically uses POP3 before SMTP if no
SMTP password is configured, but there is a POP3 user and password configured.
Track+ automatically uses SMTP password authentication if the SMTP user
and password fields are not empty.
If the SMTP user and password fields as well as the POP3 user and password
fields are empty, no SMTP authentication is attempted. In that case the SMTP
server has to provide unauthenticated access.
Some SMTP servers do not like it if the From address does not match the
SMTP user name. In this case you are forced to check box Use Track+ From
address.

NOTE:

289

Track+ for System Administrators

Configuring the Incoming E-Mail Interface


There are two reasons to configure the incoming e-mail interface: you want to
use POP3 before SMTP authentication, or you want to use the issue submission by e-mail feature.

Mail server Protocol


There are two popular e-mail protocols to communicate with a mailbox:
POP3 and IMAP. Here you can select which one you prefer. Your server has
to offer the protocol you select here. Many servers offer even both at the same
time.
A good way to check is again the setting in your own e-mail client software.

Mail server Name and Port


Mailboxes are managed by mail servers. Here you enter the name of the mail
server where the Track+ system mailbox resides. You can leave this empty if
you do not plan to use the issue submission by e-mail feature, and do not
require authentication by first reading a mailbox before sending anything.
Typically, you should leave the default port set (110 for POP3 or 143 for
IMAP).

Mailbox User Name and Password


All mailbox servers require you to authenticate yourself before retrieving any
e-mails. Here you enter the user name and password associated with the
Track+ system e-mail inbox. Be careful if you try to reuse an existing, private
account: you might loose e-mails since they would be read by the Track+
system, and it is possible that contention occurs if you are trying to access the
mailbox from two different sessions (like from your private e-mail client and
through the Track+ system).

290

Server Configuration

It is therefore recommended to establish an extra e-mail account for the


Track+ system, unless this field is kept empty.
In case issue e-mail submissions are enabled, this mailbox is regularly scanned
for new e-mails. The e-mails are read, and issues are created from each e-mail.
The e-mail subject is mapped to the issue title, the e-mail body is mapped to
the issue description, and any attachments are added to the issue as issue
attachments.

E-Mail Submissions
Track+ can be configured to accept issue submissions and additions to existing
issues via e-mail. This can be quite useful if customers shall not get access to
the Track+ database itself, but they should channel their requests via e-mails
to a specific account.
You can enable or disable e-mail submissions to the Track+ system selecting
the radio buttons provided on the configuration screen. You can also decide if
you want to accept e-mail submissions from users that are not registered with
the system, or you want to limit acceptance to users that are known in Track+.
Track+ regularly scans the POP3 input box of the Track+ e-mail account
provided in the upper part of the configuration screen for new messages and
either creates new issues in the default project you have to configure here, or
adds submissions as comments to existing issues if the subject line starts with
a number and that number corresponds to an existing issue.

Accept Unknown Sender


Check this box if you want to permit unknown senders to submit issues to the
Track+ system via e-mail. The e-mail senders address is still checked fro
compliance with the allowed domain patterns, but it is not required any more
that the senders e-mail address is registered with some user within the Track+
system.

291

Track+ for System Administrators

Be careful when you expose Track+ to the internet, leaving the wildcard
domain pattern at the same time, which is the default. This could result in
spamming your Track+ installation.

E-Mail Default Project


When e-mail issue submission has been enabled, there has to be a project the
incoming issues can be assigned to. This could be some kind of catch all
project, from where the issues are regularly transferred to their final points of
destination. Typically, one or two people monitor this catch all project, and
take action when issues come in.
Each project can have their own e-mail inbox configured, if it likes to do so.
In this case the global e-mail inbox might be obsolete.

Allowed Domain Pattern


To prevent users from unverified domains (e.g. hotmail.com, gmx.com) to
register, a Perl5 regular expression can be defined so that only e-mail domains
matching that expression are allowed to register. You most likely will have to
change the example default on the site configuration page.
Example pattern:
[^@ \t]@bosch\.com

This example permits just users from domain bosch.com to register.


Some more examples:
[^@ \t]@t-online\.de|[^@ \t]@computer\.org

matches all users from domains t-online.de and computer.org. The


pattern
\w[-.\w]+\@[-.\w]+\.\w{2,3}
292

Server Configuration

matches all e-mail domains with no restrictions.

5.1.3 Full Text Search Configuration


Track+ can index the text of issue fields and some types of attachments, like
PDF, OpenOffice, WinWord, Excel, PowerPoint, HTML, RTF, and XML.
The following section describes how to configure full text search in Track+.

Enable Full Text Search


You can enable or disable full text search. Full text search requires some storage
space on disk particularly if a lot of large attachments need to be indexed. The
computational burden of indexing may be large if a complete reindex is forced
during system startup.
We recommend to turn full text search on since it has very useful features
when retrieving issues.

Index Attachments
Here you can enable or disable to also index attachments. This is useful if you
have only limited disk space available, or you want to reduce the computational burden of the server.
We recommend to leave the indexing of attachments enabled.

Reindex on Startup
When this box is checked, a complete reindex is performed during system
startup. This can take some time (minutes to hours), depending on the

293

Track+ for System Administrators

number of issues and attachments in the database. During the indexing procedure full text search will not work.
It is recommended to not do an automatic reindex on each server startup. It
usually does suffice to do a reindex every half year or so. It is best to disable
access to the system during the reindex process.

Lucene Analyzer
Track+ uses the Lucene full text indexing and query engine. When building
the index, it is usually useful to keep out words that nobody usually looks for
and that occur often. For example, in the English language words like a,
the, does, do, and so on would consume a lot of indexing space while
not giving any useful results when querying for them.
For this purpose there are different analyzers available that focus indexing on
those text parts that are really useful. However, this depends on the language
of the text being indexed.
Here you can select the analyzer that suits best your requirements. The standard analyzer is not as efficient as a language specific analyzer, but it should
work in all cases. If you have texts and attachments in different languages you
may be best of with the standard analyzer, or the analyzer of the language most
texts are set in.

Index Root Directory


Track+ keeps the indices for full text search on the file system, in specially
formatted files and directories.
The indices can grow quite large. Here you should provide sufficient disk
space to keep the indices on. Also keep in mind that with each search and each
save of an issue this index is touched. It is therefore recommended to have a
high bandwidth connection between the Track+ server and the machine
294

Server Configuration

managing the index disk space. It probably would be best to keep both on the
same machine.

5.1.4 Other Configuration Items


There are a number of configuration items that cannot be assigned to any
specific category. They are described below.

LDAP Configuration
The number of LDAP-directories used within organizations to allow a centralized management of users and user-accounts is increasing. Track+ can be
configured to use an LDAP-server to authenticate users during logon. This
simplifies the handling of login names and passwords for Track+ users.
To allow users to use LDAP-authentication you have to activate the
LDAP-settings in the site configuration page. The LDAP server URL is of the
form
ldap://ldapserver/ou=Main,o=People

and the LDAP login attribute of the form


uid

If searching in LDAP can by done with anonymous bind, keep the


LDAP-bind DN field empty. Otherwise provide the distinguished name
(DN) used for searching. If searching in LDAP can by done with anonymous
bind, keep the LDAP-bind password field empty. Otherwise provide the password for the DN you entered above.
LDAP-authentication is disabled by default. When LDAP-authentication is
enabled for your Track+ installation, every user can choose to use it or not by
setting the appropriate switch in his personal profile.

295

Track+ for System Administrators

Track+ also supports the secure ldaps protocol. To use ldaps you have to
deploy the ldaps keystore file under the name trackplus.ks in the
attachment root directory, subdirectory keystore (see below).Of course,
the LDAP server needs to be configured for LDAPS as well. As an example, for
the Apache Directory Server there is a good description how to enable LDAPS
under
http://directory.apache.org/apacheds/1.5/33-howto-enable-ssl.html.
For a Windows server, we had to modify the ApacheDS configuration file as
follows:
<!-- SSL properties -->
<property name="enableLdaps" value="true" />
<property name="ldapsPort" value="10636" />
<property name="ldapsCertificateFile"
value="C:\jdk1.5.0\bin\zanzibar.ks" />
<property name="ldapsCertificatePassword"
value="secret" />
<bean id="configuration"
class="org.apache.directory.server.configuration.Mutab
leServerStartupConfiguration">

and
<property name="workingDirectory"
value="example.com" />
<!-- SSL properties -->
<property name="enableLdaps" value="true" />
<property name="ldapsPort" value="10636" />
<property name="ldapsCertificateFile"
value="C:\jdk1.5.0\bin\zanzibar.ks" />
296

Server Configuration

<property name="ldapsCertificatePassword"
value="secret" />

Container Based Authentication


Web servers can be configured such that they require authentication to access
certain pages. When a user wants to access that page he has to provide a user
name and a password. From there on, web applications can query the server to
retrieve the user name.
Track+ can use container based authentication instead of its own authentication mechanism. If no user name and password is supplied Track+ tries to
retrieve a user name from the web server issuing the request. If a user name is
returned, it is taken as a Track+ user name and a logon under this name is
attempted without requesting any password.
If the user is unknown to Track+, the regular login page is displayed and
Track+ authentication has to be used.

Attachment Configuration
Track+ permits to add attachments to issues. Attachments are not stored in the
database but in a separate area on the file system. The root of that area needs
to be configured. Make sure there is sufficient disk space available.
If this parameter is not configured, by default attachments are stored in the
web application directory. This is usually not useful. On servers that can run
web applications from their unexploded jar files, or that explode the jar files in
some temporary directory, this does not even work. Each server restart would
lead to a loss of all attachments.
You should configure this parameter, using an absolute patch. Otherwise
data loss may occur on some servers.

NOTE:

297

Track+ for System Administrators

To prevent people from overloading your attachment area, the size of attachments can be limited. Track+ will prevent users from uploading attachments
that are larger than the size configured here.

Force Track+ Server URL


Track+ has been designed to operate in a proxy environment, that is it works
well even when its address from the outside is different from the internal
address.
Usually, Track+ extracts its base URL from the first access to the system after
server startup.
If you access the system using localhost, which you may be tempted to do
as a system administrator, Track+ will use localhost as its base address until the
next application restart. This will cause problems when other people are accessing
the system from some other computer. You thus should always access the system using
its real address, as seen from the outside.

NOTE:

The automatic base URL detection works fine if there are no proxy servers
between the application server and the user clients. If there is a proxy server
hiding the application server, the correct server URL has to be configured.
The application name must not be included, Track+ will find that out itself.
Example for the Track+ server URL:
http://gandalf

This will work for an installation where the Track+ application can be reached
under
http://gandalf/track

or

298

Server Configuration

http://gandalf/track-dev

or any other application name you might have chosen. In non-proxied environments, you can leave this field empty, which will enable the automatic
detection feature for the server URL.

Configuring Self Registration


It is possible to permit users to register themselves. This can decrease the
burden on the system administrator. Registration is always limited to certain
e-mail domain patterns, as configured under Allowed e-mail pattern in the
e-mail configuration section.
Even if users register themselves, the system administrator is the only one that
can assign employee numbers and departments to accounts.
Project administrators have to grant users access to their projects, otherwise
users will not be able to access any project data.

Configuring Site as Demo Site


This is a switch to make installation of a demo site easy. In a demo site it is not
possible to save changes to the guest user account. Usually this should be
disabled.

Configuring Workflow Layout Engine


For graphical display of Track+ workflows the Graphviz layout engine, a third
party product, needs to be installed on the server running Track+. Inside of
Track+ you have to enter the complete path to the Graphviz executable, like

299

Track+ for System Administrators

C:\Program Files\ATT\Graphviz\bin\dot.exe

on a Windows machine or something like


/opt/att/graphviz/dot

on a Unix machine. Temporary files are stored in a subdirectory of the attachment folder, so the same conditions mentioned there apply here as well.

5.2 Configuring Logon Page Text


The logon page of the Track+ system provides an area where messages to
existing or prospective users of the system can be placed, like downtime schedules, or registration policies. The message can be provided in several languages
at the same time. This section describes how to edit this text.
To edit the logon page text, go to Administration - Manage Server - Logon
page text....

The screen that appears has a selection list for the locale, and a text area.

300

Configuring Logon Page Text

Select the locale for which you want to edit or create the logon page text. You
can use any HTML tags here, and also some Track+ internal information as
shown in the example logon page text that comes with the system.
When you save the message a preview is shown as it will appear on the front
page. The locale displayed to the user will depend on the users preferred
language setting in his browser, since this is before login and Track+ does not
recognize the user yet.
To change the default text that comes with the system, you have to manually
edit file WEB-INF/tiles/pages/logon/motd.jsp. Your custom
text is appended at the bottom of the default text.

301

Track+ for System Administrators

5.3 Managing Server Status


Sometimes it is necessary to prevent users from accessing the system, for
example if a new version is to be deployed, or other maintenance tasks have
been scheduled. Server accessibility may also be effected by the number of
users registered, because of license restrictions.
There is a status page available which permits to disable new server logons, and
which gives an overview over the number of users currently logged on, the
number of active and deactivated users, the total number of projects and issues.

302

Managing Server Status

To access the status page go to menu Administration > Manage Server > Server
status....

The screen that appears has three areas. The top section displays the actual
Track+ release number, the IP address of the server as seen from the Track+
application, and the maximum number of active users as defined by the
license. The server IP address may differ from the one seen when accessing the
system, for example if the system is configured as a bridge or router.
The second area gives some useful information on the number of users,
projects, and issues. Furthermore there is a list of currently logged on users, in
case they need to be informed because of an immediate shutdown.
The third area permit to temporarily disable the access to the Track+ system
for all users but the system administrator. If the system is disabled, you can
provide an explanatory message on the logon screen.
The application access lock is automatically removed when restarting the
Track+ application on the server, or when rebooting the server. Otherwise, the
system administrator can remove the access lock.

303

Track+ for System Administrators

5.4 Managing Users and Groups


Track+ can be configured such that users can create an account themselves.
However, some supervisory activity is required to grant users permission to
view or enter any data to projects, to assign them to departments, and to activate or deactivate their accounts.
Access to projects can be granted to users by the system administrator for all
projects or the project administrator for his projects. Please refer to the respective part of the project adminstration tasks description to see how users are
granted rights in projects. This section only deals with managing users and
groups, that is creating, modifying, deactivating and deleting groups and users.

304

Managing Users and Groups

5.4.1 Adding Users


The system administrator can add users to the Track+ system. This is particularly useful if self-registration is not enabled. To add a user, go to the Administration - Users and groups - Manage users & groups... menu entry.

Then click on the Add button in the toolbar.

You can now add a new user to the system. The most important parameter is
the user name. It must be unique, and it is recommended to use the same name
as for other accounts. In particular, if a directory server is to be used, make sure
that the user name you enter here is the same as that used on the directory
server.
The second important parameter is the users e-mail. The initial password is
communicated to the new user via e-mail, so make sure the e-mail is correct.
There is no way for anybody but the user himself to set the password. If a user
has forgotten his password and remembers his e-mail account used for registration with the Track+ system, he can request a new password from the
system.

305

Track+ for System Administrators

If the user has forgotten his e-mail, he has to ask the system administrator to
look it up.
If you as the system administrator have forgotten your password, and your
e-mail address, or the e-mail connection does not work, the only way to reset
the password is to directly write an encrypted known password into the database. There is an explanation on the user forum in the FAQ section on how to
do this.

306

Managing Users and Groups

5.4.2 Modifying User Parameters


The system administrator can modify user parameters to assist the user in the
configuration process, or when adding a user to the system. A detailed explanation of all parameters can be found in the user task section, since these are
the same parameters the user can change.
Only the system administrator can assign users to departments and assign
them an employee identification number. These fields are read only for regular
users.

5.4.3 Deactivating Users


It is possible to deactivate users, for example if they have left the company or
moved to another location. Deactivating users means they are still in the database, and their entire history is preserved. It is possible to activate them again
any time . Deactivated users are shown in the user list with an asterisk behind
their name.

Deactivated users cannot access the system anymore. In case they try they get
an error message telling them to contact the system administrator. Deactivated
users do not count towards the number of user licenses included in the license
key.

307

Track+ for System Administrators

5.4.4 Removing Users Permanently


The system administrator can remove users from the database permanently.
This is particular useful if test users had been added, or mistakes were made
when creating the user name. Otherwise, this is a rather grave operation since
it affects all issues this user has ever worked on.
Since Track+ is a tracking system, it will not delete any users activities from
the system. When permanently deleting a user from the system, a replacement
user has to be named. This replacement user will be entered in all places where
the now to be deleted user has been registered in previously. The replacement
user will thus inherit the entire history of the user that is about to be removed.

To delete a user from the system use the delete action button for this user on
the left side of the user list screen.

308

Managing Users and Groups

5.4.5 Adding and Modifying Groups


Groups are collections of users. In most instances, Track+ treats groups like
users. Thus, groups can be assigned roles and permissions, and groups can be
selected as managers and responsibles, even though this is not recommended.

The system administrator can add any number of groups. The group name
must be unique.

5.4.6 Assigning Users to Groups


Users can be assigned to as many groups as desired. To assign users to a group,
from the screen shown below select the group using the radio button. Then
click on the Add button in the toolbar.

309

Track+ for System Administrators

A popup window comes up with a list of all users that are not yet part of this
group. Using the check boxes in this window, mark the users you want to add
to this group. Click on Add button in the popup window. The users will
now be added to the group. When you are finished, close the popup window
using the Done button.
NOTE:

The user will inherit all access rights of the groups he is a member of!

If you need to remove a user from a group select the group using the radio
button. Then click on the Delete button in the toolbar. A popup windows
comes up with a list of all users in that group. Using the check boxes, mark
those users that you want to remove from the group. Click on the Delete
button in the popup window. The users will now be removed from that group.

310

Managing Departments

When you are finished click on the Done button in the popup window.
The users you have removed from the group will loose all access rights they
previously had inherited from that group.

NOTE:

5.4.7 Removing Groups


Groups can be removed just like users. If a group is associated with any issues,
a replacement group or user has to be named when removing that group.

5.5 Managing Departments


Companies are oftentimes organized in matrix form. Typically, there are
project specific structures, and there are business related structures like development departments, sales departments, and so on. Track+ permits the system
administrator to assign users to departments. This section describes how
departments can be managed within Track+.
311

Track+ for System Administrators

5.5.1 Adding Departments


You can add any number of departments. You can use the department field
also as a combination of company and department, in case you want to
manage users of other companies as well.
To add departments go to the Administration - Users and groups - Manage
departments menu.

On the screen that appears you see on the left side the departments already
available in the system.

To add a department type its name into the field directly above the Add
button on the left side. Then click on the Add button. The new department
will appear in the list of departments.

312

Managing Departments

5.5.2 Changing Department Name


To change department names go to the Administration - Users and groups Manage departments menu. Select the name of that department by clicking
on it in the selection box on the left side.

On the right side the list of users assigned to that department will appear. The
name of the department will show up in the edit field on the left side directly
above the Add button.
You can now change the name in the edit field. Then you click on the Edit
button. The name of the department will change in the selection list.

5.5.3 Deleting Departments


To delete departments go to the Administration - Users and groups - Manage
departments menu. In order to delete a department you have to make sure
there are no users assigned to that department any more.
Select the department you want to delete on the left side. You will see the users
assigned to that department on the right. This list should be empty before you
delete the department, otherwise you will get an error message. To empty the
list move users from this department to another one (see below).

313

Track+ for System Administrators

To delete the department, click on the Delete button on the left. The department will be permanently removed from the system.

5.5.4 Moving Users to Another Department


To move users to another department go to the Administration - Users and
groups - Manage departments menu. On the left side select the department
to which the users are currently assigned.
The list will appear in the right part of that form. In the right part, select the
user or users you want to move to another department. Select the new department where you want to move these users to from the selection box below the
list of users. Click the Edit button on the right side.
The selected users have now been collectively moved to the new department.

5.6 Broadcasting E-Mails to Track+ Users


The system administrator can send broadcast e-mails to all or some Track+
system users.
To send a broadcast e-mail, go to Administration - Manage Server - Broadcast
e-mail....

314

Adding Locales

On the screen that appears you can select users from the list of available users
by selecting departments, and selecting or deselecting single users.
Add an e-mail subject and text. Then send the e-mail by clicking on the Send
e-mail button in the toolbar area.

5.7 Adding Locales


Track+ has been designed such that it is easy to localize (adapt to a new
language). The Track+ core team fully supports English and German as official
locales, but numerous others already exist, and the list is growing. Here are
some instructions how to add a new locale to Track+.
The files use for localization are shown in the table below. To create a file for
a specific locale you need to use appropriate locale postfix and append it to the
base name, e.g. MailResources_de.properties for a German
locale, or MailResources_fr.properties for a French locale. Since
version 3.2 all change e-mails send from the Track+ system are defined in
Velocity files in folder MailTemplates. Velocity is an easy to learn
scripting language. It should be easy for example to replace the Track+ logo by
your company logo in the HTML version of the files. The Velocity user
manual, a tutorial and further information can be found at
http://jakarta.apache.org. Additional notes how to proceed when customizing
these files can be found in the files themselves.

315

Track+ for System Administrators

File

316

Meaning

ApplicationResources.properties

contains strings that you see at the user


interface

UserInterface/ApplicationResources.
properties

contains strings that you see at the user


interface

MailResources.properties

contains strings that are used for the


e-mails that are being sent by the
Track+ system

Adding Locales

File

Meaning

BoxResources.properties

contains strings that are found in


selection boxes (status, priority,
severity, etc.)

UserInterface/BoxResources.properti
es

contains strings that are found in


selection boxes (field and screen
names, actions, status, priority,
severity, etc.)

DashboardResources.properties

contains strings for the built in


dashboard devices

PluginResources.properties
ReportResources.properties

contains strings for reports

MailTemplates/ItemPlainMailTempl
ate.vm

Velocity files for issue related change


notifications, plain text

MailTemplates/ItemHTMLMailTem
plate.vm

Velocity files for issue related change


notifications, HTML version

MailTemplates/BudgetPlainMailTem
plate.vm

Velocity files for budget related change


notifications, plain text

MailTemplates/BudgetHTMLMailTe
mplate.vm

Velocity files forbudget related change


notifications, HTML version

To edit the resources you have to open the *.properties file without a
country index, for example
ApplicationResources.properties. The resource editor will
then open all localized files as well, so you can translate from one language to
another.
317

Track+ for System Administrators

You have to be careful when working with apostrophes . They need to be


properly escaped, otherwise there may be errors when the HTML pages are
rendered. Proper escaping a single apostrophe is by using two apostrophes
directly behind each other ().
In some property files you find placeholders, shown in curly braces {0}.
These placeholders are replaced by the program at runtime with suitable
values, e.g. a number or a text.
It may be useful to employ a suitable tool for editing the resource properties
files. One example is the Babelfish Resource Editor from Solyp which can be
freely downloaded from the Internet.

318

Non-Western Character Sets

5.8 Non-Western Character Sets


Track+ has been designed to easily support other character sets than the default
ISO-8859-1, such as needed for Russian, Chinese, or Hebrew localization.
Internally Track+ uses Unicode and UTF-8 for page encryption. However, at
the following two interfaces the appropriate character sets have to be configured:

1)

The character set to be used in e-mails has to be configured

2)

The database character set has to be configured

The configuration of the e-mail character is described in the appropriate


section of the server configuration description.The configuration of the database character encoding very much depends on the database system being
used, so no general instructions can be given here. For Track+ running with
MySQL, here are step by step instructions for a Hebrew localization:

1)

Find the file my.ini (in case of Windows) or my.cnf (in case
of Linux) for the MySQL installation. In section [mysqld] add
or modify a line to
default-character-set=hebrew
Restart the MySQL server after the change.

2)

In file Torque.properties change connection URL for MySQL to

torque.dsfactory.track.connection.url =
jdbc:mysql://localhost:3306/mytrackplus?
useUnicode=true&characterEncoding=Cp1255

You have of course to use the correct database name and server
name of your installation.
319

Track+ for System Administrators

3)

In the site configuration menu change the email character


encoding to ISO-8859-8.

After these changes restart your application server.

5.9 Configuring Diagnostic Messages


Track+ can be operated with many applications servers, database systems, and
operating systems. Furthermore, Track+ can be configured in numerous ways.
Should there be any problems in such configurations, it is veery helpful for the
support team to get diagnostic messages.
Usually, during normal operation the number of diagnostic messages saved by
the system should be minimal, in order to keep good performance and reduce
disk space consumption.
However, sometimes it may be necessary to increase the number of diagnostic
messages for certain modules to track down a problem. In this case, the
logging level is being increased for such modules. This causes more messages
to be written to the log files by such modules.
There are six logging levels or verbosity levels defined. The lowest verbosity
level is FATAL, the highest ALL. The standard configuration is to set all
modules to the WARN level, and set modules to be inspected closer to
DEBUG level.
To change the logging levels for all Track+ modules go to Administration Manage Server - Logging configuration....

320

Switching Database Systems

The screen that appears is a plain list with all Track+ modules. If you want to
change a logging level for a specific module, look for the line with the module
name and change the level using the selection box behind the module name.
Then click on the Save button in the toolbar area.

5.10 Switching Database Systems


It is possible to switch the Track+ database from one database system to
another one. For example, this may happen when you started out using the
Track+ Windows installer that comes with the Firebird RDBMS, and later on
want to move to an RDBMS officially supported by your company.

321

Track+ for System Administrators

To move from one RDBMS to another one, follow these steps.

1)

Make sure you have a JDK 1.4 (JRE does not suffice) or up and
the ant utility on your server.

2)

On your server, go to the <webapps>/track/WEB-INF directory.

3)

Open file ddlutils.bat.

4)

Edit the JAVA_HOME to point to your JDK.

5)

Edit the ANT_HOME to point to your ant.

6)

Save the file.

7)

Create the target database, following the instructions in this


manual. You do not have to create the tables and populate them,
but it doesnt hurt either.

8)

Open file ddlutils-build.properties.

9)

Edit password and user name for the source database. This should
be the same as in the Torque.properties file in this same directory.

10) Edit password and user name for the target database.
11) Edit the JDBC driver class names and URLs for your source and
target databases. For the source database, this should be the same
as in the Torque.properties file.
12) Save the file.
13) Execute ddlutils.bat db-copy.
This will create a new database for the target system which should contain all
information of the source database. However, there may be some losses during
the data conversion process due to database mapping differences. For example,
322

Switching Database Systems

some database systems hav limits on text field sizes, in which case a truncation
could result. You should therefore check the conversion result carefully.

323

Track+ for System Administrators

324

6
Customizing and Extending Track+
It is possible to change the skin of Track+ including graphical appearance,
icons, logos etc. It is furthermore possible to extend Track+ functionality by
adding own code and Java Server Pages.
For this you have to know how to write programs in Java, how to design Java
Server Pages (which is similar to HTML), and you have to familiarize yourself
with the Track+ API.

6.1 Adding Custom Skins


It is possible to change the skin of Track+ including graphical appearance,
icons, logos etc.
Adding your own custom skin can be accomplished by changing some files in
directory ...webapps/track/design on your Track+ server. The
default design is described by the classic directory under
..webapps/track/design. You can copy this directory and modify it
according to your liking. Most skin elements are defined as Cascaded Style

325

Customizing and Extending Track+

Sheet (CSS) elements. If you just want to change some colors this is very easy
to do by modifying the corresponding color settings in the CSS.
The new design will be available for the user in his profile settings. Each user
can select his design preference.

6.2 Adding Your Company Logo


The license conditions permit you to replace the Track+ logo by your own
company logo as long as the modified version of Track+ is not distributed
outside the company to which this logo belongs.
For example, it is possible to replace the Track+ logo with the Bosch logo as
long as this modified version of Track+ is used inside Bosch. It is not permitted
to place for example a Sagem logo onto Track+ and have Bosch use this modified version inside Bosch.To replace the Track+ logo with your companies
logo you have to replace the following files:
+ ...webapps/track/design/classic/img/logo.jpg

(180 x 79)
+ ...webapps/track/WEB-INF/classes/resources/Mail
Templates/tracklogo.gif (114 x 54)

6.3 Adding Custom Accounting Reports


You can add additional ways to display accounting information to Track+ by
providing a suitable plugin. This section describes the plugin structure and
procedure to create a new accounting report to the Track+ system.

326

Adding Custom Accounting Reports

To add your own custom accounting reports to the list of reports already available in the Track+ system, the following steps are required:
+ create a custom report class
+ define a resource file containing all resources (texts) used by your new

report
+ create two Java Server Pages
+ drop all these into the right place and restart your server
These steps are being detailed below.

6.3.1 Step 1: Create the Custom Report Class


The logic of your new report will be contained in a new class which has to
extend the IPluginReportAccounting abstract class in the
com.aurel.track.item.reports.accounting package. Have a
look at file PersPrjAccSum.java in this package to get a head start on
how to proceed. You need to define or overwrite the methods listed in the
following subsections.

Defining getReportNameInResource()
public String getReportNameInResource()
{
return "yourReportsPrefixInResourceBundle.";
}

In our example the method looks like this:


public String getReportNameInResource()
{

327

Customizing and Extending Track+

return "persPrjAccSum.";
}

Do not forget the dot at the end of the string. This string will be used as prefix
for the resource keys in the resource bundle. In case of the code above, all
resources would be looked up under key persPrjAccSum.xxx. More
detailed explanation for the messages you have to add will follow in Step 2
below.

Defining getDefinitionJspName()
This method should return the name of the defintion JSP. This is explained in
more detail in step 3. In our example class the method looks like this:
public String getDefinitionJspName()
{
return PLUGINREPORTSPATH + "persPrjAccSumDef.jsp";
}

The constant PLUGINREPORTSPATH is predefined by the system and


points to the web/tiles/pages/item/pluginReports folder. Of
course, you could place your JSPs elsewhere.

Overwriting getBundleName()
This method shall return the name of the resource file where you have stored
the localizable texts for your custom report. It defaults to
"PluginResources", and thus it is optional to overwrite this method.
You can add your resources to the existing bundle, but this is not recommended, since it will mix Track+ supplied original code with your own code.
This will make it more tedious for you to later on perform a Track+ update.
The bundle name you specify here will be available in the data JSP as a request
attribute under the key BUNDLENAME.
328

Adding Custom Accounting Reports

public String getBundleName()


{
// return "resources.PluginResources";
return "PluginResources";
}

In our example class this method is not overwritten but rather inherited from
the abstract class. There is is defined like this:
In this case, the software will look for file
resources.PluginResources.properties and its localized variants like resources.PluginResources_en.properties in the server classpath. The
best place to put these resource files is into the resource folder directly under
the src directory.

Defining getData(Object configObject, Integer userID)


Parameter configObject is an object of type AccountingReportConfigForm
(for custom accounting reports). From this object you should get the filtering
conditions which will be applied by querying the database.
For getting the raw data from the database you should define your own
method (see yourOwnMethodCallToDatabase()). You get the data
as a list of com.workingdogs.village.Record objects. Using this
list you should fill the BasicDataStructure structure creating your
specific object hierarchy. The created BasicDataStructure object will
be available in the data JSP as a request attribute under the key
PLUGINREPORTDATA.

Defining yourOwnMethodCallToDatabase()
This method is called from getData() for retrieving the data rows of your
report. In order to write this method you need to have some basic knowledge
329

Customizing and Extending Track+

of the Torque persistance layer API (http://db.apache.org). One or more such


custom reports should be packaged in a JAR file whose file name begins with
the string "accountingReport" (the pattern the class loader looks for is
accountingReport*.jar). A good name would for example be
accountingReport-MyCoolReport.jar. Custom reports from a
single JAR can share a common resource bundle, of desired. The JAR file(s)
should be copied into the WEB-INF/lib directory, and after a server restart
the report(s) defined in the new JAR file will appear in the reports dropdown
list (Reports > Accounting Reports). The easiest way to learn how to proceed
is by having a look at the already defined custom accounting classes like:
com.aurel.track.item.reports.accounting.PersPrjAc
cSum,
com.aurel.track.item.reports.accounting.PrjCcAccP
ersSum or
com.aurel.track.item.reports.accounting.PrjDateAc
cPersDetail.

6.3.2 Step 2: Add Text Resources to Localized Bundle Files


You can add additional ways to display accounting information to Track+ by
providing a suitable plugin. This section describes the plugin structure and
procedure to create a new accounting report to the Track+ system.
The implicit resource bundle for custom reports is PluginResources. It
is strongly recommended to define your own resource bundle for your custom
reports, because any modification you make in the PluginResources
bundle will be overwritten by upgrading to a future version of the Track+.
Your bundle file should be located in the same folder as the other resource
bundles, i.e. WEB-INF/classes/resources. In your localized bundle
files you should add the corresponding messages for the following keys:
+ yourReportsPrefixInResourceBundle.title title of

the browser window for this report


330

Adding Custom Accounting Reports

+ yourReportsPrefixInResourceBundle.menuText

specify the menu path (below the Track+ menu) for this report
+ yourReportsPrefixInResourceBundle.reportName
the name, which will appear in the Report dropdown for this report (by
configuring the accounting report, i.e. Reports Accounting Reports).
+ add any other resources needed (resources from your data JSP)
For your ReportsPrefixInResourceBundle see
getReportNameInResource() method of the custom report class. For
a good illustration of this description have a look the the existing resources in
the PluginResources.properties file.

6.3.3 Step 3: Create the Java Server Pages (JSPs)


You can add additional ways to display accounting information to Track+ by
providing a suitable plugin. This section describes the plugin structure and
procedure to create a new accounting report to the Track+ system.
Each new custom accounting report requires you to create two JSPs in directory web/tiles/pages/item/pluginReports:
A definition JSP for defining the page structure (the file name looks like
*Def.jsp). This file contains the tiles definition for the custom report.
You can copy and paste an existing definition JSP and overwrite the following
tiles parameters and content:
title: (yourReportsPrefixInResourceBundle.title, see
step 2),
menuPath: (only the part after the last colon, i.e.
yourReportsPrefixInResourceBundle.menuText, see step 2)
content: (according to the path to your data JSP)

331

Customizing and Extending Track+

The following listing from persPrjAccSumDef.jsp illustrates the


structure of this file:
The data JSP showing the desired data (the file name looks like
*Data.jsp). The data JSP can show anything, including graphical, table,
or XML views on your report data. The following listing from
persPrjAccSumData.jsp illustrates the structure of this file:
<%@ page language="java"
contentType="text/html;charset=UTF-8"%>
<%@ taglib uri="/WEB-INF/struts-tiles.tld"
prefix="tiles" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld"prefix="bean"
%>
<tiles:insert definition="masterPage" flush="true">
<tiles:put name="title" value="persPrjAccSum.title"/>
<tiles:put name="menuPath"
value="menu.complexReports:accountingReportConfig.menu
Text:persPrjAccSum.menuText"/>
<tiles:put name="helpPage"
value="WebHelp/Context/Reports/ReportOverview.htm"/>
<tiles:put name="content"
value="/tiles/pages/item/pluginReports/persPrjAccSumDa
ta.jsp"/>
</tiles:insert>
<%@ page language="java"
contentType="text/html;charset=UTF-8"
import="com.aurel.track.item.reports.BasicDataStructur
e"%>
<%@ taglib uri="/WEB-INF/app.tld"
prefix="app" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld"prefix="bean"
%>
<%@ taglib uri="/WEB-INF/struts-html.tld"prefix="html"
%>

332

Adding Custom Accounting Reports

<%@ taglib uri="/WEB-INF/struts-logic.tld"


prefix="logic" %>
<%@ taglib uri="/WEB-INF/struts-tiles.tld"
prefix="tiles" %>
<%@ taglib uri="http://java.sun.com/jstl/fmt"
prefix="fmt" %>
<%@ taglib uri="http://java.sun.com/jstl/core"
prefix="c" %>
<bean:define id="from" name="PLUGINREPORTDATA"
property="attributes(From)" type="String"
scope="request"/>
<bean:define id="to" name="PLUGINREPORTDATA"
property="attributes(To)" type="String"
scope="request"/>
<bean:define id="bundleName" name="BUNDLENAME"
type="String" scope="request"/>
<div class="containerRow2">
<table class="adminTable" border="0" cellspacing="0"
cellpadding="0">
<tr>
<th colspan="5">
<bean:message key="common.reportHeader"
bundle="<%=bundleName%>" arg0="<%=from%>"
arg1="<%=to%>"/>
</th>
</tr>
<tr>
<td colspan="5"> </td>
</tr>
<tr>
<td width="200">
<strong><bean:message key="common.person"
bundle="<%=bundleName%>"/></strong>
</td>
<td width="150">
<strong><bean:message key="common.project"

333

Customizing and Extending Track+

bundle="<%=bundleName%>"/></strong>
</td>
<td width="150">
<strong><bean:message key="common.account"
bundle="<%=bundleName%>"/></strong>
</td>
<td width="70" align="right">
<strong><bean:message key="common.effort"
bundle="<%=bundleName%>"/></strong>
</td>
<!-- possible more currencies for person -->
<td width="70" align="right">
<strong><bean:message key="common.cost"
bundle="<%=bundleName%>"/></strong>
</td>
</tr>
<logic:notEmpty name="PLUGINREPORTDATA"
property="dependentList" scope="request">
<logic:iterate id="person" name="PLUGINREPORTDATA"
property="dependentList" type="BasicDataStructure"
scope="request">
<tr>
<td colspan="3">
<bean:write name="person" property="label"/>
</td>
<td align="right">
<bean:write name="person"
property="attributes(PersonSumEffort)"/>
</td>
<td align="right">
<logic:iterate id="currencyMap" name="person"
indexId="currencyIndex"
property="attributes(PersonSumCost)"
type="java.util.Map.Entry" scope="page">
<logic:greaterThan name="currencyIndex"
value="0"><br></logic:greaterThan>

334

Adding Custom Accounting Reports

<bean:write name="currencyMap"
property="value"/> <bean:write name="currencyMap"
property="key"/>
</logic:iterate>
</td>
</tr>
<logic:iterate id="project" name="person"
property="dependentList" type="BasicDataStructure"
scope="page">
<tr>
<td> </td>
<td colspan="2">
<bean:write name="project" property="label"/>
</td>
<td align="right">
<bean:write name="project"
property="attributes(ProjectSumEffort)"/>
</td>
<td align="right">
<bean:write name="project"
property="attributes(ProjectSumCost)"/>
</td>
</tr>
<logic:iterate id="account" name="project"
property="dependentList" type="BasicDataStructure"
scope="page">
<tr>
<td colspan="2"> </td>
<td>
<bean:write name="account" property="label"/>
</td>
<td align="right">
<bean:write name="account"
property="attributes(AccountSumEffort)"/>
</td>
<td align="right">

335

Customizing and Extending Track+

<bean:write name="account"
property="attributes(AccountSumCost)"/>
</td>
</tr>
</logic:iterate>
</logic:iterate>
</logic:iterate>
</logic:notEmpty>
</table>
</div>
<div class="containerSeparator"> </div>

6.3.4 Step 4: Create a ZIP File for Drop In Installation


The last step to perform if you like to distribute your new plugin report is to
compile your new class file, and pack it together with everything else into a
ZIP, including proper paths.
For our example report the files and path structure would look like this:
WEB-INF\classes\resources\PluginResources*.properties
WEB-INF\classes\com\aurel\track\item\reports\accountin
g\PersPrjAccSum.class
tiles\pages\item\pluginReports\persPrjAccSumData.jsp
tiles\pages\item\pluginReports\persPrjAccSumDef.jsp

To deploy from the ZIP file, you extract the ZIP file to your Track+ webapps
directory and restart the server or application. Thereafter the new reports
should be available from the user interface.

336

Adding Event Handlers

6.4 Adding Event Handlers


Track+ has an extensive event handling system. It is easily possible to extend
this system without having to recompile the application. Custom event
handlers have to implement the Track+ event listener interface. Then they are
registered with the Track+ event server during application startup and will be
notified in case events occur.
For example, Track+ fires an event during application startup and shutdown.
This can be caught by a custom event handler to log uptime and service availability. As another example, Track+ fires an event when users login or logout.
A custom event handler could listen for this event and write a log to record user
activity over time. As a third example, Track+ fires an event whenever an issue
was modified or created. A custom event listener could extend the mailing and
notification system and send customized mails based on the exact event type.

337

Customizing and Extending Track+

338

339

Index
Symbols
. . . . . . . . . . . . . . . . . . . . . . 37, 38, 37, 38

A
access control . . . . . . . . . . . . . . . . 11, 164
access flags . . . . . . . . . . . . . . . . . . . . . 168
access right . . . . . . . . . . . . . . . . . . . . . . 19
account . . . . . . . . . . . . . . . . . . . . . . . 9, 10
register . . . . . . . . . . . . . . . . . . . . . 16
user . . . . . . . . . . . . . . . . . . . . . . . . 16
account status
manage . . . . . . . . . . . . . . . . . . . . 252
Accountable . . . . . . . . . . . . . . . . . . . . . . 4
accounting
accounts . . . . . . . . . . . . . . . . . . . 190
cost center . . . . . . . . . . . . . . . . . . 190
custom reports . . . . . . . . . . . . . . . 326
manage . . . . . . . . . . . . . . . . . . . . 189
project . . . . . . . . . . . . . . . . . . . . . 135
reporting period . . . . . . . . . . . . . 115
reports . . . . . . . . . . . . . . . . . . . . . 114
accounting report
filter . . . . . . . . . . . . . . . . . . . . . . 115
accounting reports
custom . . . . . . . . . . . . . . . . . . . . 325
action
assign custom form . . . . . . . . . . . 263
action item tracking . . . . . . . . . . . . . . . . 1
actions
custom form . . . . . . . . . . . . . . . . 262
add
attachment . . . . . . . . . . . . . . . . . . 44

comment . . . . . . . . . . . . . . . . . . . . .42
consulted . . . . . . . . . . . . . . . . . . . . .54
custom list . . . . . . . . . . . . . . . . . . .253
expense . . . . . . . . . . . . . . . . . . . . . .73
informed . . . . . . . . . . . . . . . . . . . . .54
parent issue . . . . . . . . . . . . . . . . . . .55
release . . . . . . . . . . . . . . . . . . . . . .145
time . . . . . . . . . . . . . . . . . . . . . . . .73
work . . . . . . . . . . . . . . . . . . . . . . . .73
add budget . . . . . . . . . . . . . . . . . . . . . . .66
asessment plan . . . . . . . . . . . . . . .158, 194
assessment protocol . . . . . . . . . . .158, 194
assign
custom form . . . . . . . . . . . . . . . . .263
attachment . . . . . . . . . . . . . . . . . . . . . . .44
attributes . . . . . . . . . . . . . . . . . . . . . . . . .5
TQL . . . . . . . . . . . . . . . . . . . . . . . .99
authentification
LDAP . . . . . . . . . . . . . . . . . . . . . . .20
Automail
turn off . . . . . . . . . . . . . . . . . . . . . .26
automail . . . . . . . . . . . . . . . . . . . . . . . .118
filter . . . . . . . . . . . . . . . . . . .119, 121
watch list . . . . . . . . . . . . . . . . . . . . .28
automail condition . . . . . . . . . . . . . . . .121
automail trigger . . . . . . . . . . . . . . . . . .119

B
tag
. . . . . . . . . . . . . . . . . . . . . . . . . . . .37
bar chart . . . . . . . . . . . . . . . . . . . . . . . .113
budget . . . . . . . . . . . . . . . . . . . .10, 11, 64

340

add . . . . . . . . . . . . . . . . . . . . . . . . .66
baseline . . . . . . . . . . . . . . . . . . . . . .65
change . . . . . . . . . . . . . . . . . . . . . . .68
estimate remaining . . . . . . . . . . . . .65
overview . . . . . . . . . . . . . . . . . . . . .65
budgeting
cost . . . . . . . . . . . . . . . . . . . . . . . . . .9
time . . . . . . . . . . . . . . . . . . . . . . . . .9
bug tracking . . . . . . . . . . . . . . . . . . . . . . .1
bugdeting
configure . . . . . . . . . . . . . . . . . . . .191

C
cascaded select . . . . . . . . . . . . . . . . . . .240
cascading select . . . . . . . . . . .226, 227, 228
change
budget . . . . . . . . . . . . . . . . . . . . . . .68
dates . . . . . . . . . . . . . . . . . . . . . . . .52
issue status . . . . . . . . . . . . . . . . . . .50
issue type . . . . . . . . . . . . . . . . . . . .46
project . . . . . . . . . . . . . . . . . . . . . . .48
project type . . . . . . . . . . . . . . . . . .131
release status . . . . . . . . . . . . .148, 153
change management . . . . . . . . . . . . . . . . .6
charts . . . . . . . . . . . . . . . . . . . . . . . . . .113
check list . . . . . . . . . . . . . . . . . . . . . . .194
child issue
create . . . . . . . . . . . . . . . . . . . . . . .57
class
project . . . . . . . . . . . . . . . . . . . . . .141
CMM . . . . . . . . . . . . . . . . . . . . . . . . . . .6
column width
report overview . . . . . . . . . . . . . . . .77
columns . . . . . . . . . . . . . . . . . . . . . . . . .33
comment . . . . . . . . . . . . . . . . . . . . . . . .42
add . . . . . . . . . . . . . . . . . . . . . . . . .42

formatting tags . . . . . . . . . . . . . . . .37


configuration
full text search . . . . . . . . . . . . . . . .293
configuration manager . . . . . . . . . . . . .161
configure
logon page text . . . . . . . . . . . . . . .300
configuring
e-mail format . . . . . . . . . . . . . . . . .22
reminder e-mails . . . . . . . . . . . . . . .23
Consulted . . . . . . . . . . . . . . . . . . . . . . . .4
consulted
add . . . . . . . . . . . . . . . . . . . . . . . . .54
container based authentication . . . . . . .297
copy
custom form . . . . . . . . . . . . . . . . .275
issue . . . . . . . . . . . . . . . . . . . . . . . .59
copy template list . . . . . . . . . . . . . . . . .158
cost . . . . . . . . . . . . . . . . . . . . . . .9, 11, 64
cost budgeting . . . . . . . . . . . . . . . . . . . . .9
cost center . . . . . . . . . . . . . . . . . . . . . . .10
cost centers . . . . . . . . . . . . . . . . . . . . . . .9
cost tracking . . . . . . . . . . . . . . . . . . . .9, 11
create
child issue . . . . . . . . . . . . . . . . . . . .57
custom form . . . . . . . . . . . . . . . . .265
issue . . . . . . . . . . . . . . . . . . . . .39, 40
project . . . . . . . . . . . . . . . . . . . . .126
release . . . . . . . . . . . . . . . . . . . . . .145
CSV
character . . . . . . . . . . . . . . . . . . . . .21
currency . . . . . . . . . . . . . . . . . . . . . . . . .11
custom field
add . . . . . . . . . . . . . . . . . . . . . . . .230
cascading select . . . . . . .226, 227, 228
checkbox . . . . . . . . . . . . . . . . . . . .224
configuration levels . . . . . . . . . . . .217

341

date . . . . . . . . . . . . . . . . . . . . . . .
delete . . . . . . . . . . . . . . . . . . . . . .
deprecated . . . . . . . . . . . . . . . . . .
double . . . . . . . . . . . . . . . . . . . . .
integer . . . . . . . . . . . . . . . . . . . . .
modify . . . . . . . . . . . . . . . . . . . . .
multiple select . . . . . . . . . . . . . . .
overview . . . . . . . . . . . . . . . . . . .
overwrite . . . . . . . . . . . . . . . . . . .
required . . . . . . . . . . . . . . . . . . . .
simple select . . . . . . . . . . . . . . . .
custom field type . . . . . . . . . . . . . . . .
custom fields
short text . . . . . . . . . . . . . . . . . . .
custom form
actions . . . . . . . . . . . . . . . . . . . . .
assign . . . . . . . . . . . . . . . . . . . . .
copy . . . . . . . . . . . . . . . . . . . . . .
create . . . . . . . . . . . . . . . . . . . . . .
delete . . . . . . . . . . . . . . . . . . . . . .
edit . . . . . . . . . . . . . . . . . . . . . . .
panels . . . . . . . . . . . . . . . . . . . . .
custom list
add . . . . . . . . . . . . . . . . . . . . . . .
edit . . . . . . . . . . . . . . . . . . . . . . .
manage . . . . . . . . . . . . . . . . . . . .
custom lists . . . . . . . . . . . . . . . . . . . . .
custom reports . . . . . . . . . . . . . . . . . .
custom skin . . . . . . . . . . . . . . . . . . . .
CVS . . . . . . . . . . . . . . . . . . . . . . . . . .

222
238
219
223
223
236
225
217
232
219
225
220
220
262
263
275
265
277
271
262
253
255
252
240
325
325
142

D
dashboard . . . . . . . . . . . . . . . . . . . . 31, 32
columns . . . . . . . . . . . . . . . . . . . . 33
rows . . . . . . . . . . . . . . . . . . . . . . . 33
view configuration . . . . . . . . . . . . . 33

date functions
TQL . . . . . . . . . . . . . . . . . . . . . . . .97
Deactivation
LDAP . . . . . . . . . . . . . . . . . . . . . . .20
default manager . . . . . . . . . . . . . . . . . .136
default priorities . . . . . . . . . . . . . . . . . . . .7
default responsible . . . . . . . . . . . . . . . .136
defect tracking . . . . . . . . . . . . . . . . . . . . .6
delete
custom field . . . . . . . . . . . . . . . . .238
custom form . . . . . . . . . . . . . . . . .277
project . . . . . . . . . . . . . . . . . . . . . .129
release . . . . . . . . . . . . . . . . . . . . . .146
roles . . . . . . . . . . . . . . . . . . . . . . .173
deprecated . . . . . . . . . . . . . . . . . . . . . .219
description
formatting tags . . . . . . . . . . . . . . . .37
description tags . . . . . . . . . . . . . . . . . . .37
diagram . . . . . . . . . . . . . . . . . . . . . . . .113
domain pattern . . . . . . . . . . . . . . . . . . .292
due date . . . . . . . . . . . . . . . . . . . . . . . . .52
reminder . . . . . . . . . . . . . . . . . . . . .23

E
Earned . . . . . . . . . . . . . . . . . . . . . . . . . .65
edit
custom form . . . . . . . . . . . . . . . . .271
custom list . . . . . . . . . . . . . . . . . . .255
effort . . . . . . . . . . . . . . . . . . . . . . . . .9, 11
e-mail
automatic sorting . . . . . . . . . . . . . .26
default project . . . . . . . . . . . . . . . .292
domain pattern . . . . . . . . . . . . . . .292
encoding . . . . . . . . . . . . . . . . . . . .288
format . . . . . . . . . . . . . . . . . . . . . . .22
from adress . . . . . . . . . . . . . . . . . .288

342

issue submission . . . . . . . . . . . . . .291


outgoing e-mail . . . . . . . . . . . . . . .287
port . . . . . . . . . . . . . . . . . . . . . . . .290
reminder . . . . . . . . . . . . . . . . . . . . .23
system configuration . . . . . . . . . . .286
turn off . . . . . . . . . . . . . . . . . . . . . .26
X-Mailer . . . . . . . . . . . . . . . . . . . . .26
e-mail domain pattern . . . . . . . . . . . . . .16
e-mail filter . . . . . . . . . . . . . . . . . . . . .119
e-mail inbox
project specific . . . . . . . . . . . . . . .138
e-mail notification . . . . . . . . . . . . . . . .118
enable accounting . . . . . . . . . . . . . . . . .135
engineering process . . . . . . . . . . . . . . .161
estimated remaining budget . . . . . . . . . .71
examples
TQL . . . . . . . . . . . . . . . . . . . . . . .101
Excel
CSV character . . . . . . . . . . . . . . . . .21
expense . . . . . . . . . . . . . . . . . . . . .9, 11, 64
add . . . . . . . . . . . . . . . . . . . . . . . . .73
overview . . . . . . . . . . . . . . . . . . . . .65
export
to MS Project . . . . . . . . . . . .155, 157
XML . . . . . . . . . . . . . . . . . . . . . . . .79
export CSV
report overview . . . . . . . . . . . . . . . .80
extend . . . . . . . . . . . . . . . . . . . . . . . . .325
extend Track+ . . . . . . . . . . . . . . . . . . .325

F
field type . . . . . . . . . . . . . . . . . . . . . . .220
Filofax . . . . . . . . . . . . . . . . . . . . . . . . . . .3
filter
automail . . . . . . . . . . . . . . . .119, 121
notification . . . . . . . . . . . . . . . . . .121

reporting . . . . . . . . . . . . . . . . . . . . .76
TQL . . . . . . . . . . . . . . . . . . . . . . . .94
filter repository . . . . . . . . . . . . . . . . . . .80
form
assign . . . . . . . . . . . . . . . . . . . . . .263
formatting tags . . . . . . . . . . . . . . . . . . . .37
full text search
configuration . . . . . . . . . . . . . . . .293

G
Gantt . . . . . . . . . . . . . . . . . . . . . . . . . .113
getBundleName() . . . . . . . . . . . . . . . .328
getData() . . . . . . . . . . . . . . . . . . . . . . .329
getDefinitionJspName() . . . . . . . . . . . .328
Graphviz . . . . . . . . . . . . . . . . . . . . . . .299
group . . . . . . . . . . . . . . . . . . . . . . . . . . .12
groups . . . . . . . . . . . . . . . . . . . . . . . . . .12

H
help desk . . . . . . . . . . . . . . . . . . . . . . . . .1

I
tag
. . . . . . . . . . . . . . . . . . . . . . . . . . . .37
IMAP . . . . . . . . . . . . . . . . . . . . . . . . . .290
import
from MS Project . . . . . . . . . . . . . .157
incident . . . . . . . . . . . . . . . . . . . . . . . . . .3
index root directory . . . . . . . . . . . . . . .294
indexing attachments . . . . . . . . . . . . . .293
Informed . . . . . . . . . . . . . . . . . . . . . . . . .4
informed
add . . . . . . . . . . . . . . . . . . . . . . . . .54
initial password . . . . . . . . . . . . . . . . . . .19
introduction . . . . . . . . . . . . . . . . . . . . . .15
invoice . . . . . . . . . . . . . . . . . . . . . . . . . .10
ISO 900x . . . . . . . . . . . . . . . . . . . . . . . . .6

343

issue . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
attribute . . . . . . . . . . . . . . . . . . . . 34
copy . . . . . . . . . . . . . . . . . . . . . . . 59
create . . . . . . . . . . . . . . . . . . . . 39, 40
date . . . . . . . . . . . . . . . . . . . . . . . . 52
field . . . . . . . . . . . . . . . . . . . . . . . . 34
hierarchy . . . . . . . . . . . . . . . . . . . . 55
link . . . . . . . . . . . . . . . . . . . . . . . . 61
private . . . . . . . . . . . . . . . . . . . . . . 39
types . . . . . . . . . . . . . . . . . . . . . . 192
tag
. . . . . . . . . . . . . . . . . . . . . . . . . . . 37
issue attributes . . . . . . . . . . . . . . . . . . . . 5
issue hierarchy
report overview . . . . . . . . . . . . . . . 79
issue management . . . . . . . . . . . . . . . . 1, 3
issue overview . . . . . . . . . . . . . . . . . . . . 35
issue submission by e-mail . . . . . . . . . 291
issue type . . . . . . . . . . . . . . . . . . . . . . . . 6
delete . . . . . . . . . . . . . . . . . . . . . . 193
move . . . . . . . . . . . . . . . . . . . . . . . 46
permission . . . . . . . . . . . . . . . . . . 170
restrict access . . . . . . . . . . . . . . . . 174
issue types
change . . . . . . . . . . . . . . . . . . . . . . 46
issue watch list . . . . . . . . . . . . . . . . . . . 28

K
key concepts . . . . . . . . . . . . . . . . . . . . . . 3

L
language . . . . . . . . . . . . . . . . . . . . . . . .
preferred . . . . . . . . . . . . . . . . . . . .
LDAP . . . . . . . . . . . . . . . . . . . . . . . . . .
activation . . . . . . . . . . . . . . . . . . .
authentification . . . . . . . . . . . . . . .
deactivation . . . . . . . . . . . . . . . . . .

27
27
20
20
20
20

LDAP configuration . . . . . . . . . . . . . . .295


tag
. . . . . . . . . . . . . . . . . . . . . . . . . . . .38
license key . . . . . . . . . . . . . . . . . . . . . .284
lifecycle . . . . . . . . . . . . . . . . . . . . . . .5, 36
link
issue . . . . . . . . . . . . . . . . . . . . . . . .61
version control . . . . . . . . . . . . . . . .62
list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
assessment plan . . . . . . . . . . . . . . .194
bugs . . . . . . . . . . . . . . . . . . . . . . .193
issues . . . . . . . . . . . . . . . . . . . . . . .193
problem report . . . . . . . . . . . . . . .193
release notes . . . . . . . . . . . . . . . . .194
requirement change . . . . . . . . . . . .193
shared . . . . . . . . . . . . . . . . . . . . . . . .3
locale . . . . . . . . . . . . . . . . . . . . . . . . . . .27
preferred . . . . . . . . . . . . . . . . . . . . .27
logo
customize . . . . . . . . . . . . . . . . . . .326
logon page text . . . . . . . . . . . . . . . . . . .300

M
manage
report template . . . . . . . . . . . . . . .109
manager . . . . . . . . . . . . . . . . . . . . . . . . .35
default . . . . . . . . . . . . . . . . . . . . . .136
managers issues . . . . . . . . . . . . . . . . . . . .76
mile stone tracking . . . . . . . . . . . . . . . . . .1
modify
budget . . . . . . . . . . . . . . . . . . . . . . .68
custom field . . . . . . . . . . . . . . . . .236
custom form . . . . . . . . . . . . . . . . .271
dates . . . . . . . . . . . . . . . . . . . . . . . .52
issue status . . . . . . . . . . . . . . . . . . .50
issue type . . . . . . . . . . . . . . . . . . . . .46

344

release status . . . . . . . . . . . . .148, 153


watcher list . . . . . . . . . . . . . . . . . . .54
money . . . . . . . . . . . . . . . . . . . . . . . . . .10
move
issue type . . . . . . . . . . . . . . . . . . . .46
project . . . . . . . . . . . . . . . . . . . . . . .48
move column
report overview . . . . . . . . . . . . . . . .78
MS Project
import . . . . . . . . . . . . . . . . . . . . . .157
multiple select . . . . . . . . . . . . . . .225, 240
my issues . . . . . . . . . . . . . . . . . . . . . . . .76

N
new release . . . . . . . . . . . . . . . . . . . . . .145
NEWER_THAN operator . . . . . . . . . . .97
TQL . . . . . . . . . . . . . . . . . . . . . . . .97
notification . . . . . . . . . . . . . . . . . . . . .118
warning level . . . . . . . . . . . . . . . . . .25
watch list . . . . . . . . . . . . . . . . . . . . .28
notification filter . . . . . . . . . . . . . . . . .121
notification trigger . . . . . . . . . . . . . . . .119

O
tag
. . . . . . . . . . . . . . . . . . . . . . . . . . . .38
OLDER_THAN operator . . . . . . . . . . .97
TQL . . . . . . . . . . . . . . . . . . . . . . . .97
OpenOffice
CSV . . . . . . . . . . . . . . . . . . . . . . . .21
CSV character . . . . . . . . . . . . . . . . .21
overdue issues
reminder . . . . . . . . . . . . . . . . . . . . .23
overwrite
custom fields . . . . . . . . . . . . . . . . .232

P
panels
custom form . . . . . . . . . . . . . . . . .262
parent issue
add . . . . . . . . . . . . . . . . . . . . . . . . .55
password . . . . . . . . . . . . . . . . . . . . . . . .19

new 30
change . . . . . . . . . . . . . . . . . . . . . .19
forgotten . . . . . . . . . . . . . . . . . . . . .30
Perforce . . . . . . . . . . . . . . . . . . . . . . . .142
permission . . . . . . . . . . . . . . . .11, 12, 167
current manager . . . . . . . . . . . . . .171
current responsible . . . . . . . . . . . .171
issue type specific . . . . . . . . . . . . .170
originator . . . . . . . . . . . . . . . . . . .171
role . . . . . . . . . . . . . . . . . . . . . . . . .11
permission flags . . . . . . . . . . . . . . . . . .168
permissions . . . . . . . . . . . . . . . . . . . . .164
pie chart . . . . . . . . . . . . . . . . . . . . . . . .113
POP3 . . . . . . . . . . . . . . . . . . . . . . . . . .290
preferred locale . . . . . . . . . . . . . . . . . . . .16
priority . . . . . . . . . . . . . . . . . . . . . . . . . . .7
private issue . . . . . . . . . . . . . . . . . . . . . .39
problem report . . . . . . . . . . . . . . . . . . .193
process maturity levels . . . . . . . . . . . . . . .6
project . . . . . . . . . . . . . . . . . . . .10, 12, 13
accounting . . . . . . . . . . . . . . . . . .135
active . . . . . . . . . . . . . .133, 149, 249
assign roles . . . . . . . . . . . . . . . . . .153
assign users . . . . . . . . . . . . . . . . . .153
change project type . . . . . . . . . . . .131
changing status . . . . . . . . . . . . . . .132
class . . . . . . . . . . . . . . . . . . . . . . .141
closed . . . . . . . . . . . . . .133, 149, 249
create . . . . . . . . . . . . . . . . . . . . . .126

345

delete . . . . . . . . . . . . . . . . . . . . . . 129
e-mail inbox . . . . . . . . . . . . . . . . 138
export to MS Project . . . . . . 155, 157
inactive . . . . . . . . . . . . 133, 149, 249
managing . . . . . . . . . . . . . . 125, 145
move . . . . . . . . . . . . . . . . . . . . . . . 48
status flag . . . . . . 133, 149, 249, 251
subsystem . . . . . . . . . . . . . . . . . . 141
project administrator . . . . . . . . . . . . . . 13
project report . . . . . . . . . . . . . . . . . . . . 10
project status . . . . . . . . . . . . . . . . . . . 132
project type . . . . . . . . . . . . . 13, 131, 163
pseudo user
unassigned . . . . . . . . . . . . . . . . . . 137

Q
quality assurance . . . . . . . . . . . . . . . . . . . 1

R
RACI . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
register . . . . . . . . . . . . . . . . . . . . . . . . . 16
Registration . . . . . . . . . . . . . . . . . . . . . 16
registration . . . . . . . . . . . . . . . . . . . . . . 16
release . . . . . . . . . . . . . . . . . . . . . . . . . . 12
active . . . . . . . . . . . . . . . . . . . . . . 251
add . . . . . . . . . . . . . . . . . . . . . . . 145
closed . . . . . . . . . . . . . . . . . . . . . 251
delete . . . . . . . . . . . . . . . . . . . . . . 146
inactive . . . . . . . . . . . . . . . . . . . . 251
status . . . . . . . . . . . . . . . . . . 148, 153
release notes . . . . . . . . . . . . . . . . . . . . 194
release status
manage . . . . . . . . . . . . . . . . . . . . 250
releases
sort order . . . . . . . . . . . . . . . . . . . 151
reminder
e-mail . . . . . . . . . . . . . . . . . . . . . . 23

overdue issues . . . . . . . . . . . . . . . . .23


reminder e-mails
configuring . . . . . . . . . . . . . . . . . . .23
remove
custom form . . . . . . . . . . . . . . . . .277
roles . . . . . . . . . . . . . . . . . . . . . . .173
report
template . . . . . . . . . . . . . . . . . . . .109
template based . . . . . . . . . . . . . . . .79
report filter
managing . . . . . . . . . . . . . . . . . . . .80
report overview . . . . . . . . . . . . . . . . . . . .77
column width . . . . . . . . . . . . . . . . .77
export . . . . . . . . . . . . . . . . . . . . . . .79
export CSV . . . . . . . . . . . . . . . . . . .80
issue hierarchy . . . . . . . . . . . . . . . . .79
move column . . . . . . . . . . . . . . . . .78
select columns . . . . . . . . . . . . . . . . .78
sort columns . . . . . . . . . . . . . . . . . .78
reporting . . . . . . . . . . . . . . . . . . . . . . . .75
filter . . . . . . . . . . . . . . . . . . . . . . . .76
managers issues . . . . . . . . . . . . . . . .76
my issues . . . . . . . . . . . . . . . . . . . . .76
responsible issues . . . . . . . . . . . . . . .76
template . . . . . . . . . . . . . . . . . . . . .76
TQL filter . . . . . . . . . . . . . . . . . . . .76
tree filter . . . . . . . . . . . . . . . . . . . . .76
reporting period
accounting . . . . . . . . . . . . . . . . . .115
reports
accounting . . . . . . . . . . . . . . . . . .114
tree filter . . . . . . . . . . . . . . . . . . . . .82
required . . . . . . . . . . . . . . . . . . . . . . . .219
requirement change . . . . . . . . . . . . . . .193
reset
overwritten field . . . . . . . . . . . . . .235

346

responsibility . . . . . . . . . . . . . . . . . . . . . .6
Responsible . . . . . . . . . . . . . . . . . . . .4, 76
responsible
default . . . . . . . . . . . . . . . . . . . . . .136
responsible issues . . . . . . . . . . . . . . . . . .76
restrict access
issue type . . . . . . . . . . . . . . . . . . .174
revert
field overwrite . . . . . . . . . . . . . . . .235
rights . . . . . . . . . . . . . . . . . . . . . . . . . .164
role . . . . . . . . . . . . . . . . . . . . . . . . . .11, 12
roles . . . . . . . . . . . . . . . . . . . . . . . . . . .164
add . . . . . . . . . . . . . . . . . . . . . . . .172
assign . . . . . . . . . . . . . . . . . . . . . .153
delete . . . . . . . . . . . . . . . . . . . . . .173
examples . . . . . . . . . . . . . . . . . . . .165

S
SECM . . . . . . . . . . . . . . . . . . . . . . . . . . .6
select . . . . . . . . . . . . . . . . . . . . . . . . . .240
custom field . . . . . . . . . . . . . . . . .225
select columns
report overview . . . . . . . . . . . . . . . .78
selection lists . . . . . . . . . . . . . . . . . . . .240
self registration . . . . . . . . . . . . . . . .16, 299
server status . . . . . . . . . . . . . . . . . . . . .302
severity . . . . . . . . . . . . . . . . . . . . . . . . . . .7
short text . . . . . . . . . . . . . . . . . . . . . . .220
simple select . . . . . . . . . . . . . . . . . . . . .225
single sign on . . . . . . . . . . . . . . . . . . . .297
sort columns
report overview . . . . . . . . . . . . . . . .78
sort order
releases . . . . . . . . . . . . . . . . . . . . .151
sorting
TQL . . . . . . . . . . . . . . . . . . . . . . . .96

tag
. . . . . . . . . . . . . . . . . . . . . . . . . . . .37
SSO . . . . . . . . . . . . . . . . . . . . . . . . . . .297
start date . . . . . . . . . . . . . . . . . . . . . . . .52
state . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
stateflag . . . . . . . . . . . . . . . . . . . . . .9, 201
status . . . . . . . . . . . . . . . . . . . . . . . . .8, 35
change . . . . . . . . . . . . . . . . . . . . . .50
project . . . . . . . . . . . . . . . . . . . . .132
release . . . . . . . . . . . . . . . . . .148, 153
status flag
project . . . . . . . . .133, 149, 249, 251
subsystems . . . . . . . . . . . . . . . . . . . . . .141
Subversion . . . . . . . . . . . . . . . . . . . . . .142
System . . . . . . . . . . . . . . . . . . . . . . . . .218
system
e-mail . . . . . . . . . . . . . . . . . . . . . .286
system configurator . . . . . . . . . . . . . . .161
system field . . . . . . . . . . . . . . . . . . . . .218
system lists . . . . . . . . . . . . . . . . . . . . . .242

T
task . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
task management . . . . . . . . . . . . . . . . . . .1
template
report . . . . . . . . . . . . . . . . . . . . . .109
reporting . . . . . . . . . . . . . . . . . . . . .76
template list . . . . . . . . . . . . . . . . . . . . .158
time . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
add . . . . . . . . . . . . . . . . . . . . . . . . .73
time budgeting . . . . . . . . . . . . . . . . . . . . .9
time expense . . . . . . . . . . . . . . . . . . .9, 11
time sheet . . . . . . . . . . . . . . . . . . . . . . .64
time to completion . . . . . . . . . . . . . . . . .9
time tracking . . . . . . . . . . . . . . . . . . .9, 11
todo list . . . . . . . . . . . . . . . . . . . . . . . . . .3

347

TQL
attributes . . . . . . . . . . . . . . . . . . . . 99
date functions . . . . . . . . . . . . . . . . 97
filter . . . . . . . . . . . . . . . . . . . . . . . 94
NEWER_THAN operator . . . . . . 97
OLDER_THAN operator . . . . . . . 97
TQL examples . . . . . . . . . . . . . . . . . . 101
TQL filter . . . . . . . . . . . . . . . . . . . . . . 76
TQL sorting . . . . . . . . . . . . . . . . . . . . . 96
TQLplus . . . . . . . . . . . . . . . . . . . . . . 102
tracking
cost . . . . . . . . . . . . . . . . . . . . . . . . 64
time . . . . . . . . . . . . . . . . . . . . . . . . 64
tree filter . . . . . . . . . . . . . . . . . . . . . 76, 82
tree filter.examples . . . . . . . . . . . . . . . . 84
trigger . . . . . . . . . . . . . . . . . . . . . . . . . 119

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
tag
. . . . . . . . . . . . . . . . . . . . . . . . . . . 37
unassigned . . . . . . . . . . . . . . . . . . . . . 137
tag
. . . . . . . . . . . . . . . . . . . . . . . . . . . 38
user
e-mail address . . . . . . . . . . . . . . . . 16
login name . . . . . . . . . . . . . . . . . . 16
password . . . . . . . . . . . . . . . . . . . . 16
preferred locale . . . . . . . . . . . . . . . 16
user account . . . . . . . . . . . . . . . . . . . . . 16
user interface language, GUI language . 27
user permission . . . . . . . . . . . . . . . . . . 167
user rights . . . . . . . . . . . . . . . . . . . . . . 164
user roles . . . . . . . . . . . . . . . . . . . . . . 164
users
assign to project . . . . . . . . . . . . . . 153

yourOwnMethodCallToDatabase() . . .329

tag
. . . . . . . . . . . . . . . . . . . . . . . . . . . .38
version control . . . . . . . . . . . . . . . .62, 142

W
watch list . . . . . . . . . . . . . . . . . . . . . . . .28
watcher list . . . . . . . . . . . . . . . . . . . . . . .54
work . . . . . . . . . . . . . . . . . . . . . . . . . . . .11
add . . . . . . . . . . . . . . . . . . . . . . . . .73
workflow graphic . . . . . . . . . . . . . . . . .299

X
X-Mailer field . . . . . . . . . . . . . . . . . . . . .26
XSLT
report template . . . . . . . . . . . . . . .109

348

Trackplus
Eugen-Ruoff-Str. 30
D-71404 Korb

Trackplus North America


54688 Dawn Drive
Osceola, IN 46561

Germany

U.S.A.

Tel. +49 7151 937 940


Fax: +49 7151 943 941

Tel. +1-574-968-7619
Fax: +1-574-674-0232

E-Mail: support@trackplus.de

E-Mail: support@trackplus.com

Vous aimerez peut-être aussi