How mam_app_settings_get_setting routes 100+ call sites through a single filter cascade with per-role and per-button fallback. The fallback is implemented in the data manager, not chained subscribers.
The complete inventory of mam-main’s frozen public contracts: AJAX actions, option keys, hook names, and DB tables that customer mobile apps and ~2K enrolled customer sites depend on. Renaming any…
How settings are scoped per-button (stored inside the button blob) and per-role (stored in role-specific options), how the cascade resolves conflicts, and the gotchas around blob-shaped per-button storage.
How button definitions are persisted: serialized arrays in the local-app-button-array* options. Why the option key is frozen, the per-role variants, and the implications for renames or schema changes.
mam_codex_manager — the settings inspection / discovery API. Lets admin tooling enumerate all registered settings, categories, and content-class field schemas without parsing PHP source.
Can't find the answer you're looking for? Don't worry we're here to help!