Task #4003
openUser personal repository groups improvements
0%
Description
We have a concept of user namespaces/personal repository groups, they are personal repository groups that allows people to manage they own set of repos.
Current solution has some drowbacks:
personal repo groups are linked by name, so a group marcink with owner marcink is marked as personal group of such user, if anything is renamed we lost the linking.
We should introduce a database link instead. Add migration and add a flag that would mark such group as personal. Identifiing it by firstly OWNER and a flag.we have to make sure personal repo groups cannot be revoked from yourself, only super-admins should allow to disconnect them. If i'm user marcink logged in i shouldn't be able to take out permissions for that group and have it innacessible for myself.
we should expose a link to personal repo group in dropdown under gravatar. So it will have now two entries
My account
My repo groups
the second present if someone have a namespace,
else it should be greyed out and not a link but still presentthere should be a way to define a template for namespaces. A template string would be enough:
user_namespace: /u/{username} (we should expose some other variables like {user_id} maybe {email})
This configurable via web-ifce would allow admin to define one permanent namespace, and each new user in the system would get his group under /u/
We at rhodecode put user namespaces under /u/ repo group, so for us to not have to move created repo group namespaces we need a template so each newly created one goes under the /u/{username}
, a template could be used
the Python String template similar how the clone URL template is made.
This basically solves a lot of problem for us under code.rhodecode.com since new users are not allow to create repos in top-level only in they own namespace, this concept confuses new people and they don't know where they could create forks for contribution.