Time.To.Work - Zazza/otms GitHub Wiki
Клиент связан с существующими в системе объектами и задачами. Пример - служба технической поддержки. В техподдержку на почтовый ящик [email protected] приходит письмо. Начальник отдела технической поддержки или менеджер координирует работу сотрудников, распределяя кто будет выполнять задачу. Проблема решается и ответ пишет уполномоченный сотрудник из своего почтового клиента. В TimeToWork входящее письмо (если задано в настройках) становится задачей, привязано к клиенту (например, в его истории), переписку с клиентом может увидеть любой сотрудник, а если комментарий был отправлен обратно клиенту — увидеть факт отправки.
Файловый менеджер — следующая часть системы. Он хранит все состояния и изменения файлов, т. е. имеет возможность загрузить файл в любом его состянии на определённую дату. Ограничивает права доступа к файлам и директориям для сотрудников и отделов. Имеет возможность писать заметки к файлам. Может восстанавливать файл, если он был удалён по неосторожности или умышленно каким-либо сотрудником.
Главная идея создавать «комнаты», куда могут быть приглашены требуемые люди. К тому же управление пользователями в OTMS позволяет организовать древовидную структуру: отдел-подотдел-сотрудник. Т.е. выбрав нужный отдел можно создать комнату только для нужных сотрудников.
Бизнес процесс это алгоритм выполнения большой и сложной задачи. Ниже выложено достаточно старое видео (от апреля), где можно посмотреть без технических сложностей, что из себя представляет простейший БП.
http://www.youtube.com/watch?v=GB3cWN-Q2Dg
Ресурсы (объекты) могут бронироваться - быть занятыми на определенный срок. Бронирование нужно, чтобы другие сотрудники могли видеть объекты, которые заняты или будут заняты в будущем. Бронировать можно комнаты, номера. Менеджеры могут бронировать клиентов, не допуская ситуации, когда несколько менеджеров работают с одним клиентом. Бронь можно просматривать как на календаре за целый месяц, так и более детально на день: видеть в какие часы будет занят ресурс. Например, сотрудник указал, что с 14:00 до 18:00 будет в Воркуте. Его непосредственный начальник может назначить все задачи относительно Воркуты по такому случаю.
Для системы начинающий программист под Android пробует написать клиент. Для удобного взаимодействия был создан отдельный модуль, который по определённым командам забирал нужные данные. Такая схема несколько раз менялась и в последнем своём состоянии API — модуль, который предоставляет «интерфейс» для работы с моделями (Model в MVC) приложения. Т.е. теоретически на стороннем приложении можно сделать теже действия, что и в самой системе. Так как работать с API посредством JSON не самый удобный способ для разработки и отладки был создан ещё один модуль — командная строка. В командной строке можно выполнть обычные действия: закрывать задачи, смотреть время работы сотрудников в системе и прочие, а также выполнять действия на более низком уровне с модулями и моделями, получая весь вывод на экране.