I'm looking at setting up an intranet with a CRM-like feature. CiviCRM and some of the modules are great, but a bit complex for my needs. I'm looking to create a setup where a small group of users (about 10-15) have access to contact and lead tracking data for companies and individual contacts. I really only need some simple fields for email, phone, and "summary/actions taken" field that shows what the status is with that contact and whoever has contacted them. When locations is up for 5.0 I'd add that so we can map the contacts and do radius searches.

I think I have a good handle of how to do the contacts as CCK nodes, but my one question is how should I relate the contact nodes to their companies and how should I relate the users within my company to contacts they are in touch with. Use taxonomy for each company, tags, node relativity module, cck node reference? The one thing I do want to avoid is forcing a user to create two nodes, on two forms whenever they create a new contact record--one for the individual, and one for their company.

I don't expect people to necessarily answer my specific questions, but would love to hear what others have done and recipes you have for using drupal to create a simple shared contact database.

Comments

jon pugh’s picture

You want to think about your content structure first and your display and usability second. You're not gonna get multiple contact information forms on one page, for example, without so me custom coding, or you could add multiple sets of contact info into your CCK node type, but then you would be limited and overloaded with complexity. I believe there is some kind of module that will allow you setup a multi-node add step/ workflow thing.. but i am having a hard time finding it right now.

I would setup these content types: contact, contact address, and company. Put company nodereference fields in contacts, and contact nodereference fields in contact address.

You might even be able to use comments to have users post actions taken on each contact.

To pull it all together into a usable interface, you'd want to use views. check out my last comment here talking about how to setup a view that displays as a tab under a node: http://drupal.org/node/112580#comment-193198

__________________________
Jon Pugh
ThinkDrop Inc
https://devshop.support
https://thinkdrop.net
https://twitter.com/jonpugh