ProjectTRACKER Admin Guideline
Introduction
The ProjectTRACKER is distributed under the GNU General Public License means this program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. ProjectTRACKER is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public Licenses for more details.
The ProjectTRACKER is developed with the CodeCharge Studio web application development framework. The generated code by CodeCharge and add-ons are written in PHP and Javascript. ProjectTRACKER was tested with PHP version 5.2 and 5.3.
Currently MS Access and MySQL are the supported databases for ProjectTRACKER. In principle CodeCarge works also with other databases, but this has not been tested. Tested versions are:
Database / Driver | Version |
---|---|
MS Access | 2003 SP3 |
MS Access ODBD Driver | 4.00.6305.00 |
MySQL | 5.1.30, 5.1.47, 5.5.25 |
MySQL ODBC Driver1) | 3.52 |
The ProjectTRACKER installation package is delivered with the MySQL database connection only.
Installation
Installation Files
You need a server with MySQL and a web server (e.g. Apache) running. You will get this from your internet provider or e.g. can use the XAMPP package to install this on your computer for test purposes.
The ProjectTRACKER package is delivered in a ZIP-file, which contains:
- Directory trackergpl
- Tracker PHP, HTML, Javascript files
- Directory FCKeditor - Copy of FCK Editor Java Script files
- Directory doc - ProjectTRACKER import format examples
- Directory images - Images for ProjectTRACKER
- Directory MySQL - MySQL scripts and installation files of the ProjectTRACKER
- Directory phplot - Copy of PHPLOT PHP files
- Directory Styles - Styles for ProjectTRACKER
- Directory temp and temp2 - Place for storing ProjectTRACKER temporary files
- Directory tracker-data - Place for import / export files and configuration data of ProjectTRACKER
Extract all files with exception of MySQL and doc to your web server. Make these files visible to your web server by either copy the files to the htdocs directory, or linking to another directory via:
Alias /tracker "D:/dir/tracker/" <Directory "D:/dir/tracker"> AllowOverride AuthConfig Order allow,deny Allow from all </Directory>
Protect the directories temp and tracker-data from web access e.g. via a .htaccess file moved to these directories with the content:
order allow, deny deny from all
Take care that the directories temp, temp2 and tracker-data can we written by your web server and follow the instructions in chapter ProjectTRACKER Configuration.
CodeCharge Installation / Configuration
The ProjectTRACKER is generated with the CodeCharge Studio development framework. You do not need this framework to run the ProjectTRACKER, the framework is only needed to further develop the ProjectTRACKER. For more details see CodeCharge Installation / Configuration.
PHP / Apache Configuration
If your are allowed, change the following parameters in the php.ini file (e.g. in D:\xampp\apache\bin\php.ini) for the used Apache / PHP server:
Variable | Value | description |
---|---|---|
max_execution_time | 600 | PHP script can run up to 600 sec - this is needed for bigger export / import operations - otherwise the script might be canceled before completion! |
odbc.defaultlrl | 65536 | This is needed only for the proper operation of the ODBC / Access interface of CodeCharge |
memory_limit | 64M | PHP can use up to 64M Bytes - this is needed for bigger export / import operations - otherwise the script might be canceled before completion! |
Installation Database
Generate a new MySQL database. Either use the MyISAM or InnoDB database engine (MyISAM has better performance). Use “latin1_general_ci” as standard collation for this database.
Run the SQL script (e.g. via the MySQL admin tool phpMyAdmin) from the ProjectTRACKER ZIP-file directory MySQL to setup the ProjectTRACKER database tables:
- tracker-mysql-create.sql (for mySQL InnoDB)
- tracker-mysql-create-no-inno.sql (for mySQL MyISAM)
ProjectTRACKER Configuration
To adapt the ProjectTRACKER to your server environment and usage needs you should check / configure a few PHP constants / variables.
mySQL Configuration Settings
The mySQL setup is defined in the file Common.php in the PHP array $CCConnectionSettings at the beginning of the file:
$CCConnectionSettings = array ( "Connection1" => array( "Type" => "MySQL", "DBLib" => "MySQL", "Database" => "tracker", "Host" => "localhost", "Port" => "3306", "User" => "tracker", "Password" => "tracker", "Persistent" => true, "DateFormat" => array("yyyy", "mm", "dd"), "BooleanFormat" => array(1, 0, ""), "Uppercase" => false ) );
Please change only the Database, Host, Port, User, Password. Note: For security reasons you should choose at least another, secure password for your database!
ProjectTRACKER Configuration Settings
The ProjectTRACKER can be configured in the file Incl_Const.php via the following PHP constants at the beginning of the file:
Constant | Value | Description |
---|---|---|
TR_FIREDBG | 0 or 12) | Activate the ProjectTRACKER debugging mode. Debug output generated (if enabled) via the FirePHP tool. The FirePHP tool is not included in the ProjectTRACKER ZIP-file deliverables. |
TR_LENSDBG | 0 or 13) | Activate the ProjectTRACKER debugging mode. Debug output generated (if enabled) via the Lensdebug tool. |
TR_DATE_FORMAT | 'd.m.y' | Date format used for all date outputs, can be used to localize the ProjectTRACKER e.g. to US date format 'm-d-y'. |
TR_DATE_EXCEL | 'd.m.y' | Date format used for CSV imports. |
TR_WEEK_STR | 'CW' | Prefix used for all week number outputs / choices, e.g. week 12 would be shown as CW12. |
TR_MAPTASK_GROUP | 'M' | Tasks starting with this group name are mapping tasks. |
TR_TEMPLATE_GROUP | 'T' | Tasks starting with this group name are template tasks. |
TR_TEMPLATE_INDEX_LEN | 3 | Template group name index lenght, e.g. 3 would allow 100 templates from T00 to T99. |
TR_SCRUM_GROUP | 'S' | Tasks starting with this group name are scrum tasks. |
TR_SCRUM_CHOICE_STR | 'S' | Prefix used for all scrum cycle outputs / choices, e.g. cycle 12 would be shown as S12. |
TR_STATUS1_CAPTION | 'Grooming Status' | Grooming Status label. |
TR_STATUS1_CHOICES | '1;L;2;H' | Grooming status values in CC notation. |
TR_STATUS2_CAPTION | 'Task Status' | Task status label |
TR_STATUS2_CHOICES | '1;Open;2;Ready;3;WIP;4;Completed' | Task status values in CC notation - must be sorted in ascending order. |
TR_STATUS2_FIRST | 1 | Task Status 2 index first choice. |
TR_STATUS2_LAST | 4 | Task Status 2 index last choice. |
TR_STATUS2_EFFORTNZERO | 3 | Status 2 will be set to this index when first efforts are recorded - set to '' to disable. |
TR_STATUS2_REMNZERO | 3 | Status 2 will be reset to this index when rem. efforts are set to non-zero - set to '' to disable. |
TR_STATUS2_REMZERO | 4 | Status 2 will be set to this index when rem. efforts are set to zero - set to '' to disable. |
TR_STATUS2_SPDONE | 4 | SP done checkbox is visible when Status 2 is greater / equal this value. |
TR_REMEFF_MANDATORY | TRUE or FALSE | When TRUE Rem. = Plan effort as long as no remaining effort value is defined, otherwise Rem. = Plan - Done effort. |
TR_REMZERO_STATUS2 | 4 | Rem. effort is always set to 0 when Status 2 is greater / equal this value - set to '' to disable. |
TR_STATUS2_SPDONE | 4 | SP done checkbox is visible when Status 2 is greater / equal this value. |
TR_TASK_PLAN_VALIDITY | 2 | 0: Plan effort always valid, 1: Plan effort valid from task start date on, 2: Plan effort valid from task creation date on. |
TR_TASK_TRENDING | TRUE or FALSE | When set to TRUE Task Trending is activated. |
TR_SITE_SECURITY | TRUE or FALSE | Site security level - when set to TRUE, users can see only programs / tasks of their own location per default. |
TR_TASK_ACTIVITY | TRUE or FALSE | When set to TRUE the ProjectTRACKER allows to further refine Tasks with Activities. |
and the deployment related constants at the end of the file:
Constant | Value | Description |
---|---|---|
TR_LOGO | 'images/time.png' | Relative path and name of the image shown as ProjectTRACKER logo on the top left corner. You can add your company logo here. The file should be in a format recognizable by web browsers, e.g. PNG. The size of the image should be 112 x 64 (width x hight). |
TR_FILE_DIR | '/tracker-data/' | Relative path to Tracker configuration files location. The location must be read protected from outside web access, but your web server should have write access to this location. |
TR_TEMP_DIR | '/temp/' | Relative path to the ProjectTRACKER temporary file location. The location must be read protected from outside web access, but your web server should have write access to this location. |
TR_TEMP2_DIR | '/temp2/' | Relative path to ProjectTRACKER temporary file location. Your web server should have write access to this location. (e.g. the Gantt images are stored here). |
TR_WIKI_LINK | '../wiki/doku.php'4) | Relative or absolute HTML link and name for the ProjectTRACKER DokuWiki entry page. Use '' in case no Wiki is installed. DokuWiki is not included in the ProjectTRACKER ZIP-file deliverables. |
TR_HELP_LINK | 'ProjectTrackerManual.pdf'5) | Relative path and name of the ProjectTRACKER help file. Use '' in case no help file is available. |
TR_WIKI_PORTAL_DIR | 'D:/dir/data/pages' | Absolute location of DokuWiki data directory. |
TR_WIKI_PORTAL_AUTH | 'D:/dir/conf/users.auth.php' | Absolute location of DokuWiki user authentification file. |
TR_DBFKFLAG | TRUE or FALSE | Flag if database can handle foreign keys / referential integrity properly (e.g. MySQL InnoDB). In case the database can handle foreign keys set the constant to TRUE. |
TR_DBLOCKFLAG | TRUE or FALSE | Flag if MySQL database allows table locks (MSAccess will be excluded automatically). |
Values in italic font are examples.
Note: Do not change any other PHP constants or code parts of the ProjectTRACKER if your are not a ProjectTRACKER “expert” - otherwise this might lead to erroneous behavior of the ProjectTRACKER and in the worst case you might loose important data.
ProjectTRACKER Quick Demo Setup
Note: To install ProjectTRACKER for your needs follow the instructions in the next chapter!
After executing the steps described in the above chapters start the ProjectTRACKER via the the web link, e.g. http://localhost/tracker/Menu.php, defined by your web server configuration. Execute the following steps to setup the ProjectTRACKER demo:
- You should see the login page.
- Login with User admin and Password admin.
- You should see the Main Menu.
- Select the Maint page.
- Select one demo import-file from the ProjectTRACKER ZIP-file directory MySQL:
- tracker-demo-2009-english.xml (for English demo - version 1.X)
- tracker-demo-2009-german.xml (for German demo - version 1.X)
- tracker-demo-2012-english.xml (for English demo - version 2.X)
- Click the Import button.
- You should see something like:
- Import table “Location”
- Import table “Engineer”
- …
- Updated Engineer summary flags
- Updated Task summary flags
- Updated Progam summaries
- Updated Year related tables
Done! - You can play now with the ProjectTRACKER demo - don't forget to read the manual and have fun!
Note: Be aware that you have set the Default Year to 2009 (old demos) or 2012 (Scrum demo) to see the demo project data!
ProjectTRACKER Initial Setup for Production Use
After executing the steps described in the above chapters you can start the ProjectTRACKER via the the web link, e.g. http://my-intranet-webserver/Menu.php, defined by your web server configuration. Execute the following steps to setup the ProjectTRACKER to your needs:
- You should see the login page.
- Login with User admin and Password admin.
- You should see the Main Menu.
- Select the Maint page.
- Click the Import button without selecting anything.
- You should see:
- Updated Engineer summary flags
- Updated Task summary flags
- Updated Program summaries
- Updated Year related tables
- Select the Profiles page.
- Add / change Countries, Locations / Teams and Cost Groups as needed.
- Select the Setup page.
- Add / delete Tracking Years and change Task Effort Groups / Task Planning Groups top level group letters as needed.
- Select the Users page.
- Change the admin password. Use a secure password, only you as the ProjectTRACKER admin know!
- Add new users as needed, set also the correct access rights and Location, Cost Groups. Assign also the correct Team Visibility to the users.
- Don't forget to activate the newly defined users!
- Select the Programs page.
- Add new programs as needed, set also the correct Program Visibility. Do not delete the Operations program!
- Dont't forget to make your programs active and visible to you.
- Select the Tasks page.
- You should see three predefined tasks: Absence, Operations and Training. You can rename the tasks accordingly but should not delete the operations tasks!
- Add new tasks as needed.
- Dont't forget to make your tasks active.
- Add Scrum user stories or tasks as described for Tasks above.
Done! - You have configured the ProjectTRACKER for your needs - carefully read the manual, start to use the ProjectTRACKER and have fun!
Upgrades
Please follow the instructions in the Readme file provided with the ProjectTracker upgrade.
ProjectTRACKER 3rd Party Components / Tools
The following components and tools licensed from third parties have been included or are used with ProjectTRACKER:
Components / Tools | Description | Author / Company | License | Link |
---|---|---|---|---|
CodeCharge Studio | 3rd generation development framework for web applications6) | YesSoftware | YesSoftware | http://www.yessoftware.com |
FCK Editor | Java Script based WYSIWYG HTML text editor7)8) | Frederico Caldeira Knabben | GPL, LGPL, MPL | http://ckeditor.com |
gantt.class.php | PHP class for generating Gantt pictures | Alexandre Miguel de Andrade Souza | LGPL | http://www.phpclasses.org/package/2737-PHP-Generate-project-progress-Gantt-charts.html |
lensdebug.inc.php | PHP class for debug output in separate window | Alter Gr, John Lim | Free | http://phplens.com/lens/free_code/lensdebug.php |
PHPlot | PHPlot is a graph library for dynamic scientific, business, and stock-market charts | see http://sourceforge.net/projects/phplot | LGPL | http://www.phplot.com |
Tigra Slider Control | Java Script helper functions for sliders | Softcomplex | Free | http://www.softcomplex.com/products/tigra_slider_control |
wz_tooltip.js | Java Script helper functions for tool tips | Walter Zorn | LGPL | http://www.walterzorn.com |
Note: Customer's use of the Third Party Software is subject to the terms and conditions imposed by the licensors of such Third Party Software, which may differ from the GPL Software License.