List of Actions that trigger a Metadata refresh

Hi everyone!

Does anyone have a definitive list of what actions in Sugar trigger a metadata refresh? I've only gotten very general answers so far from Sugar (i.e. changes in the admin panel). I need a more exact list of what specific actions cause a metadata refresh.

Any feedback would be greatly appreciated!

Thanks,

Shaun

  • My general reference is that - any action in Admin -> Developer tools and System -> Repair will trigger a metadata refresh, except for Workflow management.

  • , I will assume that you might have some customisations that cause additional/unnecessary metadata refreshes for a system, and that's the reason why you are looking to learn more.

    First of all please do keep in mind that "metadata refresh" is quite a broad and generic term. In line of principle, our metadata cache is designed to only rebuild itself as little as it has to, depending on how broad is the change and some metadata changes are more generic than others and therefore affect more parts of the metadata cache.

    Even roles and user settings might affect parts of the metadata cache (but not all of it).

    As a high level view of today's framework, there are metadata parts that are generic (eg: all views, layouts etc that apply to admin users and users without roles) and then there are more specific metadata parts that apply to every role possible combinations depending on what the metadata looks like for that subset of users/roles.

    Definitely anything that alters permanently or temporarily the state of the system including upgrades/layouts/views/language/modules/roles for all or a subset of users, will almost certainly trigger a partial or full metadata refresh.

    If my assumption is correct and you are attempting to track down customisations that cause additional metadata refresh, you have at your disposal the following log configuration parameter that will help you log when a metadata refresh happens, based on what actions are performed: 

    Fullscreen
    1
    $sugar_config['logger']['channels']['metadata']['level'] = 'debug';
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    Testing the system you should then be able to narrow down which actions cause a metadata part to rebuild, and narrow down your code search.

    Hope it helps

    --

    Enrico Simonetti

    Sugar veteran (from 2007)

    www.naonis.tech


    Feel free to reach out for consulting regarding:

    • API Integration and Automation Services
    • Sugar Architecture
    • Sugar Performance Optimisation
    • Sugar Consulting, Best Practices and Technical Training
    • AWS and Sugar Technical Help
    • CTO-as-a-service
    • Solutions-as-a-service
    • and more!

    All active SugarCRM certifications

    Actively working remotely with customers based in APAC and in the United States