Tickets, pastas, estados e etiquetas no Todomator
O centro do Todomator é o ticket (tabela tbl_ticket, esquema Tickets em schemas/tickets.js). Tudo o resto organiza tickets ou depende deles.
O que contém um ticket
| Campo | Significado |
|---|---|
name | o título (obrigatório) |
statusid | o estado; um ticket novo é pending a menos que diga outra coisa |
folderid | a pasta (cliente ou projeto) a que pertence |
ownerid, userid, watcherid | o autor, as pessoas atribuídas e as pessoas que apenas o seguem |
ispublic | visível para todos; um ticket público não tem pessoas atribuídas |
ispriority, isbillable | uma marca de prioridade e um indicador de faturável |
markdown, html | o conteúdo (a interface usa Markdown) |
tags | uma lista de etiquetas |
date, deadline | o dia do ticket (hoje por predefinição) e um prazo opcional |
estimate, worked | a estimativa e os minutos já trabalhados (registo de tempo) |
reference, source | texto livre para ligar o ticket a algo externo |
parentid | o ticket pai, para subtarefas |
attachments | os ficheiros do ticket |
attrs | dados JSON livres |
callback | um endereço que recebe o ticket quando muda (API) |
Os seis estados
A tabela cl_status é criada com: pending (Pending), open (In progress), review (Review), postponed (Postponed), note (Note) e closed (Closed). Os nomes são traduzidos para o idioma do utilizador.
Quem pode ver um ticket
Um ticket é visível para o seu proprietário, para as pessoas em userid, para as pessoas em watcherid e para todos quando ispublic está definido. A lista de pastas que um utilizador vê é limitada da mesma forma: uma pasta só aparece se o utilizador puder ver um ticket nela (os utilizadores com sa veem todas). A lista de tickets aceita type (por exemplo pending, postponed, review, assigned, note, unread ou all), q (pesquisa), folderid, date, skip e limit (10 por predefinição).
Pastas e etiquetas
Uma pasta tem nome, ícone, cor, cliente, e-mail e telefone, e indicadores: isbillable (os tickets novos herdam-no), isprivate, ispinned, isarchived e isdisabled. Só as pessoas com a permissão admin (ou os administradores) gerem pastas. Uma etiqueta tem nome, cor e ícone e pode pertencer a uma pasta.
À volta do ticket
- Comentários (
Comments|create,Comments|update,Comments|remove): texto Markdown anexado a um ticket. - Marcas de não lido e marcadores: cada utilizador tem o seu próprio estado de não lido e marcadores para um ticket.
- Ligações entre tickets e clonagem de um ticket.
- Histórico e registos das alterações de um ticket.
- Anexos:
POST /upload/aceita até 5 MB por pedido. O endereço de um ficheiro é assinado (/download/<id>-<signature>.<ext>): imagens, vídeo e PDF abrem-se no navegador e os outros tipos são descarregados. - Atualizações em direto: o WebSocket envia um evento
refreshapenas às pessoas que podem ver o ticket e diz às outras quem está a ver um ticket neste momento.