Understand QCDR Safe-Failure and Content-Preservation Behavior
QCDR is designed to prefer unchanged authored output over destructive partial output when a dynamic dependency cannot be resolved safely. That preservation happens at several levels: whole-request runtime failure, plan/targeting skips, unavailable Tokens, and hidden PHP failures.
A successful empty value is different from a failure. QCDR preserves content for failures it can identify, but it still honors intentional successful replacements—including an intentionally empty result.
Whole-Request Runtime Failure Preserves Joomla Output
The RuntimeEngine keeps a clean marker-free copy of Joomla's original rendered response. If an unexpected exception escapes normal item-level handling, QCDR logs a sanitized warning, marks processing as skipped, and returns that original output instead of a half-processed page.
Plan-Locked or Ineligible Rules Do Not Rewrite Their Targets
A Rule that is unavailable because of its required tier or targeting gates is skipped. Its potential find text remains in the page. A disabled Rule is not loaded for normal live processing at all.
If Token Live Processing is off, direct-value Rules can continue, but Rules that depend on Tokens are skipped so an unavailable replacement does not become blank output.
Unavailable Standalone Tokens Remain Authored Placeholders
QCDR remembers stored Token names even when a Token is Disabled, Draft, Archived, or plan-locked. If an authored placeholder refers to a known Token that is not currently eligible, QCDR leaves the literal placeholder unchanged rather than replacing it with an empty string.
The same preservation applies when Token targeting/dependencies or Joomla dynamic-data availability do not qualify for that location.
Token-Backed Rules Preserve the Original Match on Failure
Before applying a Token-backed Rule, QCDR checks whether the replacement Token is available in the exact target context. If it is not, that match is left alone. If a hidden PHP Token failure occurs, QCDR uses an internal unresolved sentinel and leaves the Rule's original matched text unchanged.
Embedded Token replacements follow the same principle: a hidden PHP dependency can cause the whole replacement value to remain unapplied instead of producing partial text such as a prefix followed by a broken placeholder.
Successful Empty Output Is Not a Failure
A PHP Token can legitimately execute successfully and emit an empty string. That successful empty result is cached/handled as success and can intentionally replace the selected content with nothing. QCDR does not confuse it with the internal unresolved-failure state.
What Safe Failure Does Not Promise
QCDR cannot protect you from an intentionally broad but valid Rule that replaces the wrong text, or from side effects performed by trusted custom PHP before that PHP fails. Use Draft, Preview/Rule Health, conservative targeting, and the emergency bypass for operational safety.
Community Discussion
Want to compare workflows, share practical tips, or discuss how you use this QCDR feature? Visit the QC Dynamic Replacer Community. For private support, bug reports, account-specific issues, or feature requests, use the QuantaCade support system.