Core module customization and GIT collaboration in SuiteCRM 8.8

Hi All,

I would like to kindly ask whether anyone has experienced issues with customizing core modules in SuiteCRM.

We added several new fields to the Contacts module via Studio and are attempting to transfer them to another development instance using GIT. However, after pulling from the repository and running a repair (either through the GUI or using the script from this forum: Quick Repair and Rebuild Sugar from the Command line - adapted from Jeff Bickhart's version. Β· GitHub), the changes are not reflected in the database. The new fields are missing both in Studio and in the database itself.

This approach worked fine for a custom module created using Module Builder and Studio, but does not seem to work for the Contacts module.

Our GIT repository includes the entire SuiteCRM directory structure (bin, core, custom, dist, public, vendor, etc.), and we are using the Bitnami SuiteCRM 8.8.0 container.

Thank you in advance for any suggestions or guidance.

Kind regards,
Jan

We have observed that the issue should typically be resolved by running Quick Repair and Rebuild, which handles most metadata and cache-related inconsistencies. However, in this case, the issue persists even after performing that step.
It’s possible that permission-related restrictions or missing configurations are preventing the repair from fully applying the changes. The permissions could be related to specific file or directory permissions, ownership settings, or configuration values.

When creating fields using Studio, they are stored in database table named fields_meta_data. As this metadata is not stored in files and not committed to GIT, other instances does not have it and can’t recreate using Quick Repair and Rebuild.

We decided not to use Studio and create new fields describing them in .php files inside custom folder. You could also write Symfony command that exports metadata from the database to the file and another command that syncs the fields from the file with the one in the database table fields_meta_data.

Hi @jho
This does happen sometimes with core modules like Contacts. A few quick things to check:

  • Are the custom field files in custom/modules/Contacts/Ext/Vardefs/?
  • After Quick Repair & Rebuild, did you run the SQL it suggests?
  • Try clearing the cache folder (just contents), and make sure permissions are correct
  • Also, double-check Git isn’t missing key custom files due to .gitignore