The built-in contextual Help system in APG vNext provides inline documentation accessible via the "?" icon in the admin panel, the post editor, and various configuration screens. When the Help panel fails to load — showing a blank panel, a 404 error, or simply doing nothing when clicked — it prevents administrators from accessing the documentation they need during setup and configuration. This comprehensive guide covers every known cause of Help system failures and the exact fix for each one.
How the APG vNext Help System Works
The Help system in APG vNext operates in two modes depending on how the forum was deployed. In Online Mode (the default), clicking the Help icon loads documentation from a CDN endpoint hosted at docs.aspplayground.net. The content is embedded in an iframe or a JavaScript-rendered panel inside the admin interface. In Offline Mode, the documentation HTML files are served from the forum's own web server, typically from a /help/ subdirectory.
Understanding which mode your installation uses is the first diagnostic step. Check your web.config:
<!-- Default (not present = Online mode) -->
<add key="APG.Help.Mode" value="Online" />
<!-- Explicitly set to Offline: -->
<add key="APG.Help.Mode" value="Offline" />
<add key="APG.Help.OfflinePath" value="/help/en/" />
Cause 1 — Content Security Policy (CSP) Blocking the Help Frame
This is the most common cause of Help system failures in APG vNext installations that have been security-hardened with a Content Security Policy header. If your web.config defines a CSP with frame-src or default-src directives that don't include docs.aspplayground.net, the browser will silently block the Help iframe and show a blank panel.
How to Diagnose CSP Blocking
Open Chrome DevTools (F12), navigate to the Console tab, click the Help icon, and look for an error message like:
Refused to frame 'https://docs.aspplayground.net/...' because it violates
the following Content Security Policy directive: "frame-src 'self'"
If you see this error, the fix is to add the APG documentation domain to your CSP:
<!-- web.config: update your CSP header -->
<add name="Content-Security-Policy"
value="default-src 'self';
script-src 'self' 'unsafe-inline';
style-src 'self' 'unsafe-inline';
frame-src 'self' https://docs.aspplayground.net;
img-src 'self' data: https:" />
If you prefer not to allow external frame sources, switch to Offline mode instead (see Cause 3 below).
Cause 2 — Firewall or Proxy Blocking the CDN URL
In corporate environments, an outbound firewall or proxy may block access to docs.aspplayground.net from the end user's browser. Unlike CSP blocking (which appears in DevTools), firewall blocking shows as a network timeout or "ERR_CONNECTION_REFUSED" error. Members behind a strict corporate proxy will consistently fail to load the Help panel while users on unrestricted networks succeed.
Testing the CDN Endpoint
# From the affected machine, test CDN reachability:
curl -I https://docs.aspplayground.net/apg/help/en/index.html
# Expected: HTTP/2 200
# If timeout or connection refused: firewall is blocking the URL
The solution is to deploy the Help files locally (Offline mode) so all documentation is served from your own domain, bypassing any external URL restrictions.
Cause 3 — Help Files Not Deployed (Offline Mode)
If APG.Help.Mode is set to Offline but the help files were not copied to the server, the Help panel returns a 404 for every documentation page. This typically happens after a fresh deployment where the help files package was omitted, or after a server migration where the help directory was not included in the file transfer.
Verifying Help Files Exist
# Check if help directory exists and has content:
ls -la /home/runcloud/webapps/aspplayground-net/help/en/
# Should list .html files for each documentation topic
# If empty or missing:
# 1. Extract the help files package from the APG vNext distribution
# 2. Copy to /help/en/ relative to the forum root
# 3. Verify a sample page loads: https://yourforum.com/help/en/index.html
Cause 4 — JavaScript Error Preventing Help Panel from Initialising
A JavaScript error in a custom skin file or third-party script can prevent the Help panel's event listener from being registered. The Help icon renders correctly in HTML but clicking it does nothing because the click handler was never attached.
Diagnosing JavaScript Errors
// In DevTools Console, look for errors that appear BEFORE clicking Help:
// "TypeError: Cannot read property 'addEventListener' of null"
// "ReferenceError: APGHelp is not defined"
// Manually trigger the help panel to test:
APGHelp.open('admin-settings'); // Should open the help panel
// If ReferenceError: the Help JS bundle is not loaded
Fix — Check Script Load Order
Ensure the APG vNext core JavaScript bundle loads before any custom scripts. In your skin's footer template:
<!-- Load APG vNext core JS first -->
<script src="/assets/js/apg.core.min.js"></script>
<!-- Then custom scripts -->
<script src="/assets/js/custom.js" defer></script>
Cause 5 — Help System Disabled in Admin Panel
APG vNext administrators can disable the contextual Help system entirely from the admin panel, which removes the "?" icons from the interface. If the Help icon has disappeared completely (not just failing to load), check:
<!-- web.config -->
<add key="APG.Help.Enabled" value="true" />
<!-- Set to false if someone disabled the Help system -->
Or via Admin Panel → Settings → Interface → Enable Contextual Help: check this is set to Yes.
Quick Diagnostic Checklist
- Open DevTools Console before clicking Help — note any CSP or network errors
- Check
web.configforAPG.Help.Modesetting - If Online mode: test
curl https://docs.aspplayground.net/from the server - If Offline mode: verify
/help/en/directory exists and contains HTML files - Verify
APG.Help.Enabled = truein web.config - Check for JavaScript errors in the console that predate the Help click
- Temporarily disable custom JavaScript files to test if a custom script is the cause
Related Resources
Looking for more help? Browse the support forum or check the Knowledge Base.