go-gitea / gitea

Git with a cup of tea! Painless self-hosted all-in-one software development service, including Git hosting, code review, team collaboration, package registry and CI/CD
https://gitea.com
MIT License
44.18k stars 5.42k forks source link

Global issues search #2434

Open lunny opened 7 years ago

lunny commented 7 years ago

Currently we have issues where you can find all your related issues. But when the issues are too much, maybe you want to search them.

kolaente commented 6 years ago

It probably is very inperformant, to go through every issue when you issue a search, so: should we cache? (And how?)

Caching would probably mean to put every issue in a redis/memstore with everything that belongs to it.

stevegt commented 6 years ago

Caching may be needed in some cases, but I wouldn't bother with it for a first implementation. A gitea instance run by an individual or small organization may not have enough issues in their db to cause a problem. If performance is still a concern, make global search an admin tool only, or add a config option to turn the global search feature off.

In my own case, global issue search is one of the first things I went looking for, which led me here. Seems like a gitea admin would need at least a global view of issues, similar to the global view of repos in /admin. Among other things, this would allow them to see how well gitea is being adopted so they can help bring project teams up to speed.

stevegt commented 6 years ago

3841 (possible dup) discusses how the web frontend for this might look.

scullhead commented 6 years ago

Here is my content from the issue #3841

Description

When you are on the "issues" tab of a repository you have a search input field where it is possible to search for a text in all issues of this repo.

When you klick on "Issues" in the global navigation menu of gitea it shows a list of all issues from all repositories (if they are public). It would be very useful if there was also a search input field to search over all public issues.

gitea_issues_global_search

stevegt commented 6 years ago

Here's a possible workaround until global issues search is available, but it only really works for new installs and internal teams: Our local Gitea install so far hosts dozens of projects and growing. Early on, we realized that we need to be able to see who is working on what in some global way to keep interns from running out of things to do. ;-)

As a workaround, we've wound up filing all issues for all projects in one general/issues repository instead of in their proper repos -- not great, but at least it gives us a quick way to see issue lists by assignee.

stale[bot] commented 5 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs during the next 2 weeks. Thank you for your contributions.

lunny commented 5 years ago

We need a search result UI design.

stale[bot] commented 5 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs during the next 2 weeks. Thank you for your contributions.

jag3773 commented 5 years ago

Signalling that this is a desired feature by many of our users. We are working on several projects that make heavy use of issues and it would be really handy to be able to search across all of them.

lunny commented 5 years ago

Where is the best place to put the search box?

guillep2k commented 5 years ago

/issues sounds good. EDIT: the first comment has a good picture of what could it look like.

lunny commented 5 years ago

@guillep2k That design is good but I don't think that's the best place. A search box on /issues will let you think that the search scope is all issues related you but not all the sites.

guillep2k commented 5 years ago

@guillep2k That design is good but I don't think that's the best place. A search box on /issues will let you think that the search scope is all issues related you but not all the sites.

They will be related to me because they will be the issues I can see. e.g. "Issues you have access to".

Check this picture; adding "All issues" can help convey the idea.

image

lunny commented 5 years ago

Then the repositories on the left corner when you checked all repository maybe a large list.

jag3773 commented 5 years ago

@lunny That's exactly why a global search is an essential feature!

bhalbright commented 4 years ago

I'm probably missing the whole picture, but in https://github.com/go-gitea/gitea/pull/7901 I am attempting to add an endpoint to search issues across repositories (i.e. the repositories the user has access to). Just wanted to comment because perhaps it could be of use here. However, I put the endpoint under repos like for example: /api/v1/repos/issues/search?q={query}

guillep2k commented 4 years ago

@bhalbright Perhaps it should not be under /api/v1/repos if it's not searching inside a particular repo? @lafriks ?

bhalbright commented 4 years ago

@guillep2k I think I did it because all the "issues" api endpoints seemed to already be under /repos but I can see where this one might be debatable. For example from the swagger doc (the first in the list is the one I added in the #7901 PR)

image

bhalbright commented 4 years ago

Just dropping a note that I'm going to work on an attempt at this based on the ui design by @scullhead and @guillep2k

lunny commented 4 years ago

@bhalbright The permission check with pagnation is something we need pay attention to.

6543 commented 4 years ago

I think a global issue search should be here: Bildschirmfoto zu 2020-01-14 20-40-48