Deployment
Where you plan to deploy Sugar code is the biggest factor in determining how Sugar code should be deployed and how your project should be managed.
Are you working on a Sugar project for an on-premise Sugar implementation? Are you working on a custom module that you plan on distributing through SugarOutfitters? Are you planning a solely REST API integration? The answers to these questions guide how you should develop and deploy Sugar code
- Sugar on-site projects : Develop these customizations using the exact version and flavor of Sugar that you plan to use in production.
- SugarCloud projects : Develop these customizations on the latest available version of Sugar for the particular flavor the customer has purchased.
- Custom modules or integrations : If you plan on distributing your customization to many Sugar customers via SugarOutfitters or channel partners, design your customization with Sugar's cloud service in mind.
- Sugar's cloud service is more restrictive than our on-site installs regarding supported customizations.
- A customization designed for Sugar's cloud service can be supported in Sugar on-site instances, but the inverse is not always true.
When deploying code into production, it is important to make sure you've abided by SugarCRM's Developer Policy. For the particulars on SugarCloud restrictions, please refer to the SugarCloud Policy Guide.
Packaging / Module Loadable Packages
If you plan on distributing Sugar custom code, then you must package your customization as a Module Loadable Package (a .zip file that includes all custom code along with a manifest file). It is easy to write a script to build a module loadable package either from custom directory content or by extracting customizations out of a development environment
- Introduction to the Manifest
- Creating an Installable Package for a Logic Hook
- Creating an Installable Package That Copies Files
- Creating an Installable Package that Creates New Fields
- Removing Files with an Installable Package
- Module Loader Restrictions
- Module Loader Restriction Alternatives
- How to version your Module Loadable Packages
- Package Examples
- Use Professor-M's Open-Source packaging mechanism
- Use Open-Source Sugar Module Packages
Tips and Tricks
The Job Queue executes automated tasks in Sugar through a scheduler, which integrates with external UNIX systems and Windows systems to run jobs that are scheduled through those systems. Jobs are the individual runs of the specified function from a scheduler:
- Managing Multiple Environments
- Testing methods to ensure the quality of your Sugar project
- Sugar recommends implementing DevOps automation
- Co-Existing with Studio Customizations
- Delivery and Deployment Guide for Enterprises
- Migration Guide