SugarClub
SugarClub
  • User
  • Site
  • Search
  • User
  • Groups & Discussions
    Groups & Discussions
    • Product Forums
      Product-focused Q&A, discussions, best practices, fixes, and help
      Product Forums
      • Sugar Market
      • Sugar Sell & Enterprise
      • Sugar Serve
      • sales-i
    • User Groups
      Professional, Industry, Language
    • Get Involved
      Learn how to become a Raving Fan
    • Social Club
      Live, interactive, virtual meetups with other Sugar customers and Sugar’s Subject Matter experts!
    • Leadership Lounge
      Network with fellow organizational leaders, ask questions, and share insights
    • Developers
      Visit DevClub, the SugarClub group for Sugar Developers
      Developers
      • DevClub
      • Mobile Developers
      • Developer Builds
        Supplemental access level required. Inquiries: developers@sugarcrm.com
    • Additional Groups (Access Required)
      Groups that require special access will be displayed here. Contact sugarclub@sugarcrm.com for assistance. Click here to see all groups
      Additional Groups (Access Required)
      • SugarCloud Platform
  • Product Information
    Product Information
    • Release Central
      Find release-specific content to prepare for your next Sugar update
    • Documentation & Resources
      Looking to expand your Sugar knowledge? Explore our in-depth documentation and other helpful resources!
    • Product Update Blogs
      Updates about each Sugar product
    • Customer Stories »
      Case Studies by SugarCRM
  • Training & Certification
    Training & Certification
    • Training & Certification Home
      Live & On-Demand classes, Quick Videos, Sugar Certifications, and more!
    • Quick Videos
      Short videos about using Sugar
    • My SugarU Dashboard »
    • SugarU News & Updates
  • Adoption
    Adoption
    • Grow Adoption Framework
      Get started on your adoption journey and review the adoption resources from SugarCRM
  • Calendar
  • News
    News
    • Sugar News
    • SugarCRM.com News »
    • Dev Blog
    • SugarCRM Marketplace Blog
  • Help
    Help
    • Welcome to Sugar!
      New to Sugar? Get started here!
    • SugarClub Help & Instructions
      Learn more about SugarClub and find answers to questions about this site
    • New to SugarClub?
      Start your community journey here
    • Technical Support
      Sugar's support resources
      Technical Support
      • Case Portal »
        Access the SugarCRM Case Portal
      • Working with Sugar Support »
        Find out more about engaging with the SugarCRM Support team
      • SugarCloud Information
        Find information about SugarCloud service updates and site status. Contact sugarclub@sugarcrm.com to request access
  • More from Sugar
    More from Sugar
    • DevClub
    • PartnerClub
    • Support
    • SugarOutfitters Marketplace
    • sugarcrm.com
  • DevClub
  • PartnerClub
  • Support
  • Marketplace
  • sugarcrm.com
DevClub
DevClub
Dev Tutorials Sugar 13.2 (Q4 2023) Customization Guide
Click here to join this group and curate your SugarClub experience.
  • +On-Boarding Framework
  • -Customization Guides
    • Sugar 25.1 Customization Guide
    • Sugar 14.2 (Q4 2024) Customization Guide
    • Sugar 14.1 (Q3 2024) Customization Guide
    • Sugar 14.0 (Q2 2024) Customization Guide
    • Sugar 13.3 (Q1 2024) Customization Guide
    • Sugar 13.2 (Q4 2023) Customization Guide
    • Sugar 13.1 (Q3 2023) Customization Guide
    • Sugar 13.0 (Q2 2023) Customization Guide
  • +Modern UI Technical Guide
  • +Automated PHP Compatibility Tool
  • Did you know? Copying related records is a breeze!
  • How to write code for SugarCloud webinar Q&A
  • HOW TO: enforce ACL on Tags
  • Programatically manage Dropdown List
  • Remove custom fields created via package installation
  • Sugar Developer Tools
  • Tutorial:  How to register custom platforms in Sugar instances via Platform extension
  • Adding a google reCAPTCHA in a Web-to-Lead form
  • Sugar Developer Blog Style Guide

Sugar 13.2 (Q4 2023) Customization Guide

The purpose of this document is to provide insight to Sugar Developers for upgrading custom Sugar code, extensions, and integrations to the Sugar 13.2 (Q4 2023) release. This guide focuses on changes in Sugar 13.2 (Q4 2023) that could cause an immediate impact on Sugar customizations and integrations built for earlier Sugar versions.

Please check out the Q4 2023 Developer Webinar recording for more developer highlights. For Admin and End User release notes, please visit the Sugar 13.2.0 Release Notes.

User Experience Updates

New Timeline Enhancements

SugarCRM is now more Time-Aware with new Timeline Enhancements! In this release, we have enhanced the following areas:

  • Timeline Dashlet enabled for more Sidecar Modules: New Timeline dashlets are added for most of the Sidecar modules that are available in Studio.
  • More related records are enabled for each Timeline: All related records that are shown in the subpanel for each record are now enabled for the Timeline dashlet as well. Users can see more related records that are enabled by the admin for each timeline. 
  • Admin configuration for each Timeline for related record selection: Admin can select/de-select which related records are shown for each Timeline in Studio.
  • More Changes are now tracked for each Timeline: In this release, customers will be able to track more changes for each Timeline.  
  • Timeline Search: In this release, we are enabling search for all the Timeines. Users have the ability to search for related records/cards which appear in the Timeline.  

In this release, we are enabling all the related cards/modules which are shown in the sub-panel for the record of all timelines. By default, we are enabling all the existing modules that were present in the timeline before 13.2, with the following exceptions: 

  • No BWC modules

  • No Automate modules

  • No Change Timers

  • No Document Template

Note: A sub-panel must be enabled in the admin settings for "Navigation Bar and Subpanels" in order to show the corresponding card in the Timeline.

Drag-and-Drop Document Upload

In this release, bought back the "drag and drop" functionality, that we took away when we moved to Sidecar, in document revisions, which means that now users have the ability to drag-and-drop files to quickly create a Document or update an existing one via Document Revision.  

Docusign improvements

In this release, we have implemented the possibility of retrieving the list of recipients from Docusign template, without leaving Sugar. To do that new button is available: Send with a template in the dashlet or Send to Docusign with template in subpanel. 

A full use case would be: User needs to send a document to a certain list of recipients for signing. The list is standard (it could be a board of Directors) and stored in the DocuSign template. The user selects Send with the template, selects the template, the users, set the name, and send the document. Each user will be able to sign it on the reserved space.  

We have also improved the searching capabilities to allow wildcard search in Docusign.

Sugar Automate Improvements

In this release, we have implemented the following improvements to Sugar Automate platform:

  • Ability to import existing tasks to a customer journey
    • When a new customer Journey is added to a record our customer would like to have the ability to move the existing activities on that record into the customer journey.
  • Make assignee of a Customer Journey more visible
    • Assigned to field showing avatar and user name on the smart guide panel to whom the guide is assigned.
  • Smart Guide and Smart Guide Stages modules are now exposed in metadata
  • Performance Upgrade while user tries to save a record using save button

Chart Legend Improvements

In this release, we have created a new field type named "legend". Existing chart.js field has been updated to use the new legend field instead of the chartjs's basic legend.

This is available for both the Report results view and Report Dashlet.

Sugar REST API updates

This Sugar release introduces REST v11_22.

Returns the activities for which RSA will be performed

Added new endpoints return the activities for which RSA will be performed

GET <sugar instance>/rest/v11_22/activitiesRSA

PHP Library Upgrades

PHP-Parser

Sugar utilizes a PHP library called PHP-Parser Its purpose is to simplify static code analysis and manipulation. In this release, we are upgrading its version to 4.16. 

There are no known breaking changes in this upgrade, they are mostly bug fixes in this release.

nikic/php-parser → ^v4.16.0

PHPUnit 

Sugar utilizes a PHP library called PHPUnit. PHPUnit is a programmer-oriented testing framework for PHP. It is an instance of the xUnit architecture for unit testing frameworks. In this release, we are upgrading its version to 6.9. There are no known breaking changes in this upgrade, they are mostly bug fixes in this release.

phpunit/phpunit → ^v6.9.6

Microsoft Graph SDK

Microsoft Graph SDK for PHP provides Sugar with a framework for retrieving data from a Microsoft account using the Microsoft Graph API via OAuth2 tokens. There are no known breaking changes in this upgrade, they are mostly newly generated modes and PHP version support.

microsoftgraph/msgraph-sdk-php → 1.102.0

Google PHP Client

Google API Client library enables Sugar to work with Google APIs such as Gmail, Drive or YouTube. There are major internal changes in this library, if you use them, please refer to this library’s upgrade procedure here.

google/apiclient → 2.14.0

Symfony Components

Symfony is a leading PHP framework that provides a set of common components. For example, the Symfony Security Component is used by Sugar for input validation. We've updated these libraries to the latest patch versions and removed some transitive dependencies.

symfony/cache → 5.4.23
symfony/console → 5.4.23
symfony/intl → 5.4.23
symfony/validator → 5.4.23
symfony/process → 5.4.23

Firebase PHP-JWT

Sugar utilizes a PHP library called PHP-JWT. A simple library to encode and decode JSON Web Tokens (JWT) in PHP, conforming to RFC 7519. In this release, we are upgrading its version to 6.8. 

There are no known breaking changes in this upgrade, they are mostly bug fixes in this release.

firebase/php-jwt → 6.8

League Oauth2-client

Sugar utilizes a PHP library called League Oauth2-client. This package provides a base for integrating with OAuth 2.0 service providers. In this release, we are upgrading its version to 2.7 

There are no known breaking changes in this upgrade, they are mostly bug fixes in this release.

league/oauth2-client → 2.7

JS Library Upgrades

Sinon.JS

Sugar currently uses the Sinon.JS library in our Javscript tests to create test sandboxes and stubs In this release, we are upgrading Sinon to 1.15.

There have been significant changes from Sinon 1.x to 15.x and because it is a major version upgrade there is some potential for breaking changes, see the official migration steps

A blog post with more details about this change is going to be posted.

Prefix JS libraries with caret (^) - Sidecar

In this release, we have applied the caret (^) prefix to all JS libraries in the package.json file. This change simplifies the management of minor version updates released by these libraries, addressing security vulnerabilities and minor issues. Additionally, this update implies the introduction of a new minor version for fixes.

Prefix JS libraries with caret (^) - Sugar Core Platform

In this release, we have applied the caret (^) prefix to all JS libraries in the package.json file. This change simplifies the management of minor version updates released by these libraries, addressing security vulnerabilities and minor issues. Additionally, this update implies the introduction of a new minor version for fixes.

Upgrade Yahoo! UI Library 3

In this release, we are upgrading yui3 to 3.18.1.There are no known breaking changes in this upgrade, they are mostly bug fixes in this release.

Upgrade TinyMCE Library

In this release, we are upgrading tinymce to 6.4.2. There are no known breaking changes in this upgrade, they are mostly bug fixes in this release.

Upgrade Amazon Connect Chat Javascript library.

The Amazon Connect Streams and Amazon Connect Chat JS library (ChatJS) are core SugarLive libraries. There are no known breaking changes in these upgrades which include bug fixes and enhancements.

  • amazon-connect-chat.js → 1.5.1
  • connect-streams.js → 2.5.0
  • amazon-connect-chat-interface.js

There are no known breaking changes in this upgrade, they are mostly bug fixes in this release.

Configurability updates

Sugar Config Settings

Setting Name

Default

Override Example

Description

smtp_mailer_keep_alive false $sugar_config['smtp_mailer_keep_alive'] = true; Configuration to prevent mailer from closing connections after each email sent

Removed Functions / Libraries / Features

Remove end-to-end from the Unit Tests

Since the seedbed test automation is sunset and we are not using the end-to-end directory anymore, we are removing that from the unit-tests releases from now on.

This approach aids in maintaining a leaner, more secure system with reduced code overhead, thus minimizing vulnerability exposure.

Sunset FontAwesome icons in Sugar core platform

In this release, we are sunsetting/removing FontAwesome from Sugar Core Platform

  • Remove references to FontAwesome for the new version of the documentation
  • Remove FontAwesome fonts from the core platform
  • Replace fa related icons with SugarIcons (sicon)

Removal of Zend Framework components

In this release, we have removed and added a HealthCheck (bucket E) to scan for the usage of the following Zend Framework components:

  • Zend_Mime*

Deprecated Functions / Libraries / Features

Deprecated use of Zend Framework components 

In this release, we are deprecating and added a HealthCheck (bucket E) to scan for the usage of the following Zend Framework components:

  • Zend_Service*
  • Zend_Gdata*
  • Zend_Version*

Note: In this release, we have removed/updated Zend_Gdata from Sugar core code in favor of Google API Client.

Deprecated use of SugarUploadS3

In this release, we are deprecating and added a HealthCheck (bucket E) to scan for the usage of the SugarUploadS3.

Platform Updates

New Sugar function safeCount

In this release, we have added a new utility function safeCount(). This function should be used going forward instead of PHP's count(). 

With PHP 8.*, if you don't apply defensive coding to your counts/variables and you pass null to count, PHP will throw a TypeError in runtime and will break your code.

For that reason, Sugar Core code has been updated to replace count() with safeCount() and you should also update your customizations to use it.

This function has been backported an made available to v13.1, v13.0.x and v12.0.4

CloudDrive now supports SharePoint

We have created an external API and a SharePoint client for handling requests to SharePoint. Users will be able to create a Cloud Drive dashlet in any dashboard space, like Home or Side Pane dashboards, integrated with corporate SharePoint. 

To use SharePoint Integration MS SharePoint connector needs to be set up and enabled in Sugar. After that user just creates the Cloud Drive dashlet for MS SharePoint Cloud Provider. 

In the dashlet user can navigate through SharePoint, and manage files and folders. All the changes are synced to SharePoint. 

From SharePoint dashlet, we can create Sugar Document, Send to DocuSign, Copy Link. The SharePoint permissions set up on the corporate level are respected.

Configuration to prevent mailer from closing connections after each email sent

Sugar uses PHPMailer to send emails via SMTP. PHPMailer’s default behavior is to close the connection with the SMTP server after each email sent. This can be problematic when large volumes of emails are meant to be sent quickly, such as in Campaigns, as some servers do not accept the large number of reconnections involved. PHPMailer has a boolean flag configuration available, $SMTPKeepAlive, which determines whether the connection should be closed after each email is sent. As an admin, you now have an option (sugar_config) to turn that flag on or off for your instance.

Sugar Discover AU added by default on CSP

In this release, we are adding Sugar Discover domain *.sugarapps.com.au by default in our CSP configuration to allow for Sugar Discover AU customers to set up dashboards without manual configuration.

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 and Imports.

Global Search module list only for enabled Modules

In this release, we have fixed an issue where a few modules would still show up even though they were disabled in Admin > Search > Enable/Disable modules.

Those modules were particular Stock/OOB modules that didn't fit the algorithm we had in place, but now it is fixed.

Storage Optimization for archived email content

In this release, have implemented a mechanism to archive email contents using gzip for best optimal storage. Technically, the emails_text table has fields description and description_html which will be gzipped in SugarCloud only. This is expected to save significant storage without any noticeable impact. 

Maps Geocode processing performance

In this release, we have significantly improved the performance of our Maps module by:

  • Improve the schedulers for geocoding
    • Better error handling
    • Self re-queue mechanism
    • Improve performance for heavy arrays
  • Improve logging mechanism
  • Automatic geocoding for custom modules

Denylist Updates

In this release, we are adding the following classes to the PackageScanner's denylist:
  • Symfony\Component\ExpressionLanguage\SerializedParsedExpression
  • Symfony\Component\Security\Core\Authentication\Token\AbstractToken
  • Symfony\Component\Security\Core\Authentication\Token\RememberMeToken
  • Sugar 13.2
  • Sugar Q4 2023
  • 0 comments
  • 0 members are here
  • Sign in to reply
Related
Recommended