Sugar Community Edition 6.4 Beta – DB layer refactoring
Il 23 Novembre 2011 è stata rilasciata la versione 6.4 beta 6 di SugarCRM Community Edition. La nuova beta può essere scaricata da SugarForge all'indirizzo http://www.sugarforge.org/frs/?group_id=6
Scrivo per esperienza personale, di quanto è stato introdotto e/o migliorato sulla nuova versione rilasciata è sicuramente interessante la parte che ricade nella Platform Enhancements e in particolare il lavoro svolto nell'operazione di DB Layer Refactoring, riporto un estratto della release notes:
Platform enhancements in Sugar 6.4.0 include, but are not limited to, the following:
DB layer refactoring — SugarCRM is planning a 3 phase, multi-release DB Layer refactoring to improve database independence and increase performance and stability. Release 6.4.0 includes the first of these phases which mainly focuses on moving database specific code and queries into a clean class hierarchy, eliminating the DB helper classes. These changes may affect customizations and custom modules which were built against older Sugar versions. It is imperative to test the upgrade process in a staging environment before proceeding with the production upgrade, especially if the system includes customizations or custom modules.
L'operazione di refactoring sullo strato del DB aiuta senza dubbio quei poveri "cristi" che devono sviluppare un nuovo driver per l'accesso ai dati. Sulle precedenti versioni scrivere un driver per l'accesso ai dati comportava mettere le "mani" su parecchie parti di codice fuori dal driver vero e proprio, come per esempio: SugarBean, SugarWidgets, SearchForm, etc...
Sulla nuova versione di SugarCRM è quindi possibile scrivere il proprio driver di accesso ai dati senza preoccuparsi dei vari if($GLOBALS['db']->dbType == $myDB) sparsi nel codice al di fuori del codice che implementa il driver vero e proprio.
Da un veloce controllo sul codice sorgente questi sono i numeri che ho ottenuto ricercando la stringa mysql sul source tree delle versioni 6.3 e 6.4beta6 di SugarCRM:
- 399 occorrenze sulla versione 6.3
- 118 occorrenze sulla versione 6.4 Beta 6
E' stato fatto sicuramente un bel lavoro di "pulizia del codice" che continuerà ancora fino al rilascio della versione GA, ma il punto subito in evidenza è l'indipendenza dello SugarBean dal driver.
Per maggiori approfondimenti vi rimando alla lettura dei post http://www.sugarcrm.com/forums/f9/sugar-6-4-0-beta-6-now-available-test-76502/ e Learn out the next generation of our DB layer at August’s SugarCRM Community Webinar
Buon driver a tutti !!!