Open main menu

Changes

1,475 bytes added ,  18:07, 8 June 2008
no edit summary
== Intro ==
[http://www.sugarcrm.com SugarCRM] is the world's leading Customer Relationship Management (CRM) software available with complete freedom under the GPL license. For companies that want more than freedom, SugarCRM Inc, fully backs the product with expert support, service, training and customization. SugarCRM offers several deployment options, including on-demand, on-premise and appliance-based solutions to suit customers' security, integration and configuration needs. Because CRM software captures the varied relationships between a company and it's sources of revenue, most businesses really stand to benefit from the intelligence provided by a CRM system. All companies already have 'ad-hoc' methods to track leads, contacts, customer accounts and the company interactions with these (e.g. spreadsheets, lists and email records); or they . They may even have organized CRM solutions in place. Either way, once you decide to adopt an open and standards-based solution like SugarCRM, your first order of business will be to load it with your existing data. SugarCRM has importing (and exporting) utilities that make it easy to do this, so that these wizards will not be the focus of this article. Instead, we'll focus on programmatic interaction with the system.  Once the CRM system is deployed, a company will also typically want to create one or more pipelines which act as conduits to capture new account, and contact information. This article will show how easy it can be to establish a web service, using [[wp:SOAP]] to add contacts and accounts to your SugarCRM installation. As an examplescenario, let's suppose that a conference organizer wants to offer a sign-up sheet on their existing website. The existing website could be a [http://drupal.org drupal] content management system (CMS) which not only manages the conference, but also adds company and individual contact details to the SugarCRM system via the web service. The details on creating the form for the capture are beyond the scope of this article but the capture routines could easily handle a form input (HTTP POST) just as easily as we read input from a file . We'll Again our focus for today will be on the plumbing of the interaction with the SOAP server.
== Goal ==
Import records into SugarCRM without using existing import utilities, wizards but rather by writing a tool in [[wp:PHP]] to do the work. Records should go into Accounts and Contacts, while creating a relationship between the two.
== Download and Install SugarCRM ==
</source>
== Conclusion ==
In this article we've shown how the SugarCRM system is enterprise-ready in that it has a fully built SOAP service that can be used to integrate the system with one or more 'front-end' websites or applications for data capture. With important information easily added to the system, it allows the company to focus resources on managing the most valuable assets. Due to SugarCRM's open source nature and standards support, it's easy to extend and integrate the system with other existing or new infrastructure components. In future articles, we'll take a look at still more interesting integrations with SugarCRM such as collaboration and document and knowledge management.
== Postscript: Some Improvements for SugarCRM == As with any software, there is always room for improvement. Here are some minor issues that I noted in the course of writing this article.
# "Import Step 2: Upload Export File" is a confusing title on the second step of the "Import Contacts" wizard. How can one use the words 'import', 'upload', 'export' all at once? It could read "Import Step 2: Select Data File to load"
# Typographical bug: I saw that the term "custom_delimeted" in the language files. It doesn't actually cause any errors, but b/c the term is used elsewhere (spelled correctly), this typo could potentially lead to a real bug down the line.
## ./modules/Import/ImportStep1.html
## ./modules/Import/ImportStep2.php
# The source is formatted poorly, or practically not at all in some cases, due to various editors using different space and tab settings, and line endings. PHPBeautifier [http://pear.php.net/package/PHP_Beautifier|PHP Beautifier] used in a commit hook would solve this in the repo. Coding standards and configuration files like [[g:vim modelines ]] would solve this on the developer desktop.
Being open source, I can pass this information on to the developers (or even get involved myselfby posting articles like this to [http://www.sugarcrm.com/wiki/index.php?title=Main_Page|the wiki]) and will likely see a positive response to these suggested fixes. Note too - SugarCRM fosters an extended community of value-add partners through it's [http://www.sugarforge.org/ forge site].
== Further Resources ==
4,558

edits