CiviCRM is an open source constituent relationship management system that works very well with Drupal (as well as with Joomla! and stand-alone). Where Drupal concentrates on content management, CiviCRM shines at managing contact interactions. CiviCRM data can be accessed using some existing modules, but it would be great to see more robust support for accessing CiviCRM data using Views.
Views allows relationships between defined between tables in order to allow fields in these related tables to be properly presented in views. I'd like to suggest adding views support to the civicrm module, so that information about CiviCRM contacts who are not Drupal users can be displayed in Views, and so that other information about them including their activities, memberships, events, etc can also be pulled into Drupal views. Some tables that define objects like events and memberships would also need to have Views support created for them.
This is more than a single week of work, obviously. Perhaps a good SoC project could hive off a nice chunk that could provide a model for further work. For example, providing support for contact info and activity history and related tables.
Comments
Sounds nice
Sounds like a nice idea. I'd love to see this happen.
Erik Britt-Webb
drupal@ebrittwebb.com
i've only ever discovered
i've only ever discovered how to display nodes with views - is that just my lack of knowledge/experience? or can you do users as well?
in which case, since civicrm id's normally only map to user ids, you'd need to use civinode or some equivalent to add a relationship with a node to turn it into a view, and the views functionality should logically reside with civinode (or whatever module is defining the corresponding nodes).
thinking further though ... the civicrm data that you want in your views is usually for civicrm ids that don't have corresponding user ids (e.g. organization civicrm entitities). I wonder if that drupal user id in civicrm could be used optionally to map to a node id (or more sensibly, add another field in civicrm that would be an external CMS non-user id, left to the function of the CMS). With that kind of support in CiviCRM, the whole civicrm id -> drupal node mapping would be on a more robust footing (ie. with hooks for syncing data in both directions).
CiviNode?
Doesn't CiviNode already handle this? If not, where does it fail?
I haven't tried it yet myself, but I was planning on adding it to a site in a week or two to pull some data into views.
views 2?
i've just had a chance to try out views 2 for Drupal 6, and one of the enhancements is to handle users and comments and other non-node drupal things. I'll wager that the framework is flexible enough that you'll be able to do views with things that Views doesn't even know about -- in this case, what you really want is to be able to manipulate views of contacts, which don't have an existence in Drupal outside of CiviCRM. This would be wonderful - enough of the sync'ing headaches!
So, I think that's the platform to target, once CiviCRM 2.1 is out (the first release to support Drupal 6).
CiviCRM 2.2
Excellent movement on this with CiviCRM 2.2's support for Views2.
Joe Murray
Joe Murray