ActiveManage Docs ← Back to activemanage.co.uk

Resolving Configuration Inconsistencies

When the platform behaves unexpectedly, configuration inconsistency is a common cause — appconfig.php disagrees with the database, a tenant override is hiding a global change, a cached value is stale. This article walks through systematic diagnosis.

Configuration diagnostic page showing a setting key, columns for each scope (global, tenant, group, user), with the effective value highlighted; a 'flush cache' button at the top and 'show source' tooltip on hover

Diagnostic Tools

  • Effective-value lookup: Type any setting key, see which scope's value won and why.
  • Source breakdown: For each level (global, tenant, group, user) see the configured value and the source (appconfig.php, database).
  • Cache flush: Force the configuration cache to reload from source.
  • Audit log: See who changed what and when.

Common Inconsistency Patterns

  • Stale cache: DB value updated but cache hasn't refreshed. Click flush cache.
  • Tenant override hiding global change: You updated the global value but a tenant has an override that wins. Decide whether to clear the override.
  • appconfig.php conflict: appconfig.php has a value that's also set in the DB. The DB wins. Decide which source should be authoritative.
  • Wrong scope: You set the value at the wrong scope (e.g. user-level when you meant tenant-level). Move it to the right scope.

Systematic Diagnostic Procedure

  1. Reproduce the unexpected behaviour with a test user.
  2. Open the effective-value lookup and find the relevant setting.
  3. Compare the effective value to what you expected.
  4. Use the source breakdown to identify which scope's value won.
  5. Decide whether the value is wrong, the scope is wrong, or the cache is stale.
  6. Apply the fix at the appropriate scope.
  7. Flush cache.
  8. Re-test.

Worked Examples

  • Password policy not enforcing: Global is 12 chars but the tenant override is 8. Either remove the override or raise the override.
  • Stripe key mismatch: appconfig.php has the live key but the DB has a test key. DB wins; switch the DB value to live.
  • Stale logo: New logo uploaded but old still appears. Flush cache.
  • One user sees an old language: User-level preference was set in the past. Clear that user's preference to inherit current default.
Tip: Run a quarterly “configuration audit” — review which tenants have overrides, whether they're still warranted, and clean up stale ones. Less drift means easier diagnosis later.