How to maintain version control in suite CRM

Hi All,

My question might be very silly and basic but i am really struggling with it. I work as a QA in one of the organisation where we are using SuiteCRM as our customer relationship management system. Whenever a change is made, it goes through 2 environments after dev complete before reaching to live i.e. QA, staging and then live. The problem here is when dev team does the development at one environment and adds/removes new field in any of the existing or custom module/form through Admin, it is said that certain DB entries are made in the database and in some files to keep the reference of these new fields with respect to form fields. Now once the dev is complete (Which involve creating/deleting field on certain forms), the change is to be pushed to QA environment. Now my question is that if there is a way to take the final code, form and fields directly to the QA environment through version management tool i.e. SVN/GIT without needing to create the same form fields again on QA server through admin panel? Is there a possibility that developer check in whatever is necessary in repo and pulling that repo on QA bring everything from Dev environment to QA i.e. New fields, changed codes, reference to fields in terms of their database reference etc.

Please pardon my almost no knowledge on suiteCRM. This system is yet not implemented and is in development phase. I have been told by dev team that version control can not be applied to this unless we repeat the exact same steps through admin panel on QA environment which were performed on dev environment. Even though i have no clue of the system but i fail to accept this. Please help me here.

Thanking you all in anticipation.

BK

Hi,

there is 2 ways to add/edit a field. If you do it using studio, then the changes will be saved in the fields meta data table in the database. One option is to commit an sql dump of this table to SVN/GIT and import it into your db on the new environment.

Another option would be to create the fields manually rather than using studio. You can do this by adding files to custom/Extension/modules/ModuleName/Ext/Varderfs with a description of a file.

There is some documentation on how to do this here (although it refers to Sugar it will work the exact same in Suite):
http://support.sugarcrm.com/Documentation/Sugar_Developer/Sugar_Developer_Guide_6.7/Extension_Framework/Extensions/Vardefs/index.html

Thanks for the reply however i still have a doubt. Would importing the metadata will also create the required fields/columns in relevant tables?

You would have to run a repair and rebuild (which is good practice when your making any major changes anyhow). When you run the repair and rebuild it will tell you it has to make database changes, you just need to click a button to say you are ok with that and it will alter the relevant tables to add fields.

Thanks a ton for your help. Really appreciated.

Let me try this out and if it didn’t work, will get back to you.