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.1 (Q3 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.1 (Q3 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.1 (Q3 2023) release. This guide focuses on changes in Sugar 13.1 (Q3 2023) that could cause an immediate impact on Sugar customizations and integrations built for earlier Sugar versions.

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

User Experience Updates

Tile View Improvements

In this release, we have modernized the Tile View UI and added additional functionality to make it easier for users to interact and engage with their modules, as well as added support for modules with at least 1 dropdown field.

  • Configuration is available through Admin>Tile View Settings > Tile View Modules.
  • Title View is available to most of the available Modules in the system.
  • The header in tile view is now fixed, which means that when there are multiple tiles within a column and a scroll bar is needed, the header is always displayed.
  • Added infinite scroll to Tiles, dynamically reads off of “Tiles displayed per column” to load the next number of records
  • Added two new checkboxes, “Show Column Count” and “Show Column Total”, in the admin page to hide or display record count and sum on the column. In Opportunities, the field defaults to Likely.
    • Added total count on tiles within a column (respecting the filter in place).
    • Added total sum on tiles within a column. The sum will only be displayed for numeric type fields and will respect filters in place. When a preferred currency is enabled, it will display both, the preferred and system currency.
    • Those checkboxes are enabled by default for Opportunities module
  • When dropping a tile from one column to another, the tile follows sort order within the column adjusting the sum and count accordingly, as well as following filters in place.
  • Added new field "Sort by" that is sticky between List View and Tile View. New control displays fields that are available and sortable in List View.
  • We have removed the drag-and-drop records, within a single column, which capability to improve user experience
  • Facelift colors and fonts for the new Tile views
  • When in Tile View mode, users will be able to traverse Focus Drawers within a column using the up and down control same as in List Views.
  • When a focus drawer is opened from a Tile, the entire column shifts to the left and the focus drawer opens to the right of it.
    • Only the column from which the focus drawer is open is in view, all other columns are hidden behind the FD.
  • Added stickiness between module Tile View and List View.
    • Users that had bookmarked Tile View will be redirected to regular module LV on upgrade.

Dashboard filtering capability

In this release, we are making available runtime filtering capabilities to our Dashboards the same way as our Report Viewer does.

The user now has the possibility to consolidate available run time filters in the report dashlets in one single filter group, placed in the filter container. With the dashboard filter group – the user can filter on the dashboard level and will change the run time filters in all the dashlets we want. 

Introducing New Pipeline Metrics

Introducing "Pipeline Metrics" - a powerful new dashlet designed to replace the existing "In Forecast" dashlet. We have upgraded the Forecast Dashboard by replacing the previous "In Forecast" dashlet with the more advanced and robust "Pipeline Metrics" dashlet. It will be migrated during upgraded.

  1. We've added these additional metrics in “Display Metrics”

    1. Quota (by default-order 1)

      1. Calculation: Quota 

      2. Display label: Quota

      3. Glossary description: Quota

    2. Commitment (by default-order 2)

      1. Calculation: Likely commitment

      2. Display label: Commitment

      3. Glossary description: Likely Commitment

    3. Quota Coverage (by default-order 4)

      1. Calculation: (Pipeline + Won + Lost)/Quota 

      2. Display label: Quota Coverage

      3. Glossary description: (Pipeline + Won + Lost)/Quota 

    4. Gap to Quota (by default-order 5)

      1. Calculation: Quota – Won

      2. Display label: Gap to Quota

      3. Glossary description: Quota – Won

    5. % Won of Quota (by default-order 6)

      1. Calculation: Won/Quota (display as percentage)

      2. Display label: % Won of Quota

      3. Glossary description: Won/Quota

    6. Quota Gap Coverage

      1. Calculation: Pipeline / Gap to Quota (displayed as 3.4x)

      2. Display label: Quota Gap Coverage

      3. Glossary description: Pipeline / Gap to Quota

    7. Commitment Coverage

      1. Calculation: (Pipeline + Won + Lost)/Commitment

      2. Display label: Commitment Coverage

      3. Glossary description: (Pipeline + Won + Lost)/Commitment

    8. Gap to Commitment

      1. Calculation: Likely Commitment - Won

      2. Display label: Gap to Commitment

      3. Glossary description: Likely Commitment - Won

    9. Commitment Gap Coverage

      1. Calculation: Pipeline / Gap to Likely Commitment

      2. Display label: Commitment Gap Coverage

      3. Glossary description: Pipeline / Gap to Likely Commitment

    10. % Won of Commitment

      1. Calculation: Won/Likely Commitment (displayed as a percentage)

      2. Display label: % Won of Commitment

      3. Glossary description: Won/Likely Commitment

    11. Forecast Coverage

      1. Calculation: (Pipeline + Won + Lost)/Forecast

      2. Display label: Forecast Coverage

      3. Glossary description: (Pipeline + Won + Lost)/Forecast

    12. Gap to Forecast

      1. Calculation: Forecast – Won (This is the same as Included Pipeline) 

      2. Display label: Gap to Forecast

      3. Glossary description: Forecast – Won (Included Pipeline)

    13. Forecast Gap Coverage

      1. Calculation: Pipeline / Gap to Forecast

      2. Display label: Forecast Gap Coverage

      3. Glossary description: Pipeline / Gap to Forecast

    14. % Won of Forecast

      1. Calculation: Won/Forecast (displayed as percentage)

      2. Display label: % Won of Forecast

      3. Glossary description: Won/Forecast

  2. Metric Tiles displays % Won for Commitment Gap, Forecast Gap, and Quota Gap

  3. On Info icon click, Tile View metrics will display a glossary with the appropriate definition for each metric.
  4. Pipeline Metrics come with a new configuration page where you can define up to 9 metrics to be displayed.

Remove Activity Streams when not enabled

We are removing the Activity Streams toolbar buttons from List Views and Title Views when disabled by the admin. If that is enabled, it will be displayed as it is today.

Action Buttons Improvements

Up until this release, Sugar did not deliver any Action Buttons in its Stock/Out-of-the-box modules, which were restricted to Customers/Admins to add them to use its potential. In this release, we are now exploring and adding ActionButton fields to modules.

In order to boost the customer service team's efficiency and productivity, we have now added the following OOTB action buttons for cases: 

  • Claim: Clicking on this action button would assign the case to the logged-in user. This button is not shown if the case is already assigned to the logged-in user. 
  • Close: Clicking on this action button would update the case status to Closed. 
  • Unassign: Clicking on this action button would unassign. I.e. set the Case Assigned To field to none. This action button is only shown if the case is assigned to someone. 

A new option has also been added in this release to enable Action Buttons on Focus Dashboards called "Display on Focus Dashboard Header" in the ActionButton configuration page.

Console List View Pagination

In this release, we have added pagination to the console list view, it comes with the full pagination control at the bottom and functions similarly to regular List Views. It will retrieve 20 records at the time for faster load and rendering.

Combine the console focus dashboard and other focus dashboards

We have now combined the two lists: Focus Dashboard and Multiline list view focus dashboard. Going forward, there will be only one OOTB layout for focus dashboards for each module avoiding any confusion. Users will be able to see all the focus dashboards for a module in one list and they will be able to switch among all the focus dashboards (OOTB as well as custom focus dashboards).

Sugar Automate Improvements 

In this release, when a user is updating a field in a CRM parent record, the user now has the ability to create an automatic action to trigger an action on a smart guide activity/stage or on the whole smart guide. Previously customers didn’t have the option to apply automatic actions based on parent field triggers and would have to update the smart guide manually. 

Another improvement for Automate is to provide the user option to show/hide stage numbers according to their business need.

Sugar REST API updates

This Sugar release introduces REST v11_21.

Current user's last application state by platform Rest API endpoints

Added new endpoints to maintain current user's last application state by platform.

GET <sugar instance>/rest/v11_21/me/last_states/:platform 
PUT <sugar instance>/rest/v11_21/me/last_states/:platform

Reports API

In this release, we are updating our Reports API to respect the reports definition, sugar_config and roles.

  • sugar_config.disable_export - disables it completely
  • sugar_config.admin_export_only - only admin can export
  • Checks if the user has `EXPORT RIGHTS` to the `ACCOUNTS, CONTACTS, OPPORTUNITIES` modules.
  • Checks if the user has `VIEW RIGHTS` to the `ACCOUNTS, CONTACTS, OPPORTUNITIES` modules.
  • Checks if the user has `ACCESS TO EVERY FIELD` that the report contains.

This improvement is at the report/config/role definition only, Sugar will not check at the data layer.

PHP Library Updates

Updated PHP libraries for minor and patches versions

In this release, we have ran composer to update its libraries with their latest minor patches along with their intrinsic dependencies.

Configurability updates

Sugar Logic

isOwner()

This SugarLogic function returns true if the current record is assigned to the current user.

isAssigned()

This SugarLogic function returns true if the current record is assigned to any user.

Sugar Config Settings

Setting Name

Default

Override Example

Description

security.use_doh false $sugar_config['security']['use_doh'] = true Enables remote Domain Name System (DNS) resolution via the HTTPS protocol. A goal of the method is to increase user privacy and security by preventing eavesdropping and manipulation of DNS data by man-in-the-middle attacks by using the HTTPS protocol to encrypt the data between the DoH client and the DoH-based DNS resolver.
enableHttpOnlyCookies true $sugar_config['moduleInstaller']['features']['enableHttpOnlyCookies'] = false

Sets cookie option to HTTP Only for loginErrorMessage cookie in case of session expiration.

Feature is availabe in 13.1 to enabled httpOnly with the option to disable and in 14.0 the option to toggle is removed

This has been backported to 13.0.2, 12.0.4 

ajax_debounce_interval 500 $sugar_config['ajax_debounce_interval'] = 800;

Delay in milliseconds to wait after key presses in Emails recipient search. It prevents excessive database load in case of short search conditions for email recipients.

Possible Values: 600, 700, 800, or any other integer, preferably above 500

Data Changes

Leads and Opportunity module AI fields to accept decimal values

AI scores fields available on Leads and Opportunities module are now configured to accept DECIMAL values up to precision 8 (8 decimal points). The following fields are being updated to length 10 and precision to 8:


Leads Module
ai_conv_score_absolute
ai_conv_bin_accuracy
ai_conv_multiplier
ai_icp_fit_score_absolute
ai_icp_fit_bin_accuracy
ai_icp_fit_multiplier

Opportunities Module
ai_opp_conv_score_absolute
ai_opp_conv_bin_accuracy
ai_opp_conv_multiplier

New indexes

In this release, we are creating a new index for tracker module. It is done through vardefs and it translates to:

Fullscreen
1
2
3
4
5
6
7
8
create index idx_userid_module_itemid_summary_datemodified
on tracker (
user_id,
module_name,
item_id,
item_summary,
date_modified
);
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
create index idx_userid_module_itemid_summary_datemodified
  on tracker (
    user_id,
    module_name,
    item_id,
    item_summary,
    date_modified
  );

Platform Updates

Renewals Console string to “Sales Console”

In this release, we are renaming "Renewals Console" to “Sales Console” to better align with our strategy going forward. If this has already been renamed, we will not update on upgrade.

Renaming List Views Operators

In this release, we are making consistent with SugarBPM the operators in the Multiselect field type:

  • From “Is any of” to “Is one of” 
  • From “Is not any of” to “Is not one of”

Expand List Views Date and Datetime operators

In this release, we are expanding the date and datetime field type's operators by introducing the following (user should be able to type in the field like they already can in integer fields like “Is between”):

  • “More than _ days ago”: shows records from the date specified backward
    • “more than 5 days ago” does not include the 5th day, it includes the 6th day backward
  • “Last _ days”: shows records from today to number of days specified in the past
    • “5 days ago” includes today and the 5th day in the past
  • “Next _ days”: shows records from today to the number of days specified in the future (today and the last day)
    • “Next _ days” includes today and the 5th day in the future
  • “More than _ days in the future”: shows records from the date specified onward
    • e.g “more than 5 days in the future” does not include the 5th day, it includes the 6th day onward

Global Search Display Improvements

In this release, we have improved how Global Search results are displayed in the Modules dashlet. it will now use all the space available in your screen as well as display the all records with the number of matching Modules (not only 5 as before) so users can have a full set of data from their search.

ExternalResourceClient Improvements

We have improved ExternalResourceClient to have more configurable options for developers.

  • We are making NativeResolver
  • DoH (DNS over HTTPS) is now an option to improve user security instead of the default option.
  • We have added setSslContextOptions where you can specify SSL context options. 
  • We have added setSocketContextOptions where you can specify Socket context options. 
  • When instantiating ExternalResourceClient, you cannot set timeout to 0 or negative

An example on how to use the new methods:

Fullscreen
1
2
3
4
5
6
<?php
$client = (new ExternalResourceClient())
->setSslContextOptions([
'local_cert' => '<CERT_FILE>', //CURLOPT_SSLCERT analogue
'local_pk' => '<KEY_FILE>', // CURLOPT_SSLKEY
]);
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
<?php
$client = (new ExternalResourceClient())
    ->setSslContextOptions([
        'local_cert' => '<CERT_FILE>', //CURLOPT_SSLCERT analogue
        'local_pk' => '<KEY_FILE>', // CURLOPT_SSLKEY
    ]);

Update parent context when child context is closed

In Sugar whenever record data is updated in a child context the parent context is not updated automatically when the child context is closed (i.e. In Service Console if a field is changed in the record view dashlet in the focus drawer the changes are not reflected in the multiline list view when the focus drawer is saved and closed).

In this release, we have improved the current behavior such that every time information is changed in a child context, parent context will be updated when the child context is closed (E.g. closing focus drawers for consoles, record views, module list views etc.) 

Web Logic Hooks 

In this release, we have fixed an issue where an admin would create a Web Logic Hook for a particular Module and subsequently would update the module to a different one than the original.

Sugar would trigger the same event for both Modules not only the one saved last. Now Sugar will respect the Module saved for that Web Logic Hook at the time of triggering.

Uploading Files improvements

In this release, we are improving the upload functionality

  • Company logo files are now enforced to be valid png/jpeg files.
  • Ensure that files updated have a valid beanId associated with them before moving them to /upload directory
  • We fixed our FileApi that was throwing an error "File too large" when files were uploaded as base64

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.

Denylist Updates 

In this release, we are adding the following classes to the PackageScanner's denylist:
  • SugarCronParallelJobs
  • SugarCronJobs
  • Sugar 13.1
  • Sugar Q3 2023
  • 0 comments
  • 0 members are here
  • Sign in to reply
Related
Recommended