Book Image

Implementing SugarCRM 5.x

Book Image

Implementing SugarCRM 5.x

Overview of this book

SugarCRM is a popular customer relationship management system. It is an ideal way for small-medium business to try out a CRM system without committing large sums of money. Although SugarCRM is carefully designed for ease of use, attaining measurable business gains requires careful planning and research. This book will give you all the information you need to start using this powerful CRM system. It is the definitive guide to implementing SugarCRM. Whether you are wondering exactly what benefits CRM can bring or you have already learned about CRM systems but have yet to implement one or you're working with SugarCRM already, this book will show you how to get maximum benefit from this exciting product. It demonstrates how to install SugarCRM and also how to get the most out of it by customizing it and integrating CRM into your organization as per your needs. Focused on the needs of the enterprise, this book provides a solution-driven approach for both business and IT specialists to get the most from this powerful and popular Open Source application. It begins with a general discussion about CRM. You will then learn the benefits of such systems, and then explore SugarCRM and its unique value. You will then go through the guidelines for installing and making deployment selections that are set out alongside information for identifying, planning, and applying customizations. Training guidelines and ongoing administrative tasks will be discussed as you progress further into the book. A brief overview of SugarCRM 6.0 is provided at the end of the book.
Table of Contents (19 chapters)
Implementing SugarCRM 5.x
Credits
About the Authors
About the Reviewer
Preface

Administration duties at system installation time


The following screen shows the top-level administration screen. The administration capabilities referred to next can all be accessed from this screen.

Configuring system settings

System settings has the following six sections:

  • The first section is used to define the User Interface options. This section is used to control display features (such as the number of records displayed by default on a ListView screen, the ability to rearrange subpanels, the company logo used within SugarCRM, and other options).

  • The second section is used to enable a proxy connection, (a connection that serves as a relay to the outside world or Internet) by which the SugarCRM server will access external information, such as information pertaining to SugarCRM updates. If it is enabled, you will need to define settings for the proxy host, port number, and other related options.

  • The third section is used to enable or disable integration with SkypeOut. Enabling it allows users to click on phone numbers within the system to place outbound phone calls through Skype. Note that phone numbers must include their respective country code in order to leverage this feature.

  • The fourth section is used to enable the SugarCRM Mail Merge feature. As the SugarCRM plugin for Microsoft Word is designed to only work with Professional and Enterprise Editions of SugarCRM and third-party solutions (such as GrinMark plugin for Microsoft Office) tend to not rely on the status of this option, the need to manipulate it is highly unlikely.

  • The fifth section is for more Advanced settings. Among them are features for logging memory usage and slow executing queries. These features are helpful resources for optimizing your system. The Developer Mode option is helpful when customizing the system, as it causes SugarCRM to bypass its caching mechanism and apply customizations faster. This latter option should only be used while customizing the system and should be disabled at all other times.

  • Lastly, the Logger Settings section at the bottom is a useful tool for monitoring and troubleshooting problems. For example, setting the Log Level to Debug would cause SugarCRM to log the SQL queries that it uses to perform functions, such as inserting or updating records. Later review of this information can help yield clues to the source of the problems, such as data not being saved or records not being displayed among other issues.

The preceding six options are depicted in the following screenshot:

Defining currencies and rates

The Currencies screen is used to define currencies other than the default US dollar. For each new currency defined, the name, the symbol (for example $), exchange rate to the US$, and ISO code (such as CAN for the Canadian dollar) must be entered (as shown in the following screenshot). Note that each user can select his or her default currency within their user preferences screen.

Defining security roles

Roles within SugarCRM serve the purpose of limiting the access of certain users within the system. Selecting the Role Management option from within the administration area will display the Roles List view screen. It lists the roles defined within the system and also offers shortcuts to create a new role, or list roles by user.

You can define roles for groups of users and specify which modules those users should have access to. For example, sales staff will want access to the opportunities and dashboard modules, marketing staff will want access to the campaigns module, but not all staff will need access to these modules. As you can see in the following figure, each role defines the modules which will be visible to the users who are assigned the specific role, as well as the capabilities the user will have within each module.

To create a role, click on the Create Role shortcut, type a name and a description for the role in the Name and Description fields respectively, and click on Save. Adjust the settings to control the modules that the role can access and the functions that may be performed within each module. Note that when a module is excluded from a role, access is also removed to the subpanels in other modules that relate to the excluded module. Click on Save to preserve those settings for your role.

To assign users to a role, use the detail view for that role. In the Users subpanel at the bottom of the screen, click on the Select button to display a list of users. You can check the usernames that you want to assign to this role. If a user belongs to multiple roles, their access in each module is defined by the most restrictive access any of their roles are assigned.

It is very important that you understand that by default, all users will have access to all the data and all the modules. The use of roles in conjunction with the use of the Assigned To field on individual records is the primary mechanism for controlling access to modules and their data. If you need to control the access of specific users to certain records, you should define your roles and assign them to the corresponding users before you allow users access to the system.

Note

If you need to refresh your memory on the relevance or use of the "Assigned To" field, refer the section titled SugarCRM basics: Security in Chapter 4 of this book.

Configuring system tabs

The system administrators and users can easily configure which tabs appear at the top of the application. The Configure Tabs administration option allows administrators to define which menu tabs will be available for all users and which will be omitted. Administrators can also control whether or not individual users are allowed to change their respective tab settings, typically controlled through the My Account screen. Any tabs that an administrator excludes cannot be added back by a user.

Configuring tab groups

Selecting the Configure Tab Groups option on the administration page allows you to define tab groups similar to those provided by SugarCRM by default. This feature allows you to create groups that are more in line with your user's navigation requirements and usage of the system.

As an administrator, you can modify the existing tab groups or create new groups. Additionally, you may change the ordering of the groups. Users will not be able to manipulate the groups.

Adding system users

To add new users to the system or to edit user settings, select User Management from the main Administration screen. Note that users may not be deleted. They may be made Inactive, or be recycled into a new user record, but not deleted. SugarCRM is designed this way principally to avoid having data in the system that is associated to a user who does not exist.

The presence of data assigned to non-existent users is known to cause problems, sometimes seemingly completely disconnected with each other. In some rare cases, such records have been known to cause problems with upgrades. For this reason, it is recommended that you do not circumvent the system and forcibly delete users.

The user management screen is shown in the following screenshot:

Use the Create User shortcut to define a new user. You will need to provide not only the username, but also the password and the user's status. Once you have created the user, you can provide them with the URL to your SugarCRM install, plus their username and password so they may begin to use it.

Password management

As described in the previous section, the process of creating a new user involves the definition of a password, which is in turn provided to the intended user. Said user would then be able to change the password by accessing their My Account screen within SugarCRM.

This liberty creates a potential security problem. Given that the users are free to define a password of their liking, there exists the possibility that they may create one that is very easy to guess. Such a scenario may allow an unintended or a malicious user to have access to your SugarCRM system.

To counter this problem, administrators can define some restrictions on passwords. Restrictions are defined by clicking on the Password Management option on the administration screen. The following screenshot will be displayed after clicking on Password Management:

Using Studio

As an administrator, you will undoubtedly find yourself in a situation where you need to customize your SugarCRM installation. Fortunately, SugarCRM provides a number of tools that serve this purpose.

The Administration home page shows a number of tools grouped together as Developer Tools. They include the following:

  • Studio

  • Dropdown editor

  • Module builder

  • Module loader

  • Rename tabs

These tools collectively enable administrative users to perform a broad range of customization tasks, reducing the need for custom software development. For more information on these tools, refer to Appendix E, which discusses these SugarCRM customization tools in detail.

Defining system e-mail

System e-mail settings serve a variety of purposes. The most basic use is to send e-mail notifications to users upon the assignment of records. It can also be used to monitor group e-mail inboxes, such as [email protected] or [email protected]. Lastly, e-mail settings must be defined if you intend to send out mass e-mail through the built-in marketing campaign tool.

To configure e-mail settings, click on Email Settings on the administration screen. On this page, you will be able to define the mail transfer agent (sendmail or SMTP) for your installation, as well as enable the sending of notification e-mails to users by enabling the Assignment Notifications option. Note that your options will vary depending on the version of SugarCRM that you are using, as Version 5.5 and higher do not allow the use of sendmail by default.

Most Linux environments include sendmail, but SMTP is quite often an option as well. If you are unsure about which choice to make, consult your hosting provider (for hosted deployments) or review your server's e-mail services configuration.

If you would like to configure SugarCRM to monitor a group mailbox, click the Inbound Email option on the administration screen. Next, click on Monitor New Mail Account to enter the e-mail inbox settings, such as the server address, username, and password. Make sure to set a value for the Assign To Group Folder field. Once operational, SugarCRM will automatically retrieve e-mails for that account, and add them to the assigned folder. To access the e-mails, users can add the folder to their e-mail configuration and they will be automatically displayed.

Notice that the configuration screen also allows you to automatically create a support case every time an e-mail is retrieved from the specified e-mail inbox.

Perhaps one of the most common uses for the e-mail configuration is for the purposes of sending mass e-mails through the marketing campaign tool built into SugarCRM. If you are using SugarCRM within a hosted environment, you should check with your provider about any limitations or considerations that need to be observed with regard to the amount of e-mail you are allowed to send. In addition, you should investigate if any legislation in your area aims at controlling who you can send e-mail to or under which conditions.

To use e-mail campaigns within SugarCRM, the administrator must first enable the System Scheduler and configure the Schedule list within the Scheduler option within the System section of the administration home page.

The system scheduler is enabled in two different ways, one for a Linux server and another for a Windows server. For Microsoft Windows, you can use the task scheduler. For Linux, you can use cron.

For Linux, as a root user, type the following command at the shell prompt, replacing the path-to-sugar with your own path to the Sugar installation directory and replacing the apache with the proper username that the web server runs as (usually defaults to apache or wwwrun):

/echo "0,10,20,30,40,50 * * * * cd /<path-to-sugar>; <path-to-php> ./scheduler.php" | crontab -u apache/

This will setup a cron job to check every 10 minutes whether any e-mail needs to be sent out. If there are any, the mass e-mail queue manager will process the template and send an e-mail out immediately to the recipient. Further information on the cron utility can be found at http://en.wikipedia.org/wiki/Cron.

For Windows, you will first need to create a batch file that causes Windows to execute PHP and the script relevant to the SugarCRM scheduler functionality. Usually, it is a batch file with something similar to the following:

cd C:\xampplite\htdocs\sugarce55\

php.exe -f cron.php

Change C:\xampplite\htdocs\sugarce55\ to reflect the appropriate directory that represents the location of your SugarCRM installation and paste into a text file named SugarScheduler.bat. Take note of where on your computer it is that you saved SugarScheduler.bat as we will need that information in the following step.

Next, select Start | Settings | Control Panel | Scheduled Tasks. Double-click on Add Scheduled Task. When the Scheduled Task Wizard asks you for the program you want Windows to run, browse for the SugarScheduler.bat file. Continue with the rest of the Wizard, making sure you click on the Daily option when asked when to perform this task. Note that you may need to login to Windows as admin level user in order to be able to complete this process.

Before you click on the Finish button for the Scheduled Task Wizard, check the box that says, Open advanced properties for this task when I click Finish. A new dialog box displays after you click on Finish. Click on the Schedule tab, and then on the Advanced button. Check the box for Repeat task and specify every 10 minutes within a duration of 24 hours.