Create a new sub-class of Node to manage tasks:
Note <-- Task <-- Request <-- Bug
In order to track the task's history (opened, edited, assigned, closed, etc), we will create a new kind of object in the system: a Logger. A logger can be attached to any node and will keep a track of whatever happens to this node (we set a callback in the node's after save hook). The logger should contain :
- timestamp
- field (string)
- new value (string)
Entries in the logger would look like :
- [2007-08-10] page13's title changed to Superman
- [2007-08-15] todo45 assigned_to changed to gaspard
To filter tasks like "my tasks" or "tasks marked as 'urgent'", we will use zafu and implement dyn_attributes search (#39)
We should create a task_content table for 'assigned_contact_id, ...'.
A Logger could contain time information (1h, 07-14, etc) to record worked time and compute the time it took to resolve a task, invoice, etc....