By nicopepe on
Hello,
I would like to developp a link between Drupal and CiviCRM. Each time there
is a civiCRM contact created/updated, i would like to create/update a drupal
node. I am a bit new with civiCRM and Drupal, but i want to challenge this.
Please any help how to implement this. Which module, file or function should
i consider to look at first ? Any idea of a plan ?
Thank you for your shared ideas.
Nicolas
Comments
Why do this?
Nicolas,
There are certainly ways to do this (there's a set of hooks you can get CiviCRM to call), but it depends upon what you're doing: it may not be worth your while. The one reason you might actually want to do it, though, would be speed.
Mirroring anything can be a pain, since making sure that things stay in sync is not so easy: you have to mirror from Drupal to CiviCRM, and from CiviCRM to Drupal. Without getting into loops or deadlocks.
Rob Thorne
Torenware Networks
http://www.torenware.com
Rob Thorne
Torenware Networks
Use cases for this
Here are some use case that would be relevant.
Use Drupal's taxonomy functionality to classify, search, etc. contacts.
Use subscription functionality to be pushed CRM record changes.
Associate content with contacts.
Associate uploaded files with contacts.
Vote on contact records (A community directory of Drupal vendors, for example)
Rate contact records.
Location and mapping functionality for contacts.
Comment on contacts.
Free tag contacts/ create tag clouds of contacts.
You get the idea. :)
David Geilhufe
Social Source Foundation
Try CiviCRM http://www.civicrm.org/
Flexinode with a twist?
OK, I see a bit where you guys are going.
Suppose we just sort of "shadowed" the nodes: meaning, we create a node type that can be accessed via a drupal path, but "maps" to a CiviCRM object. This would allow you to build a Drupal UI to a CiviCRM object, which I can see would be useful for a lot of things.
It does sound a bit like some of the custom node types, though. I don't know much about CCK. But suppose you took flexinode, and connected it to CiviCRM as a back-end, rather than Flexinode's rather funky data store.
That would solve the biggest problem with the mirroring approaches: that it would be hard to build the page without coding.
Heck, I'm a consultant. If someone will pay me by the hour to do it, I'm happy to look into it :-)
Rob Thorne
Torenware Networks
http://www.torenware.com
Rob Thorne
Torenware Networks