How we utilize SugarCRM with Subversion

sugarcrmdevelopers —  August 23, 2012

Project Management

Our project manager’s work with our customers to capture detailed information about the client’s needs and wants, which may include simple SugarCRM customizations, complex SugarCRM customization or integrations with 3rd party products such as Marketo, TINCheck, Cvent, Harvest, GovWin, Authorize.Net, etc.
The project manager, uses the Cases module of SugarCRM to store information about each requirement. With each Case we can capture detailed requirements, track it’s progress and inform our engineering team, our quality assurance staff and our customers on the status each requirement.

Engineering Process

We begin each customers engagement by creating a subversion repository. As the engineer works on the solution to each of the requirements (i.,e., SugarCRM Case) the engineers commits their code to subversion.
We utilize pre-commit and post-commit Repository Hooks, to ensure that we are capturing and logging information back into SugarCRM.

PRE-COMMIT Repository Hook

Our pre-commit repository hook requires that each of our engineers include the Case Number that they are working on in the comments or the check in. In other words the comments must include [CASE: ####] in the comment.

Loading ….

POST-COMMIT Repository Hook

If the engineer has successfully included a Case number in the comment of the check in, we use a post-commit repository hook to add a Note to the Case that includes the the files that have been checked into the repository

Loading ….

Conclusion

In this post we discussed how our development process integrates SugarCRM with Subversion. We use SugarCRM Cases, Notes and REST API in conjunction with Subversion to round out our process. Naturally all of the Repository Hooks are written in PHP. We examined the PHP SVN functions but all of the our desired functionality was not available.