Hello all. I'm new to Drupal but not new to programming. Here's what I am trying to do:

I want to use Drupal to build a sort of customer management system. For now this is just trying to see if I can do it.

I want to have the following types of nodes:

- Person (just has fields for first name, last name, maybe date of birth)

- ProjectProposal (fields such as description and cost. Should be associated with a single Person node)

- Address (street name, city, etc. Associates w/ a Person AND/OR a ProjectProposal, a Person or ProjectProposal should be able to have more than one Address).

I wand to build these sorts of many-to-many relationships between models (node types). I also want to be able to somehow build several nodes at once (for example, say i'm adding a new customer, i want to be able to add one or more new addresses at once which will then become separate but referenced nodes.)

I guess I am trying to see if I can use Drupal to build a simple CRM. It seems like it's possible but the node references are not very clean. Further, if I have hundreds of addresses, it can get difficult to select an individual one.

I'm asking for advice from anyone who has built somethign like this. What steps did you take? What modules did you use? Do you have any tips?

Thanks.

Comments

matt_harrold’s picture

Have a look at the following modules:

Location, Node Location Relationship, Node Reference Create, and Prepopulate.

I've built a similar site in Drupal for my business. I didn't create a content type for Address though ... I didn't see the need for it (check out those modules).

I made two extra content types (other than Person, Organization, Resource and Project) called RelationshipType and Relationship. I use these Relationship nodes to store Node References between People and Organizations so I can track employees, partners, clients, vendors, etc.

The whole site seems overly complicated on first glance ... but using the Prepopulate module and a few hand coded blocks ... creating new content and linking it to other nodes has become very efficient and extremely flexible.