#1773 make namespaces list all projects inside them
Opened 7 years ago by kparal. Modified a year ago

We started using the taskotron/ project namespace for many of our projects, like:
https://pagure.io/taskotron/libtaskotron
https://pagure.io/taskotron/taskotron-trigger
etc.

But there seems to be no way to list all the project in that namespace. This shows 404:
https://pagure.io/taskotron/

Could you please make a simple list of all projects in that namespace, if a person accesses the namespace URL? Thanks a lot.


Namespace being intentionally optional I do not think this is something we can/want to do, because then what happens when a project taskotron is created?

For this, I would much rather that we rely on the group page: https://pagure.io/group/taskotron

The problem is that there's not always 1:1 mapping between a namespace and the owning group. For example, we have this project in fedora-qa/ namespace:
https://pagure.io/fedora-qa/blockerbugs
because it is our project and we want to have it under fedora-qa umbrella. However, that project is not owned by @fedora-qa group, because we want to have more fine-grained permissions (not everyone from @fedora-qa should be able to commit into it).

The end result it that you can't find blockerbugs when you look into @fedora-qa group listing:
https://pagure.io/group/fedora-qa

But we would like to have a listing of all fedora-qa projects (using the namespace, not the group ownership). It's useful for people to have an idea what we do and where they can participate in, and it's useful for us to have a good overview of all our projects.

Regarding the URL collision, would something like this work?
https://pagure.io/namespace/fedora-qa
(The namespace part on a project page could be clickable and lead to this page). Of course you'd have to disallow namespace as a project name, similarly to group.

Regarding the URL collision, would something like this work?
https://pagure.io/namespace/fedora-qa
(The namespace part on a project page could be clickable and lead to this page). Of course you'd have to disallow namespace as a project name, similarly to group.

Yes this could work, that's also the solution I had in mind but then I wondered about the expectation people may have that from /foo/bar if I access /foo/ I'll see all the projects of that namespace.

If the foo namespace link is easy to find on the page, maybe people will not try to hack the url :-) And if they do, you could show a hint "maybe you meant /namespace/foo URL?" in the 404 page, in case the namespace exists and the project doesn't.

+1 to @kparal here: I've wanted the same thing for a while, for the same reasons (group <-> namespace mapping is not 1:1). Hopefully we'll have time to provide a patch :) this message is mostly just to CC me...

Now that we're using namespaces for pagure-over-dist-git, there's more reason to implement something like this.

Being able to list all modules at https://src.fedoraproject.org/modules would be a boon.

We'll need to make this configurable or to find a way to ensure there cannot be a project named in a same way than a namespace

Can I create project "group/taskotron"? Will it cause end of world? ;)

And why we don't have "rpms" and "modules" groups in dist-git pagure? Should we have them? That probably doesn't make sense ....

Can I create project "group/taskotron"? Will it cause end of world?

You would have to create a group named 'group' first and that's blacklisted (now :))

And why we don't have "rpms" and "modules" groups in dist-git pagure?

You can specify allowed namespace in the config file, that's how dist-git works

Metadata Update from @wombelix:
- Issue set to the milestone: 6.0

a year ago

Login to comment on this ticket.

Metadata