SugarCRM Developer's Manual: Customize and extend SugarCRM


SugarCRM Developer's Manual: Customize and extend SugarCRM
eBook: $29.99
Formats: PDF, PacktLib, ePub and Mobi formats
$16.49
save 45%!
Print + free eBook + free PacktLib access to the book: $79.98    Print cover: $49.99
$49.99
save 37%!
Free Shipping!
UK, US, Europe and selected countries in Asia.
Also available on:
Overview
Table of Contents
Author
Support
Sample Chapters
  • Learn to customize SugarCRM code
  • Develop modules from scratch
  • Learn database and application architecture

 

Book Details

Language : English
Paperback : 296 pages [ 235mm x 191mm ]
Release Date : June 2007
ISBN : 1847192068
ISBN 13 : 9781847192066
Author(s) : Dr Mark Alexander Bain
Topics and Technologies : All Books, CMS and eCommerce, CRM, Open Source


Table of Contents

Preface
Chapter 1: Stamping Your Own Brand on SugarCRM
Chapter 2: Customizing the SugarCRM Application Content
Chapter 3: Introducing Custom Fields
Chapter 4: Interfacing with SugarCRM
Chapter 5: SugarCRM Database Schematics
Chapter 6: SugarCRM Data Dictionary
Chapter 7: Development and Testing Strategies for SugarCRM
Chapter 8: Developing Your Own Modules
Chapter 9: Developing a Custom Workflow within SugarCRM
Chapter 10: Customizing and Optimizing SugarCRM—Tips and Tricks
Index
  • Chapter 1: Stamping Your Own Brand on SugarCRM
    • Before We Start...
    • Customizing SugarCRM URL
      • Changing the SugarCRM URL in Windows
      • Changing the SugarCRM URL in Linux
    • Customizing SugarCRM Tabs
      • Re-name the SugarCRM Tabs
      • The SugarCRM Custom Directory
      • Customizing the Text within SugarCRM Tab Screens
      • Changing the Browser Title
      • Adding a Company Logo
    • Customizing SugarCRM Themes
      • Creating a New Theme
      • Removing a Theme
    • Summary
  • Chapter 2: Customizing the SugarCRM Application Content
    • A Note About Terminology
    • Changing the About Screen
      • Changing the About Screen into a Help Screen
    • Controlling the Visible Tabs
      • User Control
      • Administrator Control
        • A Note about Administering Live Systems
    • Adding a Custom Tab
      • Custom Tab Contents
    • User-Controlled Dashlet Customization
      • Customizing Dashlets
      • Making Dashlets Accessible to Users
    • Summary
  • Chapter 3: Introducing Custom Fields
    • Adding a Custom Field
      • The Standard Module Tab
      • The General Process for Creating a Custom Dropdown
      • Using Studio to Create a Drop-down Box
      • Manually Adding a Drop-down Box
      • Using Studio to Create a Custom Field
      • Creating the Custom Field Manually
      • Adding the Dropdown to a Module Tab
        • Adding Rows
      • Recovering Previous Versions of a Layout
      • Manually Modifying Layouts
    • Including Custom Fields in Mass Updates
      • Making Sure that Your Changes are Visible
      • Limitations of the Mass Update
      • Adding Built-in SugarCRM Fields to the Mass Update
    • Creating other Field Types
      • Field Data Types
    • Summary
  • Chapter 4: Interfacing with SugarCRM
    • What Have we Learned so Far?
      • The Include Directory
      • The Custom Directory
      • The Themes Directory
      • The Modules Directory
    • Overview of the SugarCRM Application Architecture
    • The SugarCRM User Interface
      • Calling Modules
    • SugarBean—The SugarCRM Data Interface
      • The SugarBean Files
        • vardefs.php
        • vardefs On-line Documentation
        • vardefs Field Types
        • The Complete vardefs File
        • The <module>.php File
    • SugarBean in Action—SugarCRM's Logic Hooks
      • The End Result of Using the Logic Hook
    • Summary
  • Chapter 5: SugarCRM Database Schematics
    • Database Schematic Diagrams
      • Access Control List
      • Accounts
      • Bugs
      • Calls
      • Campaigns
      • Cases
      • Contacts
      • Documents
      • Emails
      • Email Management
      • Leads
      • Meetings
      • Opportunities
      • Projects
      • Project Tasks
      • Prospects
      • Schedulers
      • Users
    • Differences Between Versions 4.5.0 and 4.5.1
    • Summary
  • Chapter 6: SugarCRM Data Dictionary
    • SugarCRM Table Definitions
      • Accounts
      • accounts_audit
      • accounts_bugs
      • accounts_cases
      • accounts_contacts
      • accounts_opportunities
      • acl_actions
      • acl_roles
      • acl_roles_actions
      • acl_roles_users
      • Bugs
      • bugs_audit
      • Calls
      • calls_contacts
      • calls_users
      • campaign_log
      • campaign_trkrs
      • Campaigns
      • campaigns_audit
      • Cases
      • cases_audit
      • cases_bugs
      • Config
      • Contacts
      • contacts_audit
      • contacts_bugs
      • contacts_cases
      • contacts_users
      • Currencies
      • custom_fields
      • Dashboards
      • document_revisions
      • Documents
      • email_marketing
      • email_marketing_prospect_lists
      • email_templates
      • emailman
      • Emails
      • emails_accounts
      • emails_bugs
      • emails_cases
      • emails_contacts
      • emails_leads
      • emails_opportunities
      • emails_project_tasks
      • emails_projects
      • emails_prospects
      • emails_tasks
      • emails_users
      • Feeds
      • fields_meta_data
      • Files
      • iframes
      • import_maps
      • inbound_email
      • inbound_email_autoreply
      • Leads
      • leads_audit
      • linked_documents
      • Meetings
      • meetings_contacts
      • meetings_users
      • Notes
      • Opportunities
      • opportunities_audit
      • opportunities_contacts
      • Project
      • project_relation
      • project_task
      • project_task_audit
      • prospect_list_campaigns
      • prospect_lists
      • prospect_lists_prospects
      • Prospects
      • Relationships
      • Releases
      • Roles
      • roles_modules
      • roles_users
      • saved_search
      • Schedulers
      • schedulers_times
      • Tasks
      • Tracker
      • upgrade_history
      • user_preferences
      • Users
      • users_feeds
      • users_last_import
      • users_signatures
      • vcals
      • Versions
    • Summary
  • Chapter 7: Development and Testing Strategies for SugarCRM
    • Why Use Development and Testing Strategies?
    • The Unbreakable Rule:Thou Shalt Not Do Any Development on a Live Server
    • Setting up a Development Server
      • Creating a Server
        • Installing Software
        • Setting the Server's IP Address
      • Migrating SugarCRM Files and Databases Between Servers
        • Setting Up the Export on Server 1
        • Setting up a Mount Point on Server 2
        • Migrating Files from Server 1 to Server 2
    • An Example Upgrade
      • Upgrading PHP
      • Upgrading SugarCRM
        • Comparing Database Files
        • Migrating Database Files
        • Comparing and Migrating the SugarCRM Application Files
    • Testing SugarCRM
    • Releasing Your Customizations
    • Summary
  • Chapter 8: Developing Your Own Modules
    • Adding Third-party Modules
    • Creating Custom Modules
      • A (Very) Basic Module
      • Data for the New Module
      • Processing Data in the Module
        • Adding More Data
      • Adding Shortcuts
      • Using language/en_us.lang.php
      • Tables for the Module
    • Advanced Modules
      • The Initial Setup
      • The Module's Data Schema—vardefs.php
      • The Module's Business Object
        • Registering the Business Object
      • The Module's Language File
      • The Module's List View
        • Selecting the Fields to be Displayed
        • Creating the List View
        • Making the List View the Default View
      • The Modules Edit View
        • The EditView.php File
        • The EditView.html File
        • The Module's Save File
      • Creating New Reports
    • Summary
  • Chapter 9: Developing a Custom Workflow within SugarCRM
    • A Very Simple Workflow
      • Setting up the Process Stages
      • Deciding Who Does What
      • Introducing Business Rules
      • Completing the Automated Workflow
    • Moving the Rules into the Database
      • Add a Custom Table
      • Create the Workflow Module
        • Building a Data Input Module
        • Making Use of the Rules in the Database
    • Parallel Tasks
      • Adding Dependent Tasks to the Database
      • Using Dependent Tasks in the Workflow
    • Summary
  • Chapter 10: Customizing and Optimizing SugarCRM—Tips and Tricks
    • Delving into SugarCRM Variables
    • Developing Dashlets Further
    • Speeding up SugarCRM
      • Optimizing Queries
        • Using the explain Command
        • Creating Indexes
        • Logging Slow Queries
        • Using the MySQL Query Cache
      • Optimizing the SugarCRM Application
        • The SugarCRM Diagnostic Tool
        • Install a PHP Optimizer
    • Creating Reports
      • Obtaining OpenOffice.org
      • Accessing the Database Remotely
        • Allowing Connections to the Database
        • Creating an Account for Remote Access
      • Setting Up the ODBC Connection
      • Accessing the Data Through OOo Base
        • Creating Queries
        • Creating the Report
    • Summary

Dr Mark Alexander Bain

Dr. Mark Alexander Bain first started customizing CRM systems back in the mid '90s when he was team leader for Vodafone's Cascade project – the team took the 'out-of-the-box' Clarify CRM and turned it into a radio base station planning application, complete with a workflow engine for passing jobs between the different departments involved in the planning, building, and implementation of a radio network. Since then he's lectured at the University of Central Lancashire, and currently Mark writes articles on all things Linux and Open Source for Linux Format, Newsforge.com and Linux Journal. SugarCRM customization, therefore, seems the obvious choice for this, his second book, since it combines Mark's knowledge of working with commercial CRMs and the Open Source philosophy. Mark works from his home on the edge of the Lake District in the UK, where he lives with his wife, two dogs and two cats, and gets the odd visit from his sons – Michael and Simon.

Sorry, we don't have any reviews for this title yet.

Code Downloads

Download the code and support files for this book.


Submit Errata

Please let us know if you have found any errors not listed on this list by completing our errata submission form. Our editors will check them and add them to this list. Thank you.

Sample chapters

You can view our sample chapters and prefaces of this title on PacktLib or download sample chapters in PDF format.

Frequently bought together

SugarCRM Developer's Manual: Customize and extend SugarCRM +    Using CiviCRM =
50% Off
the second eBook
Price for both: ₨406.40

Buy both these recommended eBooks together and get 50% off the cheapest eBook.

What you will learn from this book

  • Customize your SugarCRM application
  • Add your own components in the form of module tabs and dashlets
  • Modify the look and feel of SugarCRM
  • Add new fields to SugarCRM
  • Develop, test, and use SugarCRM in a safe environment
  • Incorporate third-party modules into your site
  • Develop your own modules from scratch
  • Develop a custom workflow within SugarCRM
  • Optimize the performance of SugarCRM implementations


Chapter 1
is a smooth introduction to customizing Sugar CRM.

In Chapter 2, you will start to customize the SugarCRM application itself, and you will be able to add your own components in the form of module tabs and dashlets.

In Chapter 3, you will learn how to modify the look and feel of SugarCRM. This chapter also shows how to add new fields to SugarCRM.

Chapter 4 looks at the interfaces, and how to use them effectively in your customizations.

Chapter 5 includes database schematic diagrams, showing the relationships between each table in the database and the other tables.

Chapter 6 covers complete database schematics for the SugarCRM application, providing full details on each table.

In Chapter 7, you will learn how to develop, test, and use SugarCRM in a safe environment using a development server, a test server, and a live server.

In Chapter 8, you will learn to incorporate third-party modules into your site and develop your own modules from scratch.

Chapter 9 deals with developing a custom workflow within SugarCRM.

In Chapter 10, you will see various techniques for optimizing the performance of a SugarCRM implementation, and a few
more ways of extending the application.

In Detail

SugarCRM is the world's leading commercial open-source customer relationship management (CRM) software for companies of all sizes. SugarCRM easily adapts to any business environment by offering a more flexible, cost-effective alternative to proprietary applications. SugarCRM's open-source architecture allows companies to more easily customize and integrate customer-facing business processes in order to build and maintain more profitable relationships. SugarCRM offers several deployment options, including on-demand, on-premise and appliance-based solutions to suit customers' security, integration, and configuration needs.

This book will help you to customize the SugarCRM code. You will get learn about the database and application architecture. The book provides you with a module development tutorial, showing the essential steps for hooking your module into the SugarCRM infrastructure. You will learn about common customizations that can be performed against the codebase.

This is a developer's manual for SugarCRM. It focuses on customizing SugarCRM. It provides an overview of the architecture of the application and the database, and covers the essential steps for hooking your module into the SugarCRM infrastructure.

Approach

The book is structured as:

  •     An overview of the architecture of the application and database, how it all fits together
  •     A module development tutorial, showing the essential steps for hooking your module into the SugarCRM infrastructure
  •     A section of common customizations that can be performed against the codebase

 

Who this book is for

The book is for PHP developers working with SugarCRM, who want to extend its capabilities. Readers should have a basic knowledge of SugarCRM as the book does not cover installation and usage of SugarCRM. This can be gained from Implementing SugarCRM.

Code Download and Errata
Packt Anytime, Anywhere
Register Books
Print Upgrades
eBook Downloads
Video Support
Contact Us
Awards Voting Nominations Previous Winners
Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
Resources
Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software