Task #4003
Updated by Marcin Kuzminski [CTO] about 8 years ago
We have a concept of user namespaces, they are personal usergroups that allows people to manage they own set of repos. Current solution has some drowbacks: - personal usersgroups 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 link it properly by a FK (can be null) - we have to make sure personal repogroups cannot be revoked from yourself, only super-admins should allow to disconnect them. If i'm marcink 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 namespace in dropdown under gravatar. So it will have now two entries `My account` `My namespace` the second present if someone have a namespace, else it should be greyed out and not a link but still present - there 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} {email}) {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/<username> 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 tempalte 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.