In last week's blog post (How to Add Scheduler Tasks in the Manifest) I emphasized the importance of making things as easy as possible on the user. This means reducing what the user needs to do after an install to only what is absolutely necessary. Each additional step is a potential breaking point. Either the step could be missed or done incorrectly. This causes frustration, disappointment, and sometimes unadulterated rage. That then reflects poorly on the add-on, the developer, as well as SugarCRM itself.
No one wants any of that to happen and it is easy to prevent. One common step many add-ons require is to run a Quick Repair and Rebuild. If the user misses that step things can go awry. Fields are missing, modules can't be found, database errors abound, and so on. It's not the fault of the user either. Most off the time it is not obvious that an additional step is required. It could be hidden in the docs or some other obscure place. Other times the user just expects it to work. Why should they care about the quirks of SugarCRM?
They shouldn't and we can make sure of that by utilizing the post_install.php script. Simply dump this file in the /scripts directory inside the installable zip. The Module Installer will automatically pick it up.
This will not execute any generated SQL. If you are adding fields do so in the manifest in the custom_fields array (see also Creating an Installable Package that Creates New Fields). You can use the Ext framework's vardefs section, but it may not be added to the database automatically upon install. If you really, really need to do it the Ext way just set $autoexecute to true in the script above to automatically execute any generated SQL. It should also be altered to run on only your module(s) that are being installed.
Fenix Rise Customer Portal
Fenix Rise is a robust support ticketing system with FAQs, estimates, invoices and billing portal for WordPress. This app integrates WP-Billing with SugarCRM CE or SuiteCRM in a stand-alone WordPress support site.
Search more quickly and effectively with Dynamic Search. Using the name search field you can filter by any field in the list view to more quickly drill down to the exact records you need.
Empower your sales team by integrating with mautic. Our plugin provides bi-directional syncing with mautic as well as a unique sales intelligence dashlet. Push only hot leads to crm and make users a part of a mautic campaign right from within sugarcrm
- Show more addons