Hide contractors contacts from clients
Submitted by Ulysses on Fri, 04/04/2008 - 09:39.
Hmmm. Just realised that all our customers have been able to see all the contact details of our contractors working on their projects!!!
I would have thought this would be a basic no-no that would have been thought of.
Can this be optioned or fixed somehow? Or have I mised something?

In the administration section you can review your users profiles, set what project there are allowed to see, and what tools they have (upload files, assign tasks, etc.).
For instance, you can have :
Project 1 -> Anna, Bob, Charles.
Project 2 -> Anna, Charles, Donald.
Bob can only view messages in 'Project 1' and doesn't know that Donald exists.
Is that what you wanted ?
No. I am talking about clients having access to the contact details of our contractors working on their projects.
Clients can see the contractors contact details:
MyContractor
Email address: mycontractor@yahoo.com
Phone number: 23447111
Fax: n/a
Homepage: n/a
Address
n/a
Any ideas on how to overcome this problem? Anyone?
Thanks
This is part of the design for ProjectPier - people should be able to know and contact all the people involved in a project. This facilitates work getting done instead of providing artificial barriers that limit people's effectiveness. If you have a case where you think it is better not to have that information available, we will definitely listen but I haven't come across one yet.
Hello Ryan. The case is simple.
If the business model you have in mind is open source development etc, then, yes, the intention would be perfect. But not every project is open collaboration.
If clients are allowed to deal directly with the owner company's suppliers, then greed says that they will eventually deal directly and not via the owner company. That's business. It happens, and not to minimise it's propensity to happen is bad business.
I suspect the most logical way to overcome this would be to add one extra layer under employees of the owner company, called (say) contractors. This would allow owner company to communicate with his "team" confidentially, and cloak everyone's contact point via the owner company - most likely by using forwarders from temporary company email accounts. Though this would not prevent the contractor from trying to go direct, he has more to lose than the client, who has everything to gain.
Sounds to me like you don't trust the people that you work with - which is a problem that can't be solved with technology. I've worked in the same situations you describe with many subcontractors being used to produce something. Even in those situations, people/clients always find out who's working on their project either directly or indirectly and trying to hide that fact I think simply hinders people's ability to perform. There also tend to be clauses in contracts that aim to prevent what you are worried about. Why set yourself up to be a road toll keeper instead of focusing your efforts on delivering quality and satisfaction?
From a technical point - you can also utilize the privacy setting in ProjectPier to keep certain communications only visible to members of the owner company. In future versions, I am hoping to expand that to allow better control of privacy between other users as well - but I do not think this will involve hiding who is involved in a project.
The question is and was quite simple. Instead of addressing it, you have chosen to lecture me.
It seems to me you have neither grasped the problem I described, nor on the face of it, appear to know much about human nature and/or business yet. If you don't get client supplier confidentiality problems, it may be difficult for you to address such issues in your otherwise tidy script downstream, when it matures into a more complex program. Not that any of that is any of my business of course.
Let me know if and when you do come up with a solution.
Hi Ulysses,
one way to do it would be to modify the views for the user card and the company card to add something along the lines of:
if ($connected_user->getCompany()->isOwnerCompany()) {show the details
} else {
don't show the details
}
Only the users of your company would be able to see the details of other users.
You can also modify it a little further by showing the information of your company's users for everybody and your clients' users information only to your company's users by testing if the requested card is one of one of your users.
Something like:
if ($connected_user->getCompany()->isOwnerCompany() || $requested_card->getCompany()->isOwnerCompany()) {show the details
} else {
don't show the details
}
Of course, the above is pseudo-code. I haven't looked up the real functions. I leave that as an exercise for the reader.
Tim
Thanks for the suggestion Tim.
Given that it's not a particularly complicated script, it's probably a good idea to mod it, at least until an option is incorporated in the script.
Any ideas on how to overcome this problem? Anyone?
The solution is simple. There are two choices you can make:
A) Don't enter contact details for your contractors.
*or*
B) Don't add your contractors to your projects.
And if you want to elaborate a bit, there is a slightly more complicated option:
C) Hire a developer to add in the required functionality.
I actually have to agree with Ulysses's request, although I don't care much for the tone of his last reply.
Contractors are part of the process, and dealing with them in an elegant way would be nice.