Skip to content
Hussein Jarrar edited this page Sep 12, 2026 · 2 revisions

A view is a saved query with a display: what items it shows, and how it shows them. Every project starts with four views instead of fixed board and list pages.

What a view is

A view stores an SLQ query that selects items. It also stores a display type — board, list, and so on — plus options for grouping, sorting and layout. Radd has no fixed, separate page for boards or lists: a project's Board and List are views like any other. You can rename a view, change its query, or remove it.

Every new project seeds four views: Board, List, Planning, and Roadmap. Each seeded view is visible to everyone on the server by default, and has no owner. An administrator manages it through the view.update and view.delete permission atoms. The roadmap has its own page: read The roadmap.

View types

Type What it is for
Board Items in groups you drag between, one card per item
List Items in a table, grouped into sections, one row per item
Planning Backlog and cycle planning — always grouped by cycle
Queue A triage list with a fixed column set: reporter, age, and an always-on SLA timer, ordered by urgency
Roadmap A timeline — read The roadmap

A board view, grouped into state columns Triage through Canceled, with a card per item and a page count at the top right

A board view. Columns come from the default state grouping; the pager at the bottom is the same one every view type uses.

A list view grouped by epic, with columns for issue type, labels, team, priority, assignee, progress and state

A list view. Its stored query and epic grouping show in the header; rows carry the columns set in the display options.

A planning view: a flat Backlog section of items with priority, assignee and state columns, no board columns

A planning view. It ignores the Columns and Swimlanes axes and always groups by cycle — here the whole result set sits in one Backlog section.

A plugin can add its own view type. A view whose type comes from a plugin that is turned off, or removed, shows a notice instead of the surface.

Create and save a view

  1. Open a project, then click New view in the sidebar.
  2. Type a Name and select a Type.
  3. Set a query, grouping and sharing.
  4. Click Create view.

To change a view later, open its menu and click Edit view. A save needs one of these: ownership, an editor or owner-level share, or (for a server-managed view) the view.update permission atom.

The Edit view dialog for a Board: Name and Type fields, the Query text area with an empty-query hint, Columns set to State and Swimlanes set to None, quick filters, and a Sharing section set to "can view" for everyone on the server

The Edit view dialog. The same form creates a view; only the ownership transfer control is edit-only, since it needs a view to already exist.

The filter bar and how a view stores its query

The header of a List view: the RADD project chip, the List name, a globe icon for a shared view, a pin icon, the stored query truncated to "kind != epic AND (epic.categ…", the item count, and the Order and Display buttons

A view's own header. The small query chip is the view's stored query — truncated here, hover it to read the whole thing.

A view's query field holds SLQ text. Read Search and the query language for the language itself. An empty query matches every item in the view's scope.

The bar at the top of the screen is a separate, ad-hoc filter. It does not change the view's saved query. Instead it composes with it: your condition ANDs into the fetch, and an ORDER BY you type replaces the view's own sort. Clear the bar, and the view reads exactly as saved.

A view can also carry quick filters — named chips that AND a fixed condition into the query when clicked. Anyone who can see the view sees its quick filters. Your own personal filters work the same way, but stay private to you. Save the current ad-hoc query as one from the filter bar.

Grouping and swimlanes

The Columns picker sets group_by, the field a view groups items by. The Swimlanes picker (boards only) adds a second axis across rows, and must differ from Columns. Both draw from the same set: state, the state's category, assignee, priority, kind, team, cycle, epic, or a select-type custom field.

A board with no Columns axis falls back to grouping by state. A planning view always groups by cycle. A queue never groups — the axis pickers do not apply to either.

Drag an item between groups to change its field for that axis. Click Order to change the order groups appear in. Radd saves that order on the view, so everyone sees the same arrangement.

Sorting

By default a view sorts by manual rank, and you can drag items to reorder them. Add an explicit ORDER BY to sort by a field instead. Put it in the view's own query, or in the ad-hoc bar. Drag-to-reorder turns off while an explicit sort is active.

The display options

Click Display to open the display options. What it offers depends on the view type:

View type Display controls
Board Design card…, which opens the card designer — read The card designer
List The Columns editor: which table columns show, and in what order
Planning, Queue Checkboxes for which chips show on each row

A Scale slider is always available. Scale is personal: Radd does not save it to the view, so it never changes what a teammate sees.

The Display popover on a board view: a Card layout section with a Design card… button, a Scale slider set to 100%, and a Reset to defaults button

The Display popover on a board. On a board it opens straight into the card designer instead of offering checkboxes — read The card designer.

Pagination

A view loads 200 items per page. Controls at the bottom move first, previous, by page number, next, and last. The roadmap is the one exception: it loads every matching item automatically, in bounded bursts — read The roadmap.

View scope

A view belongs to one project, or to none. An all-projects view spans every project you can read. A project-scoped view lives at /p/<project key>/v/<view id>. An all-projects view lives at /v/<view id>.

Sharing a view

A new view is owner-closed by default: private to its owner until shared. A share sits at one of three levels.

Level Grants
Viewer See the view and its items
Editor Also change the view's definition — query, grouping, columns, card layout
Owner (co-owner) Also manage sharing, remove the view, and transfer ownership

The levels are hierarchical: editor includes viewer, owner includes editor. Share a view with a specific person, a team, or a directory group. Select any of these levels — sharing is scopeable to exactly who needs it.

You can also set what everyone on this server gets: viewer or editor. Owner never appears here — a server-wide owner could remove or transfer the view. Server-wide visibility needs the view.create permission atom, even for a view you own.

An owner can transfer ownership to someone else. The previous owner stays on as an editor, so a transfer never locks anyone out by accident.

Pinning a view

Click the pin icon next to a view's name to pin it. It appears in the pins bar at the top of the screen, for quick return later. Pins are personal to you.

URL-synced state and Reset view

The ad-hoc filter bar, active quick filters, and the current page number live in the page's URL, not in local storage. A refresh keeps them. Send the link to someone, and they see the same filtered view, in their own browser.

Past 180 characters, the URL collapses to a short ?s=<hash> link — it no longer spells out every filter. That short link only resolves in the browser that created it. In another browser, it falls back to the view's saved defaults, instead of an error.

Click Reset view to clear the ad-hoc filter bar and active quick filters. It also clears this view's saved display settings — collapsed groups, card scale, panel widths — back to the view's own definition.


Mirrored from project.radd-hq.com on 2026-09-12. Documentation is written there; this copy is regenerated by scripts/publish_wiki.py and hand edits do not survive it.

Clone this wiki locally