Tickets, mappen, statussen en labels in Todomator
Het hart van Todomator is het ticket (tabel tbl_ticket, schema Tickets in schemas/tickets.js). Al het andere organiseert tickets of hangt eraan.
Wat een ticket bevat
| Veld | Betekenis |
|---|---|
name | de titel (verplicht) |
statusid | de status; een nieuw ticket is pending tenzij je iets anders opgeeft |
folderid | de map (klant of project) waartoe het behoort |
ownerid, userid, watcherid | de auteur, de toegewezen personen en de personen die het alleen volgen |
ispublic | zichtbaar voor iedereen; een openbaar ticket heeft geen toegewezen personen |
ispriority, isbillable | een prioriteitsmarkering en een factureerbaar-vlag |
markdown, html | de inhoud (de interface gebruikt Markdown) |
tags | een lijst met labels |
date, deadline | de dag van het ticket (standaard vandaag) en een optionele deadline |
estimate, worked | de schatting en de al gewerkte minuten (tijdregistratie) |
reference, source | vrije tekst om het ticket met iets daarbuiten te verbinden |
parentid | het bovenliggende ticket, voor subtaken |
attachments | de bestanden van het ticket |
attrs | vrije JSON-gegevens |
callback | een adres dat het ticket ontvangt wanneer het verandert (API) |
De zes statussen
De tabel cl_status wordt aangemaakt met: pending (Pending), open (In progress), review (Review), postponed (Postponed), note (Note) en closed (Closed). De namen worden vertaald naar de taal van de gebruiker.
Wie een ticket kan zien
Een ticket is zichtbaar voor zijn eigenaar, voor de personen in userid, voor de personen in watcherid en voor iedereen wanneer ispublic is ingesteld. De lijst met mappen die een gebruiker ziet, wordt op dezelfde manier beperkt: een map verschijnt alleen als de gebruiker er een ticket in kan zien (gebruikers met sa zien alle). De ticketlijst neemt type (bijvoorbeeld pending, postponed, review, assigned, note, unread of all), q (zoeken), folderid, date, skip en limit (standaard 10).
Mappen en labels
Een map heeft een naam, een icoon, een kleur, een klant, een e-mail en een telefoon, en vlaggen: isbillable (nieuwe tickets erven het), isprivate, ispinned, isarchived en isdisabled. Alleen personen met het recht admin (of beheerders) beheren mappen. Een label heeft een naam, een kleur en een icoon en kan bij een map horen.
Rond het ticket
- Opmerkingen (
Comments|create,Comments|update,Comments|remove): Markdown-tekst die aan een ticket hangt. - Ongelezen-markeringen en bladwijzers: elke gebruiker heeft zijn eigen ongelezen-status en bladwijzers voor een ticket.
- Koppelingen tussen tickets en het klonen van een ticket.
- Geschiedenis en logs van de wijzigingen van een ticket.
- Bijlagen:
POST /upload/accepteert tot 5 MB per verzoek. Het adres van een bestand is ondertekend (/download/<id>-<signature>.<ext>): afbeeldingen, video en PDF openen in de browser en de andere typen worden gedownload. - Live updates: de WebSocket stuurt een
refresh-gebeurtenis alleen naar de personen die het ticket kunnen zien, en laat de anderen weten wie op dit moment naar een ticket kijkt.