SugarCRM

Launch of CRMState.com

This month we launched CRMState.com a service that specializes in monitoring SugarCRM. There is a vast assortment of server monitoring solutions available but we ( Atcore Systems ) wanted to utilize our knowledge of SugarCRM to build a monitoring system that is application specific. The fact is that I can choose 1 of hundreds of server monitoring tools to monitor my server but none of them are SugarCRM aware. They don’t know the application, the features and all of the additional non standard types of monitoring and suggestions that can take place to enhance the software.

In version 1 we changed up the standard monitoring and instead of monitoring for the page to respond we verify that specific words show up on the login page. This insures that not only the server and database are up but that the page is showing as it should. It is in our roadmap to take on page checks to another level but we will talk about that in our next update.

Another monitor feature we added was fatal log alerting. Fatals shouldn’t happen very often, except in certain scenarios, if your SugarCRM instance is healthy. We monitor for fatals and alert the user based on their alert configuration. This may seem somewhat standard for a logging system but we have plan to take it much further in the near future.

Perhaps the biggest impact this has in relation to SugarCRM monitoring is that the service specializes in SugarCRM monitoring. With that focus we can continuously add SugarCRM specific checks, build in suggestions and keep up with the pace of SugarCRM releases.

Tags: ,

Friday, January 28th, 2011 Business, SugarCRM No Comments

SugarCRM: A Short Guide to Installation on Windows

The first thing that most potential users of SugarCRM want to do is try the software out for themselves. The options are to download SugarCRM CE ( Community Edition ) and install it on a system that you have available or to sign up for a Pro (SugarCRM Professional ) trial and wait for the sales people to call. If you are going to need the feature set provided in SugarCRM Pro for your business then you should definately sign up for the trial and play with the same edition that you will be implementing. If your plans are to go with SugarCRM CE then this post will help you get up  and running.

The first step to getting SugarCRM installed on Windows is to fulfill the requirements of running the software. These requirements include a web server such as Apache or IIS, PHP, and various other modules never mentioned in the installation and administration guide. This all sounds really complicated if you have never installed a webserver but there are a few software packages that make it very easy.

When it comes to installing a webserver with the packages required for SugarCRM there are mulitple options.

1. SugarCRM FastStack – The SugarCRM FastStack installs everything that is needed including SugarCRM CE. The only drawback that I see from the FastStack is that it is not widely used for any other types of software installation so if you need help then the only place that you can go to is the SugarCRM forum. This isn’t a big deal except that most of the knowledgable people in the forum don’t use the FastStack on their own machine and may not be as helpful as they could be had you chosen a different installer.

2. Apache2Triad – Apache2Triad is similar to the FastStack except that it is made by a group that is dedicated to giving users of any web based software package a good experience. Another difference is that SugarCRM is not bundled so you will have download it.

3. XAMPP – XAMPP by Apache Friends is what I use on my Windows system simply because it provides an easy to use interface along with a few built in tools that I like to use while working on SugarCRM. Just like the other two packages it is easy to install and provides all of the necessary package for SugarCRM installation.

You are welcome to try any of the packages because they are all provided free of charge. I am going to move forward and tell you how to get SugarCRM installed on XAMPP.

Step 1. Download XAMPP from ApacheFriends.org – This quick tutorial assumes that you download the full version and not XAMPP lite.

Step 2. Download SugarCRM

Step 3. Install XAMPP by double clicking the installer that you downloaded. I recommend keeping all of the defaults and the tutorial will assume that you did.

Step 4. Once you install XAMPP you will need to change to lines in a file called php.ini. Go to the following directory c:\xampp\apache\bin and open php.ini.

Step 5. Find the line that says “memory_limit” change the limit from the default number to read memory_limit = 64M. This will give SugarCRM enough memory so that you don’t get errors during installation.

Step 6. Find the line that says “upload_max_filesize” change the limit from the default to read upload_max_fiilesize = 32M.

The memory that I have alotted in Step 5 and 6 are not the minimums that SugarCRM can run on so keep in mind that they can be set lower if you are installing to an older system.

Step 7. Save the file and restart the server. This can be done by going to Start -> Programs -> Apache Friends and opening the control panel. If both Apache and MySQL both have a green box next to them that says running then click to Stop Apache. Once it Stops, click Start again so that it will pick up your new settings.

Step 8. Unzip all of the files from the SugarCRM zip file and move them to the c:\xampp\htdocs\sugarcrm directory. The sugarcrm directory will not exist so you will have to create it.

Step 9. Once this has been complated you are ready to install SugarCRM. You start the installation by opening your browser and going to http://localhost/sugarcrm

Step 10. Follow the steps that SugarCRM guides you through to install the software. When you are at the database step you will want to set the database server to localhost and use the default XAMPP databases username and password which is username: root with no password.

If all is done correctly then at the end you will have a working version of SugarCRM that you can play with. If you follow this short guide and get hung up on a step then leave a comment and I can add it in for other users so that they too can get SugarCRM up and running quickly.

Tags: , ,

Monday, March 30th, 2009 SugarCRM 7 Comments

SugarCRM: Where Are Global Email Settings Stored?

While working on the GetSocial Twitter Pro module I had to add settings in the admin area that were stored in the database. The problem was that I didn’t know where the settings were getting stored. The module that I was modeling my section after in the first iteration was the EmailMan module which stored most of its data in the emailman table.

I new that the global email settings were not stored in the emailman table based on the data that I entered and what I viewed in the table at the time. I also knew that I could have started debugging but it would have taken a while to comb through all the lines of code or to even pick a good breakpoint. Instead, again, WapSnap came to my rescue. I did a snapshot, changed the email settings, did a snapshot and then compared.

This immediately showed that the only thing that changed in my SugarCRM instance was the config table in the database. I opened up phpMyAdmin, looked at the config table and found where many of the global settings were stored.

»crosslinked«

Tags: , ,

Monday, March 30th, 2009 Development, SugarCRM, WapSnap No Comments

SugarCRM: Adding Custom Settings to the Admin Area

Recently my GetSocial Twitter and GetSocial Twitter4Contacts modules started gaining traction on Blogs and in the Twitterverse. The more people that downloaded them the more requests I received for features and updates.

One feature that I knew was needed was the ability to configure the company account credentials in the Administration area of SugarCRM. This is where the research began.

I have made plenty of custom modules that when clicked show the list view and allow the addition of records. I have also customized these modules. However, adding areas to the Admin section that when clicked shows one screen with two fields that saves custom configuration variables was very different.

To see the functionality I am speaking of you can simply go to Admin -> License Settings or view the screenshot below.

license-view

I first started to create this area by trying to duplicate the functionality in the Email Settings. Email Settings actually uses the EmailMan module which has a standard module structure that manages the email Queue and a config section which holds the email settings. This means that when you click Admin -> Email Settings you go to EmailMan with the Config action ( index.php?module=EmailMan&action=config ). When you click Admin->Manage Email Queue you get the index action ( index.php?module=EmailMan&action=index ) and the Queue view

I duplicated this functionality to discover that it really wasn’t what I was looking for. I only wanted the functionality that was shown when the config action was called. Searching for a way to not create a full module that I didn’t need along with a config section I found the Licence Settings.

The license settings area works a little differently, it calls the Administration module and the LicenseSettings action ( index.php?module=Administration&action=LicenseSettings ). This functionality is driven by two essential files LicenseSettings.php and LicenseSettings.html under Modules/Administration. The fields that are filled out in this area get populated in the config table in the database.

The first step was to copy those files and to use them as a template to create the functionality that I needed. Once copied, I renamed them to the same name that would be called with the action which was TweetCreds. After changing the names I stripped out all of the LicenseSettings fields and added my two fields for filling in Twitter credentials.

The real issue came when I wanted to save my new fields. At first the field names where TWEETACCOUNT and TWEETPASSWORD and no matter what I did my fields would not get saved. More debugging and digging lead me to the Save.php file in the Administration module. In this file there is a foreach loop that loops through all of the POST parameters.

[code]

foreach ($_POST as $key => $val) {
$prefix = $focus->get_config_prefix($key);
if (in_array($prefix[0], $focus->config_categories)) {
if ( $prefix[0] == "license" )
{
if ( $prefix[1] == "expire_date" )
{
global $timedate;
$val = $timedate->swap_formats( $val, $timedate->get_date_format(), $timedate->dbDayFormat );
}
else
if ( $prefix[1] == "key" )
{
$val = trim($val); // bug 16860 tyoung - trim whitespace from the start and end of the licence key value
}
}

$focus->saveSetting($prefix[0], $prefix[1], $val);
}
}

[/code]

I could see that my parameters were making it this far but the loop wasn’t inserting them into the config table as expected. This leads me to the main takeaway item from this blog entry. You can’t just add fields with any name to be saved by this function. They have to follow a specific structure.

The structure that they have to follow is <Category>_<Name> . The category and name is what will get stored in the config tables first two columns ( Category, Name ). The third column ( Value ) hold the value of the variable. Once I figured this out and changed the fields to read TWEETCREDS_ACCOUNT and TWEETCREDS_PASSWORD. This still won’t work until you add the category name ( TWEETCREDS ) to the $config_categories array in Administrator.php.  This is also used by the foreach loop to do matching and to sure that the POST is not a throwaway value or a value used for some other action.

So as you can see, the naming scheme is very important when adding custom values to the config table and custom sections to the admin area.

I hope that this was a helpful post that will act as a partial guide that will assist you in adding your own custom admin sections with ease. Feel from to post and questions that you may have and I will try to provide an answer.

Tags: , , , ,

Friday, March 27th, 2009 Development, SugarCRM 1 Comment

SugarCRM: A Deeper Look into Module Builder

For many standard SugarCRM users Module Builder is  a black box that pops out custom modules as needed. But behind the scenes it is a complex code generator that builds every file and database that SugarCRM requires to create additional functionality. For those standard users it is a helpful tool that requires no PHP or SugarCRM architecture knowledge. For the SugarCRM developer, Module Builder just leads to more questions. The core question be, what all does it change and create?

SugarCRM Module Builder is part of the reason that I started building WapSnap. I needed an easier way to analyze what happens behind the scenes from a higher level than a debugger. Today with the WapSnap prototype I was able to take my first steps into easily detecting what Module Builder was doing when I hit the deploy button. Lets take a look at the first set of results.

For this analysis I created a package called test and a within that package a module called Books.

The Files

WapSnap detected that only 1 file was changed from before the deployment. That file was understandably the sugarcrm.log file.

Most of the work that Module Builder did was to create 56 new files, most of which fell into the custom/modulebuilder directory. A list of these files can be found at the end of this post.

A quick glance at the list of files will also show that most of the files in custom/modulebuilder are further broken down into two more core folders which are packages and builds. I plan to do further analysis but my first guess is that everything in packages is what will be used if a user chooses to Export or Publish the module. The builds folder is probably what is use by SugarCRM when the new module is deployed and used. But that info is yet to be verified.

The Database

Although most of the changes where made in the file structure, SugarCRM still depends heavily on information from the database. With the creation of this new module, WapSnap detected changes to 6 database tables and the creation of two new tables.

The tables that were changed where as follows:

acl_actions

config

relationships

upgrade_history

tracker

versions

The two new tables was, predictably, a table for the Books data and a table for the books audit trail which were as follows:

test_books

test_books_audit

The two table changes that I found interesting from the list are config and relationships. Mainly because I would like to see what config data gets added/changed/removed and because we didn’t add any relationships.

Once WapSnap moves into Beta we hope to be able to give you more in depth information about quickly detecting line by line files changes and filed by field database changes. Until then, feel free to deploy a module and use this file list for further analysis.

Files Created

/custom/themes/default/images/test_Books.gif

/custom/themes/default/images/icon_test_Books_32.gif

/custom/themes/default/images/icon_Test_Books.gif

/custom/themes/default/images/Createtest_Books.gif

/custom/modulebuilder/packages/test/modules/Books/vardefs.php  /custom/modulebuilder/packages/test/modules/Books/metadata/subpanels/default.php

/custom/modulebuilder/packages/test/modules/Books/relationships.php

/custom/modulebuilder/packages/test/modules/Books/metadata/SearchFields.php

/custom/modulebuilder/packages/test/modules/Books/metadata/sidecreateviewdefs.php

/custom/modulebuilder/packages/test/modules/Books/metadata/searchdefs.php

/custom/modulebuilder/packages/test/modules/Books/metadata/popupdefs.php

/custom/modulebuilder/packages/test/modules/Books/metadata/metafiles.php

/custom/modulebuilder/packages/test/modules/Books/metadata/listviewdefs.php

/custom/modulebuilder/packages/test/modules/Books/metadata/editviewdefs.php

/custom/modulebuilder/packages/test/modules/Books/metadata/detailviewdefs.php

/custom/modulebuilder/packages/test/modules/Books/metadata/dashletviewdefs.php

/custom/modulebuilder/packages/test/modules/Books/language/en_us.lang.php

/custom/modulebuilder/packages/test/modules/Books/Dashlets/test_BooksDashlet/test_BooksDashlet.php

/custom/modulebuilder/packages/test/modules/Books/Dashlets/test_BooksDashlet/test_BooksDashlet.meta.php

/custom/modulebuilder/packages/test/modules/Books/config.php  /custom/modulebuilder/packages/test/manifest.php

/custom/modulebuilder/packages/test/language/application/en_us.lang.php  /custom/modulebuilder/packages/test/icons/icon_test_Books_32.gif

/custom/modulebuilder/packages/test/icons/test_Books.gif

/custom/modulebuilder/packages/test/icons/Createtest_Books.gif  /custom/modulebuilder/packages/test/icons/icon_Test_Books.gif /custom/modulebuilder/builds/test/SugarModules/modules/test_Books/vardefs.php

/custom/modulebuilder/builds/test/SugarModules/modules/test_Books/test_Books_sugar.php

/custom/modulebuilder/builds/test/SugarModules/modules/test_Books/test_Books.php

/custom/modulebuilder/builds/test/SugarModules/modules/test_Books/metadata/subpanels/default.php

/custom/modulebuilder/builds/test/SugarModules/modules/test_Books/metadata/studio.php

/custom/modulebuilder/builds/test/SugarModules/modules/test_Books/metadata/sidecreateviewdefs.php

/custom/modulebuilder/builds/test/SugarModules/modules/test_Books/metadata/SearchFields.php

/custom/modulebuilder/builds/test/SugarModules/modules/test_Books/metadata/searchdefs.php

/custom/modulebuilder/builds/test/SugarModules/modules/test_Books/metadata/popupdefs.php

/custom/modulebuilder/builds/test/SugarModules/modules/test_Books/metadata/metafiles.php

/custom/modulebuilder/builds/test/SugarModules/modules/test_Books/metadata/listviewdefs.php

/custom/modulebuilder/builds/test/SugarModules/modules/test_Books/metadata/editviewdefs.php

/custom/modulebuilder/builds/test/SugarModules/modules/test_Books/metadata/detailviewdefs.php

/custom/modulebuilder/builds/test/SugarModules/modules/test_Books/metadata/dashletviewdefs.php

/custom/modulebuilder/builds/test/SugarModules/modules/test_Books/language/en_us.lang.php

/custom/modulebuilder/builds/test/SugarModules/modules/test_Books/Forms.php

/custom/modulebuilder/builds/test/SugarModules/modules/test_Books/Dashlets/test_BooksDashlet/test_BooksDashlet.php

/custom/modulebuilder/builds/test/SugarModules/modules/test_Books/Dashlets/test_BooksDashlet/test_BooksDashlet.meta.php

/custom/modulebuilder/builds/test/manifest.php

/custom/modulebuilder/builds/test/SugarModules/language/application/en_us.lang.php

/custom/modulebuilder/builds/test/LICENSE.txt

/custom/modulebuilder/builds/test/icons/default/images/test_Books.gif

/custom/modulebuilder/builds/test/icons/default/images/icon_test_Books_32.gif

/custom/modulebuilder/builds/test/icons/default/images/icon_Test_Books.gif

/custom/modulebuilder/builds/test/icons/default/images/Createtest_Books.gif

/custom/history/modulebuilder/packages/test/modules/Books/metadata/editviewdefs.php_1238005625

/custom/Extension/application/Ext/Language/en_us.test.php

/custom/Extension/application/Ext/Include/test.php

/custom/application/Ext/Include/modules.ext.php

/custom/application/Ext/Language/en_us.lang.ext.php

Tags: , ,

Wednesday, March 25th, 2009 SugarCRM, WapSnap No Comments

WordPress Lost My Post and then I Got it Back

About a week about I wrote a small post ( SugarCRM Atlanta Meetup – Tips, Tricks and Tools ) as a follow up to a local Meetup that I attend and assist in organizing. After writing it I had to run out the door so I saved publishing until I could double check for spelling and other errors.  Once I returned, I published the post and didn’t log back in for a few days.

A few days had past and logging in showed that there were a few plugin updates and one Worpress update. Using one of my favorite features “automatic upgrade” I made a few clicks and the job was complete. Shortly after I checked to see how Google was doing with parsing my latest sitemap I realized that there was 1 404 error where a page could not be found. It was my latest post. I proceeded back to my blog admin section and it was completely gone. I am still not sure if it was the WordPress upgrade, a plugin upgrade or bug, or just user error.

The next step was to get it back. No matter how small the post, nobody likes to spend time disseminating information to have it disappear.

Step 1 to getting it back was to see if it still existed. I  logged into the database and searched through the posts table until I found the post. Luckily it was still there.

For step two I logged the id of the latest revision of that post and then opened the edit view on an existing post. After that I substituted my ID in the URL. This didn’t give me the edit view as expected but a revision view showing the latest revision and all past revisions. Since I didn’t see a way to post that revision or save it in some way I simply created a new post on another tab and did a copy and paste.

Now my post is available for the world to see. Hopefully you don’ t ever loose a post, but if you do, here is how to get it back.

Tags: , ,

Thursday, March 5th, 2009 Development 3 Comments

SugarCRM Atlanta Meetup – Tips, Tricks, and Tools

At the February 20th SugarCRM Atlanta Meetup hosted by Dave Gearhart and myself, we discussed tips, tricks, and tools around SugarCRM. The presentation was mostly a compilation of a few recent blog posts that I have done including SugarCRM: Import Wizard Tips and SugarCRM: New User Tips. The tools section was made up of the typical who’s who of Firefox developer plugins with an additional plug for a recent project of mine called WapSnap. The plug was mostly because the utility was started specifically to alleviate some pains in SugarCRM development that I and others seem to be having. Event Slides:

Tags: , , , ,

Wednesday, March 4th, 2009 Local Events, SugarCRM, WapSnap No Comments

SugarCRM: Import Wizard Tips

In this SugarCRM post I will discuss some tips on importing data into SugarCRM using the import wizard.

To start off with I would like to review what the import wizard is intended for. Even though the import wizard can import mass amounts of data, it’s intended use is to allow users to easily import data from various outlets such as trade shows, event attendance lists, and other exports that get appended to the current record set.

Tip 1: Database Migrations

As of SugarCRM 5.1 the import wizard is robust enough to import tens of thousands and even hundreds of thousands of records from a database dump. For an accounts migration starting point the import wizard will do the job. The problem comes when you want to maintain relationships during the migration.

When you are migrating data, each system relates records using different keys or formats in the database. SugarCRM is Accounts driven and relates using unique ids. This means that Accounts will go in smoothly but to import a related record, like a related Contact, you will have to get the contacts related account name and the SugarCRM Account id, merge the id in to the contact information and then import. This process is best left to tools like Talend and not the import wizard.

Tip 2: CSV Files

Most people use the comma separated values ( CSV ) format to import data. CSV does the job well but there are things that you need to check for before you import. The first is commas. Since you are importing using CSV, any time that the import wizard ( or Excel ) sees a comma is will think that it is working with the next column of data. This will completely throw off your imports. To fix this you will need to cleanse the data of commas before you import. You can usually substitute with a space or a dash depending on the data. The other alternative is to use another format for importing such as tab delimited since most dumps don’t have tabs in the data, but it is still something to watch out for.

The same thing that goes for commas goes for the the field qualifier. If each entry is wrapped in single quotes and the data fields have single quotes ( Ex: Janes’s Store ) then your data could get imported incorrectly.

Tip 3: Field Qualification and Saving Templates

Fields in CSV files are usually wrapped in quotes, double quotes, or are not wrapped leaving just the comma separators. When you are building the import mapping you are asked to choose which field qualification to use. My tip is to add which type you use in the naming of the template. The reason is that in SugarCRM’s current implementation if you import data using a template with the quotes field qualification and the data actually uses double quotes then the mapping will be blank. This isn’t a problem with a one time import or when the same person does the import the same way each time, but this is not always the case. You may receive weekly exports of the same type of data but from different people with different version of MS Excel/Open Office Calc causing different field qualifiers.

Tip 4: Drop Downs

All drop down boxes added in  Studio need to have a NULL entry as the first option. This is where you click the add button in the drop down editor with no data in the fields. The reason is that when you import data you have to specify a default value for fields that are not filled in. If you don’t have a NULL entry as an option then the import wizard will automatically assign the first value in the list even though the data for that column may not exist.

Tip 5: Matching Data for fields

If you are importing data that requires custom fields or custom values, then each of the custom fields/values needs to exactly match the data being imported. Let look at an example:

DropDown Example

Your data has field/column called Manager Level and the fields are filled in with three options which are Manager, Middle Manager, and Senior Manager.

In SugarCRM you have drop down box that has Manager and Senior Manager.

When you import the data you will get an error for every record that has Middle Manager as a value since it is not in the SugarCRM drop down. For data accuracy reasons SugarCRM is not going to automatically add that as a drop down item.

Hopefully these tips will help you the next time you import data into SugarCRM. If you run into any others that need to be added to the list then feel free to comment or send me an email.

Tags: , , ,

Sunday, December 28th, 2008 SugarCRM, Uncategorized 8 Comments

SugarCRM: New User Tips

SugarCRM is, for the most part, a channel sales organization. What this means for new users is that depending on the company/channel that the SugarCRM licenses are bought through, the new customer may or may not be given “the necessities” after the purchase. “The necessities” in this case are the links to information required to answer product questions after the sale takes place. In many instances new customers are given a license key and information about professional services and consulting.

In the next few paragraphs I will point you to the additional documents that you will need to have on hand in order to answer product questions as you move forward with your new CRM.

Documentation

The first area that we will look at is the SugarCRM Documentation page. Once you browse to this page you can pick the SugarCRM Edition that you are using and then the tab with your version. Under this tab there will be two or three guides depending on your version.

The first is the User Guide which will tell you about using every area of the product except the admin section. The documentation is very well written and answers almost any question that you may have.

The second document is the Installation and Administration Guide. This document will tell you everything that you need to know about the administration of SugarCRM. The installation portion will tell you how to install SugarCRM but will not tell you how to setup the webserver which is required to run the software. This is left out mainly because there are just to many different configurations and types of webservers on the market for SugarCRM to effectively provide this data. Also, if you are not familiar with or do not have someone that knows webservers in your organization then you should purchase the SaaS service and let someone else host SugarCRM.

The last guide is the developers guide. Currently this can be found in the forum or under the SugarCRM 5.1 version tab. It provides information about how SugarCRM operates internally so that you can make upgrade safe customizations and more easily adapt SugarCRM to your organization.

SugarCRM University

SugarCRM offers a healthy amount of documentation on the product. In conjunction with the documentation they also offer training, 80% of which is free. When you browse to the SugarUniversity page you will be presented with the SugarCRM Online Library and the Learning Sessions. The library holds step by step tutorials in written format and the learning sessions are videos that tell you how to use various areas of the product. I suggest that most users head over to the learning sessions and spend some time getting to know the product before they login.

The Forum

After you have searched the documentation and watched the videos you may still have questions. If you browse over to the SugarCRM Forum you will see a very active Help section. In this section you can post any general help related questions that you may have. Another good tip is to post to the forum before you open a support ticket. Most of the time someone else will be on the forum at the same time you are and can provide a quick answer or follow up.

Support vs Code Support

SugarCRM Support is the place that you go once you have exhausted all of the options above. One thing that SugarCRM support will not help you with is code level changes. Most of the time if it is in the form of a question such as “where should I put this file for it to be upgrade safe” then they will help. But sending code snippets asking for them to tell you why something won’t work is not part of the contract. Coding is one of those things were there is just to many variables. So, stick to sending in support tickets on product questions that you can ‘t figure out or if something breaks. For the developers, SugarCRM offers the forum and the Developer Zone.

Developer Zone

The Developer Zone is exactly what the title says. It is an area of the SugarCRM site that provides information around developing in SugarCRM. The blog is frequently updated by engineers and other SugarCRM team members which provides you up to date information about addons to various areas of the product. The tools and tutorials sections allow anyone to provide documents written about SugarCRM which range from “Light boxing in a detail view” to “Programmatically Hiding and Displaying Panels Based on the Value of A Drop Down in 5.1.”

SugarForge vs SugarExchange

The questions about SugarForge and SugarExchange come up for almost every new SugarCRM user. The forge and exchange are places to download modules that will add to the functionality of SugarCRM. They are very easy to install and instructions can be found in the Installation and Administration Guide.

  • SugarForge

SugarForge is where developers can post modules that they want to share with everyone at no cost. These are use at your own risk modules that you will want to try out on a test machine before deploying to production.

  • SugarExchange

This area is where users can buy and sell modules. One things to keep and eye out for in this section is the Certified by SugarCRM logo. This means that when you purchase a module, if it causes a problem with your SugarCRM instance that the SugarCRM support group will assist you. This points out another tip. SugarCRM support will not help you with 3rd party modules. You will need to contact the module builder to get support.

I hope that this has lead you to SugarCRM resources that you were not aware of and that will help you get moving in the right direction. If you have any other resources that were helpful to you during the time you were learning about SugarCRM please comment or email them to me.

Tags: , , , , ,

Wednesday, December 24th, 2008 Development, SugarCRM No Comments