Project board card filtering #9850

Closed
opened 2025-11-02 08:51:18 -06:00 by GiteaMirror · 2 comments
Owner

Originally created by @techknowlogick on GitHub (Nov 17, 2022).

Originally assigned to: @lafriks on GitHub.

Feature Description

As a developer of a large software project I’d like to be able to filter project boards to see the status of tickets that are relevant to my contribution area. A real life example would be: If we had a project board for a specific Gitea release, and my area of focus was the project board feature, I could use this filtering to track the status of tickets for the project board with still being able to have an overall board that a release manager would be able to have a fuller view.

Screenshots

Mockups of what this might look like are:
board1
board2

By default all issues would appear on the project board, however if you’d like to only have issues with a specific label (or multiple labels) you could either click on the label attached to the card, or use the multi-select dropdown. Once a label (or multiple labels) has been selected, then only the issues with those labels would show (as seen in the second screenshot).

In Gitea currently, this filtering exists on the issue/pr list pages, and generates a URL that can be shared to show others the filtered view (or bookmarked for quick access).

Other implementations:
In GitHub's project boards, they have a search box that allows for the same filtering that they have on the issues/pr list.
image
image

You can read more about their filters here:
https://docs.github.com/en/github-ae@latest/issues/organizing-your-work-with-project-boards/tracking-work-with-project-boards/filtering-cards-on-a-project-board

JIRA also has filtering based on a query language for their project boards

Implementation Details

The filtering for issues would be in the ViewProject function (https://github.com/go-gitea/gitea/blob/main/routers/web/repo/projects.go#L275), and the filtering concept could be taken from https://github.com/go-gitea/gitea/blob/main/routers/web/repo/issue.go#L263

There is a difficulty though, when items on the board are moved, they send a request to the "move" endpoint, and that request contains the sort and location of each issue in the board, but if the server side filtering is applied, then the issues that are filtered out wouldn't be included. A quick/naive way to address this, would be to apply the filtering client side.

Originally created by @techknowlogick on GitHub (Nov 17, 2022). Originally assigned to: @lafriks on GitHub. ### Feature Description As a developer of a large software project I’d like to be able to filter project boards to see the status of tickets that are relevant to my contribution area. A real life example would be: If we had a project board for a specific Gitea release, and my area of focus was the project board feature, I could use this filtering to track the status of tickets for the project board with still being able to have an overall board that a release manager would be able to have a fuller view. ### Screenshots Mockups of what this might look like are: <img width="1424" alt="board1" src="https://user-images.githubusercontent.com/164197/202363689-8ddf6460-0841-4021-b29c-3d6ddd6e3e4e.png"> <img width="1424" alt="board2" src="https://user-images.githubusercontent.com/164197/202363712-50fd2b6d-d4ba-45ea-b1fb-89a6b433ad46.png"> By default all issues would appear on the project board, however if you’d like to only have issues with a specific label (or multiple labels) you could either click on the label attached to the card, or use the multi-select dropdown. Once a label (or multiple labels) has been selected, then only the issues with those labels would show (as seen in the second screenshot). In Gitea currently, this filtering exists on the issue/pr list pages, and generates a URL that can be shared to show others the filtered view (or bookmarked for quick access). Other implementations: In GitHub's project boards, they have a search box that allows for the same filtering that they have on the issues/pr list. ![image](https://user-images.githubusercontent.com/164197/202364148-65c82487-e2ef-48d0-a13f-f7de93eeae51.png) <img width="463" alt="image" src="https://user-images.githubusercontent.com/164197/202364200-16ff3338-826a-4880-9fe5-5b6625f15602.png"> You can read more about their filters here: https://docs.github.com/en/github-ae@latest/issues/organizing-your-work-with-project-boards/tracking-work-with-project-boards/filtering-cards-on-a-project-board JIRA also has filtering based on a query language for their project boards ### Implementation Details The filtering for issues would be in the `ViewProject` function (https://github.com/go-gitea/gitea/blob/main/routers/web/repo/projects.go#L275), and the filtering concept could be taken from https://github.com/go-gitea/gitea/blob/main/routers/web/repo/issue.go#L263 There is a difficulty though, when items on the board are moved, they send a request to the "move" endpoint, and that request contains the sort and location of each issue in the board, but if the server side filtering is applied, then the issues that are filtered out wouldn't be included. A quick/naive way to address this, would be to apply the filtering client side.
GiteaMirror added the topic/projectstype/proposaltype/feature labels 2025-11-02 08:51:18 -06:00
Author
Owner

@KlavsKlavsen commented on GitHub (Jul 19, 2023):

This seems to be a duplkcate of https://github.com/go-gitea/gitea/issues/14670 ?

@KlavsKlavsen commented on GitHub (Jul 19, 2023): This seems to be a duplkcate of https://github.com/go-gitea/gitea/issues/14670 ?
Author
Owner

@almereyda commented on GitHub (Nov 9, 2023):

Grouping cards by a certain property to display them visually distinct in Swimlanes seems to be a different, but related idea than not displaying cards that do not match the filter.

The present PR in #27117, which supersedes #21963, seems to address the filtering case as expected and is currently undergoing review.

@almereyda commented on GitHub (Nov 9, 2023): Grouping cards by a certain property to display them visually distinct in Swimlanes seems to be a different, but related idea than not displaying cards that do not match the filter. The present PR in #27117, which supersedes #21963, seems to address the filtering case as expected and is currently undergoing review.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/gitea#9850