The purpose of this document is to provide insight to Sugar Developers for adapting custom Sugar code, extensions, and integrations to the Sugar 11.1 (Q3 2021) release. This guide provides an overview of some of the new features and identifies changes in Sugar 11.1 (Q3 2021) that could cause an immediate impact on Sugar customizations and integrations built for earlier Sugar versions.
Please check out the Q3 2021 Developer Webinar recording for more highlights.
User Experience Updates
Refreshed UI - new SugarCRM branding and icons
New SugarCRM logo
The new monochrome SugarCRM logo has now been rolled into the product. This includes some new image file locations and in some cases file formats (ex .ico → .svg for favicons) for the new assets.
Updated Icon Library
We’ve introduced a new font-based icon library to Sugar Sell, Serve, Enterprise and Professional customers running in SugarCloud. This is a brand new SugarIcon library is replacing our use of the Font Awesome library.
This release updates the icons throughout the application (ex. record views, list views, etc.) to use SugarIcons.
Custom UI (ex. Sidecar) code that uses the Font Awesome CSS classes (ex. fa-*) will continue to work. We will be working to sunset Font Awesome upcoming releases.
Adopting the new icon library will be easy since the implementation is similar to Font Awesome. SugarIcons will use “sicon” and “sicon-” CSS classes instead of “fa” and “fa-” classes. SugarIcon icon names are different from FontAwesome icon names. More details will be shared in future updates to Sugar Styleguide.
Future Sugar Styleguide Updates
In upcoming releases, we plan to make updates and revisions to the Sugar Styleguide which includes icons, refreshed color palette, and additional design guidelines and principles that we will be applying across our product portfolio. This will allow you to provide a seamless user experience with your Sugar extensions.
Documents module upgraded to Sidecar UX
We’ve preserved existing features that were found in BWC mode. Bringing Documents to Sidecar adds dashboards, preview support, and a host of other capabilities.
SugarLive features are coming to Sugar Sell
SugarLive features and related modules like Messages and the Amazon Connect Configuration panel are now available within Sugar Sell.
List View web accessibility
We’ve added additional ARIA labels on List Views which should improve web accessibility in accordance with Section 508 requirements.
New Action Buttons field type
A new field type has been added called Action Buttons. The actions currently available for ActionButton are: Assign Record, Compose Email, Create Record, Open URL, Run Report, Update Record. Users can further customize their buttons by using SugarBPM and SugarLogic Functions for their actions.
Interactions dashlet is now the Timeline dashlet
The Interactions dashlet has been redesigned and expanded in this Sugar release. It is now called the Timeline dashlet and is now available on Accounts, Contacts, Leads, Opportunities, Quotes, and Cases modules. One of the new features is that the Timeline dashlet will highlight changes made to audited fields like the Assigned To field.
Mobile Push Notification Configuration
There's new Sugar instance system settings for enabling mobile push. SugarCloud instances will have the push notifications setting enabled by default. On-premise installations of Sugar will not support mobile push notifications. You can disable push notifications for a local Sugar installation using the following setting:
$sugar_config['push_notification']['enabled'] = false;
There's also new user preferences (
mobile_notification_on_mention) that allows end users to control what push notifications they can receive. Mobile users can control this preference from the SugarCRM Mobile app.
Sugar Portal Updates
Messages and Emails modules are now available in Sugar Portal. This allows portal users to view e-mails and message history associated with their Cases.
Sugar REST API updates
This Sugar release introduces REST v11_13.
You can now update display labels and dropdown lists in multiple languages. These APIs are restricted to Admin only.
PUT <sugar instance>/rest/v11_13/lang/labels/module/
PUT <sugar instance>/rest/v11_13/lang/labels/dropdown/
You can now retrieve Row and Columns Reports in CSV and JSON formats.
You can now retrieve and update administrative configuration settings. These APIs are restricted to Admin only.
You can now retrieve the list of modules enabled for the Self-Service Portal. This API is restricted to Admin only.
You can now restore any Sugar dashboard to the default state as defined by the dashboard's original Sidecar metadata.
Upgraded 3rd party PHP library laminas-mail to address a bug in e-mail handling.
laminas/laminas-mail: 2.10.1 → 2.14.0
See https://github.com/laminas/laminas-mail for details.
Upgraded PHP library tedivm/jshrink to allow for future support of PHP 8.0.
tedivm/jshrink: 1.3.1 → 1.4.0
See https://github.com/tedious/JShrink/releases for more details.
Removed the NuSOAP library. See Platform Updates section below for more details.
NuSOAP: 0.9.5 → N/A
This new SugarLogic function allows you to retrieve data about the current user. For example, you can now design a formula that factors in the current user’s name, phone number, or department. The field name should be provided as a string and not all User fields work with this function.
We added a new SugarBPM Evaluation Category called “Relationship Change Evaluation” that would be triggered based on addition or removal of a Record’s relationship.
Admins can now use Studio to make relationship-based relate fields required, dependent, mergeable, importable, and mass updatable.
Timeout (in seconds) for requests to web logic hooks
true | false
Removed the “Expand Column Width” action from the Repair section of the Admin panel. This feature was no longer relevant when using a supported version of MS SQL Server.
Removed the BWC MergeRecords module which was no longer in use by any supported version of Sugar. This includes the entire contents of modules/MergeRecords/ directory.
Longer name fields
The max length for any “name” fields used by Sidecar modules is now 255 characters. This includes first_name and last_name on Person type records like Leads and Contacts.
Database storage optimizations
Sugar will now automatically optimize database tables after running pruning and data archiving jobs. This will help optimize query performance and reduce storage usage within SugarCloud accounts when there’s a significant reduction in the number of rows within database tables. It is recommended that these operations are performed during low usage or after hours they can affect system performance while running.
Display labels in CSV exports
When using Export Wizard to extract a CSV, dropdown (enum) and multiselect (multienum) fields now include an additional column for the display labels. When importing a CSV using the exported format, the display label columns will be ignored.
Contracts in Serve
The Contracts module is now part of Sugar Serve.
Changes to Messages module
The Messages module is now part of Sugar Sell. Messages can now have multiple participants (Contacts, Leads, and Users) instead of a single Contact. Messages is now consistent with how Meetings and Calls modules represent participants by using an
invitees collection field. During 11.1 upgrade process, existing Messages will have the Contact (
contact_id) added to the
Sentiment Analysis fields added to Calls and Messages
All these fields are used by SugarLive and therefore only available with Serve and Sell.
The following Sentiment analysis fields have been added to Calls.
Sentiment scores are stored as decimals ranging between -5 and 5. They are displayed within Sugar user interface using a new
sentiment field type that displays a negative (< -1.3), positive ( > 1.3), or neutral visualization.
The following Sentiment analysis fields have been added to Messages.
The sentiment value is stored as a descriptive string like "positive", "neutral", etc.
In Sugar 11.0, Module Loadable Package uploads were moved from ./upload/upgrades/module/ to
Now in Sugar 11.1.0, each uploaded file is now stored in a subdirectory derived from the UUID filename. Existing files will be moved into subdirectories during upgrade.
For example, the file
3657325a-bdd6-11eb-9a6c-08002723a3b8 will now be stored in the
./upload/25a/ subdirectory. These UID character locations were selected to ensure even distribution of files across the new subdirectories.
In previous Sugar versions, all uploaded files would be stored in the
./upload directory using UUIDs as filenames. This could get unwieldy and cause file system performance issues when there was an enormous number of uploaded files.
Embedded e-mail images no longer stored in .
When viewing an archived e-mail, Sugar would previously copy any associated embedded e-mail images into the
./cache/image directory. This was done to allow Sugar to generate a URL that could be used to display image but took up additional file storage. In this release, we've eliminated the need for the
./cache/images directory. Users may notice that the embedded e-mail images will now point to a File API endpoint instead of the cache. The upgrade to Sugar 11.1.0 will clear the
./cache/image directory to free up storage.
Team Security updates
To improve Team security related query performance on MySQL, we’ve added a query optimizer hint (“MATERIALIZATION”) on a specific subquery that significantly improves performance for instances with large numbers of Teams.
In the unlikely event that this optimization causes suboptimal query performance with your instance’s data, we’ve added a “'
disable_subquery_optimizer_hint'” TeamSecurity setting that you can use to turn off this hint.
New TeamSet commands for SugarCRM command line interface (CLI)
./bin/sugarcrm CLI now supports several commands for managing TeamSets within a Sugar instance. The commands are intended to allow you to identify and eliminate unused team sets which can develop into a performance problem as their number grows.
Note that you can only use the SugarCRM CLI when Sugar is deployed on-premise.
Backs up the team_sets related tables.
Prune all team set tables of unused team sets. Original tables will be backed up automatically. DO NOT USE while users are logged into the system!
Restores all team set tables from backups. DO NOT USE while users are logged into the system!
Scan all module tables for unused team sets and report the number found.
Print the sql query used to search for unused teamsets
Added support for MySQL 8.0
This release added support for MySQL 8.0. And in order to support MySQL 8.0, the
MysqliManager::getRecursiveSelectSQL() PHP function has been deprecated.
Removal of NuSOAP library
The NuSOAP library was used to dynamically generate WSDL files but we now use static WSDLs. The legacy SOAP API of Sugar is unchanged but you will need to make sure that the SOAP PHP extension is configured on your local environments.
The following PHP classes have been removed:
|Removed Class||Alternative Class|
Module Loadable Package rollback on failure
Any PHP error that is encountered within 5 minutes after a Module Loadable Package (MLP) has been installed will trigger an automatic rollback where the MLP is uninstalled.
Denormalized Relate Fields
The “account_name" field for Contacts, Opportunities, RLI, and Cases modules are now denormalized by default using our Relate Field Denormalization framework. This applies to new installs as well as for those upgrading from previous Sugar versions. You can adjust which relate fields are denormalized using the Relate Field Denormalization developer tool in the Admin panel.
The following functions have been deprecated and will be removed in an upcoming Sugar release.