Инкрементальное улучшение WR Time Tracker - PHP

Nik18 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
15.01.2007

Имеется open-source проект WR Time Tracker, написан на PHP. Популярен и сделан очень качественно. Посмотреть то, что имеем сейчас можно здесь:

http://timetracker.wrconsulting.com

Некоторая неполная документация здесь: http://wrconsulting.com/cms/wrtimetracker/index.htm

Форум по проекту: http://wrconsulting.com/forum/viewforum.php?f=4

ТРЕБУЕТСЯ СДЕЛАТЬ СЛЕДУЮЩУЮ МЕЛКУЮ ИТЕРАЦИЮ ПРИЛОЖЕНИЯ

WR Time Tracker v0.7 wish list

Основное:

1) MySQL 5 и PHP 5 support. Ликвидировать "deprecated call warnings", datetime class conflict with PHP 5.2.0+ и подобное.

Мелочи:

2) Pie chart on my time - добавить опцию "this year".

3) После начального логина mytime.php надо бы открывать с выбранным днем по локальному времени browser-a, не времени сервера. Проблема в том, что при работе из удаленных от CST зон попадаем не на тот день. То есть хорошо бы, чтобы юзер после входа попадал в "сегодня" по своему локальному времени.

4) Отчеты - когда есть start time - сортировать записи по нему, ибо сейчас имеем записи в беспорядке.

5) При создании и редактировании проекта дать возможность выбора активностей, которые связаны с ним. Сделать аналогично активностям.

6) При создании и редактировании проекта дать возможность выбора юзеров, которые связаны с ним. Default to all.

7) Рассмотреть фикс on session expiration:

Hi, we installed the timtracker in our company and found it a great tool and easy to use. In the test stage we found two issues which we wanted to communicate. 1. One of the testers used the software in the way, that when he started working on a project, he created a record in his activity log with only start time. After finishing his work he completed this record. From time to time he told me, that he could not log in anymore.

In mytime.php I added an exit() after calling the mytime_edit:

if ($no_finished_rec = TimeHelper::...

$d = new DateTime(...

Header("Location: mytime_edit.php...

exit(); //

}

2. The same user told me, that when he is leaving the timetracker without logging out, he could not login anymore. And the login.php came back with a php error.

I changed the login.php:

...

import('UserHelper');

if ($auth->isAuthenticated())

{

Header( "Location: logout.php" );

exit();

}

8) В поле duration разрешить десятичный формат для быстрого ввода. Это можно преобразовать в hh:mm после ввода.

9) В config.php добавить опцию для десятичного формата экспорта длительностей времени в CSV и XML файлы.

10) В календаре на my time отмечать особым эффектом дни, где есть записи.

11) Добавить календарь на страницу с записью времени только с началом. При операциях с календарем в такой ситуации НЕ позволять вводить вторую запись только с началом. То есть в любой момент времени должна быть возможна максимум одна неоконченная запись. Но она не должна мешать вводить или редактировать другие записи.

12) На страницу редактирования профайла менеджера добать чекбокс: "show pie charts" и комбо с опциями "project" и "activity". Может быть тут можно как-топоизящнее выразиться? Когда чекбокс не отмечен - pie chart не показывать вообще.

13) На страницу редактирования записи о времени добавить календарик, чтобы можно было менять дату данной записи.

14) The report should grey the dates from $i18n_holidays just like the small calendar, not just weekends as it's now.

Эта работа для профессионала в области PHP. Невысокий размер оплаты связан с природой проекта (open source, раздается бесплатно всем желающим). Для специалиста высокого класса возможны дальнейшие итерации, а также адаптации проекта для корпораций за более серьезные деньги.

Кредитную карту пришлем при необходимости.

От кандидата требуется:

- Профессионализм в знании PHP, MySql, CVS.

- Опыт работы, рекомендации, ссылки на существующие работы, примеры кода.

- Деликатное отношение к чужому коду. Система сделана очень добротно. Требуется, ничего не ломая, творчески развивать её дальше.

- Способность работать самостоятельно в распределенной команде.