Troubleshooting
Authoring Tool Integration
Section titled “Authoring Tool Integration”My Storyline trigger fires but nothing happens
Section titled “My Storyline trigger fires but nothing happens”- Check variable names — the JavaScript code expects specific Storyline variables (e.g.,
userMessage,aiResponse). Variable names must match exactly what the Code Generator produced (case-sensitive). - Check the trigger event — the trigger should fire on a user action (e.g., button click), not on timeline start.
- Check the browser console — open DevTools (F12) and look for error messages in the Console tab.
- Check CORS — if the SCORM package is hosted on a different domain than WordPress, add that domain to the CORS whitelist (see CORS issues).
The HTML Widget shows a blank page
Section titled “The HTML Widget shows a blank page”- Verify the slide is Published (not Draft). SlideMind only serves published configurations.
- Check that the widget URL is correct — it should look like
https://yoursite.com/?sm_widget=SLIDE_ID. - If embedded as an iframe, make sure the
srcattribute uses the full URL includinghttps://.
The HTML Widget loads but shows “Unknown error”
Section titled “The HTML Widget loads but shows “Unknown error””The API request failed silently. Possible causes:
- The API key is invalid or has no credits.
- The selected AI model is unavailable or deprecated.
- The WordPress server cannot reach the AI provider (network issue).
Open the browser console (F12) to see the HTTP error status code.
Can I use Capture mode in the HTML Widget?
Section titled “Can I use Capture mode in the HTML Widget?”No. Capture mode needs JavaScript access to the e-learning editor’s variables (e.g., Storyline’s GetVar() / SetVar()), which is not possible from inside an iframe due to browser sandboxing. Capture mode works only with the JavaScript integration method (Storyline, Captivate, Lectora, etc.).
How do I test my integration before deploying?
Section titled “How do I test my integration before deploying?”Use the Sandbox (available on each slide’s edit page). It lets you send test messages and see:
- The full AI response
- Token counts (prompt + completion)
- Estimated cost
- Response time in milliseconds
- Raw JSON output (for structured responses)
The Sandbox uses the same API path as production, so what works there will work in your e-learning module.
CORS Issues
Section titled “CORS Issues”What is CORS and why does SlideMind need it?
Section titled “What is CORS and why does SlideMind need it?”CORS (Cross-Origin Resource Sharing) is a browser security mechanism. When your e-learning module runs on a different domain than your WordPress site (e.g., a SCORM package on an LMS at lms.company.com calling your WordPress API at wp.company.com), the browser blocks the request unless WordPress explicitly allows it.
SlideMind includes a CORS configuration to handle this.
I get a CORS error in the browser console
Section titled “I get a CORS error in the browser console”The error typically looks like:
Access to XMLHttpRequest at 'https://yoursite.com/wp-json/slidemind/v2/chat'from origin 'https://other-domain.com' has been blocked by CORS policyFix:
- Go to SlideMind > Settings > Advanced > Allowed Domains (CORS).
- Add the domain where your e-learning module is hosted (e.g.,
https://lms.company.com). - Save settings.
Include the protocol (
https://) and do not add a trailing slash.
I’m developing locally and getting CORS errors
Section titled “I’m developing locally and getting CORS errors”For local development, SlideMind has a CORS Test Mode:
- Go to SlideMind > Settings > Advanced.
- Enable CORS Test Mode.
- This temporarily allows all origins for 24 hours, then auto-expires.
Warning: Do not leave CORS Test Mode enabled in production. It allows any website to call your API.
Which domains should I whitelist for online review platforms?
Section titled “Which domains should I whitelist for online review platforms?”If you publish your e-learning module to your authoring tool’s built-in review or hosting platform, learners (or reviewers) access the course from that platform’s domain — not yours. You need to add it to the CORS whitelist so the course can reach your WordPress API.
| Authoring tool | Platform | Domain to whitelist |
|---|---|---|
| Articulate Storyline / Rise | Review 360 | https://360.articulate.com |
| Adobe Captivate | Share for Review | https://captivate.adobe.com |
| Lectora (ELB Learning) | ReviewLink | https://reviewlink.trivantis.com |
| DominKnow | ONE | Convey | https://share.cds.dominknow.one |
| iSpring Suite | iSpring Cloud / Space | https://{yourAccount}.ispringcloud.com |
| iSpring Suite | iSpring Learn (LMS) | https://{yourAccount}.ispringlearn.com |
iSpring note: Replace
{yourAccount}with your actual iSpring account subdomain.
Adobe Captivate note: Adobe’s review feature also loads assets from subdomains (
captivate-assets.adobe.com,elearning.adobe.com, etc.). If you have issues, you may need to whitelist additional*.adobe.comdomains — see Adobe’s documentation for the full list.
To add a domain: go to SlideMind > Settings > Advanced > Allowed Domains (CORS), enter the domain (including https://), and save.
My SCORM package runs from a local file (file://) — will it work?
Section titled “My SCORM package runs from a local file (file://) — will it work?”Browsers do not send an Origin header for file:// URLs, so CORS rules do not apply in the usual way. Many browsers also block cross-origin requests from file:// entirely. Upload your SCORM package to a web server (even a local one like localhost) for reliable testing.
Debugging & Logs
Section titled “Debugging & Logs”How do I access error logs?
Section titled “How do I access error logs?”SlideMind logs every AI request (successful or failed) in the Analytics page:
- Go to SlideMind > Analytics.
- Scroll to the Call Log section.
- Use the status filter to show only errors.
Each log entry includes: slide name, model used, token counts, estimated cost, response time, status, and error message (if applicable).
I see an error alert banner on the dashboard
Section titled “I see an error alert banner on the dashboard”One or more AI requests failed in the last 24 hours. Click the link in the banner to go to the Analytics page and review the errors. Common causes:
- API key expired or ran out of credits.
- AI model was temporarily unavailable.
- Network timeout between your server and the AI provider.
How do I enable WordPress debug logging?
Section titled “How do I enable WordPress debug logging?”To see SlideMind’s internal log messages, enable WordPress debug mode in wp-config.php:
define('WP_DEBUG', true);define('WP_DEBUG_LOG', true);define('WP_DEBUG_DISPLAY', false);Log entries from SlideMind are prefixed with [SM] and written to wp-content/debug.log. This is useful for diagnosing database migration issues or unexpected errors.
The database migration failed
Section titled “The database migration failed”If you see a notice about a failed migration after updating SlideMind:
- Check
wp-content/debug.logfor entries prefixed with[SM] Migration failed. - Verify your database user has
CREATE TABLEandALTER TABLEpermissions. - Try deactivating and reactivating the plugin — this retriggers the migration.
- If the issue persists, contact support with the error message from the debug log.
Common Error Messages
Section titled “Common Error Messages”Quick reference for error messages you may encounter:
| Error | Where | Cause | Fix |
|---|---|---|---|
| ”Invalid or expired API key” | Widget / Sandbox | API key is wrong or expired | Re-enter key in Settings, click Test Connection |
| ”Insufficient credit on the account” | Widget / Sandbox | Provider account has no credits | Add credits to your AI provider account |
| ”Rate limit exceeded” | Widget | Too many requests from one IP | Wait 60 seconds, or increase the limit in Settings |
| ”Connection error” | Settings (key test) | Server can’t reach the AI provider | Check hosting firewall, enable outbound HTTPS |
| ”Server error, please try again later” | Widget | AI provider is experiencing issues | Wait and retry; check provider status page |
| ”Configuration not found for this identifier” | Widget / API | Slide ID does not exist | Verify the config ID in the generated code |
| ”Configuration not published” | Widget / API | Slide is in Draft status | Publish the slide in WordPress |
| ”CORS blocked” | Browser console | Domain not in whitelist | Add the domain in Settings > CORS |
| ”OpenSSL extension required” | Activation | PHP OpenSSL not installed | Ask hosting provider to enable OpenSSL |
| ”SlideMind requires PHP 8.0” | Activation | PHP version too old | Upgrade PHP to 8.0+ |
Known Plugin Conflicts
Section titled “Known Plugin Conflicts”SlideMind generally coexists well with other plugins, but a few categories can cause issues:
- Security plugins with aggressive firewall rules (e.g., Wordfence, Sucuri) — may block SlideMind’s REST API endpoints or outbound HTTP requests. Add SlideMind’s REST namespace (
/wp-json/slidemind/) to the firewall whitelist. - Caching plugins (e.g., WP Super Cache, W3 Total Cache, LiteSpeed Cache) — may cache REST API responses, returning stale AI answers. Exclude the
/wp-json/slidemind/path from caching. SlideMind sendsno-cacheheaders, but some caching plugins ignore them. - REST API restriction plugins — some plugins disable the WordPress REST API for non-authenticated users. SlideMind’s
/chatendpoint must be accessible to unauthenticated requests (learners are not WordPress admin users). Whitelist theslidemind/v2namespace.
If you run into a conflict with a specific plugin, check the browser console and wp-content/debug.log for error details.
Still Need Help?
Section titled “Still Need Help?”- Documentation: Browse the full guide — Getting Started, Features, Authoring Tool Guides, Learner Memory, Variables, Import / Export, Administration, Security & Privacy.
- FAQ: See the FAQ for common questions.
- Support: Reach out through the plugin’s support channel.