Ticket, cartelle, stati e tag in Todomator
Il centro di Todomator è il ticket (tabella tbl_ticket, schema Tickets in schemas/tickets.js). Tutto il resto organizza ticket o ne dipende.
Cosa contiene un ticket
| Campo | Significato |
|---|---|
name | il titolo (obbligatorio) |
statusid | lo stato; un nuovo ticket è pending salvo diversa indicazione |
folderid | la cartella (cliente o progetto) a cui appartiene |
ownerid, userid, watcherid | l’autore, le persone assegnate e le persone che si limitano a seguirlo |
ispublic | visibile a tutti; un ticket pubblico non ha persone assegnate |
ispriority, isbillable | un contrassegno di priorità e un flag di fatturabilità |
markdown, html | il contenuto (l’interfaccia usa Markdown) |
tags | un elenco di tag |
date, deadline | il giorno del ticket (oggi per impostazione predefinita) e una scadenza facoltativa |
estimate, worked | la stima e i minuti già lavorati (tracciamento del tempo) |
reference, source | testo libero per collegare il ticket a qualcosa di esterno |
parentid | il ticket padre, per le sottoattività |
attachments | i file del ticket |
attrs | dati JSON liberi |
callback | un indirizzo che riceve il ticket quando cambia (API) |
I sei stati
La tabella cl_status viene creata con: pending (Pending), open (In progress), review (Review), postponed (Postponed), note (Note) e closed (Closed). I nomi sono tradotti nella lingua dell’utente.
Chi può vedere un ticket
Un ticket è visibile al suo proprietario, alle persone in userid, alle persone in watcherid e a tutti quando ispublic è impostato. L’elenco delle cartelle che un utente vede è limitato allo stesso modo: una cartella compare solo se l’utente può vedere un ticket al suo interno (gli utenti con sa le vedono tutte). L’elenco dei ticket accetta type (per esempio pending, postponed, review, assigned, note, unread o all), q (ricerca), folderid, date, skip e limit (10 per impostazione predefinita).
Cartelle e tag
Una cartella ha un nome, un’icona, un colore, un cliente, un’e-mail e un telefono, e dei flag: isbillable (i nuovi ticket lo ereditano), isprivate, ispinned, isarchived e isdisabled. Solo le persone con il permesso admin (o gli amministratori) gestiscono le cartelle. Un tag ha un nome, un colore e un’icona e può appartenere a una cartella.
Intorno al ticket
- Commenti (
Comments|create,Comments|update,Comments|remove): testo Markdown allegato a un ticket. - Segni di non letto e segnalibri: ogni utente ha il proprio stato di non letto e i propri segnalibri per un ticket.
- Collegamenti tra ticket e clonazione di un ticket.
- Cronologia e log delle modifiche di un ticket.
- Allegati:
POST /upload/accetta fino a 5 MB per richiesta. L’indirizzo di un file è firmato (/download/<id>-<signature>.<ext>): immagini, video e PDF si aprono nel browser e gli altri tipi vengono scaricati. - Aggiornamenti in tempo reale: il WebSocket invia un evento
refreshsolo alle persone che possono vedere il ticket e dice agli altri chi sta guardando un ticket in questo momento.