Project

General

Profile

Task #4003

Updated by Marcin Kuzminski [CTO] about 8 years ago

We have a concept of user namespaces/personal repository groups, namespaces, they are personal    repository groups usergroups that allows people to manage they own set of repos. 

 Current solution has some drowbacks: 
 - personal repo groups 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 add a flag that would mark such group as personal. Identifiing link it properly by firstly OWNER and a flag. FK (can be null) 

 - we have to make sure personal repo groups repogroups 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 namespace in dropdown under gravatar. So it will have now two entries `My account` `My repo groups` 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} 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/<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 template 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