<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://sugarclub.sugarai.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Sugar 11.1 (Q3 2021) Customization Guide</title><link>https://sugarclub.sugarai.com/dev-club/w/dev-tutorials/535/sugar-11-1-q3-2021-customization-guide</link><description /><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>Sugar 11.1 (Q3 2021) Customization Guide</title><link>https://sugarclub.sugarai.com/dev-club/w/dev-tutorials/535/sugar-11-1-q3-2021-customization-guide</link><pubDate>Mon, 04 Mar 2024 16:21:23 GMT</pubDate><guid isPermaLink="false">5c521d64-519d-47a6-9065-134618b211bf:053614ec-9471-4d1b-a27a-e50e371a0493</guid><dc:creator>Rafael Fernandes</dc:creator><comments>https://sugarclub.sugarai.com/dev-club/w/dev-tutorials/535/sugar-11-1-q3-2021-customization-guide#comments</comments><description>Current Revision posted to Dev Tutorials by Rafael Fernandes on 3/4/2024 4:21:23 PM&lt;br /&gt;
&lt;p id="mcetoc_1f77psegu0"&gt;The purpose of this document is to provide insight to Sugar Developers for&amp;nbsp;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&amp;nbsp;earlier Sugar versions.&lt;/p&gt;
&lt;p&gt;Please check out the &lt;a href="/dev-club/m/event-recaps/1634"&gt;Q3 2021 Developer Webinar recording&lt;/a&gt; for more developer highlights. &lt;strong&gt;For Admin and End User release notes, please visit the &lt;a href="https://support.sugarcrm.com/Documentation/Sugar_Versions/11.1/Ent/Sugar_11.1.0_Release_Notes/"&gt;Sugar 11.1.0 Release Notes&lt;/a&gt;.&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1f77psegv1"&gt;User Experience Updates&lt;/h2&gt;
&lt;h3 id="mcetoc_1f77psegv2"&gt;Refreshed UI - new SugarCRM branding and icons&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;New SugarCRM logo&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;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 &amp;rarr; .svg for favicons) for the new assets.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Updated Icon Library&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;We&amp;rsquo;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.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;This release updates the icons throughout the application (ex. record views, list views, etc.) to use SugarIcons.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;Adopting the new icon library will be easy since the implementation is similar to Font Awesome. SugarIcons will use &amp;ldquo;sicon&amp;rdquo; and &amp;ldquo;sicon-&amp;rdquo; CSS classes instead of &amp;ldquo;fa&amp;rdquo; and &amp;ldquo;fa-&amp;rdquo; classes. SugarIcon icon names are different from FontAwesome icon names. More details will be shared in future updates to Sugar Styleguide.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Future Sugar Styleguide Updates&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;h3 id="mcetoc_1f77q19u7o"&gt;Documents module upgraded to Sidecar UX&lt;/h3&gt;
&lt;p&gt;We&amp;rsquo;ve preserved existing features that were found in BWC mode. Bringing Documents to Sidecar adds dashboards, preview support, and a host of other capabilities.&lt;/p&gt;
&lt;h3 id="mcetoc_1f77psegv4"&gt;SugarLive features are coming to Sugar Sell&lt;/h3&gt;
&lt;p&gt;SugarLive features and related modules like Messages and the Amazon Connect Configuration panel are now available within Sugar Sell.&lt;/p&gt;
&lt;h3 id="mcetoc_1f77psegv5"&gt;List View web accessibility&lt;/h3&gt;
&lt;p&gt;We&amp;rsquo;ve added additional ARIA labels on List Views which should improve web accessibility in accordance with Section 508 requirements.&lt;/p&gt;
&lt;h3 id="mcetoc_1f7c7u6h11"&gt;New Action Buttons field type&lt;/h3&gt;
&lt;p&gt;A new field type has been added called Action Buttons.&amp;nbsp;&lt;span style="font-weight:400;"&gt;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&amp;nbsp;for their actions.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1fa4h7ebs1"&gt;Interactions dashlet is now the Timeline dashlet&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The Interactions dashlet has been redesigned and expanded in this Sugar release. It is now called the Timeline dashlet and is now&amp;nbsp;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&amp;nbsp;To field.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;Mobile Push Notification Configuration&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;There&amp;#39;s new&amp;nbsp;Sugar instance system settings for enabling mobile push.&amp;nbsp;SugarCloud instances will have the&amp;nbsp;push notifications setting&amp;nbsp;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:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;$sugar_config['push_notification']['enabled'] = false;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt; There&amp;#39;s also new user preferences (&lt;code&gt;mobile_notification_on_assignment&lt;/code&gt;, &lt;code&gt;mobile_notification_on_mention&lt;/code&gt;) that allows end users to&amp;nbsp;control what push notifications they can receive. Mobile users can &lt;a href="https://support.sugarcrm.com/Documentation/Mobile_Solutions/SugarCRM_Mobile/SugarCRM_Mobile_for_iOS_User_Guide/#Notification_Settings"&gt;control this preference&lt;/a&gt; from the SugarCRM Mobile app.&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1f77psegv6"&gt;Sugar Portal Updates&lt;/h2&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;h2 id="mcetoc_1f7c8pn4a5"&gt;Sugar REST API updates&lt;/h2&gt;
&lt;p&gt;This Sugar release introduces REST v11_13.&lt;/p&gt;
&lt;p&gt;You can now update display labels and dropdown lists in multiple languages. These APIs are restricted to Admin only.&lt;/p&gt;
&lt;pre&gt;PUT &amp;lt;sugar instance&amp;gt;/rest/v11_13/lang/labels/module/&lt;br /&gt;&lt;br /&gt;PUT &amp;lt;sugar instance&amp;gt;/rest/v11_13/lang/labels/dropdown/&lt;/pre&gt;
&lt;p&gt;You can now retrieve Row and Columns Reports in CSV and JSON formats.&lt;/p&gt;
&lt;pre&gt;GET rest/v11_13/Reports/:id/csv&lt;br /&gt;&lt;br /&gt;GET rest/v11_13/Reports/:id/json&lt;/pre&gt;
&lt;p&gt;You can now retrieve and update administrative configuration settings. These APIs are restricted to Admin only.&lt;/p&gt;
&lt;pre&gt;GET rest/v11_13/Administration/config/:category&lt;br /&gt;&lt;br /&gt;POST rest/v11_13/Administration/config/:category&lt;/pre&gt;
&lt;p&gt;You can now retrieve the list of modules enabled for the Self-Service Portal. This API is restricted to Admin only.&lt;/p&gt;
&lt;pre&gt;GET rest/v11_13/Administration/portalmodules&lt;/pre&gt;
&lt;p&gt;You can now restore any Sugar dashboard to the default state as defined by the dashboard&amp;#39;s original Sidecar metadata.&lt;/p&gt;
&lt;pre&gt;&lt;span&gt;PUT rest/v11_13/Dashboards/:id/restore-metadata?dashboard_module=&amp;lt;MODULE_NAME&amp;gt;&amp;amp;dashboard=&amp;lt;DASHBOARD_METADATA_NAME&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;h2 id="mcetoc_1f77psegv9"&gt;Library Upgrades&lt;/h2&gt;
&lt;p&gt;Upgraded 3rd party PHP library laminas-mail to address a bug in e-mail handling.&lt;/p&gt;
&lt;p&gt;laminas/laminas-mail: 2.10.1 &amp;rarr; 2.14.0&lt;/p&gt;
&lt;p&gt;See&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="https://github.com/laminas/laminas-mail"&gt;https://github.com/laminas/laminas-mail&lt;/a&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;for details.&lt;/p&gt;
&lt;p&gt;Upgraded PHP library tedivm/jshrink to allow for future support of PHP 8.0.&lt;/p&gt;
&lt;p&gt;tedivm/jshrink: 1.3.1 &amp;rarr; 1.4.0&lt;/p&gt;
&lt;p&gt;See&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="https://github.com/tedious/JShrink/releases"&gt;https://github.com/tedious/JShrink/releases&lt;/a&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;for more details.&lt;/p&gt;
&lt;p&gt;Removed the NuSOAP library. See Platform Updates section below for more details.&lt;/p&gt;
&lt;p&gt;&lt;span&gt;NuSOAP: 0.9.5&amp;nbsp;&amp;rarr; N/A&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1f77psegva"&gt;Configurability&amp;nbsp;updates&lt;/h2&gt;
&lt;h3 id="mcetoc_1f7c87abe2"&gt;Sugar Logic&lt;/h3&gt;
&lt;p&gt;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&amp;rsquo;s name, phone number, or department. The field name should be provided as a string and not all User fields work with this function.&lt;/p&gt;
&lt;pre&gt;currentUserField(&amp;quot;field_name&amp;quot;)&lt;/pre&gt;
&lt;h3 id="mcetoc_1f7c8lk1b3"&gt;SugarBPM&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;We added a new SugarBPM Evaluation Category called &amp;ldquo;Relationship Change Evaluation&amp;rdquo; that would be triggered based on addition or removal of a Record&amp;rsquo;s relationship.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1f7c8nhce4"&gt;&lt;strong&gt;Studio&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-weight:400;"&gt;Admins can now use Studio to make relationship-based relate fields required, dependent, mergeable, importable, and mass updatable.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1f77psegv7"&gt;Config Settings&lt;/h3&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;strong&gt;Config Setting&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;strong&gt;Default&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;strong&gt;Available values&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;strong&gt;Description&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;$sugar_config['web_logic_hook_timeout&amp;rsquo;]&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;10&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Integer&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Timeout (in seconds) for requests to web logic hooks&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;$sugar_config['perfProfile']['TeamSecurity']['default']['disable_subquery_optimizer_hint']&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;false&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;true | false&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;a href="https://docs.google.com/document/d/1mzF_kQPZN7wOYIil-k9v2Y3BSpJ5scDPHQuvQq6ZsYU/edit#heading=h.11x3cufu7f3h"&gt;See below.&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="mcetoc_1f77psegvb"&gt;Removed Features&lt;/h2&gt;
&lt;p&gt;Removed the &amp;ldquo;Expand Column Width&amp;rdquo; action from the Repair section of the Admin panel. This feature was no longer relevant when using a supported version of MS SQL Server.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;h2 id="mcetoc_1f77psegvc"&gt;Data Changes&lt;/h2&gt;
&lt;h3 id="mcetoc_1f77psegvd"&gt;Longer name fields&lt;/h3&gt;
&lt;p&gt;The max length for any &amp;ldquo;name&amp;rdquo; fields used by Sidecar modules is now 255 characters. This includes first_name and last_name on Person type records like Leads and Contacts.&lt;/p&gt;
&lt;h3 id="mcetoc_1f77psegve"&gt;Database storage optimizations&lt;/h3&gt;
&lt;p&gt;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&amp;rsquo;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.&lt;/p&gt;
&lt;h3 id="mcetoc_1f77psegvf"&gt;Display labels in CSV exports&lt;/h3&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;h3 id="mcetoc_1f77psegvg"&gt;Contracts in Serve&lt;/h3&gt;
&lt;p&gt;The Contracts module is now part of Sugar Serve.&lt;/p&gt;
&lt;h3 id="mcetoc_1f7ca462q6"&gt;Changes to Messages module&lt;/h3&gt;
&lt;p&gt;The Messages module is now part of Sugar Sell. Messages can now&amp;nbsp;have multiple&amp;nbsp;participants&amp;nbsp;(Contacts, Leads, and Users) instead of a single Contact.&amp;nbsp;Messages is now consistent with how Meetings and Calls modules represent participants by using an &lt;code&gt;invitees&lt;/code&gt; collection field. During 11.1 upgrade process,&amp;nbsp;existing Messages will have the Contact (&lt;code&gt;contact_id)&lt;/code&gt;&amp;nbsp;added&amp;nbsp;to the &lt;code&gt;invitees&lt;/code&gt; collection.&lt;/p&gt;
&lt;h3 id="mcetoc_1fa3sdg980"&gt;Sentiment Analysis fields added to Calls and&amp;nbsp;Messages&lt;/h3&gt;
&lt;p&gt;All these fields are used by SugarLive and therefore only available with Serve and Sell.&lt;/p&gt;
&lt;p&gt;The following Sentiment&amp;nbsp;analysis fields have been added to Calls.&lt;/p&gt;
&lt;pre&gt;&lt;span&gt;aws_lens_data&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_agent&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_customer&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_agent_first_quarter&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_agent_second_quarter&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_agent_third_quarter&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_agent_fourth_quarter&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_customer_first_quarter&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_customer_second_quarter&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_customer_third_quarter&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_customer_fourth_quarter&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span&gt;Sentiment scores are stored as decimals ranging between -5 and 5. They are displayed within Sugar user interface using a new &lt;code&gt;sentiment&lt;/code&gt; field type that displays a negative (&amp;lt; -1.3), positive ( &amp;gt; 1.3), or neutral visualization.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;The following Sentiment analysis fields have been added to Messages.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span&gt;aws_comprehend_data&lt;br /&gt;sentiment&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span&gt;The sentiment value is stored as a descriptive string like &amp;quot;positive&amp;quot;, &amp;quot;neutral&amp;quot;, etc.&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1f77psegvh"&gt;Filesystem Changes&lt;/h2&gt;
&lt;h3 id="mcetoc_1f77psegvi"&gt;Changes to &lt;code&gt;./upload/&lt;/code&gt; directory&lt;/h3&gt;
&lt;p&gt;In Sugar 11.0, Module Loadable Package uploads were moved from ./upload/upgrades/module/ to &lt;code&gt;./upgrades/module&lt;/code&gt; directory.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;For example, the file &lt;code&gt;3657325a-bdd6-11eb-9a6c-08002723a3b8&lt;/code&gt; will now be stored in the &lt;code&gt;./upload/25a/&lt;/code&gt; subdirectory. These UID character locations were selected to ensure even distribution of files across the new subdirectories.&lt;/p&gt;
&lt;p&gt;In previous Sugar versions, all uploaded files would be stored in the &lt;code&gt;./upload&lt;/code&gt; directory using UUIDs as filenames. This could get unwieldy and cause file system performance issues when there was an enormous number of uploaded files.&amp;nbsp;&lt;/p&gt;
&lt;h3 id="mcetoc_1fa4f2k660"&gt;Embedded e-mail images&amp;nbsp;no longer stored in .&lt;code&gt;/cache/images&lt;/code&gt;&lt;/h3&gt;
&lt;p&gt;When viewing an archived e-mail, Sugar would previously copy any associated embedded e-mail images into the &lt;code&gt;./cache/image&lt;/code&gt; 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&amp;#39;ve eliminated the need for the &lt;code&gt;./cache/images&lt;/code&gt; directory. Users may notice that the embedded e-mail images&amp;nbsp;will now point to a File API endpoint instead of the&amp;nbsp;cache. The upgrade to Sugar 11.1.0 will clear the &lt;code&gt;./cache/image&lt;/code&gt; directory to free up storage.&lt;/p&gt;
&lt;h2 id="mcetoc_1f77psegvj"&gt;Team Security updates&lt;/h2&gt;
&lt;h3 id="mcetoc_1f77psegvk"&gt;Performance optimization&lt;/h3&gt;
&lt;p&gt;To improve Team security related query performance on MySQL, we&amp;rsquo;ve added a query optimizer hint (&amp;ldquo;MATERIALIZATION&amp;rdquo;) on a specific subquery that significantly improves performance for instances with large numbers of Teams.&lt;/p&gt;
&lt;p&gt;In the unlikely event that this optimization causes suboptimal query performance with your instance&amp;rsquo;s data, we&amp;rsquo;ve added a &amp;ldquo;&amp;#39;&lt;code&gt;disable_subquery_optimizer_hint&lt;/code&gt;&amp;#39;&amp;rdquo; TeamSecurity setting that you can use to turn off this hint.&lt;/p&gt;
&lt;h3 id="mcetoc_1f77psegvl"&gt;New TeamSet commands for SugarCRM command line interface (CLI)&lt;/h3&gt;
&lt;p&gt;The &lt;code&gt;./bin/sugarcrm&lt;/code&gt; 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.&lt;/p&gt;
&lt;p&gt;Note that you can only use the SugarCRM CLI when Sugar is deployed on-premise.&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;code&gt;teamset:backup&lt;/code&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Backs up the team_sets related tables.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;code&gt;teamset:prune&lt;/code&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;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!&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;code&gt;teamset:restore_from_backup&lt;/code&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Restores all team set tables from backups. DO NOT USE while users are logged into the system!&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;code&gt;teamset:scan&lt;/code&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Scan all module tables for unused team sets and report the number found.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;code&gt;teamset:sql&lt;/code&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Print the sql query used to search for unused teamsets&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="mcetoc_1f77psegvm"&gt;Platform Updates&lt;/h2&gt;
&lt;h3 id="mcetoc_1f77psegvn"&gt;Added support for MySQL 8.0&lt;/h3&gt;
&lt;p&gt;This release added support for MySQL 8.0. And in order to support MySQL 8.0, the&amp;nbsp;&lt;code&gt;MysqliManager::getRecursiveSelectSQL()&lt;/code&gt;&amp;nbsp;PHP function&amp;nbsp;has been deprecated.&lt;/p&gt;
&lt;h3 id="mcetoc_1f7m4ipft0"&gt;Removal of NuSOAP library&lt;/h3&gt;
&lt;p&gt;&lt;span&gt;The NuSOAP library&amp;nbsp;was used to dynamically generate WSDL files but we now use static WSDLs. The legacy SOAP&amp;nbsp;&lt;/span&gt;&lt;span&gt;API&lt;/span&gt;&lt;span&gt;&amp;nbsp;of Sugar is unchanged but you will need to make sure that the&amp;nbsp;&lt;a href="https://www.php.net/manual/en/book.soap.php"&gt;SOAP PHP extension&lt;/a&gt;&amp;nbsp;is configured on your local environments.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;The following PHP classes have been removed:&lt;/span&gt;&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Removed Class&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Alternative Class&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;nusoap_server&lt;/td&gt;
&lt;td&gt;\SoapServer&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;nusoap_client&lt;/td&gt;
&lt;td&gt;\SoapClient&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="mcetoc_1f77psegv6"&gt;Module Loadable Package rollback on failure&lt;/h3&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;h3 id="mcetoc_1f7cbi31d7"&gt;Denormalized Relate Fields&lt;/h3&gt;
&lt;p&gt;&lt;span&gt;The &amp;ldquo;account_name&amp;quot; field for Contacts, Opportunities, RLI, and Cases modules are now denormalized by default using our&amp;nbsp;&lt;a href="https://support.sugarcrm.com/Documentation/Sugar_Versions/11.0/Ent/Administration_Guide/Developer_Tools/#Relate_Fields_Denormalization"&gt;Relate Field Denormalization&lt;/a&gt;&amp;nbsp;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&amp;nbsp;&lt;a href="https://support.sugarcrm.com/Documentation/Sugar_Versions/11.0/Ent/Administration_Guide/Developer_Tools/#Relate_Fields_Denormalization"&gt;Relate Field Denormalization&lt;/a&gt;&amp;nbsp;developer tool in the Admin panel.&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1f86kijgb0"&gt;&lt;span&gt;Deprecated functions&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;The following functions have been deprecated and will be removed in an upcoming Sugar release.&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;User::load_user()&lt;br /&gt;&lt;span&gt;MysqliManager::getRecursiveSelectSQL()&lt;/span&gt;&lt;/pre&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: Sugar 11.1.0, Sugar Q3 2021&lt;/div&gt;
</description></item><item><title>Sugar 11.1 (Q3 2021) Customization Guide</title><link>https://sugarclub.sugarai.com/dev-club/w/dev-tutorials/535/sugar-11-1-q3-2021-customization-guide/revision/7</link><pubDate>Mon, 10 Jul 2023 12:54:29 GMT</pubDate><guid isPermaLink="false">5c521d64-519d-47a6-9065-134618b211bf:053614ec-9471-4d1b-a27a-e50e371a0493</guid><dc:creator>Rafael Fernandes</dc:creator><comments>https://sugarclub.sugarai.com/dev-club/w/dev-tutorials/535/sugar-11-1-q3-2021-customization-guide#comments</comments><description>Revision 7 posted to Dev Tutorials by Rafael Fernandes on 7/10/2023 12:54:29 PM&lt;br /&gt;
&lt;p id="mcetoc_1f77psegu0"&gt;The purpose of this document is to provide insight to Sugar Developers for&amp;nbsp;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&amp;nbsp;earlier Sugar versions.&lt;/p&gt;
&lt;p&gt;Please check out the &lt;a href="/dev-club/m/event-recaps/1634"&gt;Q3 2021 Developer Webinar recording&lt;/a&gt; for more developer highlights. &lt;strong&gt;For Admin and End User release notes, please visit the &lt;a href="https://support.sugarcrm.com/Documentation/Sugar_Versions/11.1/Ent/Sugar_11.1.0_Release_Notes/"&gt;Sugar 11.1.0 Release Notes&lt;/a&gt;.&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1f77psegv1"&gt;User Experience Updates&lt;/h2&gt;
&lt;h3 id="mcetoc_1f77psegv2"&gt;Refreshed UI - new SugarCRM branding and icons&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;New SugarCRM logo&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;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 &amp;rarr; .svg for favicons) for the new assets.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Updated Icon Library&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;We&amp;rsquo;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.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;This release updates the icons throughout the application (ex. record views, list views, etc.) to use SugarIcons.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;Adopting the new icon library will be easy since the implementation is similar to Font Awesome. SugarIcons will use &amp;ldquo;sicon&amp;rdquo; and &amp;ldquo;sicon-&amp;rdquo; CSS classes instead of &amp;ldquo;fa&amp;rdquo; and &amp;ldquo;fa-&amp;rdquo; classes. SugarIcon icon names are different from FontAwesome icon names. More details will be shared in future updates to Sugar Styleguide.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Future Sugar Styleguide Updates&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;h3 id="mcetoc_1f77q19u7o"&gt;Documents module upgraded to Sidecar UX&lt;/h3&gt;
&lt;p&gt;We&amp;rsquo;ve preserved existing features that were found in BWC mode. Bringing Documents to Sidecar adds dashboards, preview support, and a host of other capabilities.&lt;/p&gt;
&lt;h3 id="mcetoc_1f77psegv4"&gt;SugarLive features are coming to Sugar Sell&lt;/h3&gt;
&lt;p&gt;SugarLive features and related modules like Messages and the Amazon Connect Configuration panel are now available within Sugar Sell.&lt;/p&gt;
&lt;h3 id="mcetoc_1f77psegv5"&gt;List View web accessibility&lt;/h3&gt;
&lt;p&gt;We&amp;rsquo;ve added additional ARIA labels on List Views which should improve web accessibility in accordance with Section 508 requirements.&lt;/p&gt;
&lt;h3 id="mcetoc_1f7c7u6h11"&gt;New Action Buttons field type&lt;/h3&gt;
&lt;p&gt;A new field type has been added called Action Buttons.&amp;nbsp;&lt;span style="font-weight:400;"&gt;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&amp;nbsp;for their actions.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1fa4h7ebs1"&gt;Interactions dashlet is now the Timeline dashlet&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The Interactions dashlet has been redesigned and expanded in this Sugar release. It is now called the Timeline dashlet and is now&amp;nbsp;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&amp;nbsp;To field.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;Mobile Push Notification Configuration&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;There&amp;#39;s new&amp;nbsp;Sugar instance system settings for enabling mobile push.&amp;nbsp;SugarCloud instances will have the&amp;nbsp;push notifications setting&amp;nbsp;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:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;$sugar_config['push_notification']['enabled'] = false;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt; There&amp;#39;s also new user preferences (&lt;code&gt;mobile_notification_on_assignment&lt;/code&gt;, &lt;code&gt;mobile_notification_on_mention&lt;/code&gt;) that allows end users to&amp;nbsp;control what push notifications they can receive. Mobile users can &lt;a href="https://support.sugarcrm.com/Documentation/Mobile_Solutions/SugarCRM_Mobile/SugarCRM_Mobile_for_iOS_User_Guide/#Notification_Settings"&gt;control this preference&lt;/a&gt; from the SugarCRM Mobile app.&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1f77psegv6"&gt;Sugar Portal Updates&lt;/h2&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;h2 id="mcetoc_1f7c8pn4a5"&gt;Sugar REST API updates&lt;/h2&gt;
&lt;p&gt;This Sugar release introduces REST v11_13.&lt;/p&gt;
&lt;p&gt;You can now update display labels and dropdown lists in multiple languages. These APIs are restricted to Admin only.&lt;/p&gt;
&lt;pre&gt;PUT &amp;lt;sugar instance&amp;gt;/rest/v11_13/lang/labels/module/&lt;br /&gt;&lt;br /&gt;PUT &amp;lt;sugar instance&amp;gt;/rest/v11_13/lang/labels/dropdown/&lt;/pre&gt;
&lt;p&gt;You can now retrieve Row and Columns Reports in CSV and JSON formats.&lt;/p&gt;
&lt;pre&gt;GET rest/v11_13/Reports/:id/csv&lt;br /&gt;&lt;br /&gt;GET rest/v11_13/Reports/:id/json&lt;/pre&gt;
&lt;p&gt;You can now retrieve and update administrative configuration settings. These APIs are restricted to Admin only.&lt;/p&gt;
&lt;pre&gt;GET rest/v11_13/Administration/config/:category&lt;br /&gt;&lt;br /&gt;POST rest/v11_13/Administration/config/:category&lt;/pre&gt;
&lt;p&gt;You can now retrieve the list of modules enabled for the Self-Service Portal. This API is restricted to Admin only.&lt;/p&gt;
&lt;pre&gt;GET rest/v11_13/Administration/portalmodules&lt;/pre&gt;
&lt;p&gt;You can now restore any Sugar dashboard to the default state as defined by the dashboard&amp;#39;s original Sidecar metadata.&lt;/p&gt;
&lt;pre&gt;&lt;span&gt;PUT rest/v11_13/Dashboards/:id/restore-metadata?dashboard_module=&amp;lt;MODULE_NAME&amp;gt;&amp;amp;dashboard=&amp;lt;DASHBOARD_METADATA_NAME&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;h2 id="mcetoc_1f77psegv9"&gt;Library Upgrades&lt;/h2&gt;
&lt;p&gt;Upgraded 3rd party PHP library laminas-mail to address a bug in e-mail handling.&lt;/p&gt;
&lt;p&gt;laminas/laminas-mail: 2.10.1 &amp;rarr; 2.14.0&lt;/p&gt;
&lt;p&gt;See&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="https://github.com/laminas/laminas-mail"&gt;https://github.com/laminas/laminas-mail&lt;/a&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;for details.&lt;/p&gt;
&lt;p&gt;Upgraded PHP library tedivm/jshrink to allow for future support of PHP 8.0.&lt;/p&gt;
&lt;p&gt;tedivm/jshrink: 1.3.1 &amp;rarr; 1.4.0&lt;/p&gt;
&lt;p&gt;See&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="https://github.com/tedious/JShrink/releases"&gt;https://github.com/tedious/JShrink/releases&lt;/a&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;for more details.&lt;/p&gt;
&lt;p&gt;Removed the NuSOAP library. See Platform Updates section below for more details.&lt;/p&gt;
&lt;p&gt;&lt;span&gt;NuSOAP: 0.9.5&amp;nbsp;&amp;rarr; N/A&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1f77psegva"&gt;Configurability&amp;nbsp;updates&lt;/h2&gt;
&lt;h3 id="mcetoc_1f7c87abe2"&gt;Sugar Logic&lt;/h3&gt;
&lt;p&gt;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&amp;rsquo;s name, phone number, or department. The field name should be provided as a string and not all User fields work with this function.&lt;/p&gt;
&lt;pre&gt;currentUserField(&amp;quot;field_name&amp;quot;)&lt;/pre&gt;
&lt;h3 id="mcetoc_1f7c8lk1b3"&gt;SugarBPM&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;We added a new SugarBPM Evaluation Category called &amp;ldquo;Relationship Change Evaluation&amp;rdquo; that would be triggered based on addition or removal of a Record&amp;rsquo;s relationship.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1f7c8nhce4"&gt;&lt;strong&gt;Studio&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-weight:400;"&gt;Admins can now use Studio to make relationship-based relate fields required, dependent, mergeable, importable, and mass updatable.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1f77psegv7"&gt;Config Settings&lt;/h3&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;strong&gt;Config Setting&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;strong&gt;Default&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;strong&gt;Available values&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;strong&gt;Description&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;$sugar_config['web_logic_hook_timeout&amp;rsquo;]&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;10&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Integer&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Timeout (in seconds) for requests to web logic hooks&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;$sugar_config['perfProfile']['TeamSecurity']['default']['disable_subquery_optimizer_hint']&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;false&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;true | false&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;a href="https://docs.google.com/document/d/1mzF_kQPZN7wOYIil-k9v2Y3BSpJ5scDPHQuvQq6ZsYU/edit#heading=h.11x3cufu7f3h"&gt;See below.&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="mcetoc_1f77psegvb"&gt;Removed Features&lt;/h2&gt;
&lt;p&gt;Removed the &amp;ldquo;Expand Column Width&amp;rdquo; action from the Repair section of the Admin panel. This feature was no longer relevant when using a supported version of MS SQL Server.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;h2 id="mcetoc_1f77psegvc"&gt;Data Changes&lt;/h2&gt;
&lt;h3 id="mcetoc_1f77psegvd"&gt;Longer name fields&lt;/h3&gt;
&lt;p&gt;The max length for any &amp;ldquo;name&amp;rdquo; fields used by Sidecar modules is now 255 characters. This includes first_name and last_name on Person type records like Leads and Contacts.&lt;/p&gt;
&lt;h3 id="mcetoc_1f77psegve"&gt;Database storage optimizations&lt;/h3&gt;
&lt;p&gt;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&amp;rsquo;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.&lt;/p&gt;
&lt;h3 id="mcetoc_1f77psegvf"&gt;Display labels in CSV exports&lt;/h3&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;h3 id="mcetoc_1f77psegvg"&gt;Contracts in Serve&lt;/h3&gt;
&lt;p&gt;The Contracts module is now part of Sugar Serve.&lt;/p&gt;
&lt;h3 id="mcetoc_1f7ca462q6"&gt;Changes to Messages module&lt;/h3&gt;
&lt;p&gt;The Messages module is now part of Sugar Sell. Messages can now&amp;nbsp;have multiple&amp;nbsp;participants&amp;nbsp;(Contacts, Leads, and Users) instead of a single Contact.&amp;nbsp;Messages is now consistent with how Meetings and Calls modules represent participants by using an &lt;code&gt;invitees&lt;/code&gt; collection field. During 11.1 upgrade process,&amp;nbsp;existing Messages will have the Contact (&lt;code&gt;contact_id)&lt;/code&gt;&amp;nbsp;added&amp;nbsp;to the &lt;code&gt;invitees&lt;/code&gt; collection.&lt;/p&gt;
&lt;h3 id="mcetoc_1fa3sdg980"&gt;Sentiment Analysis fields added to Calls and&amp;nbsp;Messages&lt;/h3&gt;
&lt;p&gt;All these fields are used by SugarLive and therefore only available with Serve and Sell.&lt;/p&gt;
&lt;p&gt;The following Sentiment&amp;nbsp;analysis fields have been added to Calls.&lt;/p&gt;
&lt;pre&gt;&lt;span&gt;aws_lens_data&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_agent&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_customer&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_agent_first_quarter&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_agent_second_quarter&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_agent_third_quarter&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_agent_fourth_quarter&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_customer_first_quarter&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_customer_second_quarter&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_customer_third_quarter&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_customer_fourth_quarter&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span&gt;Sentiment scores are stored as decimals ranging between -5 and 5. They are displayed within Sugar user interface using a new &lt;code&gt;sentiment&lt;/code&gt; field type that displays a negative (&amp;lt; -1.3), positive ( &amp;gt; 1.3), or neutral visualization.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;The following Sentiment analysis fields have been added to Messages.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span&gt;aws_comprehend_data&lt;br /&gt;sentiment&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span&gt;The sentiment value is stored as a descriptive string like &amp;quot;positive&amp;quot;, &amp;quot;neutral&amp;quot;, etc.&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1f77psegvh"&gt;Filesystem Changes&lt;/h2&gt;
&lt;h3 id="mcetoc_1f77psegvi"&gt;Changes to &lt;code&gt;./upload/&lt;/code&gt; directory&lt;/h3&gt;
&lt;p&gt;In Sugar 11.0, Module Loadable Package uploads were moved from ./upload/upgrades/module/ to &lt;code&gt;./upgrades/module&lt;/code&gt; directory.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;For example, the file &lt;code&gt;3657325a-bdd6-11eb-9a6c-08002723a3b8&lt;/code&gt; will now be stored in the &lt;code&gt;./upload/25a/&lt;/code&gt; subdirectory. These UID character locations were selected to ensure even distribution of files across the new subdirectories.&lt;/p&gt;
&lt;p&gt;In previous Sugar versions, all uploaded files would be stored in the &lt;code&gt;./upload&lt;/code&gt; directory using UUIDs as filenames. This could get unwieldy and cause file system performance issues when there was an enormous number of uploaded files.&amp;nbsp;&lt;/p&gt;
&lt;h3 id="mcetoc_1fa4f2k660"&gt;Embedded e-mail images&amp;nbsp;no longer stored in .&lt;code&gt;/cache/images&lt;/code&gt;&lt;/h3&gt;
&lt;p&gt;When viewing an archived e-mail, Sugar would previously copy any associated embedded e-mail images into the &lt;code&gt;./cache/image&lt;/code&gt; 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&amp;#39;ve eliminated the need for the &lt;code&gt;./cache/images&lt;/code&gt; directory. Users may notice that the embedded e-mail images&amp;nbsp;will now point to a File API endpoint instead of the&amp;nbsp;cache. The upgrade to Sugar 11.1.0 will clear the &lt;code&gt;./cache/image&lt;/code&gt; directory to free up storage.&lt;/p&gt;
&lt;h2 id="mcetoc_1f77psegvj"&gt;Team Security updates&lt;/h2&gt;
&lt;h3 id="mcetoc_1f77psegvk"&gt;Performance optimization&lt;/h3&gt;
&lt;p&gt;To improve Team security related query performance on MySQL, we&amp;rsquo;ve added a query optimizer hint (&amp;ldquo;MATERIALIZATION&amp;rdquo;) on a specific subquery that significantly improves performance for instances with large numbers of Teams.&lt;/p&gt;
&lt;p&gt;In the unlikely event that this optimization causes suboptimal query performance with your instance&amp;rsquo;s data, we&amp;rsquo;ve added a &amp;ldquo;&amp;#39;&lt;code&gt;disable_subquery_optimizer_hint&lt;/code&gt;&amp;#39;&amp;rdquo; TeamSecurity setting that you can use to turn off this hint.&lt;/p&gt;
&lt;h3 id="mcetoc_1f77psegvl"&gt;New TeamSet commands for SugarCRM command line interface (CLI)&lt;/h3&gt;
&lt;p&gt;The &lt;code&gt;./bin/sugarcrm&lt;/code&gt; 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.&lt;/p&gt;
&lt;p&gt;Note that you can only use the SugarCRM CLI when Sugar is deployed on-premise.&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;code&gt;teamset:backup&lt;/code&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Backs up the team_sets related tables.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;code&gt;teamset:prune&lt;/code&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;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!&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;code&gt;teamset:restore_from_backup&lt;/code&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Restores all team set tables from backups. DO NOT USE while users are logged into the system!&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;code&gt;teamset:scan&lt;/code&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Scan all module tables for unused team sets and report the number found.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;code&gt;teamset:sql&lt;/code&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Print the sql query used to search for unused teamsets&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="mcetoc_1f77psegvm"&gt;Platform Updates&lt;/h2&gt;
&lt;h3 id="mcetoc_1f77psegvn"&gt;Added support for MySQL 8.0&lt;/h3&gt;
&lt;p&gt;This release added support for MySQL 8.0. And in order to support MySQL 8.0, the&amp;nbsp;&lt;code&gt;MysqliManager::getRecursiveSelectSQL()&lt;/code&gt;&amp;nbsp;PHP function&amp;nbsp;has been deprecated.&lt;/p&gt;
&lt;h3 id="mcetoc_1f7m4ipft0"&gt;Removal of NuSOAP library&lt;/h3&gt;
&lt;p&gt;&lt;span&gt;The NuSOAP library&amp;nbsp;was used to dynamically generate WSDL files but we now use static WSDLs. The legacy SOAP&amp;nbsp;&lt;/span&gt;&lt;span&gt;API&lt;/span&gt;&lt;span&gt;&amp;nbsp;of Sugar is unchanged but you will need to make sure that the&amp;nbsp;&lt;a href="https://www.php.net/manual/en/book.soap.php"&gt;SOAP PHP extension&lt;/a&gt;&amp;nbsp;is configured on your local environments.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;The following PHP classes have been removed:&lt;/span&gt;&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Removed Class&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Alternative Class&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;nusoap_server&lt;/td&gt;
&lt;td&gt;\SoapServer&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;nusoap_client&lt;/td&gt;
&lt;td&gt;\SoapClient&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="mcetoc_1f77psegv6"&gt;Module Loadable Package rollback on failure&lt;/h3&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;h3 id="mcetoc_1f7cbi31d7"&gt;Denormalized Relate Fields&lt;/h3&gt;
&lt;p&gt;&lt;span&gt;The &amp;ldquo;account_name&amp;quot; field for Contacts, Opportunities, RLI, and Cases modules are now denormalized by default using our&amp;nbsp;&lt;a href="https://support.sugarcrm.com/Documentation/Sugar_Versions/11.0/Ent/Administration_Guide/Developer_Tools/#Relate_Fields_Denormalization"&gt;Relate Field Denormalization&lt;/a&gt;&amp;nbsp;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&amp;nbsp;&lt;a href="https://support.sugarcrm.com/Documentation/Sugar_Versions/11.0/Ent/Administration_Guide/Developer_Tools/#Relate_Fields_Denormalization"&gt;Relate Field Denormalization&lt;/a&gt;&amp;nbsp;developer tool in the Admin panel.&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1f86kijgb0"&gt;&lt;span&gt;Deprecated functions&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;The following functions have been deprecated and will be removed in an upcoming Sugar release.&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;User::load_user()&lt;br /&gt;&lt;span&gt;MysqliManager::getRecursiveSelectSQL()&lt;/span&gt;&lt;/pre&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: Sugar 11.1.0, Sugar Q3 2021&lt;/div&gt;
</description></item><item><title>Sugar 11.1 (Q3 2021) Customization Guide</title><link>https://sugarclub.sugarai.com/dev-club/w/dev-tutorials/535/sugar-11-1-q3-2021-customization-guide/revision/6</link><pubDate>Tue, 03 Aug 2021 17:29:18 GMT</pubDate><guid isPermaLink="false">5c521d64-519d-47a6-9065-134618b211bf:053614ec-9471-4d1b-a27a-e50e371a0493</guid><dc:creator>Matt Marum</dc:creator><comments>https://sugarclub.sugarai.com/dev-club/w/dev-tutorials/535/sugar-11-1-q3-2021-customization-guide#comments</comments><description>Revision 6 posted to Dev Tutorials by Matt Marum on 8/3/2021 5:29:18 PM&lt;br /&gt;
&lt;p id="mcetoc_1f77psegu0"&gt;The purpose of this document is to provide insight to Sugar Developers for&amp;nbsp;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&amp;nbsp;earlier Sugar versions.&lt;/p&gt;
&lt;p&gt;Please check out the &lt;a href="/dev-club/m/event-recaps/1634"&gt;Q3 2021 Developer Webinar recording&lt;/a&gt; for more developer highlights. &lt;strong&gt;For Admin and End User release notes, please visit the &lt;a href="https://support.sugarcrm.com/Documentation/Sugar_Versions/11.1/Ent/Sugar_11.1.0_Release_Notes/"&gt;Sugar 11.1.0 Release Notes&lt;/a&gt;.&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1f77psegv1"&gt;User Experience Updates&lt;/h2&gt;
&lt;h3 id="mcetoc_1f77psegv2"&gt;Refreshed UI - new SugarCRM branding and icons&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;New SugarCRM logo&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;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 &amp;rarr; .svg for favicons) for the new assets.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Updated Icon Library&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;We&amp;rsquo;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.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;This release updates the icons throughout the application (ex. record views, list views, etc.) to use SugarIcons.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;Adopting the new icon library will be easy since the implementation is similar to Font Awesome. SugarIcons will use &amp;ldquo;sicon&amp;rdquo; and &amp;ldquo;sicon-&amp;rdquo; CSS classes instead of &amp;ldquo;fa&amp;rdquo; and &amp;ldquo;fa-&amp;rdquo; classes. SugarIcon icon names are different from FontAwesome icon names. More details will be shared in future updates to Sugar Styleguide.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Future Sugar Styleguide Updates&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;h3 id="mcetoc_1f77q19u7o"&gt;Documents module upgraded to Sidecar UX&lt;/h3&gt;
&lt;p&gt;We&amp;rsquo;ve preserved existing features that were found in BWC mode. Bringing Documents to Sidecar adds dashboards, preview support, and a host of other capabilities.&lt;/p&gt;
&lt;h3 id="mcetoc_1f77psegv4"&gt;SugarLive features are coming to Sugar Sell&lt;/h3&gt;
&lt;p&gt;SugarLive features and related modules like Messages and the Amazon Connect Configuration panel are now available within Sugar Sell.&lt;/p&gt;
&lt;h3 id="mcetoc_1f77psegv5"&gt;List View web accessibility&lt;/h3&gt;
&lt;p&gt;We&amp;rsquo;ve added additional ARIA labels on List Views which should improve web accessibility in accordance with Section 508 requirements.&lt;/p&gt;
&lt;h3 id="mcetoc_1f7c7u6h11"&gt;New Action Buttons field type&lt;/h3&gt;
&lt;p&gt;A new field type has been added called Action Buttons.&amp;nbsp;&lt;span style="font-weight:400;"&gt;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&amp;nbsp;for their actions.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1fa4h7ebs1"&gt;Interactions dashlet is now the Timeline dashlet&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The Interactions dashlet has been redesigned and expanded in this Sugar release. It is now called the Timeline dashlet and is now&amp;nbsp;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&amp;nbsp;To field.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;Mobile Push Notification Configuration&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;There&amp;#39;s new&amp;nbsp;Sugar instance system settings for enabling mobile push.&amp;nbsp;SugarCloud instances will have the&amp;nbsp;push notifications setting&amp;nbsp;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:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;$sugar_config['push_notification']['enabled'] = false;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt; There&amp;#39;s also new user preferences (&lt;code&gt;mobile_notification_on_assignment&lt;/code&gt;, &lt;code&gt;mobile_notification_on_mention&lt;/code&gt;) that allows end users to&amp;nbsp;control what push notifications they can receive. Mobile users can &lt;a href="https://support.sugarcrm.com/Documentation/Mobile_Solutions/SugarCRM_Mobile/SugarCRM_Mobile_for_iOS_User_Guide/#Notification_Settings"&gt;control this preference&lt;/a&gt; from the SugarCRM Mobile app.&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1f77psegv6"&gt;Sugar Portal Updates&lt;/h2&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;h2 id="mcetoc_1f7c8pn4a5"&gt;Sugar REST API updates&lt;/h2&gt;
&lt;p&gt;This Sugar release introduces REST v11_13.&lt;/p&gt;
&lt;p&gt;You can now update display labels and dropdown lists in multiple languages. These APIs are restricted to Admin only.&lt;/p&gt;
&lt;pre&gt;PUT &amp;lt;sugar instance&amp;gt;/rest/v11_13/lang/labels/module/&lt;br /&gt;&lt;br /&gt;PUT &amp;lt;sugar instance&amp;gt;/rest/v11_13/lang/labels/dropdown/&lt;/pre&gt;
&lt;p&gt;You can now retrieve Row and Columns Reports in CSV and JSON formats.&lt;/p&gt;
&lt;pre&gt;GET rest/v11_13/Reports/:id/csv&lt;br /&gt;&lt;br /&gt;GET rest/v11_13/Reports/:id/json&lt;/pre&gt;
&lt;p&gt;You can now retrieve and update administrative configuration settings. These APIs are restricted to Admin only.&lt;/p&gt;
&lt;pre&gt;GET rest/v11_13/Administration/config/:category&lt;br /&gt;&lt;br /&gt;POST rest/v11_13/Administration/config/:category&lt;/pre&gt;
&lt;p&gt;You can now retrieve the list of modules enabled for the Self-Service Portal. This API is restricted to Admin only.&lt;/p&gt;
&lt;pre&gt;GET rest/v11_13/Administration/portalmodules&lt;/pre&gt;
&lt;p&gt;You can now restore any Sugar dashboard to the default state as defined by the dashboard&amp;#39;s original Sidecar metadata.&lt;/p&gt;
&lt;pre&gt;&lt;span&gt;PUT rest/v11_13/Dashboards/:id/restore-metadata?dashboard_module=&amp;lt;MODULE_NAME&amp;gt;&amp;amp;dashboard=&amp;lt;DASHBOARD_METADATA_NAME&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;h2 id="mcetoc_1f77psegv9"&gt;Library Upgrades&lt;/h2&gt;
&lt;p&gt;Upgraded 3rd party PHP library laminas-mail to address a bug in e-mail handling.&lt;/p&gt;
&lt;p&gt;laminas/laminas-mail: 2.10.1 &amp;rarr; 2.14.0&lt;/p&gt;
&lt;p&gt;See&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="https://github.com/laminas/laminas-mail"&gt;https://github.com/laminas/laminas-mail&lt;/a&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;for details.&lt;/p&gt;
&lt;p&gt;Upgraded PHP library tedivm/jshrink to allow for future support of PHP 8.0.&lt;/p&gt;
&lt;p&gt;tedivm/jshrink: 1.3.1 &amp;rarr; 1.4.0&lt;/p&gt;
&lt;p&gt;See&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="https://github.com/tedious/JShrink/releases"&gt;https://github.com/tedious/JShrink/releases&lt;/a&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;for more details.&lt;/p&gt;
&lt;p&gt;Removed the NuSOAP library. See Platform Updates section below for more details.&lt;/p&gt;
&lt;p&gt;&lt;span&gt;NuSOAP: 0.9.5&amp;nbsp;&amp;rarr; N/A&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1f77psegva"&gt;Configurability&amp;nbsp;updates&lt;/h2&gt;
&lt;h3 id="mcetoc_1f7c87abe2"&gt;Sugar Logic&lt;/h3&gt;
&lt;p&gt;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&amp;rsquo;s name, phone number, or department. The field name should be provided as a string and not all User fields work with this function.&lt;/p&gt;
&lt;pre&gt;currentUserField(&amp;quot;field_name&amp;quot;)&lt;/pre&gt;
&lt;h3 id="mcetoc_1f7c8lk1b3"&gt;SugarBPM&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;We added a new SugarBPM Evaluation Category called &amp;ldquo;Relationship Change Evaluation&amp;rdquo; that would be triggered based on addition or removal of a Record&amp;rsquo;s relationship.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1f7c8nhce4"&gt;&lt;strong&gt;Studio&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-weight:400;"&gt;Admins can now use Studio to make relationship-based relate fields required, dependent, mergeable, importable, and mass updatable.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1f77psegv7"&gt;Config Settings&lt;/h3&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;strong&gt;Config Setting&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;strong&gt;Default&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;strong&gt;Available values&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;strong&gt;Description&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;$sugar_config['web_logic_hook_timeout&amp;rsquo;]&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;10&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Integer&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Timeout (in seconds) for requests to web logic hooks&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;$sugar_config['perfProfile']['TeamSecurity']['default']['disable_subquery_optimizer_hint']&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;false&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;true | false&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;a href="https://docs.google.com/document/d/1mzF_kQPZN7wOYIil-k9v2Y3BSpJ5scDPHQuvQq6ZsYU/edit#heading=h.11x3cufu7f3h"&gt;See below.&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="mcetoc_1f77psegvb"&gt;Removed Features&lt;/h2&gt;
&lt;p&gt;Removed the &amp;ldquo;Expand Column Width&amp;rdquo; action from the Repair section of the Admin panel. This feature was no longer relevant when using a supported version of MS SQL Server.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;h2 id="mcetoc_1f77psegvc"&gt;Data Changes&lt;/h2&gt;
&lt;h3 id="mcetoc_1f77psegvd"&gt;Longer name fields&lt;/h3&gt;
&lt;p&gt;The max length for any &amp;ldquo;name&amp;rdquo; fields used by Sidecar modules is now 255 characters. This includes first_name and last_name on Person type records like Leads and Contacts.&lt;/p&gt;
&lt;h3 id="mcetoc_1f77psegve"&gt;Database storage optimizations&lt;/h3&gt;
&lt;p&gt;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&amp;rsquo;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.&lt;/p&gt;
&lt;h3 id="mcetoc_1f77psegvf"&gt;Display labels in CSV exports&lt;/h3&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;h3 id="mcetoc_1f77psegvg"&gt;Contracts in Serve&lt;/h3&gt;
&lt;p&gt;The Contracts module is now part of Sugar Serve.&lt;/p&gt;
&lt;h3 id="mcetoc_1f7ca462q6"&gt;Changes to Messages module&lt;/h3&gt;
&lt;p&gt;The Messages module is now part of Sugar Sell. Messages can now&amp;nbsp;have multiple&amp;nbsp;participants&amp;nbsp;(Contacts, Leads, and Users) instead of a single Contact.&amp;nbsp;Messages is now consistent with how Meetings and Calls modules represent participants by using an &lt;code&gt;invitees&lt;/code&gt; collection field. During 11.1 upgrade process,&amp;nbsp;existing Messages will have the Contact (&lt;code&gt;contact_id)&lt;/code&gt;&amp;nbsp;added&amp;nbsp;to the &lt;code&gt;invitees&lt;/code&gt; collection.&lt;/p&gt;
&lt;h3 id="mcetoc_1fa3sdg980"&gt;Sentiment Analysis fields added to Calls and&amp;nbsp;Messages&lt;/h3&gt;
&lt;p&gt;All these fields are used by SugarLive and therefore only available with Serve and Sell.&lt;/p&gt;
&lt;p&gt;The following Sentiment&amp;nbsp;analysis fields have been added to Calls.&lt;/p&gt;
&lt;pre&gt;&lt;span&gt;aws_lens_data&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_agent&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_customer&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_agent_first_quarter&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_agent_second_quarter&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_agent_third_quarter&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_agent_fourth_quarter&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_customer_first_quarter&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_customer_second_quarter&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_customer_third_quarter&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_customer_fourth_quarter&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span&gt;Sentiment scores are stored as decimals ranging between -5 and 5. They are displayed within Sugar user interface using a new &lt;code&gt;sentiment&lt;/code&gt; field type that displays a negative (&amp;lt; -1.3), positive ( &amp;gt; 1.3), or neutral visualization.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;The following Sentiment analysis fields have been added to Messages.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span&gt;aws_comprehend_data&lt;br /&gt;sentiment&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span&gt;The sentiment value is stored as a descriptive string like &amp;quot;positive&amp;quot;, &amp;quot;neutral&amp;quot;, etc.&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1f77psegvh"&gt;Filesystem Changes&lt;/h2&gt;
&lt;h3 id="mcetoc_1f77psegvi"&gt;Changes to &lt;code&gt;./upload/&lt;/code&gt; directory&lt;/h3&gt;
&lt;p&gt;In Sugar 11.0, Module Loadable Package uploads were moved from ./upload/upgrades/module/ to &lt;code&gt;./upgrades/module&lt;/code&gt; directory.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;For example, the file &lt;code&gt;3657325a-bdd6-11eb-9a6c-08002723a3b8&lt;/code&gt; will now be stored in the &lt;code&gt;./upload/25a/&lt;/code&gt; subdirectory. These UID character locations were selected to ensure even distribution of files across the new subdirectories.&lt;/p&gt;
&lt;p&gt;In previous Sugar versions, all uploaded files would be stored in the &lt;code&gt;./upload&lt;/code&gt; directory using UUIDs as filenames. This could get unwieldy and cause file system performance issues when there was an enormous number of uploaded files.&amp;nbsp;&lt;/p&gt;
&lt;h3 id="mcetoc_1fa4f2k660"&gt;Embedded e-mail images&amp;nbsp;no longer stored in .&lt;code&gt;/cache/images&lt;/code&gt;&lt;/h3&gt;
&lt;p&gt;When viewing an archived e-mail, Sugar would previously copy any associated embedded e-mail images into the &lt;code&gt;./cache/image&lt;/code&gt; 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&amp;#39;ve eliminated the need for the &lt;code&gt;./cache/images&lt;/code&gt; directory. Users may notice that the embedded e-mail images&amp;nbsp;will now point to a File API endpoint instead of the&amp;nbsp;cache. The upgrade to Sugar 11.1.0 will clear the &lt;code&gt;./cache/image&lt;/code&gt; directory to free up storage.&lt;/p&gt;
&lt;h2 id="mcetoc_1f77psegvj"&gt;Team Security updates&lt;/h2&gt;
&lt;h3 id="mcetoc_1f77psegvk"&gt;Performance optimization&lt;/h3&gt;
&lt;p&gt;To improve Team security related query performance on MySQL, we&amp;rsquo;ve added a query optimizer hint (&amp;ldquo;MATERIALIZATION&amp;rdquo;) on a specific subquery that significantly improves performance for instances with large numbers of Teams.&lt;/p&gt;
&lt;p&gt;In the unlikely event that this optimization causes suboptimal query performance with your instance&amp;rsquo;s data, we&amp;rsquo;ve added a &amp;ldquo;&amp;#39;&lt;code&gt;disable_subquery_optimizer_hint&lt;/code&gt;&amp;#39;&amp;rdquo; TeamSecurity setting that you can use to turn off this hint.&lt;/p&gt;
&lt;h3 id="mcetoc_1f77psegvl"&gt;New TeamSet commands for SugarCRM command line interface (CLI)&lt;/h3&gt;
&lt;p&gt;The &lt;code&gt;./bin/sugarcrm&lt;/code&gt; 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.&lt;/p&gt;
&lt;p&gt;Note that you can only use the SugarCRM CLI when Sugar is deployed on-premise.&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;code&gt;teamset:backup&lt;/code&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Backs up the team_sets related tables.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;code&gt;teamset:prune&lt;/code&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;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!&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;code&gt;teamset:restore_from_backup&lt;/code&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Restores all team set tables from backups. DO NOT USE while users are logged into the system!&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;code&gt;teamset:scan&lt;/code&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Scan all module tables for unused team sets and report the number found.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;code&gt;teamset:sql&lt;/code&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Print the sql query used to search for unused teamsets&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="mcetoc_1f77psegvm"&gt;Platform Updates&lt;/h2&gt;
&lt;h3 id="mcetoc_1f77psegvn"&gt;Added support for MySQL 8.0&lt;/h3&gt;
&lt;p&gt;This release added support for MySQL 8.0. And in order to support MySQL 8.0, the&amp;nbsp;&lt;code&gt;MysqliManager::getRecursiveSelectSQL()&lt;/code&gt;&amp;nbsp;PHP function&amp;nbsp;has been deprecated.&lt;/p&gt;
&lt;h3 id="mcetoc_1f7m4ipft0"&gt;Removal of NuSOAP library&lt;/h3&gt;
&lt;p&gt;&lt;span&gt;The NuSOAP library&amp;nbsp;was used to dynamically generate WSDL files but we now use static WSDLs. The legacy SOAP&amp;nbsp;&lt;/span&gt;&lt;span&gt;API&lt;/span&gt;&lt;span&gt;&amp;nbsp;of Sugar is unchanged but you will need to make sure that the&amp;nbsp;&lt;a href="https://www.php.net/manual/en/book.soap.php"&gt;SOAP PHP extension&lt;/a&gt;&amp;nbsp;is configured on your local environments.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;The following PHP classes have been removed:&lt;/span&gt;&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Removed Class&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Alternative Class&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;nusoap_server&lt;/td&gt;
&lt;td&gt;\SoapServer&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;nusoap_client&lt;/td&gt;
&lt;td&gt;\SoapClient&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="mcetoc_1f77psegv6"&gt;Module Loadable Package rollback on failure&lt;/h3&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;h3 id="mcetoc_1f7cbi31d7"&gt;Denormalized Relate Fields&lt;/h3&gt;
&lt;p&gt;&lt;span&gt;The &amp;ldquo;account_name&amp;quot; field for Contacts, Opportunities, RLI, and Cases modules are now denormalized by default using our&amp;nbsp;&lt;a href="https://support.sugarcrm.com/Documentation/Sugar_Versions/11.0/Ent/Administration_Guide/Developer_Tools/#Relate_Fields_Denormalization"&gt;Relate Field Denormalization&lt;/a&gt;&amp;nbsp;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&amp;nbsp;&lt;a href="https://support.sugarcrm.com/Documentation/Sugar_Versions/11.0/Ent/Administration_Guide/Developer_Tools/#Relate_Fields_Denormalization"&gt;Relate Field Denormalization&lt;/a&gt;&amp;nbsp;developer tool in the Admin panel.&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1f86kijgb0"&gt;&lt;span&gt;Deprecated functions&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;The following functions have been deprecated and will be removed in an upcoming Sugar release.&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;User::load_user()&lt;br /&gt;&lt;span&gt;MysqliManager::getRecursiveSelectSQL()&lt;/span&gt;&lt;/pre&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: Sugar 11.1.0, Sugar Q3 2021&lt;/div&gt;
</description></item><item><title>Sugar 11.1 (Q3 2021) Customization Guide</title><link>https://sugarclub.sugarai.com/dev-club/w/dev-tutorials/535/sugar-11-1-q3-2021-customization-guide/revision/5</link><pubDate>Fri, 09 Jul 2021 14:23:33 GMT</pubDate><guid isPermaLink="false">5c521d64-519d-47a6-9065-134618b211bf:053614ec-9471-4d1b-a27a-e50e371a0493</guid><dc:creator>Matt Marum</dc:creator><comments>https://sugarclub.sugarai.com/dev-club/w/dev-tutorials/535/sugar-11-1-q3-2021-customization-guide#comments</comments><description>Revision 5 posted to Dev Tutorials by Matt Marum on 7/9/2021 2:23:33 PM&lt;br /&gt;
&lt;p id="mcetoc_1f77psegu0"&gt;The purpose of this document is to provide insight to Sugar Developers for&amp;nbsp;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&amp;nbsp;earlier Sugar versions.&lt;/p&gt;
&lt;p&gt;Please check out the &lt;a href="/dev-club/m/event-recaps/1634"&gt;Q3 2021 Developer Webinar recording&lt;/a&gt; for more highlights.&lt;/p&gt;
&lt;h2 id="mcetoc_1f77psegv1"&gt;User Experience Updates&lt;/h2&gt;
&lt;h3 id="mcetoc_1f77psegv2"&gt;Refreshed UI - new SugarCRM branding and icons&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;New SugarCRM logo&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;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 &amp;rarr; .svg for favicons) for the new assets.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Updated Icon Library&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;We&amp;rsquo;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.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;This release updates the icons throughout the application (ex. record views, list views, etc.) to use SugarIcons.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;Adopting the new icon library will be easy since the implementation is similar to Font Awesome. SugarIcons will use &amp;ldquo;sicon&amp;rdquo; and &amp;ldquo;sicon-&amp;rdquo; CSS classes instead of &amp;ldquo;fa&amp;rdquo; and &amp;ldquo;fa-&amp;rdquo; classes. SugarIcon icon names are different from FontAwesome icon names. More details will be shared in future updates to Sugar Styleguide.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Future Sugar Styleguide Updates&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;h3 id="mcetoc_1f77q19u7o"&gt;Documents module upgraded to Sidecar UX&lt;/h3&gt;
&lt;p&gt;We&amp;rsquo;ve preserved existing features that were found in BWC mode. Bringing Documents to Sidecar adds dashboards, preview support, and a host of other capabilities.&lt;/p&gt;
&lt;h3 id="mcetoc_1f77psegv4"&gt;SugarLive features are coming to Sugar Sell&lt;/h3&gt;
&lt;p&gt;SugarLive features and related modules like Messages and the Amazon Connect Configuration panel are now available within Sugar Sell.&lt;/p&gt;
&lt;h3 id="mcetoc_1f77psegv5"&gt;List View web accessibility&lt;/h3&gt;
&lt;p&gt;We&amp;rsquo;ve added additional ARIA labels on List Views which should improve web accessibility in accordance with Section 508 requirements.&lt;/p&gt;
&lt;h3 id="mcetoc_1f7c7u6h11"&gt;New Action Buttons field type&lt;/h3&gt;
&lt;p&gt;A new field type has been added called Action Buttons.&amp;nbsp;&lt;span style="font-weight:400;"&gt;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&amp;nbsp;for their actions.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1fa4h7ebs1"&gt;Interactions dashlet is now the Timeline dashlet&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The Interactions dashlet has been redesigned and expanded in this Sugar release. It is now called the Timeline dashlet and is now&amp;nbsp;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&amp;nbsp;To field.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;Mobile Push Notification Configuration&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;There&amp;#39;s new&amp;nbsp;Sugar instance system settings for enabling mobile push.&amp;nbsp;SugarCloud instances will have the&amp;nbsp;push notifications setting&amp;nbsp;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:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;$sugar_config['push_notification']['enabled'] = false;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt; There&amp;#39;s also new user preferences (&lt;code&gt;mobile_notification_on_assignment&lt;/code&gt;, &lt;code&gt;mobile_notification_on_mention&lt;/code&gt;) that allows end users to&amp;nbsp;control what push notifications they can receive. Mobile users can &lt;a href="https://support.sugarcrm.com/Documentation/Mobile_Solutions/SugarCRM_Mobile/SugarCRM_Mobile_for_iOS_User_Guide/#Notification_Settings"&gt;control this preference&lt;/a&gt; from the SugarCRM Mobile app.&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1f77psegv6"&gt;Sugar Portal Updates&lt;/h2&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;h2 id="mcetoc_1f7c8pn4a5"&gt;Sugar REST API updates&lt;/h2&gt;
&lt;p&gt;This Sugar release introduces REST v11_13.&lt;/p&gt;
&lt;p&gt;You can now update display labels and dropdown lists in multiple languages. These APIs are restricted to Admin only.&lt;/p&gt;
&lt;pre&gt;PUT &amp;lt;sugar instance&amp;gt;/rest/v11_13/lang/labels/module/&lt;br /&gt;&lt;br /&gt;PUT &amp;lt;sugar instance&amp;gt;/rest/v11_13/lang/labels/dropdown/&lt;/pre&gt;
&lt;p&gt;You can now retrieve Row and Columns Reports in CSV and JSON formats.&lt;/p&gt;
&lt;pre&gt;GET rest/v11_13/Reports/:id/csv&lt;br /&gt;&lt;br /&gt;GET rest/v11_13/Reports/:id/json&lt;/pre&gt;
&lt;p&gt;You can now retrieve and update administrative configuration settings. These APIs are restricted to Admin only.&lt;/p&gt;
&lt;pre&gt;GET rest/v11_13/Administration/config/:category&lt;br /&gt;&lt;br /&gt;POST rest/v11_13/Administration/config/:category&lt;/pre&gt;
&lt;p&gt;You can now retrieve the list of modules enabled for the Self-Service Portal. This API is restricted to Admin only.&lt;/p&gt;
&lt;pre&gt;GET rest/v11_13/Administration/portalmodules&lt;/pre&gt;
&lt;p&gt;You can now restore any Sugar dashboard to the default state as defined by the dashboard&amp;#39;s original Sidecar metadata.&lt;/p&gt;
&lt;pre&gt;&lt;span&gt;PUT rest/v11_13/Dashboards/:id/restore-metadata?dashboard_module=&amp;lt;MODULE_NAME&amp;gt;&amp;amp;dashboard=&amp;lt;DASHBOARD_METADATA_NAME&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;h2 id="mcetoc_1f77psegv9"&gt;Library Upgrades&lt;/h2&gt;
&lt;p&gt;Upgraded 3rd party PHP library laminas-mail to address a bug in e-mail handling.&lt;/p&gt;
&lt;p&gt;laminas/laminas-mail: 2.10.1 &amp;rarr; 2.14.0&lt;/p&gt;
&lt;p&gt;See&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="https://github.com/laminas/laminas-mail"&gt;https://github.com/laminas/laminas-mail&lt;/a&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;for details.&lt;/p&gt;
&lt;p&gt;Upgraded PHP library tedivm/jshrink to allow for future support of PHP 8.0.&lt;/p&gt;
&lt;p&gt;tedivm/jshrink: 1.3.1 &amp;rarr; 1.4.0&lt;/p&gt;
&lt;p&gt;See&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="https://github.com/tedious/JShrink/releases"&gt;https://github.com/tedious/JShrink/releases&lt;/a&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;for more details.&lt;/p&gt;
&lt;p&gt;Removed the NuSOAP library. See Platform Updates section below for more details.&lt;/p&gt;
&lt;p&gt;&lt;span&gt;NuSOAP: 0.9.5&amp;nbsp;&amp;rarr; N/A&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1f77psegva"&gt;Configurability&amp;nbsp;updates&lt;/h2&gt;
&lt;h3 id="mcetoc_1f7c87abe2"&gt;Sugar Logic&lt;/h3&gt;
&lt;p&gt;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&amp;rsquo;s name, phone number, or department. The field name should be provided as a string and not all User fields work with this function.&lt;/p&gt;
&lt;pre&gt;currentUserField(&amp;quot;field_name&amp;quot;)&lt;/pre&gt;
&lt;h3 id="mcetoc_1f7c8lk1b3"&gt;SugarBPM&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;We added a new SugarBPM Evaluation Category called &amp;ldquo;Relationship Change Evaluation&amp;rdquo; that would be triggered based on addition or removal of a Record&amp;rsquo;s relationship.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1f7c8nhce4"&gt;&lt;strong&gt;Studio&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-weight:400;"&gt;Admins can now use Studio to make relationship-based relate fields required, dependent, mergeable, importable, and mass updatable.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1f77psegv7"&gt;Config Settings&lt;/h3&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;strong&gt;Config Setting&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;strong&gt;Default&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;strong&gt;Available values&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;strong&gt;Description&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;$sugar_config['web_logic_hook_timeout&amp;rsquo;]&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;10&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Integer&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Timeout (in seconds) for requests to web logic hooks&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;$sugar_config['perfProfile']['TeamSecurity']['default']['disable_subquery_optimizer_hint']&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;false&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;true | false&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;a href="https://docs.google.com/document/d/1mzF_kQPZN7wOYIil-k9v2Y3BSpJ5scDPHQuvQq6ZsYU/edit#heading=h.11x3cufu7f3h"&gt;See below.&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="mcetoc_1f77psegvb"&gt;Removed Features&lt;/h2&gt;
&lt;p&gt;Removed the &amp;ldquo;Expand Column Width&amp;rdquo; action from the Repair section of the Admin panel. This feature was no longer relevant when using a supported version of MS SQL Server.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;h2 id="mcetoc_1f77psegvc"&gt;Data Changes&lt;/h2&gt;
&lt;h3 id="mcetoc_1f77psegvd"&gt;Longer name fields&lt;/h3&gt;
&lt;p&gt;The max length for any &amp;ldquo;name&amp;rdquo; fields used by Sidecar modules is now 255 characters. This includes first_name and last_name on Person type records like Leads and Contacts.&lt;/p&gt;
&lt;h3 id="mcetoc_1f77psegve"&gt;Database storage optimizations&lt;/h3&gt;
&lt;p&gt;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&amp;rsquo;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.&lt;/p&gt;
&lt;h3 id="mcetoc_1f77psegvf"&gt;Display labels in CSV exports&lt;/h3&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;h3 id="mcetoc_1f77psegvg"&gt;Contracts in Serve&lt;/h3&gt;
&lt;p&gt;The Contracts module is now part of Sugar Serve.&lt;/p&gt;
&lt;h3 id="mcetoc_1f7ca462q6"&gt;Changes to Messages module&lt;/h3&gt;
&lt;p&gt;The Messages module is now part of Sugar Sell. Messages can now&amp;nbsp;have multiple&amp;nbsp;participants&amp;nbsp;(Contacts, Leads, and Users) instead of a single Contact.&amp;nbsp;Messages is now consistent with how Meetings and Calls modules represent participants by using an &lt;code&gt;invitees&lt;/code&gt; collection field. During 11.1 upgrade process,&amp;nbsp;existing Messages will have the Contact (&lt;code&gt;contact_id)&lt;/code&gt;&amp;nbsp;added&amp;nbsp;to the &lt;code&gt;invitees&lt;/code&gt; collection.&lt;/p&gt;
&lt;h3 id="mcetoc_1fa3sdg980"&gt;Sentiment Analysis fields added to Calls and&amp;nbsp;Messages&lt;/h3&gt;
&lt;p&gt;All these fields are used by SugarLive and therefore only available with Serve and Sell.&lt;/p&gt;
&lt;p&gt;The following Sentiment&amp;nbsp;analysis fields have been added to Calls.&lt;/p&gt;
&lt;pre&gt;&lt;span&gt;aws_lens_data&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_agent&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_customer&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_agent_first_quarter&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_agent_second_quarter&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_agent_third_quarter&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_agent_fourth_quarter&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_customer_first_quarter&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_customer_second_quarter&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_customer_third_quarter&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_customer_fourth_quarter&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span&gt;Sentiment scores are stored as decimals ranging between -5 and 5. They are displayed within Sugar user interface using a new &lt;code&gt;sentiment&lt;/code&gt; field type that displays a negative (&amp;lt; -1.3), positive ( &amp;gt; 1.3), or neutral visualization.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;The following Sentiment analysis fields have been added to Messages.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span&gt;aws_comprehend_data&lt;br /&gt;sentiment&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span&gt;The sentiment value is stored as a descriptive string like &amp;quot;positive&amp;quot;, &amp;quot;neutral&amp;quot;, etc.&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1f77psegvh"&gt;Filesystem Changes&lt;/h2&gt;
&lt;h3 id="mcetoc_1f77psegvi"&gt;Changes to &lt;code&gt;./upload/&lt;/code&gt; directory&lt;/h3&gt;
&lt;p&gt;In Sugar 11.0, Module Loadable Package uploads were moved from ./upload/upgrades/module/ to &lt;code&gt;./upgrades/module&lt;/code&gt; directory.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;For example, the file &lt;code&gt;3657325a-bdd6-11eb-9a6c-08002723a3b8&lt;/code&gt; will now be stored in the &lt;code&gt;./upload/25a/&lt;/code&gt; subdirectory. These UID character locations were selected to ensure even distribution of files across the new subdirectories.&lt;/p&gt;
&lt;p&gt;In previous Sugar versions, all uploaded files would be stored in the &lt;code&gt;./upload&lt;/code&gt; directory using UUIDs as filenames. This could get unwieldy and cause file system performance issues when there was an enormous number of uploaded files.&amp;nbsp;&lt;/p&gt;
&lt;h3 id="mcetoc_1fa4f2k660"&gt;Embedded e-mail images&amp;nbsp;no longer stored in .&lt;code&gt;/cache/images&lt;/code&gt;&lt;/h3&gt;
&lt;p&gt;When viewing an archived e-mail, Sugar would previously copy any associated embedded e-mail images into the &lt;code&gt;./cache/image&lt;/code&gt; 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&amp;#39;ve eliminated the need for the &lt;code&gt;./cache/images&lt;/code&gt; directory. Users may notice that the embedded e-mail images&amp;nbsp;will now point to a File API endpoint instead of the&amp;nbsp;cache. The upgrade to Sugar 11.1.0 will clear the &lt;code&gt;./cache/image&lt;/code&gt; directory to free up storage.&lt;/p&gt;
&lt;h2 id="mcetoc_1f77psegvj"&gt;Team Security updates&lt;/h2&gt;
&lt;h3 id="mcetoc_1f77psegvk"&gt;Performance optimization&lt;/h3&gt;
&lt;p&gt;To improve Team security related query performance on MySQL, we&amp;rsquo;ve added a query optimizer hint (&amp;ldquo;MATERIALIZATION&amp;rdquo;) on a specific subquery that significantly improves performance for instances with large numbers of Teams.&lt;/p&gt;
&lt;p&gt;In the unlikely event that this optimization causes suboptimal query performance with your instance&amp;rsquo;s data, we&amp;rsquo;ve added a &amp;ldquo;&amp;#39;&lt;code&gt;disable_subquery_optimizer_hint&lt;/code&gt;&amp;#39;&amp;rdquo; TeamSecurity setting that you can use to turn off this hint.&lt;/p&gt;
&lt;h3 id="mcetoc_1f77psegvl"&gt;New TeamSet commands for SugarCRM command line interface (CLI)&lt;/h3&gt;
&lt;p&gt;The &lt;code&gt;./bin/sugarcrm&lt;/code&gt; 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.&lt;/p&gt;
&lt;p&gt;Note that you can only use the SugarCRM CLI when Sugar is deployed on-premise.&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;code&gt;teamset:backup&lt;/code&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Backs up the team_sets related tables.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;code&gt;teamset:prune&lt;/code&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;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!&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;code&gt;teamset:restore_from_backup&lt;/code&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Restores all team set tables from backups. DO NOT USE while users are logged into the system!&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;code&gt;teamset:scan&lt;/code&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Scan all module tables for unused team sets and report the number found.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;code&gt;teamset:sql&lt;/code&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Print the sql query used to search for unused teamsets&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="mcetoc_1f77psegvm"&gt;Platform Updates&lt;/h2&gt;
&lt;h3 id="mcetoc_1f77psegvn"&gt;Added support for MySQL 8.0&lt;/h3&gt;
&lt;p&gt;This release added support for MySQL 8.0. And in order to support MySQL 8.0, the&amp;nbsp;&lt;code&gt;MysqliManager::getRecursiveSelectSQL()&lt;/code&gt;&amp;nbsp;PHP function&amp;nbsp;has been deprecated.&lt;/p&gt;
&lt;h3 id="mcetoc_1f7m4ipft0"&gt;Removal of NuSOAP library&lt;/h3&gt;
&lt;p&gt;&lt;span&gt;The NuSOAP library&amp;nbsp;was used to dynamically generate WSDL files but we now use static WSDLs. The legacy SOAP&amp;nbsp;&lt;/span&gt;&lt;span&gt;API&lt;/span&gt;&lt;span&gt;&amp;nbsp;of Sugar is unchanged but you will need to make sure that the&amp;nbsp;&lt;a href="https://www.php.net/manual/en/book.soap.php"&gt;SOAP PHP extension&lt;/a&gt;&amp;nbsp;is configured on your local environments.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;The following PHP classes have been removed:&lt;/span&gt;&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Removed Class&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Alternative Class&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;nusoap_server&lt;/td&gt;
&lt;td&gt;\SoapServer&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;nusoap_client&lt;/td&gt;
&lt;td&gt;\SoapClient&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="mcetoc_1f77psegv6"&gt;Module Loadable Package rollback on failure&lt;/h3&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;h3 id="mcetoc_1f7cbi31d7"&gt;Denormalized Relate Fields&lt;/h3&gt;
&lt;p&gt;&lt;span&gt;The &amp;ldquo;account_name&amp;quot; field for Contacts, Opportunities, RLI, and Cases modules are now denormalized by default using our&amp;nbsp;&lt;a href="https://support.sugarcrm.com/Documentation/Sugar_Versions/11.0/Ent/Administration_Guide/Developer_Tools/#Relate_Fields_Denormalization"&gt;Relate Field Denormalization&lt;/a&gt;&amp;nbsp;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&amp;nbsp;&lt;a href="https://support.sugarcrm.com/Documentation/Sugar_Versions/11.0/Ent/Administration_Guide/Developer_Tools/#Relate_Fields_Denormalization"&gt;Relate Field Denormalization&lt;/a&gt;&amp;nbsp;developer tool in the Admin panel.&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1f86kijgb0"&gt;&lt;span&gt;Deprecated functions&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;The following functions have been deprecated and will be removed in an upcoming Sugar release.&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;User::load_user()&lt;br /&gt;&lt;span&gt;MysqliManager::getRecursiveSelectSQL()&lt;/span&gt;&lt;/pre&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: Sugar 11.1.0, Sugar Q3 2021&lt;/div&gt;
</description></item><item><title>Sugar 11.1 (Q3 2021) Customization Guide</title><link>https://sugarclub.sugarai.com/dev-club/w/dev-tutorials/535/sugar-11-1-q3-2021-customization-guide/revision/4</link><pubDate>Fri, 09 Jul 2021 02:54:57 GMT</pubDate><guid isPermaLink="false">5c521d64-519d-47a6-9065-134618b211bf:053614ec-9471-4d1b-a27a-e50e371a0493</guid><dc:creator>Matt Marum</dc:creator><comments>https://sugarclub.sugarai.com/dev-club/w/dev-tutorials/535/sugar-11-1-q3-2021-customization-guide#comments</comments><description>Revision 4 posted to Dev Tutorials by Matt Marum on 7/9/2021 2:54:57 AM&lt;br /&gt;
&lt;p id="mcetoc_1f77psegu0"&gt;The purpose of this document is to provide insight to Sugar Developers for&amp;nbsp;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&amp;nbsp;earlier Sugar versions.&lt;/p&gt;
&lt;h2 id="mcetoc_1f77psegv1"&gt;User Experience Updates&lt;/h2&gt;
&lt;h3 id="mcetoc_1f77psegv2"&gt;Refreshed UI - new SugarCRM branding and icons&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;New SugarCRM logo&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;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 &amp;rarr; .svg for favicons) for the new assets.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Updated Icon Library&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;We&amp;rsquo;ve introduced a new font-based icon library to Sugar Sell and Serve. This is a brand new SugarIcon library is replacing our use of the Font Awesome library.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;This release updates the icons throughout the application (ex. record views, list views, etc.) to use SugarIcons.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;Adopting the new icon library will be easy since the implementation is similar to Font Awesome. SugarIcons will use &amp;ldquo;sicon&amp;rdquo; and &amp;ldquo;sicon-&amp;rdquo; CSS classes instead of &amp;ldquo;fa&amp;rdquo; and &amp;ldquo;fa-&amp;rdquo; classes. SugarIcon icon names are different from FontAwesome icon names. More details will be shared in future updates to Sugar Styleguide.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Future Sugar Styleguide Updates&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;h3 id="mcetoc_1f77q19u7o"&gt;Documents module upgraded to Sidecar UX&lt;/h3&gt;
&lt;p&gt;We&amp;rsquo;ve preserved existing features that were found in BWC mode. Bringing Documents to Sidecar adds dashboards, preview support, and a host of other capabilities.&lt;/p&gt;
&lt;h3 id="mcetoc_1f77psegv4"&gt;SugarLive features are coming to Sugar Sell&lt;/h3&gt;
&lt;p&gt;SugarLive features and related modules like Messages and the Amazon Connect Configuration panel are now available within Sugar Sell.&lt;/p&gt;
&lt;h3 id="mcetoc_1f77psegv5"&gt;List View web accessibility&lt;/h3&gt;
&lt;p&gt;We&amp;rsquo;ve added additional ARIA labels on List Views which should improve web accessibility in accordance with Section 508 requirements.&lt;/p&gt;
&lt;h3 id="mcetoc_1f7c7u6h11"&gt;New Action Buttons field type&lt;/h3&gt;
&lt;p&gt;A new field type has been added called Action Buttons.&amp;nbsp;&lt;span style="font-weight:400;"&gt;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&amp;nbsp;for their actions.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1fa4h7ebs1"&gt;Interactions dashlet is now the Timeline dashlet&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The Interactions dashlet has been redesigned and expanded in this Sugar release. It is now called the Timeline dashlet and is now&amp;nbsp;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&amp;nbsp;To field.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Mobile Push Notification Configuration&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;There&amp;#39;s new&amp;nbsp;Sugar instance system settings for enabling mobile push.&amp;nbsp;SugarCloud instances will have the&amp;nbsp;push notifications setting&amp;nbsp;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:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;$sugar_config['push_notification']['enabled'] = false;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt; There&amp;#39;s also new user preferences (&lt;code&gt;mobile_notification_on_assignment&lt;/code&gt;, &lt;code&gt;mobile_notification_on_mention&lt;/code&gt;) that allows end users to&amp;nbsp;control what push notifications they can receive. Mobile users can &lt;a href="https://support.sugarcrm.com/Documentation/Mobile_Solutions/SugarCRM_Mobile/SugarCRM_Mobile_for_iOS_User_Guide/#Notification_Settings"&gt;control this preference&lt;/a&gt; from the SugarCRM Mobile app.&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1f77psegv6"&gt;Sugar Portal Updates&lt;/h2&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;h2 id="mcetoc_1f7c8pn4a5"&gt;Sugar REST API updates&lt;/h2&gt;
&lt;p&gt;This Sugar release introduces REST v11_13.&lt;/p&gt;
&lt;p&gt;You can now update display labels and dropdown lists in multiple languages. These APIs are restricted to Admin only.&lt;/p&gt;
&lt;pre&gt;PUT &amp;lt;sugar instance&amp;gt;/rest/v11_13/lang/labels/module/&lt;br /&gt;&lt;br /&gt;PUT &amp;lt;sugar instance&amp;gt;/rest/v11_13/lang/labels/dropdown/&lt;/pre&gt;
&lt;p&gt;You can now retrieve Row and Columns Reports in CSV and JSON formats.&lt;/p&gt;
&lt;pre&gt;GET rest/v11_13/Reports/:id/csv&lt;br /&gt;&lt;br /&gt;GET rest/v11_13/Reports/:id/json&lt;/pre&gt;
&lt;p&gt;You can now retrieve and update administrative configuration settings. These APIs are restricted to Admin only.&lt;/p&gt;
&lt;pre&gt;GET rest/v11_13/Administration/config/:category&lt;br /&gt;&lt;br /&gt;POST rest/v11_13/Administration/config/:category&lt;/pre&gt;
&lt;p&gt;You can now retrieve the list of modules enabled for the Self-Service Portal. This API is restricted to Admin only.&lt;/p&gt;
&lt;pre&gt;GET rest/v11_13/Administration/portalmodules&lt;/pre&gt;
&lt;p&gt;You can now restore any Sugar dashboard to the default state as defined by the dashboard&amp;#39;s original Sidecar metadata.&lt;/p&gt;
&lt;pre&gt;&lt;span&gt;PUT rest/v11_13/Dashboards/:id/restore-metadata?dashboard_module=&amp;lt;MODULE_NAME&amp;gt;&amp;amp;dashboard=&amp;lt;DASHBOARD_METADATA_NAME&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;h2 id="mcetoc_1f77psegv9"&gt;Library Upgrades&lt;/h2&gt;
&lt;p&gt;Upgraded 3rd party PHP library laminas-mail to address a bug in e-mail handling.&lt;/p&gt;
&lt;p&gt;laminas/laminas-mail: 2.10.1 &amp;rarr; 2.14.0&lt;/p&gt;
&lt;p&gt;See&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="https://github.com/laminas/laminas-mail"&gt;https://github.com/laminas/laminas-mail&lt;/a&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;for details.&lt;/p&gt;
&lt;p&gt;Upgraded PHP library tedivm/jshrink to allow for future support of PHP 8.0.&lt;/p&gt;
&lt;p&gt;tedivm/jshrink: 1.3.1 &amp;rarr; 1.4.0&lt;/p&gt;
&lt;p&gt;See&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="https://github.com/tedious/JShrink/releases"&gt;https://github.com/tedious/JShrink/releases&lt;/a&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;for more details.&lt;/p&gt;
&lt;p&gt;Removed the NuSOAP library. See Platform Updates section below for more details.&lt;/p&gt;
&lt;p&gt;&lt;span&gt;NuSOAP: 0.9.5&amp;nbsp;&amp;rarr; N/A&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1f77psegva"&gt;Configurability&amp;nbsp;updates&lt;/h2&gt;
&lt;h3 id="mcetoc_1f7c87abe2"&gt;Sugar Logic&lt;/h3&gt;
&lt;p&gt;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&amp;rsquo;s name, phone number, or department. The field name should be provided as a string and not all User fields work with this function.&lt;/p&gt;
&lt;pre&gt;currentUserField(&amp;quot;field_name&amp;quot;)&lt;/pre&gt;
&lt;h3 id="mcetoc_1f7c8lk1b3"&gt;SugarBPM&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;We added a new SugarBPM Evaluation Category called &amp;ldquo;Relationship Change Evaluation&amp;rdquo; that would be triggered based on addition or removal of a Record&amp;rsquo;s relationship.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1f7c8nhce4"&gt;&lt;strong&gt;Studio&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-weight:400;"&gt;Admins can now use Studio to make relationship-based relate fields required, dependent, mergeable, importable, and mass updatable.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1f77psegv7"&gt;Config Settings&lt;/h3&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;strong&gt;Config Setting&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;strong&gt;Default&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;strong&gt;Available values&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;strong&gt;Description&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;$sugar_config['web_logic_hook_timeout&amp;rsquo;]&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;10&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Integer&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Timeout (in seconds) for requests to web logic hooks&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;$sugar_config['perfProfile']['TeamSecurity']['default']['disable_subquery_optimizer_hint']&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;false&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;true | false&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;a href="https://docs.google.com/document/d/1mzF_kQPZN7wOYIil-k9v2Y3BSpJ5scDPHQuvQq6ZsYU/edit#heading=h.11x3cufu7f3h"&gt;See below.&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="mcetoc_1f77psegvb"&gt;Removed Features&lt;/h2&gt;
&lt;p&gt;Removed the &amp;ldquo;Expand Column Width&amp;rdquo; action from the Repair section of the Admin panel. This feature was no longer relevant when using a supported version of MS SQL Server.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;h2 id="mcetoc_1f77psegvc"&gt;Data Changes&lt;/h2&gt;
&lt;h3 id="mcetoc_1f77psegvd"&gt;Longer name fields&lt;/h3&gt;
&lt;p&gt;The max length for any &amp;ldquo;name&amp;rdquo; fields used by Sidecar modules is now 255 characters. This includes first_name and last_name on Person type records like Leads and Contacts.&lt;/p&gt;
&lt;h3 id="mcetoc_1f77psegve"&gt;Database storage optimizations&lt;/h3&gt;
&lt;p&gt;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&amp;rsquo;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.&lt;/p&gt;
&lt;h3 id="mcetoc_1f77psegvf"&gt;Display labels in CSV exports&lt;/h3&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;h3 id="mcetoc_1f77psegvg"&gt;Contracts in Serve&lt;/h3&gt;
&lt;p&gt;The Contracts module is now part of Sugar Serve.&lt;/p&gt;
&lt;h3 id="mcetoc_1f7ca462q6"&gt;Changes to Messages module&lt;/h3&gt;
&lt;p&gt;The Messages module is now part of Sugar Sell. Messages can now&amp;nbsp;have multiple&amp;nbsp;participants&amp;nbsp;(Contacts, Leads, and Users) instead of a single Contact.&amp;nbsp;Messages is now consistent with how Meetings and Calls modules represent participants by using an &lt;code&gt;invitees&lt;/code&gt; collection field. During 11.1 upgrade process, the Message &lt;code&gt;contact_id&lt;/code&gt; is added&amp;nbsp;to the &lt;code&gt;invitees&lt;/code&gt; collection.&lt;/p&gt;
&lt;h3 id="mcetoc_1fa3sdg980"&gt;Sentiment Analysis fields added to Calls and&amp;nbsp;Messages&lt;/h3&gt;
&lt;p&gt;All these fields are used by SugarLive and therefore only available with Serve and Sell.&lt;/p&gt;
&lt;p&gt;The following Sentiment&amp;nbsp;analysis fields have been added to Calls.&lt;/p&gt;
&lt;pre&gt;&lt;span&gt;aws_lens_data&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_agent&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_customer&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_agent_first_quarter&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_agent_second_quarter&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_agent_third_quarter&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_agent_fourth_quarter&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_customer_first_quarter&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_customer_second_quarter&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_customer_third_quarter&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_customer_fourth_quarter&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span&gt;Sentiment scores are stored as decimals ranging between -5 and 5. They are displayed within Sugar user interface using a new &lt;code&gt;sentiment&lt;/code&gt; field type that displays a negative (&amp;lt; -1.3), positive ( &amp;gt; 1.3), or neutral visualization.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;The following Sentiment analysis fields have been added to Messages.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span&gt;aws_comprehend_data&lt;br /&gt;sentiment&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span&gt;The sentiment value is stored as a descriptive string like &amp;quot;positive&amp;quot;, &amp;quot;neutral&amp;quot;, etc.&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1f77psegvh"&gt;Filesystem Changes&lt;/h2&gt;
&lt;h3 id="mcetoc_1f77psegvi"&gt;Changes to &lt;code&gt;./upload/&lt;/code&gt; directory&lt;/h3&gt;
&lt;p&gt;In Sugar 11.0, Module Loadable Package uploads were moved from ./upload/upgrades/module/ to &lt;code&gt;./upgrades/module&lt;/code&gt; directory.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;For example, the file &lt;code&gt;3657325a-bdd6-11eb-9a6c-08002723a3b8&lt;/code&gt; will now be stored in the &lt;code&gt;./upload/25a/&lt;/code&gt; subdirectory. These UID character locations were selected to ensure even distribution of files across the new subdirectories.&lt;/p&gt;
&lt;p&gt;In previous Sugar versions, all uploaded files would be stored in the &lt;code&gt;./upload&lt;/code&gt; directory using UUIDs as filenames. This could get unwieldy and cause file system performance issues when there was an enormous number of uploaded files.&amp;nbsp;&lt;/p&gt;
&lt;h3 id="mcetoc_1fa4f2k660"&gt;Embedded e-mail images&amp;nbsp;no longer stored in &lt;code&gt;/cache/images&lt;/code&gt;&lt;/h3&gt;
&lt;p&gt;When viewing an archived e-mail, Sugar would previously copy any associated embedded e-mail images into the &lt;code&gt;./cache/image&lt;/code&gt; 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&amp;#39;ve eliminated the need for the &lt;code&gt;./cache/images&lt;/code&gt; directory. Users may notice that the embedded e-mail images&amp;nbsp;will now point to a File API endpoint instead of the&amp;nbsp;cache. The upgrade to Sugar 11.1.0 will clear the &lt;code&gt;./cache/image&lt;/code&gt; directory to free up storage.&lt;/p&gt;
&lt;h2 id="mcetoc_1f77psegvj"&gt;Team Security updates&lt;/h2&gt;
&lt;h3 id="mcetoc_1f77psegvk"&gt;Performance optimization&lt;/h3&gt;
&lt;p&gt;To improve Team security related query performance on MySQL, we&amp;rsquo;ve added a query optimizer hint (&amp;ldquo;MATERIALIZATION&amp;rdquo;) on a specific subquery that significantly improves performance for instances with large numbers of Teams.&lt;/p&gt;
&lt;p&gt;In the unlikely event that this optimization causes suboptimal query performance with your instance&amp;rsquo;s data, we&amp;rsquo;ve added a &amp;ldquo;&amp;#39;disable_subquery_optimizer_hint&amp;#39;&amp;rdquo; TeamSecurity setting that you can use to turn off this hint.&lt;/p&gt;
&lt;h3 id="mcetoc_1f77psegvl"&gt;New TeamSet commands for SugarCRM command line interface (CLI)&lt;/h3&gt;
&lt;p&gt;The 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.&lt;/p&gt;
&lt;p&gt;Note that you can only use the SugarCRM CLI when Sugar is deployed on-premise.&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;teamset:backup&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Backs up the team_sets related tables.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;teamset:prune&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;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!&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;teamset:restore_from_backup&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Restores all team set tables from backups. DO NOT USE while users are logged into the system!&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;teamset:scan&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Scan all module tables for unused team sets and report the number found.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;teamset:sql&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Print the sql query used to search for unused teamsets&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="mcetoc_1f77psegvm"&gt;Platform Updates&lt;/h2&gt;
&lt;h3 id="mcetoc_1f77psegvn"&gt;Added support for MySQL 8.0&lt;/h3&gt;
&lt;p&gt;This release added support for MySQL 8.0. And in order to support MySQL 8.0, the&amp;nbsp;&lt;code&gt;MysqliManager::getRecursiveSelectSQL()&lt;/code&gt;&amp;nbsp;PHP function&amp;nbsp;has been deprecated.&lt;/p&gt;
&lt;h3 id="mcetoc_1f7m4ipft0"&gt;Removal of NuSOAP library&lt;/h3&gt;
&lt;p&gt;&lt;span&gt;The NuSOAP library&amp;nbsp;was used to dynamically generate WSDL files but we now use static WSDLs. The legacy SOAP&amp;nbsp;&lt;/span&gt;&lt;span&gt;API&lt;/span&gt;&lt;span&gt;&amp;nbsp;of Sugar is unchanged but you will need to make sure that the&amp;nbsp;&lt;a href="https://www.php.net/manual/en/book.soap.php"&gt;SOAP PHP extension&lt;/a&gt;&amp;nbsp;is configured on your local environments.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;The following PHP classes have been removed:&lt;/span&gt;&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Removed Class&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Alternative Class&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;nusoap_server&lt;/td&gt;
&lt;td&gt;\SoapServer&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;nusoap_client&lt;/td&gt;
&lt;td&gt;\SoapClient&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="mcetoc_1f77psegv6"&gt;Module Loadable Package rollback on failure&lt;/h3&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;h3 id="mcetoc_1f7cbi31d7"&gt;Denormalized Relate Fields&lt;/h3&gt;
&lt;p&gt;&lt;span&gt;The &amp;ldquo;account_name&amp;quot; field for Contacts, Opportunities, RLI, and Cases modules are now denormalized by default using our&amp;nbsp;&lt;a href="https://support.sugarcrm.com/Documentation/Sugar_Versions/11.0/Ent/Administration_Guide/Developer_Tools/#Relate_Fields_Denormalization"&gt;Relate Field Denormalization&lt;/a&gt;&amp;nbsp;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&amp;nbsp;&lt;a href="https://support.sugarcrm.com/Documentation/Sugar_Versions/11.0/Ent/Administration_Guide/Developer_Tools/#Relate_Fields_Denormalization"&gt;Relate Field Denormalization&lt;/a&gt;&amp;nbsp;developer tool in the Admin panel.&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1f86kijgb0"&gt;&lt;span&gt;Deprecated functions&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;The following functions have been deprecated and will be removed in an upcoming Sugar release.&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;User::load_user()&lt;br /&gt;&lt;span&gt;MysqliManager::getRecursiveSelectSQL()&lt;/span&gt;&lt;/pre&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: Sugar 11.1.0, Sugar Q3 2021&lt;/div&gt;
</description></item><item><title>Sugar 11.1 (Q3 2021) Customization Guide</title><link>https://sugarclub.sugarai.com/dev-club/w/dev-tutorials/535/sugar-11-1-q3-2021-customization-guide/revision/3</link><pubDate>Fri, 09 Jul 2021 02:53:03 GMT</pubDate><guid isPermaLink="false">5c521d64-519d-47a6-9065-134618b211bf:053614ec-9471-4d1b-a27a-e50e371a0493</guid><dc:creator>Matt Marum</dc:creator><comments>https://sugarclub.sugarai.com/dev-club/w/dev-tutorials/535/sugar-11-1-q3-2021-customization-guide#comments</comments><description>Revision 3 posted to Dev Tutorials by Matt Marum on 7/9/2021 2:53:03 AM&lt;br /&gt;
&lt;p id="mcetoc_1f77psegu0"&gt;The purpose of this document is to provide insight to Sugar Developers for upgrading custom Sugar code, extensions, and integrations to the Sugar 11.1 (Q3 2021) release. This guide focuses on changes in Sugar 11.1 (Q3 2021) that could cause an immediate impact on Sugar customizations and integrations built for&amp;nbsp;earlier Sugar versions.&lt;/p&gt;
&lt;p&gt;WORK IN PROGRESS&lt;/p&gt;
&lt;h2 id="mcetoc_1f77psegv1"&gt;User Experience Updates&lt;/h2&gt;
&lt;h3 id="mcetoc_1f77psegv2"&gt;Refreshed UI - new SugarCRM branding and icons&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;New SugarCRM logo&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;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 &amp;rarr; .svg for favicons) for the new assets.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Updated Icon Library&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;We&amp;rsquo;ve introduced a new font-based icon library to Sugar Sell and Serve. This is a brand new SugarIcon library is replacing our use of the Font Awesome library.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;This release updates the icons throughout the application (ex. record views, list views, etc.) to use SugarIcons.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;Adopting the new icon library will be easy since the implementation is similar to Font Awesome. SugarIcons will use &amp;ldquo;sicon&amp;rdquo; and &amp;ldquo;sicon-&amp;rdquo; CSS classes instead of &amp;ldquo;fa&amp;rdquo; and &amp;ldquo;fa-&amp;rdquo; classes. SugarIcon icon names are different from FontAwesome icon names. More details will be shared in future updates to Sugar Styleguide.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Future Sugar Styleguide Updates&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;h3 id="mcetoc_1f77q19u7o"&gt;Documents module upgraded to Sidecar UX&lt;/h3&gt;
&lt;p&gt;We&amp;rsquo;ve preserved existing features that were found in BWC mode. Bringing Documents to Sidecar adds dashboards, preview support, and a host of other capabilities.&lt;/p&gt;
&lt;h3 id="mcetoc_1f77psegv4"&gt;SugarLive features are coming to Sugar Sell&lt;/h3&gt;
&lt;p&gt;SugarLive features and related modules like Messages and the Amazon Connect Configuration panel are now available within Sugar Sell.&lt;/p&gt;
&lt;h3 id="mcetoc_1f77psegv5"&gt;List View web accessibility&lt;/h3&gt;
&lt;p&gt;We&amp;rsquo;ve added additional ARIA labels on List Views which should improve web accessibility in accordance with Section 508 requirements.&lt;/p&gt;
&lt;h3 id="mcetoc_1f7c7u6h11"&gt;New Action Buttons field type&lt;/h3&gt;
&lt;p&gt;A new field type has been added called Action Buttons.&amp;nbsp;&lt;span style="font-weight:400;"&gt;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&amp;nbsp;for their actions.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1fa4h7ebs1"&gt;Interactions dashlet is now the Timeline dashlet&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The Interactions dashlet has been redesigned and expanded in this Sugar release. It is now called the Timeline dashlet and is now&amp;nbsp;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&amp;nbsp;To field.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Mobile Push Notification Configuration&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;There&amp;#39;s new&amp;nbsp;Sugar instance system settings for enabling mobile push.&amp;nbsp;SugarCloud instances will have the&amp;nbsp;push notifications setting&amp;nbsp;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:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;$sugar_config['push_notification']['enabled'] = false;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt; There&amp;#39;s also new user preferences (&lt;code&gt;mobile_notification_on_assignment&lt;/code&gt;, &lt;code&gt;mobile_notification_on_mention&lt;/code&gt;) that allows end users to&amp;nbsp;control what push notifications they can receive. Mobile users can &lt;a href="https://support.sugarcrm.com/Documentation/Mobile_Solutions/SugarCRM_Mobile/SugarCRM_Mobile_for_iOS_User_Guide/#Notification_Settings"&gt;control this preference&lt;/a&gt; from the SugarCRM Mobile app.&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1f77psegv6"&gt;Sugar Portal Updates&lt;/h2&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;h2 id="mcetoc_1f7c8pn4a5"&gt;Sugar REST API updates&lt;/h2&gt;
&lt;p&gt;This Sugar release introduces REST v11_13.&lt;/p&gt;
&lt;p&gt;You can now update display labels and dropdown lists in multiple languages. These APIs are restricted to Admin only.&lt;/p&gt;
&lt;pre&gt;PUT &amp;lt;sugar instance&amp;gt;/rest/v11_13/lang/labels/module/&lt;br /&gt;&lt;br /&gt;PUT &amp;lt;sugar instance&amp;gt;/rest/v11_13/lang/labels/dropdown/&lt;/pre&gt;
&lt;p&gt;You can now retrieve Row and Columns Reports in CSV and JSON formats.&lt;/p&gt;
&lt;pre&gt;GET rest/v11_13/Reports/:id/csv&lt;br /&gt;&lt;br /&gt;GET rest/v11_13/Reports/:id/json&lt;/pre&gt;
&lt;p&gt;You can now retrieve and update administrative configuration settings. These APIs are restricted to Admin only.&lt;/p&gt;
&lt;pre&gt;GET rest/v11_13/Administration/config/:category&lt;br /&gt;&lt;br /&gt;POST rest/v11_13/Administration/config/:category&lt;/pre&gt;
&lt;p&gt;You can now retrieve the list of modules enabled for the Self-Service Portal. This API is restricted to Admin only.&lt;/p&gt;
&lt;pre&gt;GET rest/v11_13/Administration/portalmodules&lt;/pre&gt;
&lt;p&gt;You can now restore any Sugar dashboard to the default state as defined by the dashboard&amp;#39;s original Sidecar metadata.&lt;/p&gt;
&lt;pre&gt;&lt;span&gt;PUT rest/v11_13/Dashboards/:id/restore-metadata?dashboard_module=&amp;lt;MODULE_NAME&amp;gt;&amp;amp;dashboard=&amp;lt;DASHBOARD_METADATA_NAME&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;h2 id="mcetoc_1f77psegv9"&gt;Library Upgrades&lt;/h2&gt;
&lt;p&gt;Upgraded 3rd party PHP library laminas-mail to address a bug in e-mail handling.&lt;/p&gt;
&lt;p&gt;laminas/laminas-mail: 2.10.1 &amp;rarr; 2.14.0&lt;/p&gt;
&lt;p&gt;See&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="https://github.com/laminas/laminas-mail"&gt;https://github.com/laminas/laminas-mail&lt;/a&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;for details.&lt;/p&gt;
&lt;p&gt;Upgraded PHP library tedivm/jshrink to allow for future support of PHP 8.0.&lt;/p&gt;
&lt;p&gt;tedivm/jshrink: 1.3.1 &amp;rarr; 1.4.0&lt;/p&gt;
&lt;p&gt;See&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="https://github.com/tedious/JShrink/releases"&gt;https://github.com/tedious/JShrink/releases&lt;/a&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;for more details.&lt;/p&gt;
&lt;p&gt;Removed the NuSOAP library. See Platform Updates section below for more details.&lt;/p&gt;
&lt;p&gt;&lt;span&gt;NuSOAP: 0.9.5&amp;nbsp;&amp;rarr; N/A&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1f77psegva"&gt;Configurability&amp;nbsp;updates&lt;/h2&gt;
&lt;h3 id="mcetoc_1f7c87abe2"&gt;Sugar Logic&lt;/h3&gt;
&lt;p&gt;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&amp;rsquo;s name, phone number, or department. The field name should be provided as a string and not all User fields work with this function.&lt;/p&gt;
&lt;pre&gt;currentUserField(&amp;quot;field_name&amp;quot;)&lt;/pre&gt;
&lt;h3 id="mcetoc_1f7c8lk1b3"&gt;SugarBPM&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;We added a new SugarBPM Evaluation Category called &amp;ldquo;Relationship Change Evaluation&amp;rdquo; that would be triggered based on addition or removal of a Record&amp;rsquo;s relationship.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1f7c8nhce4"&gt;&lt;strong&gt;Studio&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-weight:400;"&gt;Admins can now use Studio to make relationship-based relate fields required, dependent, mergeable, importable, and mass updatable.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1f77psegv7"&gt;Config Settings&lt;/h3&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;strong&gt;Config Setting&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;strong&gt;Default&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;strong&gt;Available values&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;strong&gt;Description&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;$sugar_config['web_logic_hook_timeout&amp;rsquo;]&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;10&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Integer&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Timeout (in seconds) for requests to web logic hooks&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;$sugar_config['perfProfile']['TeamSecurity']['default']['disable_subquery_optimizer_hint']&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;false&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;true | false&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;a href="https://docs.google.com/document/d/1mzF_kQPZN7wOYIil-k9v2Y3BSpJ5scDPHQuvQq6ZsYU/edit#heading=h.11x3cufu7f3h"&gt;See below.&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="mcetoc_1f77psegvb"&gt;Removed Features&lt;/h2&gt;
&lt;p&gt;Removed the &amp;ldquo;Expand Column Width&amp;rdquo; action from the Repair section of the Admin panel. This feature was no longer relevant when using a supported version of MS SQL Server.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;h2 id="mcetoc_1f77psegvc"&gt;Data Changes&lt;/h2&gt;
&lt;h3 id="mcetoc_1f77psegvd"&gt;Longer name fields&lt;/h3&gt;
&lt;p&gt;The max length for any &amp;ldquo;name&amp;rdquo; fields used by Sidecar modules is now 255 characters. This includes first_name and last_name on Person type records like Leads and Contacts.&lt;/p&gt;
&lt;h3 id="mcetoc_1f77psegve"&gt;Database storage optimizations&lt;/h3&gt;
&lt;p&gt;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&amp;rsquo;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.&lt;/p&gt;
&lt;h3 id="mcetoc_1f77psegvf"&gt;Display labels in CSV exports&lt;/h3&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;h3 id="mcetoc_1f77psegvg"&gt;Contracts in Serve&lt;/h3&gt;
&lt;p&gt;The Contracts module is now part of Sugar Serve.&lt;/p&gt;
&lt;h3 id="mcetoc_1f7ca462q6"&gt;Changes to Messages module&lt;/h3&gt;
&lt;p&gt;The Messages module is now part of Sugar Sell. Messages can now&amp;nbsp;have multiple&amp;nbsp;participants&amp;nbsp;(Contacts, Leads, and Users) instead of a single Contact.&amp;nbsp;Messages is now consistent with how Meetings and Calls modules represent participants by using an &lt;code&gt;invitees&lt;/code&gt; collection field. During 11.1 upgrade process, the Message &lt;code&gt;contact_id&lt;/code&gt; is added&amp;nbsp;to the &lt;code&gt;invitees&lt;/code&gt; collection.&lt;/p&gt;
&lt;h3 id="mcetoc_1fa3sdg980"&gt;Sentiment Analysis fields added to Calls and&amp;nbsp;Messages&lt;/h3&gt;
&lt;p&gt;All these fields are used by SugarLive and therefore only available with Serve and Sell.&lt;/p&gt;
&lt;p&gt;The following Sentiment&amp;nbsp;analysis fields have been added to Calls.&lt;/p&gt;
&lt;pre&gt;&lt;span&gt;aws_lens_data&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_agent&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_customer&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_agent_first_quarter&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_agent_second_quarter&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_agent_third_quarter&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_agent_fourth_quarter&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_customer_first_quarter&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_customer_second_quarter&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_customer_third_quarter&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_customer_fourth_quarter&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span&gt;Sentiment scores are stored as decimals ranging between -5 and 5. They are displayed within Sugar user interface using a new &lt;code&gt;sentiment&lt;/code&gt; field type that displays a negative (&amp;lt; -1.3), positive ( &amp;gt; 1.3), or neutral visualization.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;The following Sentiment analysis fields have been added to Messages.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span&gt;aws_comprehend_data&lt;br /&gt;sentiment&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span&gt;The sentiment value is stored as a descriptive string like &amp;quot;positive&amp;quot;, &amp;quot;neutral&amp;quot;, etc.&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1f77psegvh"&gt;Filesystem Changes&lt;/h2&gt;
&lt;h3 id="mcetoc_1f77psegvi"&gt;Changes to &lt;code&gt;./upload/&lt;/code&gt; directory&lt;/h3&gt;
&lt;p&gt;In Sugar 11.0, Module Loadable Package uploads were moved from ./upload/upgrades/module/ to &lt;code&gt;./upgrades/module&lt;/code&gt; directory.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;For example, the file &lt;code&gt;3657325a-bdd6-11eb-9a6c-08002723a3b8&lt;/code&gt; will now be stored in the &lt;code&gt;./upload/25a/&lt;/code&gt; subdirectory. These UID character locations were selected to ensure even distribution of files across the new subdirectories.&lt;/p&gt;
&lt;p&gt;In previous Sugar versions, all uploaded files would be stored in the &lt;code&gt;./upload&lt;/code&gt; directory using UUIDs as filenames. This could get unwieldy and cause file system performance issues when there was an enormous number of uploaded files.&amp;nbsp;&lt;/p&gt;
&lt;h3 id="mcetoc_1fa4f2k660"&gt;Embedded e-mail images&amp;nbsp;no longer stored in &lt;code&gt;/cache/images&lt;/code&gt;&lt;/h3&gt;
&lt;p&gt;When viewing an archived e-mail, Sugar would previously copy any associated embedded e-mail images into the &lt;code&gt;./cache/image&lt;/code&gt; 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&amp;#39;ve eliminated the need for the &lt;code&gt;./cache/images&lt;/code&gt; directory. Users may notice that the embedded e-mail images&amp;nbsp;will now point to a File API endpoint instead of the&amp;nbsp;cache. The upgrade to Sugar 11.1.0 will clear the &lt;code&gt;./cache/image&lt;/code&gt; directory to free up storage.&lt;/p&gt;
&lt;h2 id="mcetoc_1f77psegvj"&gt;Team Security updates&lt;/h2&gt;
&lt;h3 id="mcetoc_1f77psegvk"&gt;Performance optimization&lt;/h3&gt;
&lt;p&gt;To improve Team security related query performance on MySQL, we&amp;rsquo;ve added a query optimizer hint (&amp;ldquo;MATERIALIZATION&amp;rdquo;) on a specific subquery that significantly improves performance for instances with large numbers of Teams.&lt;/p&gt;
&lt;p&gt;In the unlikely event that this optimization causes suboptimal query performance with your instance&amp;rsquo;s data, we&amp;rsquo;ve added a &amp;ldquo;&amp;#39;disable_subquery_optimizer_hint&amp;#39;&amp;rdquo; TeamSecurity setting that you can use to turn off this hint.&lt;/p&gt;
&lt;h3 id="mcetoc_1f77psegvl"&gt;New TeamSet commands for SugarCRM command line interface (CLI)&lt;/h3&gt;
&lt;p&gt;The 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.&lt;/p&gt;
&lt;p&gt;Note that you can only use the SugarCRM CLI when Sugar is deployed on-premise.&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;teamset:backup&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Backs up the team_sets related tables.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;teamset:prune&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;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!&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;teamset:restore_from_backup&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Restores all team set tables from backups. DO NOT USE while users are logged into the system!&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;teamset:scan&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Scan all module tables for unused team sets and report the number found.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;teamset:sql&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Print the sql query used to search for unused teamsets&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="mcetoc_1f77psegvm"&gt;Platform Updates&lt;/h2&gt;
&lt;h3 id="mcetoc_1f77psegvn"&gt;Added support for MySQL 8.0&lt;/h3&gt;
&lt;p&gt;This release added support for MySQL 8.0. And in order to support MySQL 8.0, the&amp;nbsp;&lt;code&gt;MysqliManager::getRecursiveSelectSQL()&lt;/code&gt;&amp;nbsp;PHP function&amp;nbsp;has been deprecated.&lt;/p&gt;
&lt;h3 id="mcetoc_1f7m4ipft0"&gt;Removal of NuSOAP library&lt;/h3&gt;
&lt;p&gt;&lt;span&gt;The NuSOAP library&amp;nbsp;was used to dynamically generate WSDL files but we now use static WSDLs. The legacy SOAP&amp;nbsp;&lt;/span&gt;&lt;span&gt;API&lt;/span&gt;&lt;span&gt;&amp;nbsp;of Sugar is unchanged but you will need to make sure that the&amp;nbsp;&lt;a href="https://www.php.net/manual/en/book.soap.php"&gt;SOAP PHP extension&lt;/a&gt;&amp;nbsp;is configured on your local environments.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;The following PHP classes have been removed:&lt;/span&gt;&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Removed Class&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Alternative Class&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;nusoap_server&lt;/td&gt;
&lt;td&gt;\SoapServer&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;nusoap_client&lt;/td&gt;
&lt;td&gt;\SoapClient&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="mcetoc_1f77psegv6"&gt;Module Loadable Package rollback on failure&lt;/h3&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;h3 id="mcetoc_1f7cbi31d7"&gt;Denormalized Relate Fields&lt;/h3&gt;
&lt;p&gt;&lt;span&gt;The &amp;ldquo;account_name&amp;quot; field for Contacts, Opportunities, RLI, and Cases modules are now denormalized by default using our&amp;nbsp;&lt;a href="https://support.sugarcrm.com/Documentation/Sugar_Versions/11.0/Ent/Administration_Guide/Developer_Tools/#Relate_Fields_Denormalization"&gt;Relate Field Denormalization&lt;/a&gt;&amp;nbsp;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&amp;nbsp;&lt;a href="https://support.sugarcrm.com/Documentation/Sugar_Versions/11.0/Ent/Administration_Guide/Developer_Tools/#Relate_Fields_Denormalization"&gt;Relate Field Denormalization&lt;/a&gt;&amp;nbsp;developer tool in the Admin panel.&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1f86kijgb0"&gt;&lt;span&gt;Deprecated functions&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;The following functions have been deprecated and will be removed in an upcoming Sugar release.&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;User::load_user()&lt;br /&gt;&lt;span&gt;MysqliManager::getRecursiveSelectSQL()&lt;/span&gt;&lt;/pre&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: Sugar 11.1.0, Sugar Q3 2021&lt;/div&gt;
</description></item><item><title>Sugar 11.1 (Q3 2021) Customization Guide</title><link>https://sugarclub.sugarai.com/dev-club/w/dev-tutorials/535/sugar-11-1-q3-2021-customization-guide/revision/2</link><pubDate>Thu, 08 Jul 2021 21:11:17 GMT</pubDate><guid isPermaLink="false">5c521d64-519d-47a6-9065-134618b211bf:053614ec-9471-4d1b-a27a-e50e371a0493</guid><dc:creator>Matt Marum</dc:creator><comments>https://sugarclub.sugarai.com/dev-club/w/dev-tutorials/535/sugar-11-1-q3-2021-customization-guide#comments</comments><description>Revision 2 posted to Dev Tutorials by Matt Marum on 7/8/2021 9:11:17 PM&lt;br /&gt;
&lt;p id="mcetoc_1f77psegu0"&gt;The purpose of this document is to provide insight to Sugar Developers for upgrading custom Sugar code, extensions, and integrations to the Sugar 11.1 (Q3 2021) release. This guide focuses on changes in Sugar 11.1 (Q3 2021) that could cause an immediate impact on Sugar customizations and integrations built for&amp;nbsp;earlier Sugar versions.&lt;/p&gt;
&lt;p&gt;WORK IN PROGRESS&lt;/p&gt;
&lt;h2 id="mcetoc_1f77psegv1"&gt;User Experience Updates&lt;/h2&gt;
&lt;h3 id="mcetoc_1f77psegv2"&gt;Refreshed UI - new SugarCRM branding and icons&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;New SugarCRM logo&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;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 &amp;rarr; .svg for favicons) for the new assets.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Updated Icon Library&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;We&amp;rsquo;ve introduced a new font-based icon library to Sugar Sell and Serve. This is a brand new SugarIcon library is replacing our use of the Font Awesome library.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;This release updates the icons throughout the application (ex. record views, list views, etc.) to use SugarIcons.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;Adopting the new icon library will be easy since the implementation is similar to Font Awesome. SugarIcons will use &amp;ldquo;sicon&amp;rdquo; and &amp;ldquo;sicon-&amp;rdquo; CSS classes instead of &amp;ldquo;fa&amp;rdquo; and &amp;ldquo;fa-&amp;rdquo; classes. SugarIcon icon names are different from FontAwesome icon names. More details will be shared in future updates to Sugar Styleguide.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Future Sugar Styleguide Updates&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;h3 id="mcetoc_1f77q19u7o"&gt;Documents module upgraded to Sidecar UX&lt;/h3&gt;
&lt;p&gt;We&amp;rsquo;ve preserved existing features that were found in BWC mode. Bringing Documents to Sidecar adds dashboards, preview support, and a host of other capabilities.&lt;/p&gt;
&lt;h3 id="mcetoc_1f77psegv4"&gt;SugarLive features are coming to Sugar Sell&lt;/h3&gt;
&lt;p&gt;SugarLive features and related modules like Messages and the Amazon Connect Configuration panel are now available within Sugar Sell.&lt;/p&gt;
&lt;h3 id="mcetoc_1f77psegv5"&gt;List View web accessibility&lt;/h3&gt;
&lt;p&gt;We&amp;rsquo;ve added additional ARIA labels on List Views which should improve web accessibility in accordance with Section 508 requirements.&lt;/p&gt;
&lt;h3 id="mcetoc_1f7c7u6h11"&gt;New Action Buttons field type&lt;/h3&gt;
&lt;p&gt;A new field type has been added called Action Buttons.&amp;nbsp;&lt;span style="font-weight:400;"&gt;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&amp;nbsp;for their actions.&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1f77psegv6"&gt;Sugar Portal Updates&lt;/h2&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;h2 id="mcetoc_1f7c8pn4a5"&gt;Sugar REST API updates&lt;/h2&gt;
&lt;p&gt;This Sugar release introduces REST v11_13.&lt;/p&gt;
&lt;p&gt;You can now update display labels and dropdown lists in multiple languages. These APIs are restricted to Admin only.&lt;/p&gt;
&lt;pre&gt;PUT &amp;lt;sugar instance&amp;gt;/rest/v11_13/lang/labels/module/&lt;br /&gt;&lt;br /&gt;PUT &amp;lt;sugar instance&amp;gt;/rest/v11_13/lang/labels/dropdown/&lt;/pre&gt;
&lt;p&gt;You can now retrieve Row and Columns Reports in CSV and JSON formats.&lt;/p&gt;
&lt;pre&gt;GET rest/v11_13/Reports/:id/csv&lt;br /&gt;&lt;br /&gt;GET rest/v11_13/Reports/:id/json&lt;/pre&gt;
&lt;p&gt;You can now retrieve and update administrative configuration settings. These APIs are restricted to Admin only.&lt;/p&gt;
&lt;pre&gt;GET rest/v11_13/Administration/config/:category&lt;br /&gt;&lt;br /&gt;POST rest/v11_13/Administration/config/:category&lt;/pre&gt;
&lt;p&gt;You can now retrieve the list of modules enabled for the Self-Service Portal. This API is restricted to Admin only.&lt;/p&gt;
&lt;pre&gt;GET rest/v11_13/Administration/portalmodules&lt;/pre&gt;
&lt;p&gt;You can now restore any Sugar dashboard to the default state as defined by the dashboard&amp;#39;s original Sidecar metadata.&lt;/p&gt;
&lt;pre&gt;&lt;span&gt;PUT rest/v11_13/Dashboards/:id/restore-metadata?dashboard_module=&amp;lt;MODULE_NAME&amp;gt;&amp;amp;dashboard=&amp;lt;DASHBOARD_METADATA_NAME&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;h2 id="mcetoc_1f77psegv9"&gt;Library Upgrades&lt;/h2&gt;
&lt;p&gt;Upgraded 3rd party PHP library laminas-mail to address a bug in e-mail handling.&lt;/p&gt;
&lt;p&gt;laminas/laminas-mail: 2.10.1 &amp;rarr; 2.14.0&lt;/p&gt;
&lt;p&gt;See&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="https://github.com/laminas/laminas-mail"&gt;https://github.com/laminas/laminas-mail&lt;/a&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;for details.&lt;/p&gt;
&lt;p&gt;Upgraded PHP library tedivm/jshrink to allow for future support of PHP 8.0.&lt;/p&gt;
&lt;p&gt;tedivm/jshrink: 1.3.1 &amp;rarr; 1.4.0&lt;/p&gt;
&lt;p&gt;See&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="https://github.com/tedious/JShrink/releases"&gt;https://github.com/tedious/JShrink/releases&lt;/a&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;for more details.&lt;/p&gt;
&lt;p&gt;Removed the NuSOAP library. See Platform Updates section below for more details.&lt;/p&gt;
&lt;p&gt;&lt;span&gt;NuSOAP: 0.9.5&amp;nbsp;&amp;rarr; N/A&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1f77psegva"&gt;Configurability&amp;nbsp;updates&lt;/h2&gt;
&lt;h3 id="mcetoc_1f7c87abe2"&gt;Sugar Logic&lt;/h3&gt;
&lt;p&gt;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&amp;rsquo;s name, phone number, or department. The field name should be provided as a string and not all User fields work with this function.&lt;/p&gt;
&lt;pre&gt;currentUserField(&amp;quot;field_name&amp;quot;)&lt;/pre&gt;
&lt;h3 id="mcetoc_1f7c8lk1b3"&gt;SugarBPM&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;We added a new SugarBPM Evaluation Category called &amp;ldquo;Relationship Change Evaluation&amp;rdquo; that would be triggered based on addition or removal of a Record&amp;rsquo;s relationship.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1f7c8nhce4"&gt;&lt;strong&gt;Studio&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-weight:400;"&gt;Admins can now use Studio to make relationship-based relate fields required, dependent, mergeable, importable, and mass updatable.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1f77psegv7"&gt;Config Settings&lt;/h3&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;strong&gt;Config Setting&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;strong&gt;Default&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;strong&gt;Available values&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;strong&gt;Description&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;$sugar_config['web_logic_hook_timeout&amp;rsquo;]&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;10&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Integer&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Timeout (in seconds) for requests to web logic hooks&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;$sugar_config['perfProfile']['TeamSecurity']['default']['disable_subquery_optimizer_hint']&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;false&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;true | false&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;a href="https://docs.google.com/document/d/1mzF_kQPZN7wOYIil-k9v2Y3BSpJ5scDPHQuvQq6ZsYU/edit#heading=h.11x3cufu7f3h"&gt;See below.&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="mcetoc_1f77psegvb"&gt;Removed Features&lt;/h2&gt;
&lt;p&gt;Removed the &amp;ldquo;Expand Column Width&amp;rdquo; action from the Repair section of the Admin panel. This feature was no longer relevant when using a supported version of MS SQL Server.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;h2 id="mcetoc_1f77psegvc"&gt;Data Changes&lt;/h2&gt;
&lt;h3 id="mcetoc_1f77psegvd"&gt;Longer name fields&lt;/h3&gt;
&lt;p&gt;The max length for any &amp;ldquo;name&amp;rdquo; fields used by Sidecar modules is now 255 characters. This includes first_name and last_name on Person type records like Leads and Contacts.&lt;/p&gt;
&lt;h3 id="mcetoc_1f77psegve"&gt;Database storage optimizations&lt;/h3&gt;
&lt;p&gt;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&amp;rsquo;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.&lt;/p&gt;
&lt;h3 id="mcetoc_1f77psegvf"&gt;Display labels in CSV exports&lt;/h3&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;h3 id="mcetoc_1f77psegvg"&gt;Contracts in Serve&lt;/h3&gt;
&lt;p&gt;The Contracts module is now part of Sugar Serve.&lt;/p&gt;
&lt;h3 id="mcetoc_1f7ca462q6"&gt;Messages in Sell&lt;/h3&gt;
&lt;p&gt;The Messages module is now part of Sugar Sell.&lt;/p&gt;
&lt;h3 id="mcetoc_1fa3sdg980"&gt;Sentiment Analysis fields added to Calls and&amp;nbsp;Messages&lt;/h3&gt;
&lt;p&gt;All these fields are used by SugarLive and therefore only available with Serve and Sell.&lt;/p&gt;
&lt;p&gt;The following Sentiment&amp;nbsp;analysis fields have been added to Calls.&lt;/p&gt;
&lt;pre&gt;&lt;span&gt;aws_lens_data&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_agent&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_customer&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_agent_first_quarter&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_agent_second_quarter&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_agent_third_quarter&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_agent_fourth_quarter&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_customer_first_quarter&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_customer_second_quarter&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_customer_third_quarter&lt;br /&gt;&lt;/span&gt;&lt;span&gt;sentiment_score_customer_fourth_quarter&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span&gt;Sentiment scores are stored as decimals ranging between -5 and 5. They are displayed within Sugar user interface using a new &lt;code&gt;sentiment&lt;/code&gt; field type that displays a negative (&amp;lt; -1.3), positive ( &amp;gt; 1.3), or neutral visualization.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;The following Sentiment analysis fields have been added to Messages.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1f77psegvh"&gt;Filesystem Changes&lt;/h2&gt;
&lt;h3 id="mcetoc_1f77psegvi"&gt;Changes to ./upload/ directory&lt;/h3&gt;
&lt;p&gt;In Sugar 11.0, Module Loadable Package uploads were moved from ./upload/upgrades/module/ to ./upgrades/module directory.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&amp;nbsp;&lt;/p&gt;
&lt;h2 id="mcetoc_1f77psegvj"&gt;Team Security updates&lt;/h2&gt;
&lt;h3 id="mcetoc_1f77psegvk"&gt;Performance optimization&lt;/h3&gt;
&lt;p&gt;To improve Team security related query performance on MySQL, we&amp;rsquo;ve added a query optimizer hint (&amp;ldquo;MATERIALIZATION&amp;rdquo;) on a specific subquery that significantly improves performance for instances with large numbers of Teams.&lt;/p&gt;
&lt;p&gt;In the unlikely event that this optimization causes suboptimal query performance with your instance&amp;rsquo;s data, we&amp;rsquo;ve added a &amp;ldquo;&amp;#39;disable_subquery_optimizer_hint&amp;#39;&amp;rdquo; TeamSecurity setting that you can use to turn off this hint.&lt;/p&gt;
&lt;h3 id="mcetoc_1f77psegvl"&gt;New TeamSet commands for SugarCRM command line interface (CLI)&lt;/h3&gt;
&lt;p&gt;The 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.&lt;/p&gt;
&lt;p&gt;Note that you can only use the SugarCRM CLI when Sugar is deployed on-premise.&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;teamset:backup&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Backs up the team_sets related tables.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;teamset:prune&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;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!&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;teamset:restore_from_backup&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Restores all team set tables from backups. DO NOT USE while users are logged into the system!&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;teamset:scan&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Scan all module tables for unused team sets and report the number found.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;teamset:sql&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Print the sql query used to search for unused teamsets&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="mcetoc_1f77psegvm"&gt;Platform Updates&lt;/h2&gt;
&lt;h3 id="mcetoc_1f77psegvn"&gt;Added support for MySQL 8.0&lt;/h3&gt;
&lt;p&gt;This release added support for MySQL 8.0. And in order to support MySQL 8.0, the&amp;nbsp;&lt;code&gt;MysqliManager::getRecursiveSelectSQL()&lt;/code&gt;&amp;nbsp;PHP function&amp;nbsp;has been deprecated.&lt;/p&gt;
&lt;h3 id="mcetoc_1f7m4ipft0"&gt;Removal of NuSOAP library&lt;/h3&gt;
&lt;p&gt;&lt;span&gt;The NuSOAP library&amp;nbsp;was used to dynamically generate WSDL files but we now use static WSDLs. The legacy SOAP&amp;nbsp;&lt;/span&gt;&lt;span&gt;API&lt;/span&gt;&lt;span&gt;&amp;nbsp;of Sugar is unchanged but you will need to make sure that the&amp;nbsp;&lt;a href="https://www.php.net/manual/en/book.soap.php"&gt;SOAP PHP extension&lt;/a&gt;&amp;nbsp;is configured on your local environments.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;The following PHP classes have been removed:&lt;/span&gt;&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Removed Class&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Alternative Class&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;nusoap_server&lt;/td&gt;
&lt;td&gt;\SoapServer&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;nusoap_client&lt;/td&gt;
&lt;td&gt;\SoapClient&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="mcetoc_1f77psegv6"&gt;Module Loadable Package rollback on failure&lt;/h3&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;h3 id="mcetoc_1f7cbi31d7"&gt;Denormalized Relate Fields&lt;/h3&gt;
&lt;p&gt;&lt;span&gt;The &amp;ldquo;account_name&amp;quot; field for Contacts, Opportunities, RLI, and Cases modules are now denormalized by default using our&amp;nbsp;&lt;a href="https://support.sugarcrm.com/Documentation/Sugar_Versions/11.0/Ent/Administration_Guide/Developer_Tools/#Relate_Fields_Denormalization"&gt;Relate Field Denormalization&lt;/a&gt;&amp;nbsp;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&amp;nbsp;&lt;a href="https://support.sugarcrm.com/Documentation/Sugar_Versions/11.0/Ent/Administration_Guide/Developer_Tools/#Relate_Fields_Denormalization"&gt;Relate Field Denormalization&lt;/a&gt;&amp;nbsp;developer tool in the Admin panel.&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1f86kijgb0"&gt;&lt;span&gt;Deprecated functions&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;The following functions have been deprecated and will be removed in an upcoming Sugar release.&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;User::load_user()&lt;br /&gt;&lt;span&gt;MysqliManager::getRecursiveSelectSQL()&lt;/span&gt;&lt;/pre&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>Sugar 11.1 (Q3 2021) Customization Guide</title><link>https://sugarclub.sugarai.com/dev-club/w/dev-tutorials/535/sugar-11-1-q3-2021-customization-guide/revision/1</link><pubDate>Wed, 07 Jul 2021 19:59:12 GMT</pubDate><guid isPermaLink="false">5c521d64-519d-47a6-9065-134618b211bf:053614ec-9471-4d1b-a27a-e50e371a0493</guid><dc:creator>Matt Marum</dc:creator><comments>https://sugarclub.sugarai.com/dev-club/w/dev-tutorials/535/sugar-11-1-q3-2021-customization-guide#comments</comments><description>Revision 1 posted to Dev Tutorials by Matt Marum on 7/7/2021 7:59:12 PM&lt;br /&gt;
&lt;p&gt;Work In Progress&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item></channel></rss>