The purpose of this document is to provide insight to Sugar Developers for upgrading custom Sugar code, extensions, and integrations to the Sugar 13.3 (Q1 2024) release. This guide focuses on changes in Sugar 13.3 (Q1 2024) that could cause an immediate impact on Sugar customizations and integrations built for earlier Sugar versions.
Please check out the Q1 2024 Developer Webinar recording for more developer highlights. For Admin and End User release notes, please visit the Sugar 13.3.0 Release Notes.
User Experience Updates
User Management Improvements
In this release, we have moved the Users module to Sidecar modern UI, this delivers a more efficient and enjoyable experience by helping admins navigate the CRM more effectively and reducing the learning curve.
- User Profile
- Has a fresh look and feel, making the CRM more aesthetically appealing to end users. User Profile is one of the first places a new user navigates to when they first log into the CRM to make their instance theirs. User Profile tabs are now more consistent between edit mode and view mode- none of the tabs disappear when viewing or editing the profile. As part of long-term user management changes, we made architectural improvements by grouping IDM-owned fields together instead of having them scattered all over the profile.
- The only Layouts admin can edit OOTB (w/o custom code) is the main "User Profile" tab. All subsequent tabs are hidden. This means that fields that live in the other tabs will not be available in the Toolbox panel.
- Access Tab
- The Access tab table now has frozen headers, similar to List Views. Before 13.3, when a user looked at their access tab and scrolled down too far down the list, they would lose the headers and not know what they were looking at. We’ve made this much easier by keeping the headers in place as users scroll to the bottom of the table.
- Admins no longer see the "Access" tab when viewing a users profile. The Access tab is only visible when users are viewing their own profile (including admins).
- Layout Options
- Layout Options control which controls what modules are hidden or displayed in the Sidebar Navigation makes a new experience more seamless by reusing some of our existing controls in the Sales Console allowing users to hide or display modules by simply dragging them into the hidden or available columns.
- Change Password
- Users now have more ownership of their password. Non-IDM-enabled instances are more consistent with IDM-enabled ones by adding a Change Password under the Profile actions menu. Admins will still be able to trigger a password reset through Password Management if needed.
- On upgrade, admins will no longer be able to change a users password in their User Profile. That will live in profile actions actions dropdown (similar to IDM instances).
Focus Drawers for Report Drilling
In this release, we made a significant improvement to Reports Viewer to keep the drill-down experience within its context. We decided to use an existent Focus Drawer solution, that has all the necessary features, like easy navigation and multiple tabs allowed.
By clicking the chart element – the Focus Drawer the relevant data is opened. Users can visualize the data about the records from the chart, opening them in separate tabs, or in the same view. Navigate back to the Drill Down, or close the Focus Drawer.
Composing/Editing an Email Made Easier
In this release, we are now displaying the To
and From
fields, at all times, when composing or editing an email making it easier and more intuitive for new or inexperienced users of our CRM.
Enhanced Forecasting – Time Slicers
We are enhancing the user experience when dealing with date_type fields in our Enhanced Forecasting module.
Now users can slice their data during runtime using those types of fields. Sugar has created a new type of slicer that provides custom time frames as well as pre-set timeframes as Weekly, Monthly, and Quartely. Follow the same pattern of existing slicing to minimize any adoption challenge.
Inline Edit for Console multiline list view
Users can now edit information directly within the multiline list views in consoles without needing to open individual records or navigate away from the list significantly enhancing efficiency and user experience. E.g. A customer support agent can quickly update Case statuses and priorities directly from the console list view, enhancing Case response times. A sales team can efficiently update Account or Opportunity details directly in the console list views in a fast-paced Sales scenario.
Primary and Secondary sorting for Users for Consoles
With this release, we are enabling Primary and Secondary Sort features for multiline list views for non-admin users. This enhancement will enable all users to organize and analyze data more effectively and intuitively in consoles helping them gain greater control over how they view and interact with data. E.g. a service agent can sort Cases first by follow-up date and then by priority, providing a clear view of upcoming critical Cases. Similarly a Sales agent can apply these two levels of sorting for their accounts or opportunities.
Timeline Improvements
In this release, we are improving the user experience on our timelines, those improvements will make usability of our users and admins much easier
- New Create card for each timeline
- We are adding a create card for each timeline. The create card displays the name of the user who created the record and the date of creation, providing immediate visibility into the timeline's origin. E,g. In teams where multiple agents may interact with the same customer or work on the same case, the initial create card provides a quick and clear reference point.
- Skeleton Loader for Timeline
- On the first load, till the time the Timeline is loaded a skeleton loader is shown on the screen, when data is done loading the skeleton is removed and data is displayed
- Sort the list of modules in Timeline settings screen
- List of modules is now sorted alphabetically in the settings screen by using the label being displayed in lowercase.
- We have moved the refresh button from an action button to an icon available to all users not only admins.
- Increase the limit for the number of modules for Timeline from 8 to 10
- Refresh the record timeline when the user adds a related record for a record view.
- We are moving the focus drawer icon from the kebab icon to near the links in Timeline.
- Note for existing custom modules: This update doesn’t apply to custom modules that already exist. Focus Icon appears for new custom modules.
Sugar REST API updates
This Sugar release introduces REST v11_23
.
Update an occurrence event record of the specified type
Updates a single event record or a series of event records of the specified type
POST <sugar instance>/rest/v11_23/Meetings/updateRecurrence
Retrieve a list of occurrence records given a master event id
Retrieves some of all occurrences of a certain type
POST <sugar instance>/rest/v11_23/Meetings/retrieveOccurences
JS Library Upgrades
Upgrade Bootstrap Library
In this release, we are upgrading bootstrap to 5.3.x. There will be breaking changes reported by bootstrap, when looking at those changes, make sure you follow version to version migrations guide provided by Bootstrap so you don't miss anything, below are major migration changes you need.
Moving from Beta 3 to our stable v4.0 release, there are no breaking changes, but there are some notable changes reported here.
Migrating to v5, notable changes can be found here.
Configurability updates
Role and Team Management
DocuSignEnvelopes Role Restriction
In this release, we've introduced new role restrictions for Docusign in the Team management. The DocuSign settings are now available for admin Users and for regular Users with Developer access set for the DocuSign Envelopes module
SugarBPM
Possibility to use "Required If" fields in SugarBPM Process Definition actions.
In this release, we are bringing back Add Related record
and Change field
actions. Please note earlier these conditional fields were always required fields on BPM process definitions. Going forward these conditional fields will not be required fields.
-
For BPM for “Add Related Record” and “Change Field” actions, if a field is required conditionally then that field would be available for admin to update
-
The “Required” condition for that field will not be checked in the BPM PD for .“Add Related Record” and “Change Field” actions.
Process Definition does not trigger for normal users when using "Relationship Change" as the start event
In this release, we have fixed an issue where Process Definition wouldn't trigger for normal users when using "Relationship Change" as the start event.
Now The process triggers and you can track its progress in the Process Management list.
Email process user when process assigned should also work when new process user is selected
In this release, we have fixed a very specific scenario reported by our customers which reads as:
Currently in SugarBPM, for Activity Events customers can select a new process user from a pre-selected team set up within the process definition, and also separately can email the process user when the process is assigned. For end users, they do receive an email if they claim the process from the Self-Service Processes dashlet, resulting in self-assignment. However, if then before Approving or Rejecting the Process the User selects a new process User and sends the process off for approval, the new process User does not receive an email notifying them of the new assignment. If the process is reassigned to any new process user, some customers desire a new email to be sent.
With this fix, The new process user will get the email alert in their inbox with the template configured in the process definition.
Fix for Audit log doesn't show BPM as Source, when Process is triggered by a non-admin user
In this release Admin users or any users who have access to the corresponding process definition, when looking at the audit log, will be able to see the name of the process definition that made the change as a link to the process definition record, Non admin users or any user who does not have access to the corresponding process definition will see the text string “SugarBPM” as the source of the change.
Both Admin and Non-Admin users will be able to see the change.
Studio
Enum shows multienum default values in studio
This enhancement to Studio has been added and fixed in this released, it will display dropdown for single selection instead of multi-select.
Platform Updates
PackageScanner Updates
In this release, we have made updates to PackageScanner improving its reliability and security to our customers.
manifest.php
both in MLPs and Upgrade Packages will only allow the$manifest
and$installdefs
arrays to be defined.- We have improved the output log when an error is found with the package, it will not show "
Issue with the manifest"
but a meaningful message that points the developer to the problem found. - PDO classes are no longer allowed
These updates have also been backported to other versions.
Recurring meetings – implementation of the Rrule and synchronization with Connect.
In this release, Sugar has implemented a widely used pattern iCalendar, and R-rule. This pattern is used in Outlook, Google Calendar, and other relevant apps, and would allow to sync the recurring meetings between Sugar and Connect. As a result, any recurring meetings created in Sugar can be synced to Connect, and vice-versa, no matter what calendar the user installed in Connect – the meeting will be synced and visible in Sugar.
Cloud Drive: Remove variable path functionality for OneDrive
In this release, Sugar has decided to eliminate Cloud Drive capabilities to handle paths with variables due to concerns on the integrity of the funcionality itself.
At upgrade time, a script will remove the entire path and replace it with the root path. Users will not be notified that this has happened.
Expanding Report filter operators
In this release, we're introducing Is Anything
operator for report filters. This means in the same report user can filter by some criteria or exclude those criteria without duplicating the reports or changing their definition. In the screenshot is the case where the time runtime filters were set, so the data can be analyzed by periods. But also we can analyze the full set of data, by setting Expected Close Date Is Anything.
Additional List View Filters
We’re continuing to expand the number of available operators in List Views, in this release we're adding Contains
. This operator provides the ability to quickly identify records based on populated data by implementing “Contains” for the following field types in Sugar: Textfield, Name, Email, Relate, Phone
.
Track Predict changes for Leads and Opportunity Timelines
With this release we have enabled tracking of Predict field changes for Leads and Opportunity Timelines so that Sales users can easily access this information to identify trends and patterns and use this information for decision making/ course correction/long-term planning.
Email Compression
As emails are archived to Sugar, a compression algorithm is applied to reduce the amount of storage consumed. For existing customers, upgrading to 13.3 will add a hidden scheduler that will apply a compression algorithm to previously archived emails. Once the previously archived emails have been processed, the scheduler will de-activate.
Note: The storage reduction will be most noticeable for customers with a high volume of emails archived in their instance. The storage reduction will not be immediate upon upgrade.
Cron needs to be enabled for email compression to take effect. The hidden scheduler's progress can be checked via the following database query:
SELECT * FROM job_queue WHERE name = 'Upgrade_Email_Archiving_Job' ORDER BY date_modified DESC;
The compression scheduler will work through the archived emails gradually to minimize the performance impact, so storage improvement will not be immediate.
Module Loader Installation Log
A few releases back we added a log file specifically for Module Loader, but it was hidden in a part of the product rarely accessed. Many developers and support agents were unaware of the new log.
Developers encountering an error when installing a custom package are now able to click a button within Module Loader to take them to the Diagnostic Tool
, where they can download a log file for Module Loader specifically.
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, File Uploads, BPM Workflows, Imports and Filtering API endpoints.
- TCPDF supports a special tag
tcpdf
that allows calling TCPDF methods using HTML syntax. We are restricting the usage of that functionality by allowing onlyAddPage
tag. - Sugar is now checking image sizes on TCPDF templates ensuring those images are valid and exist in their destination
- Hiding "Rebuild .htaccess" from SugarCloud only.
- Disabled access to all static classes in Smarty templates
Sugar Core PHP 8.2 compatibility
In this release, the Sugar team has invested significant efforts in addressing and resolving PHP 8.2 warnings identified during our thorough research and through hotfixes applied in our cloud environments. Most of those fixes are defensive coding following the steps described in this article.
Password Hash health check
In this release, we have added a new health check to ensure password hash configuration is not being used as it was deprecated on the 13.0 release.
Fixed Notes created from Portal do not display as expected
Fixed in this release an issue where notes created on the portal were not being properly displayed right after being created. Now, when records are created in the portal, they'll be displayed.
Fixed dependently visible action buttons
Fixed in this release an issue where dependently visible action buttons were broken and blank when using dropdown-based layouts.
Denylist Updates
PDO