Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Project board card filtering #21846

Closed
techknowlogick opened this issue Nov 17, 2022 · 2 comments · Fixed by #31999
Closed

Project board card filtering #21846

techknowlogick opened this issue Nov 17, 2022 · 2 comments · Fixed by #31999
Assignees
Labels
topic/projects type/feature Completely new functionality. Can only be merged if feature freeze is not active. type/proposal The new feature has not been accepted yet but needs to be discussed first.

Comments

@techknowlogick
Copy link
Member

techknowlogick commented Nov 17, 2022

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.

@techknowlogick techknowlogick added type/proposal The new feature has not been accepted yet but needs to be discussed first. type/feature Completely new functionality. Can only be merged if feature freeze is not active. labels Nov 17, 2022
@KlavsKlavsen
Copy link

This seems to be a duplkcate of #14670 ?

@almereyda
Copy link

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 up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
topic/projects type/feature Completely new functionality. Can only be merged if feature freeze is not active. type/proposal The new feature has not been accepted yet but needs to be discussed first.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants