CiviCRM Community Forums (archive)

*

News:

Have a question about CiviCRM?
Get it answered quickly at the new
CiviCRM Stack Exchange Q+A site

This forum was archived on 25 November 2017. Learn more.
How to get involved.
What to do if you think you've found a bug.



  • CiviCRM Community Forums (archive) »
  • Old sections (read-only, deprecated) »
  • Support »
  • Pre-installation Questions (Moderator: Dave Greenberg) »
  • Loosening the integration
Pages: [1]

Author Topic: Loosening the integration  (Read 1339 times)

judgej

  • Guest
Loosening the integration
August 23, 2010, 07:03:00 am
One of the big issues for us, when specifying a CRM for a client, is the fact that CiviCRM is so tightly bound to one of two CMSs - Joomla and Drupal. We never roll out either of these (one is too inflexible and cannot easily to customised to our needs, and the other is too flexible and requires an enormous learning curve to get into).

I realise there is talk of integrating CiviCRM into Wordpress, but I am wondering if this is the right approach?

Instead I would suggest a better approach would be to uncouple the integration. Create an "integration API" that allows a CMS to integrate. The API and everything on the CiviCRM side would be identical regardless of what CMS it is being used with. What communicates with the API would be custom written for each CMS.

I do not fully understand exactly where the binding occurs between CiviCRM and Drupal/Joomla, but I am sure this kind of approach would be possible. If the application were taken in this direction, it would also help to take load off the development team, as the integration modules in the third party CMSs would also be maintained by third parties.

Can anyone point me in a direction that would blow this idea out of the water, or otherwise?

-- Jason

judgej

  • Guest
Re: Loosening the integration
August 23, 2010, 07:08:02 am
I think my question is more about the future architecture of CiviCRM than a pre-installation question. I'm just exploring an idea to see how it meets current and future plans for CiviCRM, or whether I am completely wide of the mark.

-- Jason

Donald Lobo

  • Administrator
  • I’m (like) Lobo ;)
  • *****
  • Posts: 15963
  • Karma: 470
    • CiviCRM site
  • CiviCRM version: 4.2+
  • CMS version: Drupal 7, Joomla 2.5+
  • MySQL version: 5.5.x
  • PHP version: 5.4.x
Re: Loosening the integration
August 23, 2010, 07:38:56 am

Jason:

The integration layer between CiviCRM and the CMS is very thin and quite independent of the CMS (for the most part). There used to be a "standalone" version till v3.1 which we discontinued

I do think one of the biggest advantages of CiviCRM compared to other CRM's (salesforce, sugar, kintera etc) is the integration with the CMS. With the drupal integration the ability to use features and modules like: Views2, Permsisions, Roles, Organic Groups is the killer-feature (IMO)

You can always install CiviCRM with a plain drupal integration to begin with (and host your website using your favorite CMS). This is relatively easy and at some point you can decide if you want to switch

for the short/medium term, we dont plan on changing this approach. However we will definitely be able to work with folks who want to do this and make changes to core as needed

lobo
A new CiviCRM Q&A resource needs YOUR help to get started. Visit our StackExchange proposed site, sign up and vote on 5 questions

judgej

  • Guest
Re: Loosening the integration
August 23, 2010, 07:49:07 am
lobo,

Thanks for the insights. It all helps to put the picture together.

Quote from: Donald Lobo on August 23, 2010, 07:38:56 am
The integration layer between CiviCRM and the CMS is very thin and quite independent of the CMS (for the most part).

Is there any technical documentation that covers this integration layer? Anything you could point me towards would be much appreciated and useful.

I suspect the approach we would need to take, in the short term at least, would be to install against Drupal and then use existing APIs (of CiviCRM and possibly of Drupal) to integrate with our CMS and any additional applications we use. Drupal development is just not something we want to get into, as we have invested training and learning in other web platforms. But I accept we don't all get what we wish for ;-)

The strength of CiviCRM to us is its the focus. Every other CRM we have looked at just shouts SELL! SELL! SELL! at every level of user interaction. We are looking for a system that is focused more on managing the interactions between organisations and its members, rather than just looking to sell to prospects. Membership fees and events are always a great feature that clients are looking for. I guess it is closer to MRM (Member Relationship Management) that we are looking for, but that tends to be supplied only as [very expensive] proprietary installations, so far as I can see.

-- Jason

PS I have played with the standalone version a while ago, but only just noticed the note about its discontinuation recently.
« Last Edit: August 23, 2010, 07:56:48 am by judgej »

Donald Lobo

  • Administrator
  • I’m (like) Lobo ;)
  • *****
  • Posts: 15963
  • Karma: 470
    • CiviCRM site
  • CiviCRM version: 4.2+
  • CMS version: Drupal 7, Joomla 2.5+
  • MySQL version: 5.5.x
  • PHP version: 5.4.x
Re: Loosening the integration
August 23, 2010, 08:17:00 am

You can do a search on the file system for Drupal.php or Joomla.php:

./CRM/Core/Permission/Drupal.php
./CRM/Utils/Hook/Drupal.php
./CRM/Utils/System/Drupal.php

those are the main integration poins between Civi and the CMS (there might be a few others, but not a lot i suspect)

for what its worth, i run my kids school civicrm db in the same manner. we use drupal for the civi install, but the school's main website was not changed

lobo
A new CiviCRM Q&A resource needs YOUR help to get started. Visit our StackExchange proposed site, sign up and vote on 5 questions

judgej

  • Guest
Re: Loosening the integration
August 23, 2010, 08:29:03 am
Thanks! That code looks good - well organised, well commented, and logically organised. In fact, it pretty much looks like what I was suggesting in the top post, so I'm a happy bunny. My fear was that the integration was spread throughout the application and would be difficult to unravel.

From a basic glance at this API, it looks like integration involves authenticating users and storing user permissions, and then simply inserting page components into the CMS (header parts, body, defining URLs for forms). I can't imagine that would be too difficult to implement for any other CMS, assuming there is a good mapping for what the privileges do.

This is going to be a joy to work with :-)

-- Jason

Pages: [1]
  • CiviCRM Community Forums (archive) »
  • Old sections (read-only, deprecated) »
  • Support »
  • Pre-installation Questions (Moderator: Dave Greenberg) »
  • Loosening the integration

This forum was archived on 2017-11-26.