Tickets, carpetas, estados y etiquetas en Todomator
El centro de Todomator es el ticket (tabla tbl_ticket, esquema Tickets en schemas/tickets.js). Todo lo demás organiza tickets o cuelga de ellos.
Qué contiene un ticket
| Campo | Significado |
|---|---|
name | el título (obligatorio) |
statusid | el estado; un ticket nuevo es pending salvo que indiques otra cosa |
folderid | la carpeta (cliente o proyecto) a la que pertenece |
ownerid, userid, watcherid | el autor, las personas asignadas y las personas que solo lo siguen |
ispublic | visible para todos; un ticket público no tiene personas asignadas |
ispriority, isbillable | una marca de prioridad y una bandera de facturable |
markdown, html | el contenido (la interfaz usa Markdown) |
tags | una lista de etiquetas |
date, deadline | el día del ticket (hoy por defecto) y una fecha límite opcional |
estimate, worked | la estimación y los minutos ya trabajados (control de tiempo) |
reference, source | texto libre para conectar el ticket con algo externo |
parentid | el ticket padre, para subtareas |
attachments | los archivos del ticket |
attrs | datos JSON libres |
callback | una dirección que recibe el ticket cuando cambia (API) |
Los seis estados
La tabla cl_status se crea con: pending (Pending), open (In progress), review (Review), postponed (Postponed), note (Note) y closed (Closed). Los nombres se traducen al idioma del usuario.
Quién puede ver un ticket
Un ticket es visible para su propietario, para las personas de userid, para las personas de watcherid y para todos cuando ispublic está activado. La lista de carpetas que ve un usuario se limita de la misma manera: una carpeta aparece solo si el usuario puede ver un ticket en ella (los usuarios con sa ven todas). La lista de tickets acepta type (por ejemplo pending, postponed, review, assigned, note, unread o all), q (búsqueda), folderid, date, skip y limit (10 por defecto).
Carpetas y etiquetas
Una carpeta tiene nombre, icono, color, cliente, correo y teléfono, y banderas: isbillable (los tickets nuevos la heredan), isprivate, ispinned, isarchived y isdisabled. Solo las personas con el permiso admin (o los administradores) gestionan carpetas. Una etiqueta tiene nombre, color e icono, y puede pertenecer a una carpeta.
Alrededor del ticket
- Comentarios (
Comments|create,Comments|update,Comments|remove): texto Markdown adjunto a un ticket. - Marcas de no leído y marcadores: cada usuario tiene su propio estado de no leído y marcadores para un ticket.
- Vínculos entre tickets y clonación de un ticket.
- Historial y registros de los cambios de un ticket.
- Archivos adjuntos:
POST /upload/acepta hasta 5 MB por petición. La dirección de un archivo está firmada (/download/<id>-<signature>.<ext>): las imágenes, el vídeo y los PDF se abren en el navegador y los demás tipos se descargan. - Actualizaciones en vivo: el WebSocket envía un evento
refreshsolo a las personas que pueden ver el ticket, y avisa a las demás de quién está mirando un ticket en este momento.