Δελτία, φάκελοι, καταστάσεις και ετικέτες στο 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 από προεπιλογή).
Φάκελοι και ετικέτες
Ένας φάκελος έχει όνομα, εικονίδιο, χρώμα, πελάτη, email και τηλέφωνο, και σημαίες: isbillable (τα νέα δελτία την κληρονομούν), isprivate, ispinned, isarchived και isdisabled. Μόνο τα άτομα με το δικαίωμα admin (ή οι διαχειριστές) διαχειρίζονται φακέλους. Μια ετικέτα έχει όνομα, χρώμα και εικονίδιο και μπορεί να ανήκει σε έναν φάκελο.
Γύρω από το δελτίο
- Σχόλια (
Comments|create,Comments|update,Comments|remove): κείμενο Markdown συνημμένο σε ένα δελτίο. - Σημάνσεις μη αναγνωσμένων και σελιδοδείκτες: κάθε χρήστης έχει τη δική του κατάσταση μη αναγνωσμένου και σελιδοδείκτες για ένα δελτίο.
- Σύνδεσμοι μεταξύ δελτίων και κλωνοποίηση ενός δελτίου.
- Ιστορικό και αρχεία καταγραφής των αλλαγών ενός δελτίου.
- Συνημμένα: το
POST /upload/δέχεται έως 5 MB ανά αίτημα. Η διεύθυνση ενός αρχείου είναι υπογεγραμμένη (/download/<id>-<signature>.<ext>): οι εικόνες, το βίντεο και τα PDF ανοίγουν στον περιηγητή και οι άλλοι τύποι κατεβαίνουν. - Ζωντανές ενημερώσεις: το WebSocket στέλνει ένα γεγονός
refreshμόνο στα άτομα που μπορούν να δουν το δελτίο και ενημερώνει τα υπόλοιπα ποιος κοιτάζει ένα δελτίο αυτή τη στιγμή.