Hi there,
I have played around with a toy account and believe I figured out how to accomplish what I need, but it seems incredible cumbersome for something that should be a pretty standard task. So I hope I have misunderstood something or at least there are some means for making the task simpler.
We have a few internal projects and several customer projects, all of which our own developers should be able to work on. We would like the individual customer to be able to access their respective customer projects - for simplicity (?) let's say they should have access as our own developers but only to their own projects. That is, the customer should be able to create work items, change state and browse work items. Each customer should be confined to only see the project(s) the given customer is associated with and not know about the other projects, even their names and existence.
Apparently this is not something that is supported out of the box, I tried to follow the basic user management tutorial and figured out the below is probably the way to do it (although there is not much explicit information on the exact problem).
So I went ahead and created the following test items:
- two projects "Customer A Project" and "Customer B Project"
- two users "Customer A User" and "Customer B User"
- two groups "Customer A Group" and "Customer B Group"
- two permission schemes "Customer A Permission" and "Customer B Permission"
I setup permissions and associations:
- granted all permissions but "Administer projects" to each scheme
- added the A and B users to the A and B groups, respectively
- associated the A and B groups to the respective permission schemes
- removed the customer users from the default "Users" group.
Apparently I now have the isolation and privileges needed.
But does it really need to be this complicated? Is there some fundamentally different thing I could do instead, for instance using roles (could not see how)?
If this is indeed the way to go, isn't there some kind of template or macro like way of simplifying or automating the procedure? Or do we have to manually walk through all the steps for each of the customer specific projects?
Thanks for any hints and/or pointers to documentation!
Ulrik