Project

General

Profile

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. 

Back