Has anyone played around with building a lightweight alternative to civicrm for managing a master contact list via drupal?

I have been playing around with civicrm for about a year and just don't think its the right choice for what we need.

What it does do and we do need is the ability to keep a central list of ALL people - e.g. students, volunteers, employees, suppliers, etc. in one place. And then match that contact record against new user registrations and avoid duplicate contacts when someone you already know about registers on the website. This duplicate avoidance is key if you are hanging interactions and activities off that master contact list item via node reference and want a continuous record of all interactions with that person from before and after they become a website 'user'.

The alternative to civicrm that I am imagining is a "contact as node strategy" that evolves into a "user as node strategy" once the contact becomes a user. I have played around with integrating such a drupal cck type with salesforce.com, hrm, erp financials, etc. and the results are good.

Bulk node import module would enable mass creation of contacts into the cck type. Those nodes could be used by node reference in other cck types and integrate with views for building filtered contact lists, etc. The author of these nodes would get switched if someone in the registration process matched. The node would then be editable for the user going forward. This is the core of the contact as node becomes user as node strategy.

The reasons I have for not going with civicrm on this include:
* civicrm contact form usability vs. cck
* lack of mod date fields on tables make synchronizing updates a headache
* data model hyper-normalization makes integration overly complex (e.g. separate table for email, addresses, phone)
* civicrm data model uses state codes which will create incomplete addresses when integrating with other systems that do not have lookups for states and allow typo's
* overkill with modules we won't ever use
* lack of integration with drupal cck (civinode abandoned)
* lack of flexible integration with views (no filter by tag/no way to leverage views relationships)
* innovation speed slower than drupal scares me that it will eventually not integrate

Given that the "master contact list" is at the very center of the entire architecture, I've always been leery about building it as a custom solution. This was one reason I was originally attracted to civicrm.

Does anyone have any thoughts on this approach? Any other solutions to the core problem?

This kind of approach would also put drupal at the absolute center of an enterprise architecture which could be good for the platform.

Comments

jrambeck’s picture

I am looking into doing the same thing for the same reasons. I will let you know if I end up building it out.

icstars’s picture

great! i'm in process. i'll be logging things here:
http://wiki.icstars.org/index.php/ICS.CRM:Contact_bulkload_to_SalesForce...

i have a basic data definition started and am doing this in conjunction with integration with salesforce.com so the map above contains the salesforce field names as well.

will post back results on this thread.

one snafu right out of the gate is handling the singleton for average users and multiple contact nodes for staff members as well as identifying which contact node for the staff member is actually their contact node. i plan on adding a field called "source" that will handle this.