<?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>Customization for Product Devs</title><link>https://sugarclub.sugarai.com/dev-club/w/dev-tutorials/676/customization-for-product-devs</link><description /><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>Customization for Product Devs</title><link>https://sugarclub.sugarai.com/dev-club/w/dev-tutorials/676/customization-for-product-devs</link><pubDate>Fri, 07 Feb 2025 17:39:38 GMT</pubDate><guid isPermaLink="false">5c521d64-519d-47a6-9065-134618b211bf:d079672c-261c-48ae-bc81-0860e657667f</guid><dc:creator>Alex Nassi</dc:creator><comments>https://sugarclub.sugarai.com/dev-club/w/dev-tutorials/676/customization-for-product-devs#comments</comments><description>Current Revision posted to Dev Tutorials by Alex Nassi on 2/7/2025 5:39:38 PM&lt;br /&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="#extensions"&gt;&lt;img style="height:auto;" alt=" " src="/resized-image/__size/2000x0/__key/communityserver-wikis-components-files/00-00-00-00-14/0131.Guides.png" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="#logichooks"&gt;&lt;img style="height:auto;" alt=" " src="/resized-image/__size/2000x0/__key/communityserver-wikis-components-files/00-00-00-00-14/3480.Guides-_2800_2_2900_.png" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="#batch"&gt;&lt;img style="height:auto;" alt=" " src="/resized-image/__size/2000x0/__key/communityserver-wikis-components-files/00-00-00-00-14/6835.Guides-_2800_3_2900_.png" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="#howto"&gt;&lt;img style="height:auto;" alt=" " src="/resized-image/__size/2000x0/__key/communityserver-wikis-components-files/00-00-00-00-14/0640.Guides-_2800_4_2900_.png" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h1 id="mcetoc_1f4f3gg1d0"&gt;&lt;span&gt;&lt;a id="extensions"&gt;&lt;/a&gt;Extensions&lt;img class="align-right" style="float:right;height:auto;" alt=" " src="/resized-image/__size/2000x0/__key/communityserver-wikis-components-files/00-00-00-00-14/0131.Guides.png" /&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;&lt;span&gt;The extension framework&amp;nbsp;provides the capability to modify Sugar metadata such as&amp;nbsp;vardefs&amp;nbsp;and&amp;nbsp;layouts&amp;nbsp;in a safe way that supports installing, uninstalling, enabling, and disabling without interfering with other customizations.&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Extensions/"&gt;Extension Framework&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/User_Interface/Layouts"&gt;Create or override a Sidecar Layout&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/User_Interface/Views"&gt;Create or override a View&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/User_Interface/Fields"&gt;Add logic to a field prior to render&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Extensions/Vardefs"&gt;Add or override vardefs (variables) definitions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Extensions/Layoutdefs/"&gt;Add or override subpanel definitions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Extensions/Modules"&gt;Add new modules through code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Administration_Guide/Developer_Tools/Studio/#Resetting_Modules"&gt;Resetting Modules to default settings&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h1 id="mcetoc_1g6ls8l4i0"&gt;&lt;a id="logichooks"&gt;&lt;/a&gt;Logic Hooks / System Events&lt;img class="align-right" style="float:right;height:auto;" alt=" " src="/resized-image/__size/2000x0/__key/communityserver-wikis-components-files/00-00-00-00-14/3480.Guides-_2800_2_2900_.png" /&gt;&lt;br /&gt;&lt;span&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;The Logic Hook framework allows you to&amp;nbsp;append actions to system&amp;nbsp;events such as when creating, editing, and deleting records.&amp;nbsp;Logic hook definitions can&amp;nbsp;pertain&amp;nbsp;to&amp;nbsp;a&amp;nbsp;specific module or to the entire application. Either way, you must decide if the logic hook definition will be implemented as an extension of or directly to the module or application.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/#Module_Extension_Hooks"&gt;Module Extension Hooks&lt;/a&gt; &lt;span&gt;allow a developer&amp;nbsp;to define&amp;nbsp;hook actions that will be executed for the specified&amp;nbsp;events in a given module&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/#Application%20Extension%20Hooks"&gt;Application Extension Hooks&lt;/a&gt; &lt;span&gt;allow a developer to define&amp;nbsp;hook actions that will be executed for all specified application-level events&amp;nbsp;using the extension framework&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Administration_Guide/System/Web_Logic_Hooks/"&gt;&lt;span&gt;Web Logic Hooks&lt;/span&gt;&lt;/a&gt;&amp;nbsp;&lt;span&gt;Web logic hooks let administrators post record and event information to a specified URL when certain sugar events take place&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Logic_Hooks/Preventing_Infinite_Loops_with_Logic_Hooks"&gt;Preventing Infinite Loops with Logic Hooks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Logic_Hooks/Comparing_Bean_Properties_Between_Logic_Hooks"&gt;Comparing Bean Properties Between Logic Hooks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/Application_Hooks/"&gt;Application Hooks Events&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/Module_Hooks/"&gt;Module Hooks Events&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/User_Hooks/"&gt;User Hooks Events&lt;/a&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/Job_Queue_Hooks"&gt;Job Queue Events&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/API_Hooks"&gt;API Hooks Events&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h1 id="mcetoc_1f4f3gg1d0"&gt;&lt;span&gt;&lt;a id="batch"&gt;&lt;/a&gt;Batch Jobs&lt;img class="align-right" style="float:right;height:auto;" alt=" " src="/resized-image/__size/2000x0/__key/communityserver-wikis-components-files/00-00-00-00-14/6835.Guides-_2800_3_2900_.png" /&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;&lt;span&gt;The Job Queue executes automated tasks in Sugar through a&amp;nbsp;scheduler, which integrates with external UNIX systems and Windows systems to run jobs that are scheduled through those systems.&amp;nbsp;Jobs are the individual runs of the specified function from a scheduler:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;nbsp;&lt;a href="https://sugarclub.sugarai.com/dev-club/m/event-recaps/2158"&gt;Developer Office Hours dedicated to Sugar Batch Jobs with Sugar Experts Sharing experiences and best practices&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Job_Queue/"&gt;Job Queues&lt;/a&gt;&amp;nbsp;&lt;span&gt;executes automated tasks in Sugar&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Job_Queue/Schedulers/"&gt;Schedulers&lt;/a&gt;&amp;nbsp;&lt;span&gt;Sugar provides a Scheduler service that can execute predefined functions asynchronously on a periodic basis&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Architecture/Job_Queue/Schedulers/Creating_Custom_Schedulers"&gt;Creating Custom Schedulers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Job_Queue/Jobs/"&gt;Scheduler Jobs&lt;/a&gt;&amp;nbsp;&lt;span&gt;Jobs are the individual runs of the specified function from a scheduler&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Job_Queue/Jobs/Creating_Custom_Jobs/"&gt;Creating a Custom Job&lt;/a&gt;&amp;nbsp;&lt;span&gt;How to create and execute your own custom jobs.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Job_Queue/Jobs/Queuing_Logic_Hook_Actions/"&gt;Queuing Logic Hook Actions&lt;/a&gt;&amp;nbsp;&lt;span&gt;enables you to send longer-running jobs such as sending emails&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h1 id="mcetoc_1g6ls8l4i0"&gt;&lt;a id="howto"&gt;&lt;/a&gt;How To&amp;#39;s&lt;img class="align-right" style="float:right;height:auto;" alt=" " src="/resized-image/__size/2000x0/__key/communityserver-wikis-components-files/00-00-00-00-14/0640.Guides-_2800_4_2900_.png" /&gt;&lt;/h1&gt;
&lt;div class="row"&gt;
&lt;div class="col-xs-12 col-md-9"&gt;
&lt;p&gt;In this section, you will find a few real-world examples of how to enable and customize functionalities that makes Sugar better for your end-users and admins.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Global_Search/"&gt;Global Search&lt;/a&gt;&amp;nbsp;h&lt;span&gt;ow to customize the global search results&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Elastic_Search"&gt;Elasticsearch&lt;/a&gt;&amp;nbsp;&lt;span&gt;how Sugar integrates with Elasticsearch&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Duplicate_Check/"&gt;Duplicate Check&lt;/a&gt;&amp;nbsp;&lt;span&gt;framework provides the capability to alter how the system searches for duplicate records in the database when creating records&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Configurator/"&gt;Configuration Settings&lt;/a&gt;&amp;nbsp;y&lt;span&gt;ou can access the Sugar config (filesystem) settings by using this&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Administration/"&gt;Administration Settings&lt;/a&gt;&amp;nbsp;&lt;span&gt;is used to manage settings stored in the database config table&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Tags/"&gt;Tags&lt;/a&gt;&amp;nbsp;&lt;span&gt;allows a user to apply as many &amp;quot;tags&amp;quot; as they choose on any record they want to categorize&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Validation_Constraints/"&gt;Validation Constraints&lt;/a&gt; &lt;span&gt;how to add validation constraints to&amp;nbsp;your custom&amp;nbsp;code&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Adding_Buttons_to_the_Record_View/"&gt;Adding Buttons to the Record View&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Creating_Custom_Fields"&gt;Creating Custom Field Types&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Creating_an_Auto-Incrementing_Field"&gt;Creating an Auto-Incrementing Field&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Dynamically_Hiding_Subpanels_Based_on_Record_Values"&gt;Dynamically Hiding Subpanels Based on Record Values&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Prepopulating_the_Compose_Email_View//"&gt;Prepopulating the Compose Email View&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;p id="mcetoc_1g6ls8l4i0"&gt;&lt;span style="font-size:150%;"&gt;You&amp;#39;re up and running, but don&amp;#39;t stop now - this is just the beginning of your journey.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;strong&gt;Now it&amp;#39;s time&amp;nbsp;for&amp;nbsp;&lt;a href="https://sugarclub.sugarai.com/dev-club/w/dev-tutorials/681/deployment-for-product-devs"&gt;Deployment for Product Devs&lt;/a&gt;.&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>Customization for Product Devs</title><link>https://sugarclub.sugarai.com/dev-club/w/dev-tutorials/676/customization-for-product-devs/revision/11</link><pubDate>Fri, 24 Jan 2025 16:49:40 GMT</pubDate><guid isPermaLink="false">5c521d64-519d-47a6-9065-134618b211bf:d079672c-261c-48ae-bc81-0860e657667f</guid><dc:creator>Alex Nassi</dc:creator><comments>https://sugarclub.sugarai.com/dev-club/w/dev-tutorials/676/customization-for-product-devs#comments</comments><description>Revision 11 posted to Dev Tutorials by Alex Nassi on 1/24/2025 4:49:40 PM&lt;br /&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="#extensions"&gt;&lt;img style="height:auto;" alt=" " src="/resized-image/__size/2000x0/__key/communityserver-wikis-components-files/00-00-00-00-14/0131.Guides.png" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="#logichooks"&gt;&lt;img style="height:auto;" alt=" " src="/resized-image/__size/2000x0/__key/communityserver-wikis-components-files/00-00-00-00-14/3480.Guides-_2800_2_2900_.png" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="#batch"&gt;&lt;img style="height:auto;" alt=" " src="/resized-image/__size/2000x0/__key/communityserver-wikis-components-files/00-00-00-00-14/6835.Guides-_2800_3_2900_.png" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="#howto"&gt;&lt;img style="height:auto;" alt=" " src="/resized-image/__size/2000x0/__key/communityserver-wikis-components-files/00-00-00-00-14/0640.Guides-_2800_4_2900_.png" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h1 id="mcetoc_1f4f3gg1d0"&gt;&lt;span&gt;&lt;a id="extensions"&gt;&lt;/a&gt;Extensions&lt;img class="align-right" style="float:right;height:auto;" alt=" " src="/resized-image/__size/2000x0/__key/communityserver-wikis-components-files/00-00-00-00-14/0131.Guides.png" /&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;&lt;span&gt;The extension framework&amp;nbsp;provides the capability to modify Sugar metadata such as&amp;nbsp;vardefs&amp;nbsp;and&amp;nbsp;layouts&amp;nbsp;in a safe way that supports installing, uninstalling, enabling, and disabling without interfering with other customizations.&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Extensions/"&gt;Extension Framework&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/User_Interface/Layouts"&gt;Create or override a Sidecar Layout&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/User_Interface/Views"&gt;Create or override a View&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/User_Interface/Fields"&gt;Add logic to a field prior to render&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Extensions/Vardefs"&gt;Add or override vardefs (variables) definitions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Extensions/Layoutdefs/"&gt;Add or override subpanel definitions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Extensions/Modules"&gt;Add new modules through code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Administration_Guide/Developer_Tools/Studio/#Resetting_Modules"&gt;Resetting Modules to default settings&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h1 id="mcetoc_1g6ls8l4i0"&gt;&lt;a id="logichooks"&gt;&lt;/a&gt;Logic Hooks / System Events&lt;img class="align-right" style="float:right;height:auto;" alt=" " src="/resized-image/__size/2000x0/__key/communityserver-wikis-components-files/00-00-00-00-14/3480.Guides-_2800_2_2900_.png" /&gt;&lt;br /&gt;&lt;span&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;The Logic Hook framework allows you to&amp;nbsp;append actions to system&amp;nbsp;events such as when creating, editing, and deleting records.&amp;nbsp;Logic hook definitions can&amp;nbsp;pertain&amp;nbsp;to&amp;nbsp;a&amp;nbsp;specific module or to the entire application. Either way, you must decide if the logic hook definition will be implemented as an extension of or directly to the module or application.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/#Module_Extension_Hooks"&gt;Module Extension Hooks&lt;/a&gt; &lt;span&gt;allow a developer&amp;nbsp;to define&amp;nbsp;hook actions that will be executed for the specified&amp;nbsp;events in a given module&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/#Application%20Extension%20Hooks"&gt;Application Extension Hooks&lt;/a&gt; &lt;span&gt;allow a developer to define&amp;nbsp;hook actions that will be executed for all specified application-level events&amp;nbsp;using the extension framework&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Administration_Guide/System/Web_Logic_Hooks/"&gt;&lt;span&gt;Web Logic Hooks&lt;/span&gt;&lt;/a&gt;&amp;nbsp;&lt;span&gt;Web logic hooks let administrators post record and event information to a specified URL when certain sugar events take place&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Logic_Hooks/Preventing_Infinite_Loops_with_Logic_Hooks"&gt;Preventing Infinite Loops with Logic Hooks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Logic_Hooks/Comparing_Bean_Properties_Between_Logic_Hooks"&gt;Comparing Bean Properties Between Logic Hooks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/Application_Hooks/"&gt;Application Hooks Events&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/Module_Hooks/"&gt;Module Hooks Events&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/User_Hooks/"&gt;User Hooks Events&lt;/a&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/Job_Queue_Hooks"&gt;Job Queue Events&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/API_Hooks"&gt;API Hooks Events&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h1 id="mcetoc_1f4f3gg1d0"&gt;&lt;span&gt;&lt;a id="batch"&gt;&lt;/a&gt;Batch Jobs&lt;img class="align-right" style="float:right;height:auto;" alt=" " src="/resized-image/__size/2000x0/__key/communityserver-wikis-components-files/00-00-00-00-14/6835.Guides-_2800_3_2900_.png" /&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;&lt;span&gt;The Job Queue executes automated tasks in Sugar through a&amp;nbsp;scheduler, which integrates with external UNIX systems and Windows systems to run jobs that are scheduled through those systems.&amp;nbsp;Jobs are the individual runs of the specified function from a scheduler:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/dev-club/m/event-recaps/2158"&gt;Developer Office Hours dedicated to Sugar Batch Jobs with Sugar Experts Sharing experiences and best practices&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Job_Queue/"&gt;Job Queues&lt;/a&gt;&amp;nbsp;&lt;span&gt;executes automated tasks in Sugar&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Job_Queue/Schedulers/"&gt;Schedulers&lt;/a&gt;&amp;nbsp;&lt;span&gt;Sugar provides a Scheduler service that can execute predefined functions asynchronously on a periodic basis&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Architecture/Job_Queue/Schedulers/Creating_Custom_Schedulers"&gt;Creating Custom Schedulers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Job_Queue/Jobs/"&gt;Scheduler Jobs&lt;/a&gt;&amp;nbsp;&lt;span&gt;Jobs are the individual runs of the specified function from a scheduler&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Job_Queue/Jobs/Creating_Custom_Jobs/"&gt;Creating a Custom Job&lt;/a&gt;&amp;nbsp;&lt;span&gt;How to create and execute your own custom jobs.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Job_Queue/Jobs/Queuing_Logic_Hook_Actions/"&gt;Queuing Logic Hook Actions&lt;/a&gt;&amp;nbsp;&lt;span&gt;enables you to send longer-running jobs such as sending emails&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h1 id="mcetoc_1g6ls8l4i0"&gt;&lt;a id="howto"&gt;&lt;/a&gt;How To&amp;#39;s&lt;img class="align-right" style="float:right;height:auto;" alt=" " src="/resized-image/__size/2000x0/__key/communityserver-wikis-components-files/00-00-00-00-14/0640.Guides-_2800_4_2900_.png" /&gt;&lt;/h1&gt;
&lt;div class="row"&gt;
&lt;div class="col-xs-12 col-md-9"&gt;
&lt;p&gt;In this section, you will find a few real-world examples of how to enable and customize functionalities that makes Sugar better for your end-users and admins.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Global_Search/"&gt;Global Search&lt;/a&gt;&amp;nbsp;h&lt;span&gt;ow to customize the global search results&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Elastic_Search"&gt;Elasticsearch&lt;/a&gt;&amp;nbsp;&lt;span&gt;how Sugar integrates with Elasticsearch&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Duplicate_Check/"&gt;Duplicate Check&lt;/a&gt;&amp;nbsp;&lt;span&gt;framework provides the capability to alter how the system searches for duplicate records in the database when creating records&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Configurator/"&gt;Configuration Settings&lt;/a&gt;&amp;nbsp;y&lt;span&gt;ou can access the Sugar config (filesystem) settings by using this&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Administration/"&gt;Administration Settings&lt;/a&gt;&amp;nbsp;&lt;span&gt;is used to manage settings stored in the database config table&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Tags/"&gt;Tags&lt;/a&gt;&amp;nbsp;&lt;span&gt;allows a user to apply as many &amp;quot;tags&amp;quot; as they choose on any record they want to categorize&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Validation_Constraints/"&gt;Validation Constraints&lt;/a&gt; &lt;span&gt;how to add validation constraints to&amp;nbsp;your custom&amp;nbsp;code&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Adding_Buttons_to_the_Record_View/"&gt;Adding Buttons to the Record View&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Creating_Custom_Fields"&gt;Creating Custom Field Types&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Creating_an_Auto-Incrementing_Field"&gt;Creating an Auto-Incrementing Field&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Dynamically_Hiding_Subpanels_Based_on_Record_Values"&gt;Dynamically Hiding Subpanels Based on Record Values&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Prepopulating_the_Compose_Email_View//"&gt;Prepopulating the Compose Email View&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;p id="mcetoc_1g6ls8l4i0"&gt;&lt;span style="font-size:150%;"&gt;You&amp;#39;re up and running, but don&amp;#39;t stop now - this is just the beginning of your journey.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;strong&gt;Now it&amp;#39;s time&amp;nbsp;for&amp;nbsp;&lt;a href="https://sugarclub.sugarai.com/dev-club/w/dev-tutorials/681/deployment-for-product-devs"&gt;Deployment for Product Devs&lt;/a&gt;.&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>Customization for Product Devs</title><link>https://sugarclub.sugarai.com/dev-club/w/dev-tutorials/676/customization-for-product-devs/revision/10</link><pubDate>Tue, 13 Sep 2022 16:16:56 GMT</pubDate><guid isPermaLink="false">5c521d64-519d-47a6-9065-134618b211bf:d079672c-261c-48ae-bc81-0860e657667f</guid><dc:creator>Rafael Fernandes</dc:creator><comments>https://sugarclub.sugarai.com/dev-club/w/dev-tutorials/676/customization-for-product-devs#comments</comments><description>Revision 10 posted to Dev Tutorials by Rafael Fernandes on 9/13/2022 4:16:56 PM&lt;br /&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="#extensions"&gt;&lt;img style="height:auto;" alt=" " src="/resized-image/__size/2000x0/__key/communityserver-wikis-components-files/00-00-00-00-14/0131.Guides.png" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="#logichooks"&gt;&lt;img style="height:auto;" alt=" " src="/resized-image/__size/2000x0/__key/communityserver-wikis-components-files/00-00-00-00-14/3480.Guides-_2800_2_2900_.png" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="#batch"&gt;&lt;img style="height:auto;" alt=" " src="/resized-image/__size/2000x0/__key/communityserver-wikis-components-files/00-00-00-00-14/6835.Guides-_2800_3_2900_.png" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="#howto"&gt;&lt;img style="height:auto;" alt=" " src="/resized-image/__size/2000x0/__key/communityserver-wikis-components-files/00-00-00-00-14/0640.Guides-_2800_4_2900_.png" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h1 id="mcetoc_1f4f3gg1d0"&gt;&lt;span&gt;&lt;a id="extensions"&gt;&lt;/a&gt;Extensions&lt;img class="align-right" style="float:right;height:auto;" alt=" " src="/resized-image/__size/2000x0/__key/communityserver-wikis-components-files/00-00-00-00-14/0131.Guides.png" /&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;&lt;span&gt;The extension framework&amp;nbsp;provides the capability to modify Sugar metadata such as&amp;nbsp;vardefs&amp;nbsp;and&amp;nbsp;layouts&amp;nbsp;in a safe way that supports installing, uninstalling, enabling, and disabling without interfering with other customizations.&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Extensions/"&gt;Extension Framework&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/User_Interface/Layouts"&gt;Create or override a Sidecar Layout&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/User_Interface/Views"&gt;Create or override a View&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/User_Interface/Fields"&gt;Add logic to a field prior to render&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Extensions/Vardefs"&gt;Add or override vardefs (variables) definitions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Extensions/Layoutdefs/"&gt;Add or override subpanel definitions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Extensions/Modules"&gt;Add new modules through code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Administration_Guide/Developer_Tools/Studio/#Resetting_Modules"&gt;Resetting Modules to default settings&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h1 id="mcetoc_1g6ls8l4i0"&gt;&lt;a id="logichooks"&gt;&lt;/a&gt;Logic Hooks / System Events&lt;img class="align-right" style="float:right;height:auto;" alt=" " src="/resized-image/__size/2000x0/__key/communityserver-wikis-components-files/00-00-00-00-14/3480.Guides-_2800_2_2900_.png" /&gt;&lt;br /&gt;&lt;span&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;The Logic Hook framework allows you to&amp;nbsp;append actions to system&amp;nbsp;events such as when creating, editing, and deleting records.&amp;nbsp;Logic hook definitions can&amp;nbsp;pertain&amp;nbsp;to&amp;nbsp;a&amp;nbsp;specific module or to the entire application. Either way, you must decide if the logic hook definition will be implemented as an extension of or directly to the module or application.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/#Module_Extension_Hooks"&gt;Module Extension Hooks&lt;/a&gt; &lt;span&gt;allow a developer&amp;nbsp;to define&amp;nbsp;hook actions that will be executed for the specified&amp;nbsp;events in a given module&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/#Application%20Extension%20Hooks"&gt;Application Extension Hooks&lt;/a&gt; &lt;span&gt;allow a developer to define&amp;nbsp;hook actions that will be executed for all specified application-level events&amp;nbsp;using the extension framework&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Administration_Guide/System/Web_Logic_Hooks/"&gt;&lt;span&gt;Web Logic Hooks&lt;/span&gt;&lt;/a&gt;&amp;nbsp;&lt;span&gt;Web logic hooks let administrators post record and event information to a specified URL when certain sugar events take place&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Logic_Hooks/Preventing_Infinite_Loops_with_Logic_Hooks"&gt;Preventing Infinite Loops with Logic Hooks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Logic_Hooks/Comparing_Bean_Properties_Between_Logic_Hooks"&gt;Comparing Bean Properties Between Logic Hooks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/Application_Hooks/"&gt;Application Hooks Events&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/Module_Hooks/"&gt;Module Hooks Events&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/User_Hooks/"&gt;User Hooks Events&lt;/a&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/Job_Queue_Hooks"&gt;Job Queue Events&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/API_Hooks"&gt;API Hooks Events&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h1 id="mcetoc_1f4f3gg1d0"&gt;&lt;span&gt;&lt;a id="batch"&gt;&lt;/a&gt;Batch Jobs&lt;img class="align-right" style="float:right;height:auto;" alt=" " src="/resized-image/__size/2000x0/__key/communityserver-wikis-components-files/00-00-00-00-14/6835.Guides-_2800_3_2900_.png" /&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;&lt;span&gt;The Job Queue executes automated tasks in Sugar through a&amp;nbsp;scheduler, which integrates with external UNIX systems and Windows systems to run jobs that are scheduled through those systems.&amp;nbsp;Jobs are the individual runs of the specified function from a scheduler:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/dev-club/m/event-recaps/2158"&gt;Developer Office Hours dedicated to Sugar Batch Jobs with Sugar Experts Sharing experiences and best practices&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Job_Queue/"&gt;Job Queues&lt;/a&gt;&amp;nbsp;&lt;span&gt;executes automated tasks in Sugar&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Job_Queue/Schedulers/"&gt;Schedulers&lt;/a&gt;&amp;nbsp;&lt;span&gt;Sugar provides a Scheduler service that can execute predefined functions asynchronously on a periodic basis&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Architecture/Job_Queue/Schedulers/Creating_Custom_Schedulers"&gt;Creating Custom Schedulers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Job_Queue/Jobs/"&gt;Scheduler Jobs&lt;/a&gt;&amp;nbsp;&lt;span&gt;Jobs are the individual runs of the specified function from a scheduler&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Job_Queue/Jobs/Creating_Custom_Jobs/"&gt;Creating a Custom Job&lt;/a&gt;&amp;nbsp;&lt;span&gt;How to create and execute your own custom jobs.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Job_Queue/Jobs/Queuing_Logic_Hook_Actions/"&gt;Queuing Logic Hook Actions&lt;/a&gt;&amp;nbsp;&lt;span&gt;enables you to send longer-running jobs such as sending emails&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h1 id="mcetoc_1g6ls8l4i0"&gt;&lt;a id="howto"&gt;&lt;/a&gt;How To&amp;#39;s&lt;img class="align-right" style="float:right;height:auto;" alt=" " src="/resized-image/__size/2000x0/__key/communityserver-wikis-components-files/00-00-00-00-14/0640.Guides-_2800_4_2900_.png" /&gt;&lt;/h1&gt;
&lt;div class="row"&gt;
&lt;div class="col-xs-12 col-md-9"&gt;
&lt;p&gt;In this section, you will find a few real-world examples of how to enable and customize functionalities that makes Sugar better for your end-users and admins.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Global_Search/"&gt;Global Search&lt;/a&gt;&amp;nbsp;h&lt;span&gt;ow to customize the global search results&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Elastic_Search"&gt;Elasticsearch&lt;/a&gt;&amp;nbsp;&lt;span&gt;how Sugar integrates with Elasticsearch&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Duplicate_Check/"&gt;Duplicate Check&lt;/a&gt;&amp;nbsp;&lt;span&gt;framework provides the capability to alter how the system searches for duplicate records in the database when creating records&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Configurator/"&gt;Configuration Settings&lt;/a&gt;&amp;nbsp;y&lt;span&gt;ou can access the Sugar config (filesystem) settings by using this&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Administration/"&gt;Administration Settings&lt;/a&gt;&amp;nbsp;&lt;span&gt;is used to manage settings stored in the database config table&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Tags/"&gt;Tags&lt;/a&gt;&amp;nbsp;&lt;span&gt;allows a user to apply as many &amp;quot;tags&amp;quot; as they choose on any record they want to categorize&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Validation_Constraints/"&gt;Validation Constraints&lt;/a&gt; &lt;span&gt;how to add validation constraints to&amp;nbsp;your custom&amp;nbsp;code&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Adding_Buttons_to_the_Record_View/"&gt;Adding Buttons to the Record View&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Creating_Custom_Fields"&gt;Creating Custom Field Types&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Creating_an_Auto-Incrementing_Field"&gt;Creating an Auto-Incrementing Field&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Dynamically_Hiding_Subpanels_Based_on_Record_Values"&gt;Dynamically Hiding Subpanels Based on Record Values&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Prepopulating_the_Compose_Email_View//"&gt;Prepopulating the Compose Email View&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;p id="mcetoc_1g6ls8l4i0"&gt;&lt;span style="font-size:150%;"&gt;You&amp;#39;re up and running, but don&amp;#39;t stop now - this is just the beginning of your journey.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;strong&gt;Now it&amp;#39;s time&amp;nbsp;for&amp;nbsp;&lt;a href="/dev-club/dev-onboarding/w/documentation/681/deployment-for-product-devs"&gt;Deployments&lt;/a&gt;.&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>Customization for Product Devs</title><link>https://sugarclub.sugarai.com/dev-club/w/dev-tutorials/676/customization-for-product-devs/revision/9</link><pubDate>Tue, 13 Sep 2022 16:02:09 GMT</pubDate><guid isPermaLink="false">5c521d64-519d-47a6-9065-134618b211bf:d079672c-261c-48ae-bc81-0860e657667f</guid><dc:creator>Rafael Fernandes</dc:creator><comments>https://sugarclub.sugarai.com/dev-club/w/dev-tutorials/676/customization-for-product-devs#comments</comments><description>Revision 9 posted to Dev Tutorials by Rafael Fernandes on 9/13/2022 4:02:09 PM&lt;br /&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="#extensions"&gt;&lt;img style="height:auto;" alt=" " src="/resized-image/__size/2000x0/__key/communityserver-wikis-components-files/00-00-00-00-14/0131.Guides.png" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="#logichooks"&gt;&lt;img style="height:auto;" alt=" " src="/resized-image/__size/2000x0/__key/communityserver-wikis-components-files/00-00-00-00-14/3480.Guides-_2800_2_2900_.png" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="#batch"&gt;&lt;img style="height:auto;" alt=" " src="/resized-image/__size/2000x0/__key/communityserver-wikis-components-files/00-00-00-00-14/6835.Guides-_2800_3_2900_.png" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="#howto"&gt;&lt;img style="height:auto;" alt=" " src="/resized-image/__size/2000x0/__key/communityserver-wikis-components-files/00-00-00-00-14/0640.Guides-_2800_4_2900_.png" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h1 id="mcetoc_1f4f3gg1d0"&gt;&lt;span&gt;&lt;a id="extensions"&gt;&lt;/a&gt;Extensions&lt;img class="align-right" style="float:right;height:auto;" alt=" " src="/resized-image/__size/2000x0/__key/communityserver-wikis-components-files/00-00-00-00-14/0131.Guides.png" /&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;&lt;span&gt;The extension framework&amp;nbsp;provides the capability to modify Sugar metadata such as&amp;nbsp;vardefs&amp;nbsp;and&amp;nbsp;layouts&amp;nbsp;in a safe way that supports installing, uninstalling, enabling, and disabling without interfering with other customizations.&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Architecture/Extensions/"&gt;Extension Framework&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/User_Interface/Layouts"&gt;Create or override a Sidecar Layout&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/User_Interface/Views"&gt;Create or override a View&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/User_Interface/Fields"&gt;Add logic to a field prior to render&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Extensions/Vardefs"&gt;Add or override vardefs (variables) definitions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Extensions/Layoutdefs/"&gt;Add or override subpanel definitions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Extensions/Modules"&gt;Add new modules through code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Administration_Guide/Developer_Tools/Studio/#Resetting_Modules"&gt;Resetting Modules to default settings&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h1 id="mcetoc_1g6ls8l4i0"&gt;&lt;a id="logichooks"&gt;&lt;/a&gt;Logic Hooks / System Events&lt;img class="align-right" style="float:right;height:auto;" alt=" " src="/resized-image/__size/2000x0/__key/communityserver-wikis-components-files/00-00-00-00-14/3480.Guides-_2800_2_2900_.png" /&gt;&lt;br /&gt;&lt;span&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;The Logic Hook framework allows you to&amp;nbsp;append actions to system&amp;nbsp;events such as when creating, editing, and deleting records.&amp;nbsp;Logic hook definitions can&amp;nbsp;pertain&amp;nbsp;to&amp;nbsp;a&amp;nbsp;specific module or to the entire application. Either way, you must decide if the logic hook definition will be implemented as an extension of or directly to the module or application.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/#Module_Extension_Hooks"&gt;Module Extension Hooks&lt;/a&gt; &lt;span&gt;allow a developer&amp;nbsp;to define&amp;nbsp;hook actions that will be executed for the specified&amp;nbsp;events in a given module&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/#Application%20Extension%20Hooks"&gt;Application Extension Hooks&lt;/a&gt; &lt;span&gt;allow a developer to define&amp;nbsp;hook actions that will be executed for all specified application-level events&amp;nbsp;using the extension framework&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Administration_Guide/System/Web_Logic_Hooks/"&gt;&lt;span&gt;Web Logic Hooks&lt;/span&gt;&lt;/a&gt;&amp;nbsp;&lt;span&gt;Web logic hooks let administrators post record and event information to a specified URL when certain sugar events take place&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Logic_Hooks/Preventing_Infinite_Loops_with_Logic_Hooks"&gt;Preventing Infinite Loops with Logic Hooks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Logic_Hooks/Comparing_Bean_Properties_Between_Logic_Hooks"&gt;Comparing Bean Properties Between Logic Hooks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/Application_Hooks/"&gt;Application Hooks Events&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/Module_Hooks/"&gt;Module Hooks Events&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/User_Hooks/"&gt;User Hooks Events&lt;/a&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/Job_Queue_Hooks"&gt;Job Queue Events&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/API_Hooks"&gt;API Hooks Events&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h1 id="mcetoc_1f4f3gg1d0"&gt;&lt;span&gt;&lt;a id="batch"&gt;&lt;/a&gt;Batch Jobs&lt;img class="align-right" style="float:right;height:auto;" alt=" " src="/resized-image/__size/2000x0/__key/communityserver-wikis-components-files/00-00-00-00-14/6835.Guides-_2800_3_2900_.png" /&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;&lt;span&gt;The Job Queue executes automated tasks in Sugar through a&amp;nbsp;scheduler, which integrates with external UNIX systems and Windows systems to run jobs that are scheduled through those systems.&amp;nbsp;Jobs are the individual runs of the specified function from a scheduler:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/dev-club/m/event-recaps/2158"&gt;Developer Office Hours dedicated to Sugar Batch Jobs with Sugar Experts Sharing experiences and best practices&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Job_Queue/"&gt;Job Queues&lt;/a&gt;&amp;nbsp;&lt;span&gt;executes automated tasks in Sugar&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Job_Queue/Schedulers/"&gt;Schedulers&lt;/a&gt;&amp;nbsp;&lt;span&gt;Sugar provides a Scheduler service that can execute predefined functions asynchronously on a periodic basis&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Architecture/Job_Queue/Schedulers/Creating_Custom_Schedulers"&gt;Creating Custom Schedulers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Job_Queue/Jobs/"&gt;Scheduler Jobs&lt;/a&gt;&amp;nbsp;&lt;span&gt;Jobs are the individual runs of the specified function from a scheduler&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Job_Queue/Jobs/Creating_Custom_Jobs/"&gt;Creating a Custom Job&lt;/a&gt;&amp;nbsp;&lt;span&gt;How to create and execute your own custom jobs.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Job_Queue/Jobs/Queuing_Logic_Hook_Actions/"&gt;Queuing Logic Hook Actions&lt;/a&gt;&amp;nbsp;&lt;span&gt;enables you to send longer-running jobs such as sending emails&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h1 id="mcetoc_1g6ls8l4i0"&gt;&lt;a id="howto"&gt;&lt;/a&gt;How To&amp;#39;s&lt;img class="align-right" style="float:right;height:auto;" alt=" " src="/resized-image/__size/2000x0/__key/communityserver-wikis-components-files/00-00-00-00-14/0640.Guides-_2800_4_2900_.png" /&gt;&lt;/h1&gt;
&lt;div class="row"&gt;
&lt;div class="col-xs-12 col-md-9"&gt;
&lt;p&gt;In this section, you will find a few real-world examples of how to enable and customize functionalities that makes Sugar better for your end-users and admins.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Global_Search/"&gt;Global Search&lt;/a&gt;&amp;nbsp;h&lt;span&gt;ow to customize the global search results&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Elastic_Search"&gt;Elasticsearch&lt;/a&gt;&amp;nbsp;&lt;span&gt;how Sugar integrates with Elasticsearch&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Duplicate_Check/"&gt;Duplicate Check&lt;/a&gt;&amp;nbsp;&lt;span&gt;framework provides the capability to alter how the system searches for duplicate records in the database when creating records&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Configurator/"&gt;Configuration Settings&lt;/a&gt;&amp;nbsp;y&lt;span&gt;ou can access the Sugar config (filesystem) settings by using this&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Administration/"&gt;Administration Settings&lt;/a&gt;&amp;nbsp;&lt;span&gt;is used to manage settings stored in the database config table&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Tags/"&gt;Tags&lt;/a&gt;&amp;nbsp;&lt;span&gt;allows a user to apply as many &amp;quot;tags&amp;quot; as they choose on any record they want to categorize&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Validation_Constraints/"&gt;Validation Constraints&lt;/a&gt; &lt;span&gt;how to add validation constraints to&amp;nbsp;your custom&amp;nbsp;code&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Adding_Buttons_to_the_Record_View/"&gt;Adding Buttons to the Record View&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Creating_Custom_Fields"&gt;Creating Custom Field Types&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Creating_an_Auto-Incrementing_Field"&gt;Creating an Auto-Incrementing Field&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Dynamically_Hiding_Subpanels_Based_on_Record_Values"&gt;Dynamically Hiding Subpanels Based on Record Values&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Prepopulating_the_Compose_Email_View//"&gt;Prepopulating the Compose Email View&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;p id="mcetoc_1g6ls8l4i0"&gt;&lt;span style="font-size:150%;"&gt;You&amp;#39;re up and running, but don&amp;#39;t stop now - this is just the beginning of your journey.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;strong&gt;Now it&amp;#39;s time&amp;nbsp;for&amp;nbsp;&lt;a href="/dev-club/dev-onboarding/w/documentation/681/deployment-for-product-devs"&gt;Deployments&lt;/a&gt;.&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>Customization for Product Devs</title><link>https://sugarclub.sugarai.com/dev-club/w/dev-tutorials/676/customization-for-product-devs/revision/8</link><pubDate>Wed, 07 Sep 2022 18:25:20 GMT</pubDate><guid isPermaLink="false">5c521d64-519d-47a6-9065-134618b211bf:d079672c-261c-48ae-bc81-0860e657667f</guid><dc:creator>Rafael Fernandes</dc:creator><comments>https://sugarclub.sugarai.com/dev-club/w/dev-tutorials/676/customization-for-product-devs#comments</comments><description>Revision 8 posted to Dev Tutorials by Rafael Fernandes on 9/7/2022 6:25:20 PM&lt;br /&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="#extensions"&gt;&lt;img style="height:auto;" alt=" " src="/resized-image/__size/2000x0/__key/communityserver-wikis-components-files/00-00-00-00-14/0131.Guides.png" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="#logichooks"&gt;&lt;img style="height:auto;" alt=" " src="/resized-image/__size/2000x0/__key/communityserver-wikis-components-files/00-00-00-00-14/3480.Guides-_2800_2_2900_.png" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="#batch"&gt;&lt;img style="height:auto;" alt=" " src="/resized-image/__size/2000x0/__key/communityserver-wikis-components-files/00-00-00-00-14/6835.Guides-_2800_3_2900_.png" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="#howto"&gt;&lt;img style="height:auto;" alt=" " src="/resized-image/__size/2000x0/__key/communityserver-wikis-components-files/00-00-00-00-14/0640.Guides-_2800_4_2900_.png" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h1 id="mcetoc_1f4f3gg1d0"&gt;&lt;span&gt;&lt;a id="extensions"&gt;&lt;/a&gt;Extensions&lt;img class="align-right" style="float:right;height:auto;" alt=" " src="/resized-image/__size/2000x0/__key/communityserver-wikis-components-files/00-00-00-00-14/0131.Guides.png" /&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;&lt;span&gt;The extension framework&amp;nbsp;provides the capability to modify Sugar metadata such as&amp;nbsp;vardefs&amp;nbsp;and&amp;nbsp;layouts&amp;nbsp;in a safe way that supports installing, uninstalling, enabling, and disabling without interfering with other customizations.&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Architecture/Extensions/"&gt;Extension Framework&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/User_Interface/Layouts"&gt;Create or override a Sidecar Layout&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/User_Interface/Views"&gt;Create or override a View&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/User_Interface/Fields"&gt;Add logic to a field prior to render&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Extensions/Vardefs"&gt;Add or override vardefs (variables) definitions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Extensions/Layoutdefs/"&gt;Add or override subpanel definitions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Extensions/Modules"&gt;Add new modules through code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Administration_Guide/Developer_Tools/Studio/#Resetting_Modules"&gt;Resetting Modules to default settings&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h1 id="mcetoc_1g6ls8l4i0"&gt;&lt;a id="logichooks"&gt;&lt;/a&gt;Logic Hooks / System Events&lt;img class="align-right" style="float:right;height:auto;" alt=" " src="/resized-image/__size/2000x0/__key/communityserver-wikis-components-files/00-00-00-00-14/3480.Guides-_2800_2_2900_.png" /&gt;&lt;br /&gt;&lt;span&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;The Logic Hook framework allows you to&amp;nbsp;append actions to system&amp;nbsp;events such as when creating, editing, and deleting records.&amp;nbsp;Logic hook definitions can&amp;nbsp;pertain&amp;nbsp;to&amp;nbsp;a&amp;nbsp;specific module or to the entire application. Either way, you must decide if the logic hook definition will be implemented as an extension of or directly to the module or application.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/#Module_Extension_Hooks"&gt;Module Extension Hooks&lt;/a&gt; &lt;span&gt;allow a developer&amp;nbsp;to define&amp;nbsp;hook actions that will be executed for the specified&amp;nbsp;events in a given module&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/#Application%20Extension%20Hooks"&gt;Application Extension Hooks&lt;/a&gt; &lt;span&gt;allow a developer to define&amp;nbsp;hook actions that will be executed for all specified application-level events&amp;nbsp;using the extension framework&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Administration_Guide/System/Web_Logic_Hooks/"&gt;&lt;span&gt;Web Logic Hooks&lt;/span&gt;&lt;/a&gt;&amp;nbsp;&lt;span&gt;Web logic hooks let administrators post record and event information to a specified URL when certain sugar events take place&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Logic_Hooks/Preventing_Infinite_Loops_with_Logic_Hooks"&gt;Preventing Infinite Loops with Logic Hooks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Logic_Hooks/Comparing_Bean_Properties_Between_Logic_Hooks"&gt;Comparing Bean Properties Between Logic Hooks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/Application_Hooks/"&gt;Application Hooks Events&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/Module_Hooks/"&gt;Module Hooks Events&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/User_Hooks/"&gt;User Hooks Events&lt;/a&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/Job_Queue_Hooks"&gt;Job Queue Events&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/API_Hooks"&gt;API Hooks Events&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h1 id="mcetoc_1f4f3gg1d0"&gt;&lt;span&gt;&lt;a id="batch"&gt;&lt;/a&gt;Batch Jobs&lt;img class="align-right" style="float:right;height:auto;" alt=" " src="/resized-image/__size/2000x0/__key/communityserver-wikis-components-files/00-00-00-00-14/6835.Guides-_2800_3_2900_.png" /&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;&lt;span&gt;The Job Queue executes automated tasks in Sugar through a&amp;nbsp;scheduler, which integrates with external UNIX systems and Windows systems to run jobs that are scheduled through those systems.&amp;nbsp;Jobs are the individual runs of the specified function from a scheduler:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/dev-club/m/event-recaps/2158"&gt;Developer Office Hours dedicated to Sugar Batch Jobs with Sugar Experts Sharing experiences and best practices&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Job_Queue/"&gt;Job Queues&lt;/a&gt;&amp;nbsp;&lt;span&gt;executes automated tasks in Sugar&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Job_Queue/Schedulers/"&gt;Schedulers&lt;/a&gt;&amp;nbsp;&lt;span&gt;Sugar provides a Scheduler service that can execute predefined functions asynchronously on a periodic basis&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Architecture/Job_Queue/Schedulers/Creating_Custom_Schedulers"&gt;Creating Custom Schedulers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Job_Queue/Jobs/"&gt;Scheduler Jobs&lt;/a&gt;&amp;nbsp;&lt;span&gt;Jobs are the individual runs of the specified function from a scheduler&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Job_Queue/Jobs/Creating_Custom_Jobs/"&gt;Creating a Custom Job&lt;/a&gt;&amp;nbsp;&lt;span&gt;How to create and execute your own custom jobs.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Job_Queue/Jobs/Queuing_Logic_Hook_Actions/"&gt;Queuing Logic Hook Actions&lt;/a&gt;&amp;nbsp;&lt;span&gt;enables you to send longer-running jobs such as sending emails&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h1 id="mcetoc_1g6ls8l4i0"&gt;&lt;a id="howto"&gt;&lt;/a&gt;How To&amp;#39;s&lt;img class="align-right" style="float:right;height:auto;" alt=" " src="/resized-image/__size/2000x0/__key/communityserver-wikis-components-files/00-00-00-00-14/0640.Guides-_2800_4_2900_.png" /&gt;&lt;/h1&gt;
&lt;div class="row"&gt;
&lt;div class="col-xs-12 col-md-9"&gt;
&lt;p&gt;In this section, you will find a few real-world examples of how to enable and customize functionalities that makes Sugar better for your end-users and admins.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Global_Search/"&gt;Global Search&lt;/a&gt;&amp;nbsp;h&lt;span&gt;ow to customize the global search results&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Elastic_Search"&gt;Elasticsearch&lt;/a&gt;&amp;nbsp;&lt;span&gt;how Sugar integrates with Elasticsearch&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Duplicate_Check/"&gt;Duplicate Check&lt;/a&gt;&amp;nbsp;&lt;span&gt;framework provides the capability to alter how the system searches for duplicate records in the database when creating records&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Configurator/"&gt;Configuration Settings&lt;/a&gt;&amp;nbsp;y&lt;span&gt;ou can access the Sugar config (filesystem) settings by using this&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Administration/"&gt;Administration Settings&lt;/a&gt;&amp;nbsp;&lt;span&gt;is used to manage settings stored in the database config table&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Tags/"&gt;Tags&lt;/a&gt;&amp;nbsp;&lt;span&gt;allows a user to apply as many &amp;quot;tags&amp;quot; as they choose on any record they want to categorize&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Validation_Constraints/"&gt;Validation Constraints&lt;/a&gt; &lt;span&gt;how to add validation constraints to&amp;nbsp;your custom&amp;nbsp;code&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Adding_Buttons_to_the_Application_Footer/"&gt;Adding Buttons to the Application Footer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Adding_Buttons_to_the_Record_View/"&gt;Adding Buttons to the Record View&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Creating_Custom_Fields"&gt;Creating Custom Field Types&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Creating_an_Auto-Incrementing_Field"&gt;Creating an Auto-Incrementing Field&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Dynamically_Hiding_Subpanels_Based_on_Record_Values"&gt;Dynamically Hiding Subpanels Based on Record Values&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Prepopulating_the_Compose_Email_View//"&gt;Prepopulating the Compose Email View&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;p id="mcetoc_1g6ls8l4i0"&gt;&lt;span style="font-size:150%;"&gt;You&amp;#39;re up and running, but don&amp;#39;t stop now - this is just the beginning of your journey.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;strong&gt;Now it&amp;#39;s time&amp;nbsp;for&amp;nbsp;&lt;a href="/dev-club/dev-onboarding/w/documentation/681/deployment-for-product-devs"&gt;Deployments&lt;/a&gt;.&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>Customization for Product Devs</title><link>https://sugarclub.sugarai.com/dev-club/w/dev-tutorials/676/customization-for-product-devs/revision/6</link><pubDate>Thu, 04 Aug 2022 05:36:24 GMT</pubDate><guid isPermaLink="false">5c521d64-519d-47a6-9065-134618b211bf:d079672c-261c-48ae-bc81-0860e657667f</guid><dc:creator>Alex Nassi</dc:creator><comments>https://sugarclub.sugarai.com/dev-club/w/dev-tutorials/676/customization-for-product-devs#comments</comments><description>Revision 6 posted to Dev Tutorials by Alex Nassi on 8/4/2022 5:36:24 AM&lt;br /&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="#extensions"&gt;&lt;img style="height:auto;" alt=" " src="/resized-image/__size/2000x0/__key/communityserver-wikis-components-files/00-00-00-00-61/0131.Guides.png" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="#logichooks"&gt;&lt;img style="height:auto;" alt=" " src="/resized-image/__size/2000x0/__key/communityserver-wikis-components-files/00-00-00-00-61/3480.Guides-_2800_2_2900_.png" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="#batch"&gt;&lt;img style="height:auto;" alt=" " src="/resized-image/__size/2000x0/__key/communityserver-wikis-components-files/00-00-00-00-61/6835.Guides-_2800_3_2900_.png" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="#howto"&gt;&lt;img style="height:auto;" alt=" " src="/resized-image/__size/2000x0/__key/communityserver-wikis-components-files/00-00-00-00-61/0640.Guides-_2800_4_2900_.png" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h1 id="mcetoc_1f4f3gg1d0"&gt;&lt;span&gt;&lt;a id="extensions"&gt;&lt;/a&gt;Extensions&lt;img class="align-right" style="float:right;height:auto;" alt=" " src="/resized-image/__size/2000x0/__key/communityserver-wikis-components-files/00-00-00-00-61/0131.Guides.png" /&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;&lt;span&gt;The extension framework&amp;nbsp;provides the capability to modify Sugar metadata such as&amp;nbsp;vardefs&amp;nbsp;and&amp;nbsp;layouts&amp;nbsp;in a safe way that supports installing, uninstalling, enabling, and disabling without interfering with other customizations.&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Architecture/Extensions/"&gt;Extension Framework&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/User_Interface/Layouts"&gt;Create or override a Sidecar Layout&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/User_Interface/Views"&gt;Create or override a View&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/User_Interface/Fields"&gt;Add logic to a field prior to render&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Extensions/Vardefs"&gt;Add or override vardefs (variables) definitions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Extensions/Layoutdefs/"&gt;Add or override subpanel definitions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Extensions/Modules"&gt;Add new modules through code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Administration_Guide/Developer_Tools/Studio/#Resetting_Modules"&gt;Resetting Modules to default settings&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h1 id="mcetoc_1g6ls8l4i0"&gt;&lt;a id="logichooks"&gt;&lt;/a&gt;Logic Hooks / System Events&lt;img class="align-right" style="float:right;height:auto;" alt=" " src="/resized-image/__size/2000x0/__key/communityserver-wikis-components-files/00-00-00-00-61/3480.Guides-_2800_2_2900_.png" /&gt;&lt;br /&gt;&lt;span&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;The Logic Hook framework allows you to&amp;nbsp;append actions to system&amp;nbsp;events such as when creating, editing, and deleting records.&amp;nbsp;Logic hook definitions can&amp;nbsp;pertain&amp;nbsp;to&amp;nbsp;a&amp;nbsp;specific module or to the entire application. Either way, you must decide if the logic hook definition will be implemented as an extension of or directly to the module or application.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/#Module_Extension_Hooks"&gt;Module Extension Hooks&lt;/a&gt; &lt;span&gt;allow a developer&amp;nbsp;to define&amp;nbsp;hook actions that will be executed for the specified&amp;nbsp;events in a given module&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/#Application%20Extension%20Hooks"&gt;Application Extension Hooks&lt;/a&gt; &lt;span&gt;allow a developer to define&amp;nbsp;hook actions that will be executed for all specified application-level events&amp;nbsp;using the extension framework&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Administration_Guide/System/Web_Logic_Hooks/"&gt;&lt;span&gt;Web Logic Hooks&lt;/span&gt;&lt;/a&gt;&amp;nbsp;&lt;span&gt;Web logic hooks let administrators post record and event information to a specified URL when certain sugar events take place&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Logic_Hooks/Preventing_Infinite_Loops_with_Logic_Hooks"&gt;Preventing Infinite Loops with Logic Hooks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Logic_Hooks/Comparing_Bean_Properties_Between_Logic_Hooks"&gt;Comparing Bean Properties Between Logic Hooks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/Application_Hooks/"&gt;Application Hooks Events&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/Module_Hooks/"&gt;Module Hooks Events&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/User_Hooks/"&gt;User Hooks Events&lt;/a&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/Job_Queue_Hooks"&gt;Job Queue Events&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/API_Hooks"&gt;API Hooks Events&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h1 id="mcetoc_1f4f3gg1d0"&gt;&lt;span&gt;&lt;a id="batch"&gt;&lt;/a&gt;Batch Jobs&lt;img class="align-right" style="float:right;height:auto;" alt=" " src="/resized-image/__size/2000x0/__key/communityserver-wikis-components-files/00-00-00-00-61/6835.Guides-_2800_3_2900_.png" /&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;&lt;span&gt;The Job Queue executes automated tasks in Sugar through a&amp;nbsp;scheduler, which integrates with external UNIX systems and Windows systems to run jobs that are scheduled through those systems.&amp;nbsp;Jobs are the individual runs of the specified function from a scheduler:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Job_Queue/"&gt;Job Queues&lt;/a&gt;&amp;nbsp;&lt;span&gt;executes automated tasks in Sugar&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Job_Queue/Schedulers/"&gt;Schedulers&lt;/a&gt;&amp;nbsp;&lt;span&gt;Sugar provides a Scheduler service that can execute predefined functions asynchronously on a periodic basis&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Architecture/Job_Queue/Schedulers/Creating_Custom_Schedulers"&gt;Creating Custom Schedulers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Job_Queue/Jobs/"&gt;Scheduler Jobs&lt;/a&gt;&amp;nbsp;&lt;span&gt;Jobs are the individual runs of the specified function from a scheduler&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Job_Queue/Jobs/Creating_Custom_Jobs/"&gt;Creating a Custom Job&lt;/a&gt;&amp;nbsp;&lt;span&gt;How to create and execute your own custom jobs.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Job_Queue/Jobs/Queuing_Logic_Hook_Actions/"&gt;Queuing Logic Hook Actions&lt;/a&gt;&amp;nbsp;&lt;span&gt;enables you to send longer-running jobs such as sending emails&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h1 id="mcetoc_1g6ls8l4i0"&gt;&lt;a id="howto"&gt;&lt;/a&gt;How To&amp;#39;s&lt;img class="align-right" style="float:right;height:auto;" alt=" " src="/resized-image/__size/2000x0/__key/communityserver-wikis-components-files/00-00-00-00-61/0640.Guides-_2800_4_2900_.png" /&gt;&lt;/h1&gt;
&lt;div class="row"&gt;
&lt;div class="col-xs-12 col-md-9"&gt;
&lt;p&gt;In this section, you will find a few real-world examples of how to enable and customize functionalities that makes Sugar better for your end-users and admins.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Global_Search/"&gt;Global Search&lt;/a&gt;&amp;nbsp;h&lt;span&gt;ow to customize the global search results&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Elastic_Search"&gt;Elasticsearch&lt;/a&gt;&amp;nbsp;&lt;span&gt;how Sugar integrates with Elasticsearch&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Duplicate_Check/"&gt;Duplicate Check&lt;/a&gt;&amp;nbsp;&lt;span&gt;framework provides the capability to alter how the system searches for duplicate records in the database when creating records&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Configurator/"&gt;Configuration Settings&lt;/a&gt;&amp;nbsp;y&lt;span&gt;ou can access the Sugar config (filesystem) settings by using this&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Administration/"&gt;Administration Settings&lt;/a&gt;&amp;nbsp;&lt;span&gt;is used to manage settings stored in the database config table&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Tags/"&gt;Tags&lt;/a&gt;&amp;nbsp;&lt;span&gt;allows a user to apply as many &amp;quot;tags&amp;quot; as they choose on any record they want to categorize&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Validation_Constraints/"&gt;Validation Constraints&lt;/a&gt; &lt;span&gt;how to add validation constraints to&amp;nbsp;your custom&amp;nbsp;code&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Adding_Buttons_to_the_Application_Footer/"&gt;Adding Buttons to the Application Footer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Adding_Buttons_to_the_Record_View/"&gt;Adding Buttons to the Record View&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Creating_Custom_Fields"&gt;Creating Custom Field Types&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Creating_an_Auto-Incrementing_Field"&gt;Creating an Auto-Incrementing Field&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Dynamically_Hiding_Subpanels_Based_on_Record_Values"&gt;Dynamically Hiding Subpanels Based on Record Values&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Prepopulating_the_Compose_Email_View//"&gt;Prepopulating the Compose Email View&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;p id="mcetoc_1g6ls8l4i0"&gt;&lt;span style="font-size:150%;"&gt;You&amp;#39;re up and running, but don&amp;#39;t stop now - this is just the beginning of your journey.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;strong&gt;Now it&amp;#39;s time&amp;nbsp;for&amp;nbsp;&lt;a href="/dev-club/dev-onboarding/w/documentation/681/deployment-for-product-devs"&gt;Deployments&lt;/a&gt;.&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>Customization for Product Devs</title><link>https://sugarclub.sugarai.com/dev-club/w/dev-tutorials/676/customization-for-product-devs/revision/7</link><pubDate>Thu, 04 Aug 2022 05:36:24 GMT</pubDate><guid isPermaLink="false">5c521d64-519d-47a6-9065-134618b211bf:d079672c-261c-48ae-bc81-0860e657667f</guid><dc:creator>Alex Nassi</dc:creator><comments>https://sugarclub.sugarai.com/dev-club/w/dev-tutorials/676/customization-for-product-devs#comments</comments><description>Revision 7 posted to Dev Tutorials by Alex Nassi on 8/4/2022 5:36:24 AM&lt;br /&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="#extensions"&gt;&lt;img style="height:auto;" alt=" " src="/resized-image/__size/2000x0/__key/communityserver-wikis-components-files/00-00-00-00-14/0131.Guides.png" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="#logichooks"&gt;&lt;img style="height:auto;" alt=" " src="/resized-image/__size/2000x0/__key/communityserver-wikis-components-files/00-00-00-00-14/3480.Guides-_2800_2_2900_.png" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="#batch"&gt;&lt;img style="height:auto;" alt=" " src="/resized-image/__size/2000x0/__key/communityserver-wikis-components-files/00-00-00-00-14/6835.Guides-_2800_3_2900_.png" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="#howto"&gt;&lt;img style="height:auto;" alt=" " src="/resized-image/__size/2000x0/__key/communityserver-wikis-components-files/00-00-00-00-14/0640.Guides-_2800_4_2900_.png" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h1 id="mcetoc_1f4f3gg1d0"&gt;&lt;span&gt;&lt;a id="extensions"&gt;&lt;/a&gt;Extensions&lt;img class="align-right" style="float:right;height:auto;" alt=" " src="/resized-image/__size/2000x0/__key/communityserver-wikis-components-files/00-00-00-00-14/0131.Guides.png" /&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;&lt;span&gt;The extension framework&amp;nbsp;provides the capability to modify Sugar metadata such as&amp;nbsp;vardefs&amp;nbsp;and&amp;nbsp;layouts&amp;nbsp;in a safe way that supports installing, uninstalling, enabling, and disabling without interfering with other customizations.&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Architecture/Extensions/"&gt;Extension Framework&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/User_Interface/Layouts"&gt;Create or override a Sidecar Layout&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/User_Interface/Views"&gt;Create or override a View&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/User_Interface/Fields"&gt;Add logic to a field prior to render&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Extensions/Vardefs"&gt;Add or override vardefs (variables) definitions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Extensions/Layoutdefs/"&gt;Add or override subpanel definitions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Extensions/Modules"&gt;Add new modules through code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Administration_Guide/Developer_Tools/Studio/#Resetting_Modules"&gt;Resetting Modules to default settings&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h1 id="mcetoc_1g6ls8l4i0"&gt;&lt;a id="logichooks"&gt;&lt;/a&gt;Logic Hooks / System Events&lt;img class="align-right" style="float:right;height:auto;" alt=" " src="/resized-image/__size/2000x0/__key/communityserver-wikis-components-files/00-00-00-00-14/3480.Guides-_2800_2_2900_.png" /&gt;&lt;br /&gt;&lt;span&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;The Logic Hook framework allows you to&amp;nbsp;append actions to system&amp;nbsp;events such as when creating, editing, and deleting records.&amp;nbsp;Logic hook definitions can&amp;nbsp;pertain&amp;nbsp;to&amp;nbsp;a&amp;nbsp;specific module or to the entire application. Either way, you must decide if the logic hook definition will be implemented as an extension of or directly to the module or application.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/#Module_Extension_Hooks"&gt;Module Extension Hooks&lt;/a&gt; &lt;span&gt;allow a developer&amp;nbsp;to define&amp;nbsp;hook actions that will be executed for the specified&amp;nbsp;events in a given module&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/#Application%20Extension%20Hooks"&gt;Application Extension Hooks&lt;/a&gt; &lt;span&gt;allow a developer to define&amp;nbsp;hook actions that will be executed for all specified application-level events&amp;nbsp;using the extension framework&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Administration_Guide/System/Web_Logic_Hooks/"&gt;&lt;span&gt;Web Logic Hooks&lt;/span&gt;&lt;/a&gt;&amp;nbsp;&lt;span&gt;Web logic hooks let administrators post record and event information to a specified URL when certain sugar events take place&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Logic_Hooks/Preventing_Infinite_Loops_with_Logic_Hooks"&gt;Preventing Infinite Loops with Logic Hooks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Logic_Hooks/Comparing_Bean_Properties_Between_Logic_Hooks"&gt;Comparing Bean Properties Between Logic Hooks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/Application_Hooks/"&gt;Application Hooks Events&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/Module_Hooks/"&gt;Module Hooks Events&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/User_Hooks/"&gt;User Hooks Events&lt;/a&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/Job_Queue_Hooks"&gt;Job Queue Events&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/API_Hooks"&gt;API Hooks Events&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h1 id="mcetoc_1f4f3gg1d0"&gt;&lt;span&gt;&lt;a id="batch"&gt;&lt;/a&gt;Batch Jobs&lt;img class="align-right" style="float:right;height:auto;" alt=" " src="/resized-image/__size/2000x0/__key/communityserver-wikis-components-files/00-00-00-00-14/6835.Guides-_2800_3_2900_.png" /&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;&lt;span&gt;The Job Queue executes automated tasks in Sugar through a&amp;nbsp;scheduler, which integrates with external UNIX systems and Windows systems to run jobs that are scheduled through those systems.&amp;nbsp;Jobs are the individual runs of the specified function from a scheduler:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Job_Queue/"&gt;Job Queues&lt;/a&gt;&amp;nbsp;&lt;span&gt;executes automated tasks in Sugar&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Job_Queue/Schedulers/"&gt;Schedulers&lt;/a&gt;&amp;nbsp;&lt;span&gt;Sugar provides a Scheduler service that can execute predefined functions asynchronously on a periodic basis&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Architecture/Job_Queue/Schedulers/Creating_Custom_Schedulers"&gt;Creating Custom Schedulers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Job_Queue/Jobs/"&gt;Scheduler Jobs&lt;/a&gt;&amp;nbsp;&lt;span&gt;Jobs are the individual runs of the specified function from a scheduler&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Job_Queue/Jobs/Creating_Custom_Jobs/"&gt;Creating a Custom Job&lt;/a&gt;&amp;nbsp;&lt;span&gt;How to create and execute your own custom jobs.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Job_Queue/Jobs/Queuing_Logic_Hook_Actions/"&gt;Queuing Logic Hook Actions&lt;/a&gt;&amp;nbsp;&lt;span&gt;enables you to send longer-running jobs such as sending emails&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h1 id="mcetoc_1g6ls8l4i0"&gt;&lt;a id="howto"&gt;&lt;/a&gt;How To&amp;#39;s&lt;img class="align-right" style="float:right;height:auto;" alt=" " src="/resized-image/__size/2000x0/__key/communityserver-wikis-components-files/00-00-00-00-14/0640.Guides-_2800_4_2900_.png" /&gt;&lt;/h1&gt;
&lt;div class="row"&gt;
&lt;div class="col-xs-12 col-md-9"&gt;
&lt;p&gt;In this section, you will find a few real-world examples of how to enable and customize functionalities that makes Sugar better for your end-users and admins.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Global_Search/"&gt;Global Search&lt;/a&gt;&amp;nbsp;h&lt;span&gt;ow to customize the global search results&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Elastic_Search"&gt;Elasticsearch&lt;/a&gt;&amp;nbsp;&lt;span&gt;how Sugar integrates with Elasticsearch&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Duplicate_Check/"&gt;Duplicate Check&lt;/a&gt;&amp;nbsp;&lt;span&gt;framework provides the capability to alter how the system searches for duplicate records in the database when creating records&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Configurator/"&gt;Configuration Settings&lt;/a&gt;&amp;nbsp;y&lt;span&gt;ou can access the Sugar config (filesystem) settings by using this&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Administration/"&gt;Administration Settings&lt;/a&gt;&amp;nbsp;&lt;span&gt;is used to manage settings stored in the database config table&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Tags/"&gt;Tags&lt;/a&gt;&amp;nbsp;&lt;span&gt;allows a user to apply as many &amp;quot;tags&amp;quot; as they choose on any record they want to categorize&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Validation_Constraints/"&gt;Validation Constraints&lt;/a&gt; &lt;span&gt;how to add validation constraints to&amp;nbsp;your custom&amp;nbsp;code&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Adding_Buttons_to_the_Application_Footer/"&gt;Adding Buttons to the Application Footer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Adding_Buttons_to_the_Record_View/"&gt;Adding Buttons to the Record View&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Creating_Custom_Fields"&gt;Creating Custom Field Types&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Creating_an_Auto-Incrementing_Field"&gt;Creating an Auto-Incrementing Field&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Dynamically_Hiding_Subpanels_Based_on_Record_Values"&gt;Dynamically Hiding Subpanels Based on Record Values&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Prepopulating_the_Compose_Email_View//"&gt;Prepopulating the Compose Email View&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;p id="mcetoc_1g6ls8l4i0"&gt;&lt;span style="font-size:150%;"&gt;You&amp;#39;re up and running, but don&amp;#39;t stop now - this is just the beginning of your journey.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;strong&gt;Now it&amp;#39;s time&amp;nbsp;for&amp;nbsp;&lt;a href="/dev-club/dev-onboarding/w/documentation/681/deployment-for-product-devs"&gt;Deployments&lt;/a&gt;.&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>Customization for Product Devs</title><link>https://sugarclub.sugarai.com/dev-club/w/dev-tutorials/676/customization-for-product-devs/revision/5</link><pubDate>Mon, 01 Aug 2022 19:53:11 GMT</pubDate><guid isPermaLink="false">5c521d64-519d-47a6-9065-134618b211bf:d079672c-261c-48ae-bc81-0860e657667f</guid><dc:creator>Rafael Fernandes</dc:creator><comments>https://sugarclub.sugarai.com/dev-club/w/dev-tutorials/676/customization-for-product-devs#comments</comments><description>Revision 5 posted to Dev Tutorials by Rafael Fernandes on 8/1/2022 7:53:11 PM&lt;br /&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="#extensions"&gt;&lt;img alt=" " src="/resized-image/__size/269x141/__key/communityserver-wikis-components-files/00-00-00-00-61/Screen-Shot-2022_2D00_07_2D00_08-at-11.31.37-AM.png" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="#logichooks"&gt;&lt;img alt=" " src="/resized-image/__size/270x141/__key/communityserver-wikis-components-files/00-00-00-00-61/Screen-Shot-2022_2D00_07_2D00_08-at-11.33.50-AM.png" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="#batch"&gt;&lt;img alt=" " src="/resized-image/__size/270x141/__key/communityserver-wikis-components-files/00-00-00-00-61/Screen-Shot-2022_2D00_07_2D00_08-at-11.34.24-AM.png" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="#howto"&gt;&lt;img alt=" " src="/resized-image/__size/268x140/__key/communityserver-wikis-components-files/00-00-00-00-61/Screen-Shot-2022_2D00_07_2D00_08-at-11.34.44-AM.png" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h1 id="mcetoc_1f4f3gg1d0"&gt;&lt;span&gt;&lt;a id="extensions"&gt;&lt;/a&gt;Extensions&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;&lt;span&gt;The extension framework&amp;nbsp;provides the capability to modify Sugar metadata such as&amp;nbsp;vardefs&amp;nbsp;and&amp;nbsp;layouts&amp;nbsp;in a safe way that supports installing, uninstalling, enabling, and disabling without interfering with other customizations.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;img class="align-right" style="float:right;" alt=" " src="/resized-image/__size/267x140/__key/communityserver-wikis-components-files/00-00-00-00-61/Screen-Shot-2022_2D00_07_2D00_08-at-11.31.37-AM.png" /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Architecture/Extensions/"&gt;Extension Framework&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/User_Interface/Layouts"&gt;Create or override a Sidecar Layout&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/User_Interface/Views"&gt;Create or override a View&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/User_Interface/Fields"&gt;Add logic to a field prior to render&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Extensions/Vardefs"&gt;Add or override vardefs (variables) definitions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Extensions/Layoutdefs/"&gt;Add or override subpanel definitions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Extensions/Modules"&gt;Add new modules through code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Administration_Guide/Developer_Tools/Studio/#Resetting_Modules"&gt;Resetting Modules to default settings&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h1 id="mcetoc_1g6ls8l4i0"&gt;&lt;a id="logichooks"&gt;&lt;/a&gt;Logic Hooks / System Events&lt;br /&gt;&lt;span&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;The Logic Hook framework allows you to&amp;nbsp;append actions to system&amp;nbsp;events such as when creating, editing, and deleting records.&amp;nbsp;Logic hook definitions can&amp;nbsp;pertain&amp;nbsp;to&amp;nbsp;a&amp;nbsp;specific module or to the entire application. Either way, you must decide if the logic hook definition will be implemented as an extension of or directly to the module or application.&lt;/p&gt;
&lt;p&gt;&lt;img class="align-right" style="float:right;" alt=" " src="/resized-image/__size/260x136/__key/communityserver-wikis-components-files/00-00-00-00-61/Screen-Shot-2022_2D00_07_2D00_08-at-11.33.50-AM.png" /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/#Module_Extension_Hooks"&gt;Module Extension Hooks&lt;/a&gt; &lt;span&gt;allow a developer&amp;nbsp;to define&amp;nbsp;hook actions that will be executed for the specified&amp;nbsp;events in a given module&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/#Application%20Extension%20Hooks"&gt;Application Extension Hooks&lt;/a&gt; &lt;span&gt;allow a developer to define&amp;nbsp;hook actions that will be executed for all specified application-level events&amp;nbsp;using the extension framework&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Administration_Guide/System/Web_Logic_Hooks/"&gt;&lt;span&gt;Web Logic Hooks&lt;/span&gt;&lt;/a&gt;&amp;nbsp;&lt;span&gt;Web logic hooks let administrators post record and event information to a specified URL when certain sugar events take place&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Logic_Hooks/Preventing_Infinite_Loops_with_Logic_Hooks"&gt;Preventing Infinite Loops with Logic Hooks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Logic_Hooks/Comparing_Bean_Properties_Between_Logic_Hooks"&gt;Comparing Bean Properties Between Logic Hooks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/Application_Hooks/"&gt;Application Hooks Events&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/Module_Hooks/"&gt;Module Hooks Events&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/User_Hooks/"&gt;User Hooks Events&lt;/a&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/Job_Queue_Hooks"&gt;Job Queue Events&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/API_Hooks"&gt;API Hooks Events&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h1 id="mcetoc_1f4f3gg1d0"&gt;&lt;span&gt;&lt;a id="batch"&gt;&lt;/a&gt;Batch Jobs&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;&lt;span&gt;The Job Queue executes automated tasks in Sugar through a&amp;nbsp;scheduler, which integrates with external UNIX systems and Windows systems to run jobs that are scheduled through those systems.&amp;nbsp;Jobs are the individual runs of the specified function from a scheduler:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;img class="align-right" style="float:right;" alt=" " src="/resized-image/__size/270x141/__key/communityserver-wikis-components-files/00-00-00-00-61/Screen-Shot-2022_2D00_07_2D00_08-at-11.34.24-AM.png" /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Job_Queue/"&gt;Job Queues&lt;/a&gt;&amp;nbsp;&lt;span&gt;executes automated tasks in Sugar&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Job_Queue/Schedulers/"&gt;Schedulers&lt;/a&gt;&amp;nbsp;&lt;span&gt;Sugar provides a Scheduler service that can execute predefined functions asynchronously on a periodic basis&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Architecture/Job_Queue/Schedulers/Creating_Custom_Schedulers"&gt;Creating Custom Schedulers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Job_Queue/Jobs/"&gt;Scheduler Jobs&lt;/a&gt;&amp;nbsp;&lt;span&gt;Jobs are the individual runs of the specified function from a scheduler&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Job_Queue/Jobs/Creating_Custom_Jobs/"&gt;Creating a Custom Job&lt;/a&gt;&amp;nbsp;&lt;span&gt;How to create and execute your own custom jobs.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Job_Queue/Jobs/Queuing_Logic_Hook_Actions/"&gt;Queuing Logic Hook Actions&lt;/a&gt;&amp;nbsp;&lt;span&gt;enables you to send longer-running jobs such as sending emails&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h1 id="mcetoc_1g6ls8l4i0"&gt;&lt;a id="howto"&gt;&lt;/a&gt;HOWTOs&lt;/h1&gt;
&lt;div class="row"&gt;
&lt;div class="col-xs-12 col-md-9"&gt;
&lt;p&gt;In this section, you will find a few real-world examples of how to enable and customize functionalities that makes Sugar better for your end-users and admins.&lt;/p&gt;
&lt;p&gt;&lt;img class="align-right" style="float:right;" alt=" " src="/resized-image/__size/272x141/__key/communityserver-wikis-components-files/00-00-00-00-61/Screen-Shot-2022_2D00_07_2D00_08-at-11.34.44-AM.png" /&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Global_Search/"&gt;Global Search&lt;/a&gt;&amp;nbsp;h&lt;span&gt;ow to customize the global search results&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Elastic_Search"&gt;Elasticsearch&lt;/a&gt;&amp;nbsp;&lt;span&gt;how Sugar integrates with Elasticsearch&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Duplicate_Check/"&gt;Duplicate Check&lt;/a&gt;&amp;nbsp;&lt;span&gt;framework provides the capability to alter how the system searches for duplicate records in the database when creating records&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Configurator/"&gt;Configuration Settings&lt;/a&gt;&amp;nbsp;y&lt;span&gt;ou can access the Sugar config (filesystem) settings by using this&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Administration/"&gt;Administration Settings&lt;/a&gt;&amp;nbsp;&lt;span&gt;is used to manage settings stored in the database config table&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Tags/"&gt;Tags&lt;/a&gt;&amp;nbsp;&lt;span&gt;allows a user to apply as many &amp;quot;tags&amp;quot; as they choose on any record they want to categorize&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Validation_Constraints/"&gt;Validation Constraints&lt;/a&gt; &lt;span&gt;how to add validation constraints to&amp;nbsp;your custom&amp;nbsp;code&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Adding_Buttons_to_the_Application_Footer/"&gt;Adding Buttons to the Application Footer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Adding_Buttons_to_the_Record_View/"&gt;Adding Buttons to the Record View&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Creating_Custom_Fields"&gt;Creating Custom Field Types&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Creating_an_Auto-Incrementing_Field"&gt;Creating an Auto-Incrementing Field&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Dynamically_Hiding_Subpanels_Based_on_Record_Values"&gt;Dynamically Hiding Subpanels Based on Record Values&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Prepopulating_the_Compose_Email_View//"&gt;Prepopulating the Compose Email View&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h1 id="mcetoc_1g6ls8l4i0"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/h1&gt;
&lt;h3 id="mcetoc_1f5uvkqns0"&gt;&lt;span style="font-size:inherit;"&gt;You&amp;#39;re up and running, but don&amp;#39;t stop now - this is just the beginning of your journey. Now it&amp;#39;s time to &lt;a href="/dev-club/dev-onboarding/w/documentation/687/deployment-for-devs"&gt;Deployments&lt;/a&gt;.&lt;/span&gt;&lt;/h3&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>Customization for ISVs</title><link>https://sugarclub.sugarai.com/dev-club/w/dev-tutorials/676/customization-for-product-devs/revision/4</link><pubDate>Mon, 01 Aug 2022 19:53:01 GMT</pubDate><guid isPermaLink="false">5c521d64-519d-47a6-9065-134618b211bf:d079672c-261c-48ae-bc81-0860e657667f</guid><dc:creator>Rafael Fernandes</dc:creator><comments>https://sugarclub.sugarai.com/dev-club/w/dev-tutorials/676/customization-for-product-devs#comments</comments><description>Revision 4 posted to Dev Tutorials by Rafael Fernandes on 8/1/2022 7:53:01 PM&lt;br /&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="#extensions"&gt;&lt;img alt=" " src="/resized-image/__size/269x141/__key/communityserver-wikis-components-files/00-00-00-00-61/Screen-Shot-2022_2D00_07_2D00_08-at-11.31.37-AM.png" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="#logichooks"&gt;&lt;img alt=" " src="/resized-image/__size/270x141/__key/communityserver-wikis-components-files/00-00-00-00-61/Screen-Shot-2022_2D00_07_2D00_08-at-11.33.50-AM.png" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="#batch"&gt;&lt;img alt=" " src="/resized-image/__size/270x141/__key/communityserver-wikis-components-files/00-00-00-00-61/Screen-Shot-2022_2D00_07_2D00_08-at-11.34.24-AM.png" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="#howto"&gt;&lt;img alt=" " src="/resized-image/__size/268x140/__key/communityserver-wikis-components-files/00-00-00-00-61/Screen-Shot-2022_2D00_07_2D00_08-at-11.34.44-AM.png" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h1 id="mcetoc_1f4f3gg1d0"&gt;&lt;span&gt;&lt;a id="extensions"&gt;&lt;/a&gt;Extensions&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;&lt;span&gt;The extension framework&amp;nbsp;provides the capability to modify Sugar metadata such as&amp;nbsp;vardefs&amp;nbsp;and&amp;nbsp;layouts&amp;nbsp;in a safe way that supports installing, uninstalling, enabling, and disabling without interfering with other customizations.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;img class="align-right" style="float:right;" alt=" " src="/resized-image/__size/267x140/__key/communityserver-wikis-components-files/00-00-00-00-61/Screen-Shot-2022_2D00_07_2D00_08-at-11.31.37-AM.png" /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Architecture/Extensions/"&gt;Extension Framework&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/User_Interface/Layouts"&gt;Create or override a Sidecar Layout&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/User_Interface/Views"&gt;Create or override a View&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/User_Interface/Fields"&gt;Add logic to a field prior to render&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Extensions/Vardefs"&gt;Add or override vardefs (variables) definitions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Extensions/Layoutdefs/"&gt;Add or override subpanel definitions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Extensions/Modules"&gt;Add new modules through code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Administration_Guide/Developer_Tools/Studio/#Resetting_Modules"&gt;Resetting Modules to default settings&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h1 id="mcetoc_1g6ls8l4i0"&gt;&lt;a id="logichooks"&gt;&lt;/a&gt;Logic Hooks / System Events&lt;br /&gt;&lt;span&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;The Logic Hook framework allows you to&amp;nbsp;append actions to system&amp;nbsp;events such as when creating, editing, and deleting records.&amp;nbsp;Logic hook definitions can&amp;nbsp;pertain&amp;nbsp;to&amp;nbsp;a&amp;nbsp;specific module or to the entire application. Either way, you must decide if the logic hook definition will be implemented as an extension of or directly to the module or application.&lt;/p&gt;
&lt;p&gt;&lt;img class="align-right" style="float:right;" alt=" " src="/resized-image/__size/260x136/__key/communityserver-wikis-components-files/00-00-00-00-61/Screen-Shot-2022_2D00_07_2D00_08-at-11.33.50-AM.png" /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/#Module_Extension_Hooks"&gt;Module Extension Hooks&lt;/a&gt; &lt;span&gt;allow a developer&amp;nbsp;to define&amp;nbsp;hook actions that will be executed for the specified&amp;nbsp;events in a given module&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/#Application%20Extension%20Hooks"&gt;Application Extension Hooks&lt;/a&gt; &lt;span&gt;allow a developer to define&amp;nbsp;hook actions that will be executed for all specified application-level events&amp;nbsp;using the extension framework&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Administration_Guide/System/Web_Logic_Hooks/"&gt;&lt;span&gt;Web Logic Hooks&lt;/span&gt;&lt;/a&gt;&amp;nbsp;&lt;span&gt;Web logic hooks let administrators post record and event information to a specified URL when certain sugar events take place&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Logic_Hooks/Preventing_Infinite_Loops_with_Logic_Hooks"&gt;Preventing Infinite Loops with Logic Hooks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Logic_Hooks/Comparing_Bean_Properties_Between_Logic_Hooks"&gt;Comparing Bean Properties Between Logic Hooks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/Application_Hooks/"&gt;Application Hooks Events&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/Module_Hooks/"&gt;Module Hooks Events&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/User_Hooks/"&gt;User Hooks Events&lt;/a&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/Job_Queue_Hooks"&gt;Job Queue Events&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Logic_Hooks/API_Hooks"&gt;API Hooks Events&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h1 id="mcetoc_1f4f3gg1d0"&gt;&lt;span&gt;&lt;a id="batch"&gt;&lt;/a&gt;Batch Jobs&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;&lt;span&gt;The Job Queue executes automated tasks in Sugar through a&amp;nbsp;scheduler, which integrates with external UNIX systems and Windows systems to run jobs that are scheduled through those systems.&amp;nbsp;Jobs are the individual runs of the specified function from a scheduler:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;img class="align-right" style="float:right;" alt=" " src="/resized-image/__size/270x141/__key/communityserver-wikis-components-files/00-00-00-00-61/Screen-Shot-2022_2D00_07_2D00_08-at-11.34.24-AM.png" /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Job_Queue/"&gt;Job Queues&lt;/a&gt;&amp;nbsp;&lt;span&gt;executes automated tasks in Sugar&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Job_Queue/Schedulers/"&gt;Schedulers&lt;/a&gt;&amp;nbsp;&lt;span&gt;Sugar provides a Scheduler service that can execute predefined functions asynchronously on a periodic basis&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Architecture/Job_Queue/Schedulers/Creating_Custom_Schedulers"&gt;Creating Custom Schedulers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Job_Queue/Jobs/"&gt;Scheduler Jobs&lt;/a&gt;&amp;nbsp;&lt;span&gt;Jobs are the individual runs of the specified function from a scheduler&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Job_Queue/Jobs/Creating_Custom_Jobs/"&gt;Creating a Custom Job&lt;/a&gt;&amp;nbsp;&lt;span&gt;How to create and execute your own custom jobs.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Job_Queue/Jobs/Queuing_Logic_Hook_Actions/"&gt;Queuing Logic Hook Actions&lt;/a&gt;&amp;nbsp;&lt;span&gt;enables you to send longer-running jobs such as sending emails&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h1 id="mcetoc_1g6ls8l4i0"&gt;&lt;a id="howto"&gt;&lt;/a&gt;HOWTOs&lt;/h1&gt;
&lt;div class="row"&gt;
&lt;div class="col-xs-12 col-md-9"&gt;
&lt;p&gt;In this section, you will find a few real-world examples of how to enable and customize functionalities that makes Sugar better for your end-users and admins.&lt;/p&gt;
&lt;p&gt;&lt;img class="align-right" style="float:right;" alt=" " src="/resized-image/__size/272x141/__key/communityserver-wikis-components-files/00-00-00-00-61/Screen-Shot-2022_2D00_07_2D00_08-at-11.34.44-AM.png" /&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Global_Search/"&gt;Global Search&lt;/a&gt;&amp;nbsp;h&lt;span&gt;ow to customize the global search results&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Elastic_Search"&gt;Elasticsearch&lt;/a&gt;&amp;nbsp;&lt;span&gt;how Sugar integrates with Elasticsearch&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Duplicate_Check/"&gt;Duplicate Check&lt;/a&gt;&amp;nbsp;&lt;span&gt;framework provides the capability to alter how the system searches for duplicate records in the database when creating records&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Configurator/"&gt;Configuration Settings&lt;/a&gt;&amp;nbsp;y&lt;span&gt;ou can access the Sugar config (filesystem) settings by using this&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Administration/"&gt;Administration Settings&lt;/a&gt;&amp;nbsp;&lt;span&gt;is used to manage settings stored in the database config table&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Tags/"&gt;Tags&lt;/a&gt;&amp;nbsp;&lt;span&gt;allows a user to apply as many &amp;quot;tags&amp;quot; as they choose on any record they want to categorize&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Architecture/Validation_Constraints/"&gt;Validation Constraints&lt;/a&gt; &lt;span&gt;how to add validation constraints to&amp;nbsp;your custom&amp;nbsp;code&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Adding_Buttons_to_the_Application_Footer/"&gt;Adding Buttons to the Application Footer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Adding_Buttons_to_the_Record_View/"&gt;Adding Buttons to the Record View&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Creating_Custom_Fields"&gt;Creating Custom Field Types&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Creating_an_Auto-Incrementing_Field"&gt;Creating an Auto-Incrementing Field&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Dynamically_Hiding_Subpanels_Based_on_Record_Values"&gt;Dynamically Hiding Subpanels Based on Record Values&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Developer_Guide/Cookbook/Prepopulating_the_Compose_Email_View//"&gt;Prepopulating the Compose Email View&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h1 id="mcetoc_1g6ls8l4i0"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/h1&gt;
&lt;h3 id="mcetoc_1f5uvkqns0"&gt;&lt;span style="font-size:inherit;"&gt;You&amp;#39;re up and running, but don&amp;#39;t stop now - this is just the beginning of your journey. Now it&amp;#39;s time to &lt;a href="/dev-club/dev-onboarding/w/documentation/687/deployment-for-devs"&gt;Deployments&lt;/a&gt;.&lt;/span&gt;&lt;/h3&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>Customization for ISVs</title><link>https://sugarclub.sugarai.com/dev-club/w/dev-tutorials/676/customization-for-product-devs/revision/3</link><pubDate>Mon, 01 Aug 2022 19:52:01 GMT</pubDate><guid isPermaLink="false">5c521d64-519d-47a6-9065-134618b211bf:d079672c-261c-48ae-bc81-0860e657667f</guid><dc:creator>Rafael Fernandes</dc:creator><comments>https://sugarclub.sugarai.com/dev-club/w/dev-tutorials/676/customization-for-product-devs#comments</comments><description>Revision 3 posted to Dev Tutorials by Rafael Fernandes on 8/1/2022 7:52:01 PM&lt;br /&gt;
&lt;p&gt;Adoption isn&amp;rsquo;t a one and done initiative, it takes reinforcement. All members of your team need to embody the new way of doing things to truly find success.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;You&amp;rsquo;ve launched your new technology &amp;amp; processes, but now the real work begins &amp;ndash; reinforcing the new way of doing things. Just like in a garden, you&amp;rsquo;ve got to perform some maintenance to keep things looking great.&lt;/li&gt;
&lt;li&gt;By nature, people are resistant to change, so it&amp;rsquo;s critical that you understand who needs extra help and how you can highlight the benefits for your laggards &amp;amp; naysayers.&lt;/li&gt;
&lt;li&gt;Your Champions and Managerial teams are critical at this stage in your journey, so don&amp;rsquo;t forget to leverage them for help.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Download out &lt;a title="GROW Reinforce Workbook" href="/adoption/m/grow-resources/1591/download"&gt;GROW Reinforce Workbook&lt;/a&gt; for plans and worksheets that will take your adoption efforts to the next level. We&amp;#39;ve included additional resources and recommended learning plans below to help you reach your adoption goals.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a title="GROW Reinforce Workbook" href="/adoption/m/grow-resources/1591/download"&gt;&lt;img style="display:block;margin-left:auto;margin-right:auto;" alt="GROW Reinforce Workbook" src="/resized-image/__size/350x0/__key/communityserver-wikis-components-files/00-00-00-00-61/Reinforce-Workbook-Image.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id="mcetoc_1f5jisbk81"&gt;&lt;a id="BusinessCase"&gt;&lt;/a&gt;Bring your Business Cases to Life&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;We&amp;rsquo;ve talked about people, process, and technology and the importance of balancing all three.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;To help reinforce the outcomes you are working towards, provide users with scenarios that bring to life the changes you are making.&lt;/li&gt;
&lt;li&gt;Be sure to highlight the benefits to the individual as well as to the organization.&lt;/li&gt;
&lt;li&gt;Use these scenarios to inform future communications to individual teams or the broader business.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img class="align-left" style="display:block;margin-left:auto;margin-right:auto;" alt=" " src="/resized-image/__size/315x240/__key/communityserver-wikis-components-files/00-00-00-00-61/pastedimage1620934131710v1.png" /&gt;&lt;/p&gt;
&lt;p&gt;We&amp;#39;ve included a &lt;strong&gt;Business Case Worksheet&lt;/strong&gt; in our &lt;a title="GROW Reinforce Workbook" href="/adoption/m/grow-resources/1591/download"&gt;GROW Reinforce Workbook&lt;/a&gt; to get you started. Use the worksheet to define your scenarios and incorporate them into your planning efforts.&amp;nbsp;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id="mcetoc_1f5jjfc7g0"&gt;&lt;a id="LeverageYourLeaders"&gt;&lt;/a&gt;Leverage Your Leaders&lt;/h2&gt;
&lt;p&gt;Leaders come in all shapes and sizes within your organization, and you need &lt;i&gt;all &lt;/i&gt;of them to reinforce your message.&lt;/p&gt;
&lt;table width="1152"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="347"&gt;
&lt;p&gt;&lt;b&gt;Who&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="806"&gt;
&lt;p&gt;&lt;b&gt;What&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="347"&gt;
&lt;p&gt;Executives&lt;/p&gt;
&lt;/td&gt;
&lt;td width="806"&gt;
&lt;p&gt;Execs are critical champions who reinforce the vision and importance of transformation throughout the business.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="347"&gt;
&lt;p&gt;Managers&lt;/p&gt;
&lt;/td&gt;
&lt;td width="806"&gt;
&lt;p&gt;Managers are a key link between executives, project teams, and front-line employees. They communicate important information and have a responsibility to ensure their employees are following new processes and using new systems.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="347"&gt;
&lt;p&gt;Ambassadors/Champions&lt;/p&gt;
&lt;/td&gt;
&lt;td width="806"&gt;
&lt;p&gt;Your champions act as evangelists to their individual teams and can provide much needed peer-level support to their colleagues.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="347"&gt;
&lt;p&gt;Early Adopters/Power Users&lt;/p&gt;
&lt;/td&gt;
&lt;td width="806"&gt;
&lt;p&gt;These individuals may not have leadership titles, but they certainly have leadership influence. They like using new technology and can influence their peers to get on board with the new program.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="mcetoc_1f5jji2mt1"&gt;Key Role: Managers&lt;/h3&gt;
&lt;p&gt;When building your adoption plan, don&amp;rsquo;t underestimate the powerful role of managers in your organization. They are key players responsible for:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Bridging the gap between executive leadership &amp;amp; front-line employees&lt;/li&gt;
&lt;li&gt;Modeling and encouraging desired processes and behaviors&lt;/li&gt;
&lt;li&gt;Holding team members accountable for their individual contribution to company-wide goals and initiatives &amp;ndash; including adopting key technologies and processes&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Read our&amp;nbsp;eBook,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="/adoption/m/grow-resources/1618/download"&gt;Managing Through Change: The Key Role Managers Play in User Adoption&lt;/a&gt;, to learn more about the key role managers play in successful adoption.&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id="mcetoc_1f5jjjofr3"&gt;&lt;a id="LearnFromColleagues"&gt;&lt;/a&gt;Learn from Colleagues&amp;nbsp;&lt;img class="align-right" style="float:right;" alt=" " src="/resized-image/__size/240x240/__key/communityserver-wikis-components-files/00-00-00-00-61/pastedimage1620934759880v1.png" /&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Peer-to-peer networks are incredibly powerful&lt;/li&gt;
&lt;li&gt;Learning from colleagues is one of the fastest and most effective ways to learn new systems and processes&lt;/li&gt;
&lt;li&gt;Encourage Lunch &amp;amp; Learns and peer workshops to drive adoption within individual departments&lt;/li&gt;
&lt;li&gt;Make the most of peer networks by creating an Ambassador or Champion team to formalize the efforts&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Use the &lt;strong&gt;Create Your Ambassador Team Worksheet&lt;/strong&gt; in our &lt;a title="GROW Reinforce Workbook" href="/adoption/m/grow-resources/1591/download"&gt;GROW Reinforce Workbook&lt;/a&gt; to build your team and reinforce peer-to-peer learning.&amp;nbsp;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id="mcetoc_1f5jjnel14"&gt;&lt;a id="DefineSuccess"&gt;&lt;/a&gt;Define Key Targets of Success&lt;/h2&gt;
&lt;p&gt;Establishing benchmarks to measure your success against is important in determining whether the changes you are implementing are working. Now that you are building consistent usage you can determine your current benchmark and work towards improvement.&amp;nbsp;&lt;/p&gt;
&lt;table width="1194"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="275"&gt;
&lt;p&gt;&lt;b&gt;Measure&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="591"&gt;
&lt;p&gt;&lt;b&gt;Method&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="328"&gt;
&lt;p&gt;&lt;b&gt;Example&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="275"&gt;
&lt;p&gt;Lead Conversion &amp;ndash; increase number of MQLs that convert to SQLs&lt;/p&gt;
&lt;/td&gt;
&lt;td width="591"&gt;
&lt;p&gt;Sugar Market &amp;amp; Sugar Sell &amp;ndash; use manual and predictive lead scoring models to pass more qualified leads to sales&lt;/p&gt;
&lt;/td&gt;
&lt;td width="328"&gt;
&lt;p&gt;Increase number of MQLs that convert to SQLs by 10%&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="275"&gt;
&lt;p&gt;Opportunity Velocity &amp;ndash; decrease amount of time between opportunity creation and close-won&lt;/p&gt;
&lt;/td&gt;
&lt;td width="591"&gt;
&lt;p&gt;Sugar Sell &amp;amp; Sugar Discover &amp;ndash; use proper opportunity stage tracking to determine amount of time per sales stage and implement new process to increase velocity through stages&lt;/p&gt;
&lt;/td&gt;
&lt;td width="328"&gt;
&lt;p&gt;Decrease time from creation to closure by 7 days&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="275"&gt;
&lt;p&gt;Cost to Serve &amp;ndash; increase service agent efficiency&lt;/p&gt;
&lt;/td&gt;
&lt;td width="591"&gt;
&lt;p&gt;Sugar Serve &amp;ndash; reduce time to resolution (TTR) through use of SugarLive&lt;/p&gt;
&lt;/td&gt;
&lt;td width="328"&gt;
&lt;p&gt;50% of cases resolved on first call/contact&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Use the &lt;strong&gt;Success Benchmark Worksheet&lt;/strong&gt; in the&amp;nbsp;&lt;span&gt;in our&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a title="GROW Reinforce Workbook" href="/adoption/m/grow-resources/1591/download"&gt;GROW Reinforce Workbook&lt;/a&gt;&amp;nbsp;to determine your success metrics, owners, goals, and actuals.&amp;nbsp;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id="mcetoc_1f5lmogbo5"&gt;&lt;strong&gt;&lt;a id="Resources-Downloads"&gt;&lt;/a&gt;Resources &amp;amp; Downloads&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Use the additional resources and downloads below to further support your adoption efforts as your work through the GROW Adoption Framework.&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Workbook&lt;/td&gt;
&lt;td&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a title="GROW Reinforce Workbook" href="/adoption/m/grow-resources/1591/download"&gt;GROW Reinforce Workbook&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Additional Resources&lt;/td&gt;
&lt;td&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a title="Optimizing User Adoption Part 4 - Applying Change Management" href="/adoption/m/grow-resources/1599/download"&gt;Optimizing User Adoption Part 4 - Applying Change Management&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title="Optimizing User Adoption Part 5 - Measuring, Reporting, Iterating, Adjusting" href="/adoption/m/grow-resources/1600/download"&gt;Optimizing User Adoption Part 5 - Measuring, Reporting, Iterating, Adjusting&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;eBook: &lt;a href="/adoption/m/grow-resources/1618/download"&gt;Managing Through Change: The Key Role Managers Play in User Adoption&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title="Sugar Bingo" href="/adoption/m/grow-resources/1617/download"&gt;Sugar Bingo&lt;/a&gt;:&amp;nbsp;Make adoption fun for users&lt;/li&gt;
&lt;li&gt;Blog: &lt;a href="https://www.sugarcrm.com/blog/drive-crm-user-adoption-by-creating-paybacks/" rel="noopener noreferrer" target="_blank"&gt;Drive CRM User Adoption&amp;nbsp;by Creating Paybacks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Blog: &lt;a title="4 Reasons for Low CRM Adoption Rates" href="https://www.sugarcrm.com/blog/low-crm-user-adoption-rates/" rel="noopener noreferrer" target="_blank"&gt;4 Reasons for Low CRM Adoption Rates&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Blog: &lt;a href="https://www.sugarcrm.com/blog/lack-business-understanding-jeopradize-implementation/" rel="noopener noreferrer" target="_blank"&gt;How Can Lack of Business Understanding Jeopardize Your CRM and Marketing Automation Implementation?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/learn/quick-videos"&gt;Quick Video Tutorials&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title="Data Quality Best Practices" href="/adoption/m/grow-resources/1904/download"&gt;Data Quality Best Practices&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.sugarcrm.com/hd-cx/assessment/?utm_source=referral&amp;amp;utm_medium=telemarketing&amp;amp;utm_campaign=cm_global_sugar_growadoption_hdcx&amp;amp;utm_content=cxassessment"&gt;CX Assessment&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Templates&lt;/td&gt;
&lt;td&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a title="Adoption Planning Workshop Presentation" href="/adoption/m/grow-resources/1601/download"&gt;Adoption Planning Workshop Presentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/adoption/m/grow-resources/1603/download"&gt;Project Update Communication Examples&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title="Change Readiness Assessment Template" href="https://forms.office.com/Pages/ShareFormPage.aspx?id=aIPc1H9W9UikqCc_jClYxUoO3BWCWh5DqhOEMtL2NX1UOEhaTk81U1hLUU1PMFU5OEtSVjBFSDhHRS4u&amp;amp;sharetoken=kzEULeeQnDIjeHiGP76D"&gt;Change Readiness Assessment Template&lt;/a&gt;&amp;nbsp;(Long Form)&lt;/li&gt;
&lt;li&gt;&lt;a title="Change Readiness Assessment Template" href="https://forms.office.com/Pages/ShareFormPage.aspx?id=aIPc1H9W9UikqCc_jClYxUoO3BWCWh5DqhOEMtL2NX1UNzE1NTAxSTJFWkUyNE1BUkE1U0pXV0kyMS4u&amp;amp;sharetoken=MsuunraSI8LspprzJEWx"&gt;Change Readiness Assessment Template&lt;/a&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(Short Form)&lt;/li&gt;
&lt;li&gt;&lt;a title="Sample FAQs" href="/adoption/m/grow-resources/1610/download"&gt;Sample FAQ&amp;#39;s&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="mcetoc_1f5lmqd476"&gt;&lt;a id="LP"&gt;&lt;/a&gt;Learning Plans&lt;/h2&gt;
&lt;p&gt;Below you&amp;#39;ll find links to Learning Plans that contain our recommended courseware for your Sugar solutions at this phase in your adoption journey. Review them yourself&amp;nbsp;or&amp;nbsp;use them to create training plans for your teams to help support your rollout and adoption efforts.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Market&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Sell&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Serve&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://university.sugarcrm.com/learn/learning_plan/view/21/reinforce-sugar-market-educational-offerings" rel="noopener noreferrer" target="_blank"&gt;Register now&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://university.sugarcrm.com/learn/learning_plan/view/22/reinforce-sugar-sell-educational-offerings" rel="noopener noreferrer" target="_blank"&gt;Register now&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://university.sugarcrm.com/learn/learning_plan/view/23/reinforce-sugar-serve-educational-offerings" rel="noopener noreferrer" target="_blank"&gt;Register now&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Connect&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Discover&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://university.sugarcrm.com/learn/catalog?ctldoc-catalog-0=se-Connect~category_id-2" rel="noopener noreferrer" target="_blank"&gt;Learn more&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://university.sugarcrm.com/learn/catalog?ctldoc-catalog-0=se-discover~category_id-2" rel="noopener noreferrer" target="_blank"&gt;Learn more&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="mcetoc_1f5jk0h720"&gt;&lt;br /&gt;After completing the Reinforce stage or the GROW Adoption Framework, your teams should be exhibiting consistent usage of technology and following clear, repeatable processes. Now it&amp;#39;s time to move onto the next stage - &lt;a title="Optimize" href="/adoption/w/adoption-framework/454/optimize"&gt;Optimize&lt;/a&gt;.&amp;nbsp;&lt;/h3&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>Customization</title><link>https://sugarclub.sugarai.com/dev-club/w/dev-tutorials/676/customization-for-product-devs/revision/2</link><pubDate>Fri, 24 Jun 2022 15:18:19 GMT</pubDate><guid isPermaLink="false">5c521d64-519d-47a6-9065-134618b211bf:d079672c-261c-48ae-bc81-0860e657667f</guid><dc:creator>Rafael Fernandes</dc:creator><comments>https://sugarclub.sugarai.com/dev-club/w/dev-tutorials/676/customization-for-product-devs#comments</comments><description>Revision 2 posted to Dev Tutorials by Rafael Fernandes on 6/24/2022 3:18:19 PM&lt;br /&gt;
&lt;p&gt;Adoption isn&amp;rsquo;t a one and done initiative, it takes reinforcement. All members of your team need to embody the new way of doing things to truly find success.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;You&amp;rsquo;ve launched your new technology &amp;amp; processes, but now the real work begins &amp;ndash; reinforcing the new way of doing things. Just like in a garden, you&amp;rsquo;ve got to perform some maintenance to keep things looking great.&lt;/li&gt;
&lt;li&gt;By nature, people are resistant to change, so it&amp;rsquo;s critical that you understand who needs extra help and how you can highlight the benefits for your laggards &amp;amp; naysayers.&lt;/li&gt;
&lt;li&gt;Your Champions and Managerial teams are critical at this stage in your journey, so don&amp;rsquo;t forget to leverage them for help.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Download out &lt;a title="GROW Reinforce Workbook" href="/adoption/m/grow-resources/1591/download"&gt;GROW Reinforce Workbook&lt;/a&gt; for plans and worksheets that will take your adoption efforts to the next level. We&amp;#39;ve included additional resources and recommended learning plans below to help you reach your adoption goals.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a title="GROW Reinforce Workbook" href="/adoption/m/grow-resources/1591/download"&gt;&lt;img style="display:block;margin-left:auto;margin-right:auto;" alt="GROW Reinforce Workbook" src="/resized-image/__size/350x0/__key/communityserver-wikis-components-files/00-00-00-00-61/Reinforce-Workbook-Image.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id="mcetoc_1f5jisbk81"&gt;&lt;a id="BusinessCase"&gt;&lt;/a&gt;Bring your Business Cases to Life&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;We&amp;rsquo;ve talked about people, process, and technology and the importance of balancing all three.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;To help reinforce the outcomes you are working towards, provide users with scenarios that bring to life the changes you are making.&lt;/li&gt;
&lt;li&gt;Be sure to highlight the benefits to the individual as well as to the organization.&lt;/li&gt;
&lt;li&gt;Use these scenarios to inform future communications to individual teams or the broader business.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img class="align-left" style="display:block;margin-left:auto;margin-right:auto;" alt=" " src="/resized-image/__size/315x240/__key/communityserver-wikis-components-files/00-00-00-00-61/pastedimage1620934131710v1.png" /&gt;&lt;/p&gt;
&lt;p&gt;We&amp;#39;ve included a &lt;strong&gt;Business Case Worksheet&lt;/strong&gt; in our &lt;a title="GROW Reinforce Workbook" href="/adoption/m/grow-resources/1591/download"&gt;GROW Reinforce Workbook&lt;/a&gt; to get you started. Use the worksheet to define your scenarios and incorporate them into your planning efforts.&amp;nbsp;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id="mcetoc_1f5jjfc7g0"&gt;&lt;a id="LeverageYourLeaders"&gt;&lt;/a&gt;Leverage Your Leaders&lt;/h2&gt;
&lt;p&gt;Leaders come in all shapes and sizes within your organization, and you need &lt;i&gt;all &lt;/i&gt;of them to reinforce your message.&lt;/p&gt;
&lt;table width="1152"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="347"&gt;
&lt;p&gt;&lt;b&gt;Who&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="806"&gt;
&lt;p&gt;&lt;b&gt;What&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="347"&gt;
&lt;p&gt;Executives&lt;/p&gt;
&lt;/td&gt;
&lt;td width="806"&gt;
&lt;p&gt;Execs are critical champions who reinforce the vision and importance of transformation throughout the business.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="347"&gt;
&lt;p&gt;Managers&lt;/p&gt;
&lt;/td&gt;
&lt;td width="806"&gt;
&lt;p&gt;Managers are a key link between executives, project teams, and front-line employees. They communicate important information and have a responsibility to ensure their employees are following new processes and using new systems.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="347"&gt;
&lt;p&gt;Ambassadors/Champions&lt;/p&gt;
&lt;/td&gt;
&lt;td width="806"&gt;
&lt;p&gt;Your champions act as evangelists to their individual teams and can provide much needed peer-level support to their colleagues.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="347"&gt;
&lt;p&gt;Early Adopters/Power Users&lt;/p&gt;
&lt;/td&gt;
&lt;td width="806"&gt;
&lt;p&gt;These individuals may not have leadership titles, but they certainly have leadership influence. They like using new technology and can influence their peers to get on board with the new program.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="mcetoc_1f5jji2mt1"&gt;Key Role: Managers&lt;/h3&gt;
&lt;p&gt;When building your adoption plan, don&amp;rsquo;t underestimate the powerful role of managers in your organization. They are key players responsible for:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Bridging the gap between executive leadership &amp;amp; front-line employees&lt;/li&gt;
&lt;li&gt;Modeling and encouraging desired processes and behaviors&lt;/li&gt;
&lt;li&gt;Holding team members accountable for their individual contribution to company-wide goals and initiatives &amp;ndash; including adopting key technologies and processes&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Read our&amp;nbsp;eBook,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="/adoption/m/grow-resources/1618/download"&gt;Managing Through Change: The Key Role Managers Play in User Adoption&lt;/a&gt;, to learn more about the key role managers play in successful adoption.&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id="mcetoc_1f5jjjofr3"&gt;&lt;a id="LearnFromColleagues"&gt;&lt;/a&gt;Learn from Colleagues&amp;nbsp;&lt;img class="align-right" style="float:right;" alt=" " src="/resized-image/__size/240x240/__key/communityserver-wikis-components-files/00-00-00-00-61/pastedimage1620934759880v1.png" /&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Peer-to-peer networks are incredibly powerful&lt;/li&gt;
&lt;li&gt;Learning from colleagues is one of the fastest and most effective ways to learn new systems and processes&lt;/li&gt;
&lt;li&gt;Encourage Lunch &amp;amp; Learns and peer workshops to drive adoption within individual departments&lt;/li&gt;
&lt;li&gt;Make the most of peer networks by creating an Ambassador or Champion team to formalize the efforts&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Use the &lt;strong&gt;Create Your Ambassador Team Worksheet&lt;/strong&gt; in our &lt;a title="GROW Reinforce Workbook" href="/adoption/m/grow-resources/1591/download"&gt;GROW Reinforce Workbook&lt;/a&gt; to build your team and reinforce peer-to-peer learning.&amp;nbsp;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id="mcetoc_1f5jjnel14"&gt;&lt;a id="DefineSuccess"&gt;&lt;/a&gt;Define Key Targets of Success&lt;/h2&gt;
&lt;p&gt;Establishing benchmarks to measure your success against is important in determining whether the changes you are implementing are working. Now that you are building consistent usage you can determine your current benchmark and work towards improvement.&amp;nbsp;&lt;/p&gt;
&lt;table width="1194"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="275"&gt;
&lt;p&gt;&lt;b&gt;Measure&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="591"&gt;
&lt;p&gt;&lt;b&gt;Method&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="328"&gt;
&lt;p&gt;&lt;b&gt;Example&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="275"&gt;
&lt;p&gt;Lead Conversion &amp;ndash; increase number of MQLs that convert to SQLs&lt;/p&gt;
&lt;/td&gt;
&lt;td width="591"&gt;
&lt;p&gt;Sugar Market &amp;amp; Sugar Sell &amp;ndash; use manual and predictive lead scoring models to pass more qualified leads to sales&lt;/p&gt;
&lt;/td&gt;
&lt;td width="328"&gt;
&lt;p&gt;Increase number of MQLs that convert to SQLs by 10%&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="275"&gt;
&lt;p&gt;Opportunity Velocity &amp;ndash; decrease amount of time between opportunity creation and close-won&lt;/p&gt;
&lt;/td&gt;
&lt;td width="591"&gt;
&lt;p&gt;Sugar Sell &amp;amp; Sugar Discover &amp;ndash; use proper opportunity stage tracking to determine amount of time per sales stage and implement new process to increase velocity through stages&lt;/p&gt;
&lt;/td&gt;
&lt;td width="328"&gt;
&lt;p&gt;Decrease time from creation to closure by 7 days&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="275"&gt;
&lt;p&gt;Cost to Serve &amp;ndash; increase service agent efficiency&lt;/p&gt;
&lt;/td&gt;
&lt;td width="591"&gt;
&lt;p&gt;Sugar Serve &amp;ndash; reduce time to resolution (TTR) through use of SugarLive&lt;/p&gt;
&lt;/td&gt;
&lt;td width="328"&gt;
&lt;p&gt;50% of cases resolved on first call/contact&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Use the &lt;strong&gt;Success Benchmark Worksheet&lt;/strong&gt; in the&amp;nbsp;&lt;span&gt;in our&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a title="GROW Reinforce Workbook" href="/adoption/m/grow-resources/1591/download"&gt;GROW Reinforce Workbook&lt;/a&gt;&amp;nbsp;to determine your success metrics, owners, goals, and actuals.&amp;nbsp;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id="mcetoc_1f5lmogbo5"&gt;&lt;strong&gt;&lt;a id="Resources-Downloads"&gt;&lt;/a&gt;Resources &amp;amp; Downloads&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Use the additional resources and downloads below to further support your adoption efforts as your work through the GROW Adoption Framework.&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Workbook&lt;/td&gt;
&lt;td&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a title="GROW Reinforce Workbook" href="/adoption/m/grow-resources/1591/download"&gt;GROW Reinforce Workbook&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Additional Resources&lt;/td&gt;
&lt;td&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a title="Optimizing User Adoption Part 4 - Applying Change Management" href="/adoption/m/grow-resources/1599/download"&gt;Optimizing User Adoption Part 4 - Applying Change Management&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title="Optimizing User Adoption Part 5 - Measuring, Reporting, Iterating, Adjusting" href="/adoption/m/grow-resources/1600/download"&gt;Optimizing User Adoption Part 5 - Measuring, Reporting, Iterating, Adjusting&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;eBook: &lt;a href="/adoption/m/grow-resources/1618/download"&gt;Managing Through Change: The Key Role Managers Play in User Adoption&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title="Sugar Bingo" href="/adoption/m/grow-resources/1617/download"&gt;Sugar Bingo&lt;/a&gt;:&amp;nbsp;Make adoption fun for users&lt;/li&gt;
&lt;li&gt;Blog: &lt;a href="https://www.sugarcrm.com/blog/drive-crm-user-adoption-by-creating-paybacks/" rel="noopener noreferrer" target="_blank"&gt;Drive CRM User Adoption&amp;nbsp;by Creating Paybacks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Blog: &lt;a title="4 Reasons for Low CRM Adoption Rates" href="https://www.sugarcrm.com/blog/low-crm-user-adoption-rates/" rel="noopener noreferrer" target="_blank"&gt;4 Reasons for Low CRM Adoption Rates&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Blog: &lt;a href="https://www.sugarcrm.com/blog/lack-business-understanding-jeopradize-implementation/" rel="noopener noreferrer" target="_blank"&gt;How Can Lack of Business Understanding Jeopardize Your CRM and Marketing Automation Implementation?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/learn/quick-videos"&gt;Quick Video Tutorials&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title="Data Quality Best Practices" href="/adoption/m/grow-resources/1904/download"&gt;Data Quality Best Practices&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.sugarcrm.com/hd-cx/assessment/?utm_source=referral&amp;amp;utm_medium=telemarketing&amp;amp;utm_campaign=cm_global_sugar_growadoption_hdcx&amp;amp;utm_content=cxassessment"&gt;CX Assessment&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Templates&lt;/td&gt;
&lt;td&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a title="Adoption Planning Workshop Presentation" href="/adoption/m/grow-resources/1601/download"&gt;Adoption Planning Workshop Presentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/adoption/m/grow-resources/1603/download"&gt;Project Update Communication Examples&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title="Change Readiness Assessment Template" href="https://forms.office.com/Pages/ShareFormPage.aspx?id=aIPc1H9W9UikqCc_jClYxUoO3BWCWh5DqhOEMtL2NX1UOEhaTk81U1hLUU1PMFU5OEtSVjBFSDhHRS4u&amp;amp;sharetoken=kzEULeeQnDIjeHiGP76D"&gt;Change Readiness Assessment Template&lt;/a&gt;&amp;nbsp;(Long Form)&lt;/li&gt;
&lt;li&gt;&lt;a title="Change Readiness Assessment Template" href="https://forms.office.com/Pages/ShareFormPage.aspx?id=aIPc1H9W9UikqCc_jClYxUoO3BWCWh5DqhOEMtL2NX1UNzE1NTAxSTJFWkUyNE1BUkE1U0pXV0kyMS4u&amp;amp;sharetoken=MsuunraSI8LspprzJEWx"&gt;Change Readiness Assessment Template&lt;/a&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(Short Form)&lt;/li&gt;
&lt;li&gt;&lt;a title="Sample FAQs" href="/adoption/m/grow-resources/1610/download"&gt;Sample FAQ&amp;#39;s&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="mcetoc_1f5lmqd476"&gt;&lt;a id="LP"&gt;&lt;/a&gt;Learning Plans&lt;/h2&gt;
&lt;p&gt;Below you&amp;#39;ll find links to Learning Plans that contain our recommended courseware for your Sugar solutions at this phase in your adoption journey. Review them yourself&amp;nbsp;or&amp;nbsp;use them to create training plans for your teams to help support your rollout and adoption efforts.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Market&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Sell&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Serve&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://university.sugarcrm.com/learn/learning_plan/view/21/reinforce-sugar-market-educational-offerings" rel="noopener noreferrer" target="_blank"&gt;Register now&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://university.sugarcrm.com/learn/learning_plan/view/22/reinforce-sugar-sell-educational-offerings" rel="noopener noreferrer" target="_blank"&gt;Register now&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://university.sugarcrm.com/learn/learning_plan/view/23/reinforce-sugar-serve-educational-offerings" rel="noopener noreferrer" target="_blank"&gt;Register now&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Connect&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Discover&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://university.sugarcrm.com/learn/catalog?ctldoc-catalog-0=se-Connect~category_id-2" rel="noopener noreferrer" target="_blank"&gt;Learn more&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://university.sugarcrm.com/learn/catalog?ctldoc-catalog-0=se-discover~category_id-2" rel="noopener noreferrer" target="_blank"&gt;Learn more&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="mcetoc_1f5jk0h720"&gt;&lt;br /&gt;After completing the Reinforce stage or the GROW Adoption Framework, your teams should be exhibiting consistent usage of technology and following clear, repeatable processes. Now it&amp;#39;s time to move onto the next stage - &lt;a title="Optimize" href="/adoption/w/adoption-framework/454/optimize"&gt;Optimize&lt;/a&gt;.&amp;nbsp;&lt;/h3&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>Reinforce</title><link>https://sugarclub.sugarai.com/dev-club/w/dev-tutorials/676/customization-for-product-devs/revision/1</link><pubDate>Thu, 23 Jun 2022 21:53:02 GMT</pubDate><guid isPermaLink="false">5c521d64-519d-47a6-9065-134618b211bf:d079672c-261c-48ae-bc81-0860e657667f</guid><dc:creator>Alex Nassi</dc:creator><comments>https://sugarclub.sugarai.com/dev-club/w/dev-tutorials/676/customization-for-product-devs#comments</comments><description>Revision 1 posted to Dev Tutorials by Alex Nassi on 6/23/2022 9:53:02 PM&lt;br /&gt;
&lt;p&gt;Adoption isn&amp;rsquo;t a one and done initiative, it takes reinforcement. All members of your team need to embody the new way of doing things to truly find success.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;You&amp;rsquo;ve launched your new technology &amp;amp; processes, but now the real work begins &amp;ndash; reinforcing the new way of doing things. Just like in a garden, you&amp;rsquo;ve got to perform some maintenance to keep things looking great.&lt;/li&gt;
&lt;li&gt;By nature, people are resistant to change, so it&amp;rsquo;s critical that you understand who needs extra help and how you can highlight the benefits for your laggards &amp;amp; naysayers.&lt;/li&gt;
&lt;li&gt;Your Champions and Managerial teams are critical at this stage in your journey, so don&amp;rsquo;t forget to leverage them for help.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Download out &lt;a title="GROW Reinforce Workbook" href="/adoption/m/grow-resources/1591/download"&gt;GROW Reinforce Workbook&lt;/a&gt; for plans and worksheets that will take your adoption efforts to the next level. We&amp;#39;ve included additional resources and recommended learning plans below to help you reach your adoption goals.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a title="GROW Reinforce Workbook" href="/adoption/m/grow-resources/1591/download"&gt;&lt;img style="display:block;margin-left:auto;margin-right:auto;" alt="GROW Reinforce Workbook" src="/resized-image/__size/350x0/__key/communityserver-wikis-components-files/00-00-00-00-61/Reinforce-Workbook-Image.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id="mcetoc_1f5jisbk81"&gt;&lt;a id="BusinessCase"&gt;&lt;/a&gt;Bring your Business Cases to Life&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;We&amp;rsquo;ve talked about people, process, and technology and the importance of balancing all three.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;To help reinforce the outcomes you are working towards, provide users with scenarios that bring to life the changes you are making.&lt;/li&gt;
&lt;li&gt;Be sure to highlight the benefits to the individual as well as to the organization.&lt;/li&gt;
&lt;li&gt;Use these scenarios to inform future communications to individual teams or the broader business.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img class="align-left" style="display:block;margin-left:auto;margin-right:auto;" alt=" " src="/resized-image/__size/315x240/__key/communityserver-wikis-components-files/00-00-00-00-61/pastedimage1620934131710v1.png" /&gt;&lt;/p&gt;
&lt;p&gt;We&amp;#39;ve included a &lt;strong&gt;Business Case Worksheet&lt;/strong&gt; in our &lt;a title="GROW Reinforce Workbook" href="/adoption/m/grow-resources/1591/download"&gt;GROW Reinforce Workbook&lt;/a&gt; to get you started. Use the worksheet to define your scenarios and incorporate them into your planning efforts.&amp;nbsp;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id="mcetoc_1f5jjfc7g0"&gt;&lt;a id="LeverageYourLeaders"&gt;&lt;/a&gt;Leverage Your Leaders&lt;/h2&gt;
&lt;p&gt;Leaders come in all shapes and sizes within your organization, and you need &lt;i&gt;all &lt;/i&gt;of them to reinforce your message.&lt;/p&gt;
&lt;table width="1152"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="347"&gt;
&lt;p&gt;&lt;b&gt;Who&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="806"&gt;
&lt;p&gt;&lt;b&gt;What&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="347"&gt;
&lt;p&gt;Executives&lt;/p&gt;
&lt;/td&gt;
&lt;td width="806"&gt;
&lt;p&gt;Execs are critical champions who reinforce the vision and importance of transformation throughout the business.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="347"&gt;
&lt;p&gt;Managers&lt;/p&gt;
&lt;/td&gt;
&lt;td width="806"&gt;
&lt;p&gt;Managers are a key link between executives, project teams, and front-line employees. They communicate important information and have a responsibility to ensure their employees are following new processes and using new systems.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="347"&gt;
&lt;p&gt;Ambassadors/Champions&lt;/p&gt;
&lt;/td&gt;
&lt;td width="806"&gt;
&lt;p&gt;Your champions act as evangelists to their individual teams and can provide much needed peer-level support to their colleagues.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="347"&gt;
&lt;p&gt;Early Adopters/Power Users&lt;/p&gt;
&lt;/td&gt;
&lt;td width="806"&gt;
&lt;p&gt;These individuals may not have leadership titles, but they certainly have leadership influence. They like using new technology and can influence their peers to get on board with the new program.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="mcetoc_1f5jji2mt1"&gt;Key Role: Managers&lt;/h3&gt;
&lt;p&gt;When building your adoption plan, don&amp;rsquo;t underestimate the powerful role of managers in your organization. They are key players responsible for:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Bridging the gap between executive leadership &amp;amp; front-line employees&lt;/li&gt;
&lt;li&gt;Modeling and encouraging desired processes and behaviors&lt;/li&gt;
&lt;li&gt;Holding team members accountable for their individual contribution to company-wide goals and initiatives &amp;ndash; including adopting key technologies and processes&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Read our&amp;nbsp;eBook,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="/adoption/m/grow-resources/1618/download"&gt;Managing Through Change: The Key Role Managers Play in User Adoption&lt;/a&gt;, to learn more about the key role managers play in successful adoption.&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id="mcetoc_1f5jjjofr3"&gt;&lt;a id="LearnFromColleagues"&gt;&lt;/a&gt;Learn from Colleagues&amp;nbsp;&lt;img class="align-right" style="float:right;" alt=" " src="/resized-image/__size/240x240/__key/communityserver-wikis-components-files/00-00-00-00-61/pastedimage1620934759880v1.png" /&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Peer-to-peer networks are incredibly powerful&lt;/li&gt;
&lt;li&gt;Learning from colleagues is one of the fastest and most effective ways to learn new systems and processes&lt;/li&gt;
&lt;li&gt;Encourage Lunch &amp;amp; Learns and peer workshops to drive adoption within individual departments&lt;/li&gt;
&lt;li&gt;Make the most of peer networks by creating an Ambassador or Champion team to formalize the efforts&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Use the &lt;strong&gt;Create Your Ambassador Team Worksheet&lt;/strong&gt; in our &lt;a title="GROW Reinforce Workbook" href="/adoption/m/grow-resources/1591/download"&gt;GROW Reinforce Workbook&lt;/a&gt; to build your team and reinforce peer-to-peer learning.&amp;nbsp;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id="mcetoc_1f5jjnel14"&gt;&lt;a id="DefineSuccess"&gt;&lt;/a&gt;Define Key Targets of Success&lt;/h2&gt;
&lt;p&gt;Establishing benchmarks to measure your success against is important in determining whether the changes you are implementing are working. Now that you are building consistent usage you can determine your current benchmark and work towards improvement.&amp;nbsp;&lt;/p&gt;
&lt;table width="1194"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="275"&gt;
&lt;p&gt;&lt;b&gt;Measure&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="591"&gt;
&lt;p&gt;&lt;b&gt;Method&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="328"&gt;
&lt;p&gt;&lt;b&gt;Example&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="275"&gt;
&lt;p&gt;Lead Conversion &amp;ndash; increase number of MQLs that convert to SQLs&lt;/p&gt;
&lt;/td&gt;
&lt;td width="591"&gt;
&lt;p&gt;Sugar Market &amp;amp; Sugar Sell &amp;ndash; use manual and predictive lead scoring models to pass more qualified leads to sales&lt;/p&gt;
&lt;/td&gt;
&lt;td width="328"&gt;
&lt;p&gt;Increase number of MQLs that convert to SQLs by 10%&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="275"&gt;
&lt;p&gt;Opportunity Velocity &amp;ndash; decrease amount of time between opportunity creation and close-won&lt;/p&gt;
&lt;/td&gt;
&lt;td width="591"&gt;
&lt;p&gt;Sugar Sell &amp;amp; Sugar Discover &amp;ndash; use proper opportunity stage tracking to determine amount of time per sales stage and implement new process to increase velocity through stages&lt;/p&gt;
&lt;/td&gt;
&lt;td width="328"&gt;
&lt;p&gt;Decrease time from creation to closure by 7 days&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="275"&gt;
&lt;p&gt;Cost to Serve &amp;ndash; increase service agent efficiency&lt;/p&gt;
&lt;/td&gt;
&lt;td width="591"&gt;
&lt;p&gt;Sugar Serve &amp;ndash; reduce time to resolution (TTR) through use of SugarLive&lt;/p&gt;
&lt;/td&gt;
&lt;td width="328"&gt;
&lt;p&gt;50% of cases resolved on first call/contact&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Use the &lt;strong&gt;Success Benchmark Worksheet&lt;/strong&gt; in the&amp;nbsp;&lt;span&gt;in our&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a title="GROW Reinforce Workbook" href="/adoption/m/grow-resources/1591/download"&gt;GROW Reinforce Workbook&lt;/a&gt;&amp;nbsp;to determine your success metrics, owners, goals, and actuals.&amp;nbsp;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id="mcetoc_1f5lmogbo5"&gt;&lt;strong&gt;&lt;a id="Resources-Downloads"&gt;&lt;/a&gt;Resources &amp;amp; Downloads&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Use the additional resources and downloads below to further support your adoption efforts as your work through the GROW Adoption Framework.&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Workbook&lt;/td&gt;
&lt;td&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a title="GROW Reinforce Workbook" href="/adoption/m/grow-resources/1591/download"&gt;GROW Reinforce Workbook&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Additional Resources&lt;/td&gt;
&lt;td&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a title="Optimizing User Adoption Part 4 - Applying Change Management" href="/adoption/m/grow-resources/1599/download"&gt;Optimizing User Adoption Part 4 - Applying Change Management&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title="Optimizing User Adoption Part 5 - Measuring, Reporting, Iterating, Adjusting" href="/adoption/m/grow-resources/1600/download"&gt;Optimizing User Adoption Part 5 - Measuring, Reporting, Iterating, Adjusting&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;eBook: &lt;a href="/adoption/m/grow-resources/1618/download"&gt;Managing Through Change: The Key Role Managers Play in User Adoption&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title="Sugar Bingo" href="/adoption/m/grow-resources/1617/download"&gt;Sugar Bingo&lt;/a&gt;:&amp;nbsp;Make adoption fun for users&lt;/li&gt;
&lt;li&gt;Blog: &lt;a href="https://www.sugarcrm.com/blog/drive-crm-user-adoption-by-creating-paybacks/" rel="noopener noreferrer" target="_blank"&gt;Drive CRM User Adoption&amp;nbsp;by Creating Paybacks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Blog: &lt;a title="4 Reasons for Low CRM Adoption Rates" href="https://www.sugarcrm.com/blog/low-crm-user-adoption-rates/" rel="noopener noreferrer" target="_blank"&gt;4 Reasons for Low CRM Adoption Rates&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Blog: &lt;a href="https://www.sugarcrm.com/blog/lack-business-understanding-jeopradize-implementation/" rel="noopener noreferrer" target="_blank"&gt;How Can Lack of Business Understanding Jeopardize Your CRM and Marketing Automation Implementation?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/learn/quick-videos"&gt;Quick Video Tutorials&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title="Data Quality Best Practices" href="/adoption/m/grow-resources/1904/download"&gt;Data Quality Best Practices&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.sugarcrm.com/hd-cx/assessment/?utm_source=referral&amp;amp;utm_medium=telemarketing&amp;amp;utm_campaign=cm_global_sugar_growadoption_hdcx&amp;amp;utm_content=cxassessment"&gt;CX Assessment&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Templates&lt;/td&gt;
&lt;td&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a title="Adoption Planning Workshop Presentation" href="/adoption/m/grow-resources/1601/download"&gt;Adoption Planning Workshop Presentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/adoption/m/grow-resources/1603/download"&gt;Project Update Communication Examples&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title="Change Readiness Assessment Template" href="https://forms.office.com/Pages/ShareFormPage.aspx?id=aIPc1H9W9UikqCc_jClYxUoO3BWCWh5DqhOEMtL2NX1UOEhaTk81U1hLUU1PMFU5OEtSVjBFSDhHRS4u&amp;amp;sharetoken=kzEULeeQnDIjeHiGP76D"&gt;Change Readiness Assessment Template&lt;/a&gt;&amp;nbsp;(Long Form)&lt;/li&gt;
&lt;li&gt;&lt;a title="Change Readiness Assessment Template" href="https://forms.office.com/Pages/ShareFormPage.aspx?id=aIPc1H9W9UikqCc_jClYxUoO3BWCWh5DqhOEMtL2NX1UNzE1NTAxSTJFWkUyNE1BUkE1U0pXV0kyMS4u&amp;amp;sharetoken=MsuunraSI8LspprzJEWx"&gt;Change Readiness Assessment Template&lt;/a&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(Short Form)&lt;/li&gt;
&lt;li&gt;&lt;a title="Sample FAQs" href="/adoption/m/grow-resources/1610/download"&gt;Sample FAQ&amp;#39;s&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="mcetoc_1f5lmqd476"&gt;&lt;a id="LP"&gt;&lt;/a&gt;Learning Plans&lt;/h2&gt;
&lt;p&gt;Below you&amp;#39;ll find links to Learning Plans that contain our recommended courseware for your Sugar solutions at this phase in your adoption journey. Review them yourself&amp;nbsp;or&amp;nbsp;use them to create training plans for your teams to help support your rollout and adoption efforts.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Market&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Sell&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Serve&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://university.sugarcrm.com/learn/learning_plan/view/21/reinforce-sugar-market-educational-offerings" rel="noopener noreferrer" target="_blank"&gt;Register now&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://university.sugarcrm.com/learn/learning_plan/view/22/reinforce-sugar-sell-educational-offerings" rel="noopener noreferrer" target="_blank"&gt;Register now&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://university.sugarcrm.com/learn/learning_plan/view/23/reinforce-sugar-serve-educational-offerings" rel="noopener noreferrer" target="_blank"&gt;Register now&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Connect&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Discover&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://university.sugarcrm.com/learn/catalog?ctldoc-catalog-0=se-Connect~category_id-2" rel="noopener noreferrer" target="_blank"&gt;Learn more&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://university.sugarcrm.com/learn/catalog?ctldoc-catalog-0=se-discover~category_id-2" rel="noopener noreferrer" target="_blank"&gt;Learn more&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="mcetoc_1f5jk0h720"&gt;&lt;br /&gt;After completing the Reinforce stage or the GROW Adoption Framework, your teams should be exhibiting consistent usage of technology and following clear, repeatable processes. Now it&amp;#39;s time to move onto the next stage - &lt;a title="Optimize" href="/adoption/w/adoption-framework/454/optimize"&gt;Optimize&lt;/a&gt;.&amp;nbsp;&lt;/h3&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item></channel></rss>