CiviCRM and Doctrine adventure continues...
As lobo mentioned in his previous blog, we have been experimenting on Doctrine integration with CiviCRM. So in the following week we focused on few specific tasks:
Investigate triggers / stored procedures in doctrine
Doctrine does not have explicit support for triggers and stored procedures. In the past they have not encouraged it and have an alternative called "lifecycle callbacks". For more infor: http://symfony.com/doc/current/book/doctrine.html#lifecycle-callbacks ( CRM-13989 )
How to add custom / Civi annotations to doctrine entities
We were able to add Civi annotation with caching in a symfony environment. ( CRM-13987 )
CiviCRM + Symfony + Doctrine make them play nicely
We were able to bootstrap CiviCRM under Symfony and use doctrine for few simple db operations. ( CRM-13985 )
Generate Entities from xml
We store lot of schema related data in xml files. So goal was to generate entities which will can be used by doctrine. Most of the times our generated entities worked well with Doctrine, with some minor glitches.
Doctrine REST api
The goal for this was to check if there are any existing rest api bundles which can be directly used for api running on doctrine. We evaluated few things like http://leedavis81.github.io/drest/ ( CRM-13986 )
Improve custom data and custom field structure
How can we make doctrine aware of newly created tables for custom groups, so that we can directly perform CRUD operations. This is still a work in progress. ( CRM-13990 )
You can check our sprint progress in jira, click here
We also welcome anyone who feels adventureous and would like to help in this quest. So feel free to ping us on #civicrm irc channel.