Views, as the sites run them

Five of the more complicated views the sites run, rebuilt here out of dummy data: the task list of "contrib" at /tasks, a content overview, the course search of "classes", the chores dashboard of "inventory" and the project grid of "portfolio". Between them they cover what the simpler example does not -- a view over a search index, a link from one display to another, rows rendered inline and separated rather than stacked, a bulk form and an operations dropbutton in a sortable table with columns that drop out on a narrow screen, an exposed form that submits itself, and a responsive grid with no pager under it. Each one is a real view, built in memory from the display options the site runs and never saved, so the markup is what the views render pipeline really produces. Each lists two dummy rows instead of a result set, and the query is built but never sent: applying a filter or a sort no longer changes what is listed, and the widgets are here to be themed rather than used. The pagers are told the query matched more rows than are listed, because a pager with a single page renders nothing, and every link of a view -- between its displays, under its pager, out of its rows -- comes back to this page or lands nowhere.

Task list

The task list of the "contrib" site, at /tasks. A view over a search index rather than over a table, whose exposed form is built by Better Exposed Filters and holds a single full-text box. The header carries a link to a second display, the rows are unformatted with a class of their own, and the first four fields are rendered inline and separated with a pipe, so a row is one paragraph rather than a stack. The site also exposes a facet beside the search box; facets are not installed here, so that one filter is missing and everything else is as the site runs it.

Mantra Theme | Refinement
The card component takes a heading level it never uses, and the variant class is applied twice. Neither is visible, and both are in the way of the next change to it.
2 days ago | Components, Front end
Mantra Starter | Bug
The border of an autocomplete field disappears once the dropdown is open, because the open state resets the border rather than the outline.
6 days ago | Forms

Content overview

The content overview, which most of the sites run some version of. It is the densest back-office table there is: a bulk form putting a checkbox in every row and an action select above them, a sortable header, two columns that drop out on a narrow screen, an author read through a relationship, a published status exposed as a grouped filter, and an operations dropbutton at the end of each row.

Title Content type Author Status Updated Sort ascending Operations
Clean up the card component Issue Ada Lovelace Published
Autocomplete loses its border Issue Grace Hopper Unpublished
Perform actions on the selected items in the Content view
No items selected

Course search

The course search of the "classes" site. The same kind of view as the task list and a different exposed form: the sorts are exposed as well as the filters, so the form holds a "Sort by" and an "Order" select beside the search box, with a reset button after them and a result summary above. The rows carry a highlighted excerpt, which is the field a search view has and an ordinary view does not.

Chores dashboard

The chores dashboard of the "inventory" site. A table again, but a front-end one rather than an administrative one: no bulk form, no operations, and an exposed form that submits itself. Better Exposed Filters hides the Apply button when it does that, which leaves a submit button in the markup that is only there for whoever has no JavaScript.

Everything that is due, oldest first.
ID Chore Frequency Location Last done Sort descending
900201 Replace the filter in the extractor Every six months Kitchen 14 Feb 2026
900202 Bleed the radiators Yearly Whole house 3 Oct 2025

Project grid

The project grid of the "portfolio" site: the one view here that is neither a table nor a list. The responsive grid style wraps the rows in a grid of three columns that collapses on a narrow screen, and there is no pager under it, so the markup is the grid and nothing else.

Everything finished, most recent first.
Wayfinding for a teaching hospital
St Aldate's Trust
March 2025 – November 2025
A signage and screen system for a site that had grown across nine buildings, rebuilt around how people actually arrive at it rather than around how it was built.
Catalogue for a seed library
Cold Frame Collective
January 2026 – ongoing
Eleven thousand varieties, photographed and described by volunteers, behind a search that has to work for someone who knows a name and someone who only knows a colour.