Тикети, папки, състояния и етикети в Todomator
Центърът на Todomator е тикетът (таблица tbl_ticket, схема Tickets в schemas/tickets.js). Всичко останало организира тикети или зависи от тях.
Какво съдържа един тикет
| Поле | Значение |
|---|---|
name | заглавието (задължително) |
statusid | състоянието; новият тикет е pending, освен ако не кажете друго |
folderid | папката (клиент или проект), към която принадлежи |
ownerid, userid, watcherid | авторът, възложените хора и хората, които само го следят |
ispublic | видим за всички; публичният тикет няма възложени хора |
ispriority, isbillable | маркер за приоритет и флаг за таксуване |
markdown, html | съдържанието (интерфейсът използва Markdown) |
tags | списък с етикети |
date, deadline | денят на тикета (днес по подразбиране) и незадължителен краен срок |
estimate, worked | оценката и вече отработените минути (проследяване на времето) |
reference, source | свободен текст, за да свържете тикета с нещо външно |
parentid | родителският тикет, за подзадачи |
attachments | файловете на тикета |
attrs | свободни JSON данни |
callback | адрес, който получава тикета, когато той се промени (API) |
Шестте състояния
Таблицата cl_status се създава с: pending (Pending), open (In progress), review (Review), postponed (Postponed), note (Note) и closed (Closed). Имената се превеждат на езика на потребителя.
Кой може да види тикет
Тикетът е видим за собственика си, за хората в userid, за хората в watcherid и за всички, когато е зададено ispublic. Списъкът с папки, които потребителят вижда, е ограничен по същия начин: папка се появява само ако потребителят може да види тикет в нея (потребителите с sa виждат всички). Списъкът с тикети приема type (например pending, postponed, review, assigned, note, unread или all), q (търсене), folderid, date, skip и limit (по подразбиране 10).
Папки и етикети
Папката има име, икона, цвят, клиент, имейл и телефон и флагове: isbillable (новите тикети го наследяват), isprivate, ispinned, isarchived и isdisabled. Папките се управляват само от хора с правото admin (или от администратори). Етикетът има име, цвят и икона и може да принадлежи към папка.
Около тикета
- Коментари (
Comments|create,Comments|update,Comments|remove): текст в Markdown, прикрепен към тикет. - Маркировки за непрочетени и отметки: всеки потребител има собствено състояние на непрочетено и отметки за тикет.
- Връзки между тикети и клониране на тикет.
- История и записи на промените в тикета.
- Прикачени файлове:
POST /upload/приема до 5 MB на заявка. Адресът на файла е подписан (/download/<id>-<signature>.<ext>): изображенията, видеото и PDF се отварят в браузъра, а останалите типове се изтеглят. - Актуализации на живо: WebSocket изпраща събитие
refreshсамо на хората, които могат да видят тикета, и казва на останалите кой гледа тикет в момента.