TDTrac is a web based job budget and payroll hours tracker, built by a Technical Director, for other TD's, freelance designers, and anyone else who finds it useful. TDTrac is completely free, released as open source. The "Staff" version of TDTrac lessens the emphasis on budget expenditures, and drops support for per-job calendars and task lists, while adding the ability to schedule individual employees for each job. User permissions have also been simplified across the board.
config/tdtrac-dist.php
-> config/tdtrac.php
tmp
and log
- world writeable is easiest. They need to be writeable for both your user, and the webserver user.bin/cake migrations migrate
to create the database and populate the configuration valuesbin/cake user_add --admin <email> <password> <first_name> <last_name>
to add an admin user.bin/cake roles_production
or bin/cake roles_instructor
to add some default user roles.tmp
and log
admin-email
admin-name
short-name
long-name
server-name
mailing-address
config/tdtrac.php
when reporting any errors.TDTracStaff semi-requires a crontab task to run. It's a really, really good idea to use this method rather than turning off queued E-mail. (If you absolutly must, reverse step 2 below)
Set up a crontab for e-mail and cron. In this example, send every 10 minutes (100 emails max), cron runs at 8:00am
*/10 * * * * /usr/bin/sudo -u www-data /path-to-install/bin/cake process_mail_queue
0 0 8 * * /usr/bin/sudo -u www-data /path-to-install/bin/cake cron_job
Change the configuration value of queue-email
to "1" (the default)
Important Note Some features do not appear in the user interface if mail queuing is not enabled. This is for performance reasons.
Another Important Note CRON jobs with e-mail require the use of mail queuing.
Last Important Note I've moved away from cron, look in ./Example_Config_SYSTEMD for how to do it with systemd timer units.
config/tdtrac-dist.php
-> config/tdtrac.php
tmp
and log
- world writeable is easiest. They need to be writeable for both your user, and the webserver user.sql_schema_manual.sql
to populate the database.is_verified
, is_admin
, and is_active
should all be true.admin-email
admin-name
short-name
long-name
server-name
mailing-address
queue-email
to "0"bin/cake roles_instructor YES
bin/cake roles_production YES
bin/cake user_active (--force-no|--force-yes) <username>
bin/cake user_add <username> <password> <first_name> <last_name> --admin -budget
bin/cake user_admin (--force-no|--force-yes) <username>
bin/cake user_budget (--force-no|--force-yes) <username>
bin/cake user_password <username> <password>
Note: Stay clear of the demo_
command line toys - they are to populate the demo site, and are dangerous. That don't check to make sure the database isn't a real one first.