Task Project
| Name (singular): | Task Project |
| Name (plural): | Task Projects |
| Alias (uri): | task_project |
| Identifier (ID): | cerb.contexts.task.project |
A task project groups related tasks together and shares ownership across them. A task's permissions derive from its project, so granting someone access to a project grants it for the work inside it.
Ownership
A project is owned by an actor – a worker, group, role, or the application itself – using the owner__context and owner_id pair. That ownership is what the tasks inside the project inherit.
Closing a project
is_closed marks a project finished. Closed and unreadable projects are dropped from the Daily Task Board gracefully, rather than erroring.
The Tasks column
Task project worklists offer a 'Tasks' distribution bar column showing how the project's tasks are split between done, stashed, todo, and in-progress – so a project that has quietly stalled is visible without opening it.
Daily Task Board
Task projects are what the Daily Task Board workspace tab organizes work by. Each board picks which projects appear, gives them accent colors, and orders them; every worker then overlays a personal selection and order on top.
Records API
These fields are available in the Records API and packages:
| Req'd | Field | Type | Notes |
|---|---|---|---|
created_at |
timestamp | The date/time when this record was created | |
id |
number | The ID of this project | |
is_closed |
boolean | Is this project closed? (0 or 1) |
|
links |
links | An array of record type:id tuples to link to. Prefix with - to unlink. |
|
| x | name |
text | The name of this project |
| x | owner__context |
context | The record type of the owner |
| x | owner_id |
number | The ID of the owner |
updated_at |
timestamp | The date/time when this record was last modified |
Search Query Fields
These filters are available in task project search queries:
| Field | Type | Description |
|---|---|---|
closed |
boolean | Is the project closed? |
created |
date | When the record was created |
fieldset |
virtual | Filter by custom fieldset |
id |
number | The record ID |
name |
text | The project name (partial match) |
owner |
virtual | Filter by the project's owner |
tasks |
virtual | A deep search on the tasks within the project |
updated |
date | When the record was last modified |
watchers |
virtual | Filter by watchers |
The tasks: filter matches any task filter against the project's tasks, so a project can be found by the properties of the work inside it:
tasks:(status:open owner:me)