The purpose of this document is to provide insight to Sugar Developers for upgrading custom Sugar code, extensions, and integrations to the Sugar 14.0 (Q2 2024) release. This guide focuses on changes in Sugar14.0 (Q2 2024) that could cause an immediate impact on Sugar customizations and integrations built for earlier Sugar versions.
Please check out the Q2 2024 Developer Webinar recording for more developer highlights. For Admin and End User release notes, please visit the Sugar 14.0.0 Release Notes.
User Experience Updates
Predict Dashlets on Focus Drawers and Preview
In this release, we've added the capability for users to view the Opportunity Close Prediction Dashlet and the Lead Conversion Prediction Dashlet directly from their Focus Dashboards and Dashlet Previews, eliminating the need to navigate to an Opportunity or Leads Record View. This enhancement streamlines the user experience, making it easier for users to access and manage their Leads and Opportunities data. By providing better lead and opportunity insights right in their Focus Dashboards and Dashlet preview, we’re enabling users to make more informed decisions and improve their overall productivity.
Comment Log in Quotes and all Preview Layouts
In this release, we are adding Comment Log to the Quotes Module Record View and Preview allows for more efficient management of Quotes, as users can now easily access and update comments directly from their Record View and/or Preview Layout. Before 14.0, the Comment Log was only available for preview layouts in the Bugs module, in 14.0 we expanded the funcionalty to all preview layouts for modules where the Comment Log is available. We also added a scrollbar to the Comment Log making it easier for users to navigate through the comments without losing visibility of other relevant record information.
Define Users Dashboards
In this release, Admins can easily see at a glance the number of group users and drill into the drawer without having to navigate away from the list view This enhancement leverages the powerful functionality of Sugar's existing focus dashboards, providing users with valuable information at their fingertips without having to drill into individual records or navigate away from other relevant information. This not only improves the efficiency of admins by reducing the time spent on navigation, but also enhances the overall user experience by providing quick access to important data.
Role-based Report and Dashboard Templates
In this release, we introduce the role-based report and dashboard templates that will come with brand-new instance and will allow users to start working with data immediately, instead of spending time on setting up the reports and dashboards.
We provide role-based comprehensive templates, developed by our customer-facing departments (project webb). Users Sales Reps or Sales Executives – will have their dashboard and report available immediately. The reports and dashboards are read-only, but they can be duplicated and modified if needed.
We provide 6 role-based dashboard templates that can be accessed from left-hand home menu:
- BDR Dashboard
- Customer Success Dashboard
- Executive Dashboard
- Marketing Dashboard
- Sales Manager Dashboard
- Sales Rep Dashboard
Also, we provide 166 report templates. The templates are marked with the new filter visible in the list view. Stock reports were replaced by templates, the filters were replaced accordingly.
New customer after his instance is set, access granted – can start working. Sales Reps introduce the Opportunities and Leads to track – next day can just open the dashboard where they have everything they need.
Sugar REST API updates
This Sugar release introduces REST v11_24
.
Admins to trigger a password reset in non-IDM mode
Allows an administrator of the Users module to trigger an email to be sent to a User requesting them to reset their password
POST <sugar instance>/rest/v11_24/password/adminRequest
Retrieve Related Activities API
The endpoint is used to load list of activities related to module/modules.
POST <sugar instance>/rest/v11_24/<module>/<record_id>/link/related_activities
Supported Platforms Update
In this release, we are updating Sugar’s Supported Platforms.
- We are dropping support for PHP 8.0 and adding support to PHP 8.3.
- PHP 8.0 to PHP 8.1 have breaking changes and incompatibilities
- Here is PHP’s official migration guide (https://www.php.net/manual/en/migration81.php)
- Backwards incompatibilities guide (https://www.php.net/manual/en/migration81.incompatible.php)
- PHP 8.1 to PHP 8.2 have breaking changes and incompatibilities
- Here is PHP’s official migration guide (https://www.php.net/manual/en/migration82.php)
- Backwards incompatibilities guide (https://www.php.net/manual/en/migration82.incompatible.php)
- PHP 8.2 to PHP 8.3 have breaking changes and incompatibilities
- Here is PHP’s official migration guide (https://www.php.net/manual/en/migration83.php)
- Backwards incompatibilities guide (https://www.php.net/manual/en/migration83.incompatible.php)
- PHP 8.0 to PHP 8.1 have breaking changes and incompatibilities
- There isn't an upgrade path from 8.0 to 8.3, you must ensure it follows the upgrade path 7.4 -> 8.0 -> 8.1 -> 8.2 -> 8.3
- We are dropping support for MySQL 5.4 and adding support for 8.1 and 8.3
- We are dropping support for MSSQL 2017 and adding support for 2019 and 2022
- We are adding support for Oracle 21c and 23c
- We are dropping support for Windows Server 2019.
- We are adding support for Amazon OpenSearch 5.6
Configurability updates
Sugar Config Settings
Setting Name |
Default |
Override Example |
Description |
full_text_engine.Elastic.transport | https | $sugar_config['full_text_engine']['Elastic']['transport'] = 'https' | Specify the protocol to communicate with Full-Text Engine |
full_text_engine.Elastic.username |
$sugar_config['full_text_engine']['Elastic']['username'] = 'username' | Specify the username to communicate with Full-Text Engine | |
full_text_engine.Elastic.password |
$sugar_config['full_text_engine']['Elastic']['password'] = 'password' | Specify the password to communicate with Full-Text Engine | |
api.allowedClients | [] |
$sugar_config['api']['allowedClients'] = [ |
Rules applied in the following order: - If the platform is not in the list - any client is allowed for it - If the platform is defined in the list, but the clients list is empty - any client is allowed - If the platform has one or more clients in the list - only they are allowed |
Platform Updates
Disable access to SugarCRM mobile application
In this release, we've introduced a new configuration setting. This addition will empower you to define precisely which mobile clients are permitted to access your Sugar data/instance. It's managed via a sugar_config called $sugar_config['api']['allowedClients'
.
When you generate an SDK application you are asked to give that application a name. This new config, provides you the the ability to specify which app names can connect to a Sugar instance. For an existing application, in the app.json configuration file, you can see the name in the “appName” parameter. As an example, if you generated an app with an appName set to “my_app_name”, you would need to make a corresponding configuration change in Sugar.
For example, to ensure that only the your app_name client, created through the mobile SDK, is allowed, you'll need to incorporate the following line into your Sugar Sell configuration: $sugar_config['api']['allowedClients'] = ['mobile' => ['my_app_name']];
Updates to Forecast Commitment
Prior to this release, the Commitment value in the Commitment tab be calculated based on the Opportunities in the forecast before an initial manual commitment. When the user changes the value and clicks “Commit” the Commitment value is no longer calculated and only changes when the user manually changes. This has caused some confusion amongst Forecast module users because they expect the system to continue to update the Commitment value after their manual changes. To avoid confusion, in this release, Sugar will initiate that value at 0 (zero) so users know they haven’t committed anything and the value will only change when they manually change it.
Default Value was removed from Calls and Meetings in the Studio UI
In this release, we are removing Default Value from Calls and Meetings in the Studio UI. This option has been removed as it creates a false impression that admins can set reminders. Currently, Sugar uses what is in the User Profile Settings.
On Upgrade, instances will no longer see that and it will not be avilable for new installs.
Additional List View Filters
The addition of three new list view filters in version 14.0 significantly enhances the user experience by making it easier for users to filter and find information quickly. With the "Contains
" operator now available for Textarea fields and the "After today
" and "Before today
" options for Date and Datetime fields, users can easily filter records without having to enter exact dates or build complex operators. "Contains
" also works for custom fields now.
Improved CRM/Self-Service Center integration
Currently Self-Service Center(SSC) users are mapped as “External Users” in CRM. When a case or any other object is created by SSC user, it is linked to the “External Users” in the CRM. A SSC user can be a Prospect or a Lead or a Contact and currently can be linked to a Contact. The current problem is that the CRM users ( e.g. Sales or Service agents) have to look at two separate screens e.g. 1) External Users and 2) Contact records to see all the related activities for a Contact (depending on which system was used to create the interaction/activity).
In this release, we are bringing this new enhancement to ensure that all the related activities whether initiated from the SSC by an External User or within the CRM by Contacts are shown in a single, consolidated view for the Contact in the CRM. I.e. All related records of External Users are now also shown as related to the Contact when an External User is related to that Contact.
Display SugarIdentity warning when user is trying to edit IDM fields
In this release, we are introducing a warning message when user is trying to edit a field that’s owned by Sugar IDM in the User’s List View, User’s Preview, Dashboards and dashlets.
Enable Sales Stage and Expected close date editable for Sales Console
In this release, Sales Stage
and Expected Close Date
were added as editable in console multiline list views and they will behave the same as list views.
Add Users List View to Dashboards
In our previous release, we moved Users from BWC to Sidecar but we missed this functionality, now in this release we have fixed it, so you can take advantage of adding Users List Views to your Dashboards.
Update Metric font size
In this release, we are updating the font size for the metric total as follows:
-
Update preferred currency from text-4xl → text-3xl (
font-size: 1.875rem; /* 30px */ line-height: 2.25rem; /* 36px */
) -
Fix When preferred currency & system currency are turned on, use text-3xl for preferred currency as well. (today when preferred currency is on or off, they appear at different sizes)
Support for Amazon OpenSearch
In this release, we are concluding our efforts to support Amazon OpenSearch which could potentially be used by any admin on their instances.
- User Interface
- Admins have a new option to configure Full-text search options and use OpenSearch as their FTS engine
- They can set
username
,password
andtransport protocol
- Elastic search is still the engine and there's no need to update to OpenSearch, it will be handled by Sugar when there's handshake with the server
- UI is not available for SugarCloud instances
- Configuration
- Admins can override config.php to add those configs (see Sugar Config Settings)
- Admins can use Environment Variables as a security protection for
username
,password
andtransport protocol
- Note, the environment variables must be set before Apache server restarted.
- These are the env variables
- 'es_username' ==> 'username'
- ‘es_password' ==> 'password’
- 'es_transport' ==> 'transport'
Cookie Consent - Remove "Accept Cookies" step from new user wizard
In this release, we are removing our cookie acceptance policy to ensure that we are only requiring users to accept required cookies and nothing else. At present, our cookie accept screen is a required field – without accepting cookies, the application will not work. As this is not a meaningful choice for the user, Sugar is removing the option and any required checks for this setting. Those fields are being hidden in Studio. Sugar Portal is also removing the cookie consent same as Sugar app.
Disable unlink option for records created by External Users
In this release, we are disabling the unlink option for records that are created by External Users but shown in the Contact record.
After creating a record as an external user, the unlink option is not available in the Contact record.
Sugar Core Security Updates
As part of our ongoing efforts to keep Sugar clean, fast, reliable, and most importantly secure, we have updated Sugar Core code in different areas of the application such as Package Scanner, Module Installer, UI rendering, Handlebar templates, File Uploads and Imports.
Sugar Core PHP 8.2 compatibility
We are constantly monitoring issues in the code for PHP 8.2 compatibility and have hardened multiple core code In this release, Most of those fixes are defensive coding following the steps described in this article.