This document summarizes Jeff Bickart's webinar on SugarCRM Development 101. Jeff is a SugarCRM developer and CTO who demonstrated how to build a custom Password module using Module Builder and Studio. The webinar covered:
- Creating a Password module to securely store usernames, passwords and attached files for accounts.
- Using Module Builder to define the module and its fields, and Studio to customize existing modules.
- A live demonstration of building the Password module and customizing core modules.
- Questions about custom module development and SugarCRM's underlying architecture.
2. Intro
• Power Hour
– Developer / Admin Resource
– Promote Successful Implementations
• Ticomix
– SugarCRM “Advanced” Partner
– 2014 Rising Star
– Consulting, Development & Support
– www.ticomix.com
– @TicomixCRM / @TicomixInc
• Webinar Logistics
3. About Jeff Bickart
• Sugar Developer since version 4.0a
• Director of Engineering of a Voice-Enabled CRM
startup
• Chief Technology Officer, NEPO Systems − SugarCRM
GOLD Partner
• CRM Evangelist, Ticomix
• Contact Information
– @bickart
– www.linkedin.com/in/bickart
– Blog: sugarcrm-dev.blogspot.com
4. SugarCRM Development 101
• Overview
– Module Builder
– Studio
• Live Demonstration of the following:
– Admin / Developers
• Using Module Builder
• Customization of core modules and custom modules using Studio
– Developers:
• Understanding what is happening under the covers when using
Module Builder and Studio
• Questions and Answers
5. Module Builder vs. Studio
• Module Builder
– Module Builder enables administrators to create, deploy, and maintain
custom modules in Sugar. For your convenience, the custom modules
are based on templates such as Basic, Person, Company, etc. Modules
can then be deployed within your instance of Sugar so that users can
utilize the new module in their daily process. In addition, modules can
be exported for additional development or published and then imported
to other Sugar instances
• Studio
– Studio enables administrators to customize stock or custom modules by
modifying fields, page layouts, and more. This allows Sugar to be
modified to ideally fit your organizations needs and terminology. Please
note that only users with administrator or developer access have the
ability to make changes
6. Module Builder
Module Types
Type Description
Basic Generic module with only the most basic fields defined by default. All
other module types build on top of the basic module type.
Company Contains fields designed for company, account, or organization type
records. Includes billing and shipping addresses, email address, phone
numbers, industry, website, and more.
File Contains fields designed for file upload or document records. Includes
category, expiration date, status, filename, and more.
Issue Contains fields designed for bug, issue, or case record types. Includes
issue number, status, priority, work log, and more.
Person Contains fields designed for people, contacts, or lead records. Includes
first and last name, primary and alternate addresses, email addresses,
phone numbers, and more.
Sale Contains fields designed for sales, transactions, or opportunities.
Includes, amount, currency, probability, sales stage, and more.
7. Field Types
Data Type Description
Address Creates fields for street, city, postal code, state, and country.
Note: Custom address fields cannot be grouped together like the stock
address fields.
Checkbox Creates a checkbox for data fields with a Yes/No action.
Currency Creates a field to enter a currency value. The system automatically
creates a dropdown of the currency type if the field does not already
exist in that module.
Date Creates a field to enter a date. Includes a button for a calendar popup.
DateTime Creates a field to enter the date and time. Includes a button for a
calendar popup as well as dropdowns for the time.
Decimal Creates a field to hold a number rounded to a specified decimal
precision. Sugar stores the exact representation of the number in the
database (e.g. For a precision of 2: 1.236 is stored as 1.24).
DropDown Creates a field that you can associate with a dropdown list of values.
8. Field Types
Data Type Description
Encrypt Creates a field for sensitive information, such as social security
numbers, whose value is to be encrypted in the Sugar database. The
value is encrypted in the database but is visible in the user interface to
users.
Float Creates a field to hold a number rounded to a specified decimal
precision. Sugar stores the value differently based on the database
platform Sugar is running on.
HTML Creates static HTML-formatted text to display in record views.
IFrame Creates a field to store or generate a URL to display an iFrame in record
views.
Image Creates an image field to upload an image to display on a record.
Integer Creates a field to specify positive or negative numbers with no decimal
places.
MultiSelect Creates a dropdown list of values where multiple values can be
selected at once.
9. Field Types
Data Type Description
Flex Relate Creates a dropdown list from which you can relate a single record from
a variety of modules. Only one Flex Relate field is allowed per module.
If the module already has a Flex Relate field, this option does not
display in the Data Type dropdown list.
Phone Creates a field to enter a phone number.
Radio Creates a radio button for a user to select one value from a dropdown
list.
Relate Creates a field to associate a record with another module's record as a
one-way relationship. You can add multiple Relate fields to a module.
Note: Relate fields and custom relationships are independent of each
other. Changes made to either one are not reflected in the other.
Relate fields can be added to a report, but any data on the related
record cannot be accessed in the report. To access related record data
in a report you will need to create a custom relationship.
TextArea Creates an open text area field for multiple lines of text.
10. Field Types
Data Type Description
TextField Creates a field for a single line of text.
URL Creates a field to store or generate a URL and display as a link.
11. Relate, Flex Relate or Relationship
• Relate
– Creates a field to associate a record with another module's record as a one-way
relationship. You can add multiple Relate fields to a module.
• Flex Relate
– Creates a dropdown list from which you can relate a single record from a variety of
modules. Only one Flex Relate field is allowed per module. If the module already has a
Flex Relate field, this option does not display in the Data Type dropdown list.
• Relationship
– Relationships define the links between different modules in Sugar and allow records
between those modules to be related. Related records display in fields or subpanels on
a module's record view (for Sidecar modules) or detail view (for Legacy modules)
depending on the relationship type. When you create a new relationship between two
modules, the system automatically creates the necessary subpanels, related fields, and
metadata relationships. Relationships provide the added benefit in reports to allow
access to a related records fields in addition to the base module's fields.
12. Relationship Types
One-to-One Records in the primary module and the related module are uniquely
related to each other. For a one-to-one relationship between Accounts
and Contacts, an account can be associated with only one contact and
a contact can be associated with only one account. The relationship
will show as a field in each module's record view where changing the
relationship from either module will also change the value in the
other module.
One-to-Many Records in the primary module can have relationships with many
records in the related module. For a one-to-many relationship
between Accounts and Contacts, an account can be associated with
many contacts, but each contact can be associated with only one
account. The record view of the primary module will display a
subpanel for the related module, and the record view of the related
module will display a field containing a link to the related record.
Many-to-
Many
Records in both the primary module and the related module can have
multiple records related in each module. For a many-to-many
relationship between Accounts and Contacts, an account can be
associated with many contacts, and a contact can be associated with
many accounts. Both module's record view will display a subpanel for
the opposite module.
13. Using Module Builder and Studio
• Password Module
– Each Account can have multiple passwords
– We need a way to store username and password information
for our accounts
– We need the ability to secure whom in our company can see
password information
– The username and password need to be stored in a secure
fashion
– There can be different types of passwords
• website, secure shell, ftp, vpn, other
– We need the ability to attach multiple files to a password for
items such as public certificates, etc.
16. Future Webinars
Topics Subject to Change
• May 13th
– Building Custom Dashlets
• June 10th
– Using the SugarJobQueue
• July 8th
– Workflows, LogicHooks & Deploying Packages
• August
– Layouts, Views and Building a Wizard
Editor's Notes
Why – we are experts in the field of SugarCRM and have been doing this for a long time and we recognize that its sometimes challenging to the the support you need, specifically for developers. Given our investment in the Sugar community we think its important to make sure that ALL users of sugar are finding success, deploying solutions that provide true value for your business…
That said, we know we have a user group here that have varying technical backgrounds, some of you are admins and some are developers. When initially conceived, this Power Hour was designed with the Developer in mind, but due to the response we’ve received from this, we are considering creating two separate tracks, one for developers and one for admins. Regardless of your position, I would encourage you to stay connected today to get a sense of how these webinars will be conducted moving forward… So, what I’d like to do real quick, is have everyone simply answer this one poll question so we can get a better sense of our demographic.
Ticomix was founded in 2000 and has locations and people across the country. We are currently an “Advanced” SugarCRM partner, making us one of the top 20 partners in the North America and we have a relationship with Sugar dating back to 2009. Last year we received the sole “Rising Star” award from Sugar, which demonstrates their confidence in Ticomix to continue to develop as one of the top Sugar providers in the world… We provide a full suite of services ranging from Sugar consulting through to on-going support.
So, I know that was brief, but we want to turn this over to Jeff as quickly as possible to try and give you as much value from this hour as possible.. So just a couple of logistics.