I'm trying to get my head around architectural options for CiviCRM 4.0 that might allow one to more easily leverage of 'Drupal as a developer framework' as opposed to 'Drupal as user CMS'. This would IMHO meet a CiviCRM goal of increasing its developer community.<br>
<br>I just want to talk about the database layer right now to keep things focussed. One of the frameworks being consider as a replacement for the PEAR library (DBDataObject and HTML Quickform in particular) is the Zend Framework. It uses PDO libraries. DBTNG for Drupal 7, as I understand it, also sits on top of PDO. I find Mike Prasuhn's information about the modularity of the Drupal 7 db layer to be very interesting. For those who don't know, CiviCRM currently uses a fairly traditional tiered architecture, and generates its data layer code from an XML representation of its data schema for the most part (some business layer logic bypasses the Data Application Object (DAO) layer by reading directly from the MySQL tables for optimization purposes, for example). I imagine that the DBTNG layer is focussed on supporting Drupal data structures, but I believe it has some support for creating access to arbitrary non-Drupal data stores as well, which CiviCRM might qualify as.<br>
<br>Is it remotely feasible to think of using DBTNG as the primary database layer for CiviCRM 4.0? What is the overhead of using for non-Drupal sites? Or is it better to imagine setting up access to the couple hundred tables in CiviCRM via DBTNG's external datasource structure, and then using that as a good way to integrate with fields, views and that good stuff?<br>
<br>Just trying to explore whether there is some common ground here.<br><br clear="all">Joe Murray, PhD<br>President, JMA Consulting<br><a href="mailto:joe.murray@jmaconsulting.biz">joe.murray@jmaconsulting.biz</a><br>skype JosephPMurray twitter JoeMurray<br>
416.466.1281<br>