I built an EE solution for this kind of thing for my own purposes. It’s not as feature-rich as you describe in your first post but it gets the job done. It’s more of a client management system rather than a project management system.
Basically, it doesn’t server any internal development purposes. But it does a fairly good job is keeping the client informed and giving them some tools to make payments / support requests.
I have the following sections:
Payments: using Simple Commerce. I post payments to each client’s account as I need to. The payments only show for 1 purchase, so it tracks what is paid and what isn’t. Pretty crude system, but again, serves my purposes for the time being.
Schedule: 1 entry per planned “milestone”.
Design Review: 1 entry per new “demo” that I make available to the client. The publish form for a new entry in the “review” weblog has 4 custom fields for possible questions I want to ask to solicit specific feedback on any particular aspect of the design. It also has 4 custom fields for possible answers. I, of course, don’t enter the answers. Then on the page, (using Solspace’s Form Helper plugin), I let the client edit/add answers into the answer fields (and only the answer fields).
Documentation: Instructions for client’s site. Usually one entry per topic. Some are generic that are shown to all clients, some are client-specific.
Support System: A system inspired by the EE one. Each “ticket” is an entry made by the client via SAEF. I have it set to email me once a support ticket is added. I then log in, open up that entry to edit it and I can add a comment (possible solution, explantion, time frame to fix etc…), who the problem is assigned to if it needs to be fixed, etc… Further communication on the issue is made through the comments to that entry.
The key of course is to control who sees what—or rather, that a client only can access his/her information. The way I choose to tackle this is to have all clients part of the same member group. Members in that member group are then added to the author drop-down on the Publish page. I then choose whichever client that particular entry should be restricted to as the author. In my template, I restrict weblog:entries to posts where the logged in user is the author.
One limitation is that each client can only have one member account. For clients that have multiple contact people, that have to use one account. This has worked alright for me but I can imagine instances where it won’t.
With all that said, I still find the system to be a bit crude. There are probably more intuitive ways of doing things. I only started using EE a few weeks ago. Haven’t quite wrapped my head around relationships. That might be a better option that some of what we use.
I’d also like to make the payments section more feature rich with increased PayPal features and centrally located client communication (currently all done externally).
My solution? I’ve started a custom CI-based solution. The goal is to first, and most importantly, get well versed on CI for the EE 2.0 release so that I have a running start on finally implementing some of our oft-requested features with the CI framework and end up with a useful PROJECT management system.