Skip to content

Task board — filtering and scope

Part of task-board. Scope selector, filters, URL state and where they land. Text moved verbatim from task-board; references such as "above" and "below" point into that note or its sibling files.

Filtering and scope

Asked for 2026-09-13: the list on the home page must be filterable — by project, by assignment, and more.

The rule that comes first

Visibility is not a filter. What a person may see is decided server-side from their departments before any filter runs; filters only narrow what they already may see. If a filter widget can reveal a task, the widget has become a permission control, which is how these things quietly break. The default scope for everyone is their own departments; Administration alone may scope to everything.

Scope, then filters

A scope selector first — Mine · My team · Everything I can see — because that is the question people actually ask, and it is server-enforced. Then filters, ANDed together:

Filter Values
Department the departments you hold; Administration sees all
Assignee a person, unassigned, or AI — unassigned needs to be one click, because that is where work rots
Project the plan or note that raised it (source_ref), the SOP check that raised it, or entered by hand
State open · done · dropped, open by default
Due overdue · this week · this month · no date. Overdue is the one that matters and is always offered first
Priority low · normal · high
Text plain search over title and detail

Every filter shows its count, so an empty result is explained before it happens, and an empty list says which filter to clear rather than just being blank.

Two details that make it usable

  • The filter lives in the URL. "Purchasing, overdue" must be a link somebody can send, bookmark, or put in the morning digest. This is most of the value and costs almost nothing.
  • Each person's last view is remembered, defaulting to mine, open, overdue first. On a phone the filters collapse into one sheet with active ones shown as chips.

Where this lands

Kanboard has its own filter language and saved views, which covers the full board. The home board is the narrow, fast view for the question "what do I owe today", and it reads the same data. Both are blocked behind phase 1. Until then the same filters are being added to the admin Tasks card, which exists today, so the register is usable before the board exists.