Understanding the Product Definition Job in SugarCRM
When reviewing the sugarcrm.log, administrators may encounter errors such as:
- "Cannot update product definition"
- "(Update product definition) failed in CRON run"
These errors are often mistakenly linked to issues with the Products module or SugarBPM, but the root cause lies with the Update Product Definition job. Understanding how this job functions is key to effectively troubleshooting these errors.
The Update Product Definition job plays an important role in keeping licensing information synchronized within your SugarCRM instance. This ensures users have the correct permissions and access to features such as modules, dashlets, and records.
Working With the Product Definition Job
The Update Product Definition job is a scheduled job in SugarCRM and is not visible in the Schedulers module. This job retrieves and updates licensing information by making a web service call to: updates.sugarcrm.com/spds/
When the Update Product Definition job runs, it performs the following steps:
- Web Service Call: The job sends a request to the licensing server at
updates.sugarcrm.com/spds/. - Server Response: The licensing server responds with a JSON object containing the product definitions (i.e., licensing details).
- System Update: SugarCRM parses the JSON string and updates the system’s understanding of what licenses are required for the modules, dashlets, and records.
- Configuration Storage: The product definition settings are stored in the
$sugar_config['product_definition']array within theconfig.phpfile.
This process ensures that licensing data remains up to date and helps prevent issues where functionality is incorrectly restricted due to outdated or missing license information.
Troubleshooting Product Definition Job Failures
If you encounter errors such as "Cannot update product definition" or "Failed to update product definition in CRON run", investigate the following potential causes:
- Network Issues:
- Firewall Restrictions: Ensure the SugarCRM server can reach
updates.sugarcrm.com/spds/. You may need to contact your network administrator to allowlist this domain or adjust firewall rules. - Proxy Configuration: Verify that proxy settings are correctly configured and allow outbound connections to the licensing server.
- Firewall Restrictions: Ensure the SugarCRM server can reach
- Licensing Server Availability: Occasionally, the licensing server may be down or undergoing maintenance. Verify that the server is available by contacting SugarCRM Support or by running a curl request to
updates.sugarcrm.com/spds/. - Product Definition Configuration: For on-premise deployments, verify the
$sugar_config['product_definition']settings inconfig.php. Misconfigurations may prevent the job from completing successfully. -
Cron Misconfiguration: The Product Definition job runs as part of the system cron. Ensure that cron is properly configured and executing at the expected intervals. If the job is not running as expected, review cron logs to confirm it is triggering on schedule and completing successfully.
For SugarCloud instances, contact SugarCRM Support to verify that cron jobs are running correctly in your environment.