Administration
Package management
Section titled “Package management”Go to SlideMind Bridge > Packages to manage your uploaded packages.
LMS detection notice
Section titled “LMS detection notice”At the top of the page, a notice indicates whether a supported LMS was detected:
- Green notice: “Active LMS detected: [name]” — completion and score bridging is active.
- Yellow warning: “No supported LMS detected” — packages play and track progress, but no completion passback occurs.
Packages list
Section titled “Packages list”The table displays the following columns:
| Column | Sortable | Description |
|---|---|---|
| Title | Yes | Package name |
| Type | Yes | Format badge: SCORM 1.2, SCORM 2004, or xAPI |
| Course | Yes | Associated course name (editable inline) |
| Uploaded | Yes | Upload date |
| Shortcode | — | Ready-to-copy [smbr_player id="..."] with a copy button |
| Actions | — | Preview, Replace, Delete |
Search and filters
Section titled “Search and filters”- Search — Filter by package title.
- Type filter — Dropdown: All types, xAPI, SCORM 1.2, SCORM 2004.
- Course filter — Dropdown to filter by course association.
Preview modal
Section titled “Preview modal”Click Preview to open a modal that loads the package in an iframe. The modal uses the same nonce-signed launch URL as the frontend player. Close the modal to stop content execution.
Replace flow
Section titled “Replace flow”Click Replace to upload a new ZIP file for an existing package. The old content is deleted and replaced with the new archive. The package ID, shortcode, and all tracking data are preserved — only the content files change.
Delete
Section titled “Delete”Click Delete to permanently remove a package. This deletes the package post, its extracted files, and all associated tracking data. A confirmation prompt appears before deletion.
Course association
Section titled “Course association”Each package can be associated with a course. This association is used for:
- LMS bridging — the bridge needs to know which LMS course/lesson the package belongs to.
- Reports grouping — packages with the same course label are grouped in the Reports course detail view.
Editing the course association:
Click the edit icon next to the course column for any package.
- When an LMS is detected: a dropdown appears listing courses from the active LMS (e.g., LearnDash courses, TutorLMS courses). Select a course and click Save.
- When no LMS is detected: a text input appears with autocomplete suggestions from existing course labels. Type a course name and click Save.
Course labels can also be edited inline — click Cancel to discard changes.
Settings
Section titled “Settings”The Settings card appears below the packages table on the Reports page.
xAPI statements per attempt
Section titled “xAPI statements per attempt”| Field | Description | Default | Range |
|---|---|---|---|
| xAPI statements stored per attempt | Maximum number of xAPI statements kept per learner attempt. Older statements are discarded when the limit is reached. | 50 | 10–500 |
This controls storage usage for xAPI packages. SCORM packages store CMI data as a single JSON blob and are not affected by this setting.
LMS integration
Section titled “LMS integration”Auto-detection
Section titled “Auto-detection”SlideMind Bridge detects supported LMS plugins automatically on every page load. If multiple LMS plugins are active, the highest-priority one is used:
| Priority | LMS plugin | Plugin slug | Status |
|---|---|---|---|
| 1 | LearnDash | sfwd-lms/sfwd_lms.php | Fully tested |
| 2 | TutorLMS | tutor/tutor.php | Beta |
| 3 | LearnPress | learnpress/learnpress.php | Beta |
| 4 | LifterLMS | lifterlms/lifterlms.php | Beta |
| 5 | Sensei LMS | sensei-lms/sensei-lms.php | Beta |
Note: LearnDash integration is fully tested. The other LMS bridges are in beta — they implement the same completion and score passback logic but have not been extensively tested in production. Please report any issues.
What gets bridged
Section titled “What gets bridged”When a learner achieves a “completed” or “passed” status in a SCORM or xAPI package, two things happen:
- Completion passback — The LMS lesson/topic associated with the package is marked as complete using the LMS’s native API.
- Score passback — If a score is recorded, it is stored in WordPress user meta (
_smbr_score_{package_id}) with the raw score, max score, percentage, and timestamp.
Course association for bridging
Section titled “Course association for bridging”For completion passback to work, the package must be associated with an LMS course, and it must be embedded in an LMS lesson or topic. Bridge automatically captures the LMS context (lesson/topic post ID) when the shortcode or block renders inside an LMS lesson.
Without an LMS
Section titled “Without an LMS”If no supported LMS is detected:
- Packages play normally in sandboxed iframes.
- Learner progress (status, score, time, attempts) is tracked in the
smbr_trackingtable. - No completion or score data is sent to any external system.
External LRS forwarding (Pro)
Section titled “External LRS forwarding (Pro)”Note: This feature requires a Pro license.
External LRS forwarding lets you send xAPI statements to an external Learning Record Store in addition to storing them locally. This is useful when you need centralized analytics across multiple platforms.
What it does
Section titled “What it does”When enabled, every xAPI statement received by Bridge is forwarded to your external LRS in real time. Forwarding is fire-and-forget — if the external LRS is unreachable, the statement is still stored locally and the learner experience is not affected.
Configuration
Section titled “Configuration”The LRS forwarding card appears on the Reports page, below the Settings card (visible only with a Pro license).
| Field | Description |
|---|---|
| Enable LRS forwarding | Checkbox to activate or deactivate forwarding |
| LRS Endpoint URL | The xAPI endpoint of your LRS (e.g., https://lrs.example.com/xapi/) |
| Basic Auth Key | The Basic Auth key (username) provided by your LRS |
| Basic Auth Secret | The Basic Auth secret (password). Once saved, the field shows ********. Leave blank to keep the current secret. |
Click Test Connection to verify your credentials before saving. The test sends a request to the LRS and reports success or failure.
Click Save to store the settings. The secret is encrypted at rest using AES-256 before being stored in the database.
Compatible LRS platforms
Section titled “Compatible LRS platforms”Any LRS that accepts xAPI statements via the standard POST /statements endpoint with Basic Auth is compatible. Examples include:
- Learning Locker
- Watershed (by Rustici Software)
- SCORM Cloud
- Veracity LRS
- Yet Analytics
How forwarding works
Section titled “How forwarding works”- Learner interacts with an xAPI package.
- The xAPI content sends a statement to Bridge’s built-in LRS emulator (
/wp-json/smbr/v1/xapi/statements). - Bridge stores the statement locally in the
smbr_trackingtable. - If forwarding is enabled, Bridge immediately sends a copy of the statement to the external LRS endpoint.
- The response from the external LRS is not awaited — forwarding does not block the learner experience.
Tracking data
Section titled “Tracking data”What is tracked
Section titled “What is tracked”| Data point | SCORM 1.2 / 2004 | xAPI |
|---|---|---|
| Completion status | cmi.core.lesson_status / cmi.completion_status | Derived from verb (completed, passed, failed) |
| Score (raw) | cmi.core.score.raw / cmi.score.raw | result.score.raw |
| Score (max) | cmi.core.score.max / cmi.score.max | result.score.max |
| Score (scaled) | — | result.score.scaled (SCORM 2004 also) |
| Total time | cmi.core.total_time / cmi.total_time | result.duration |
| Suspend data | cmi.suspend_data | State API |
| Interactions | cmi.interactions.n.* | Individual statements |
| Attempt number | Tracked per user-package pair | Tracked per user-package pair |
Status progression
Section titled “Status progression”Statuses follow a one-way progression:
not attempted → incomplete → completed / passed / failedA status can only move forward (e.g., incomplete to completed), never backward. This prevents edge cases where a content package might reset its own status.
Attempts and resume
Section titled “Attempts and resume”Each learner-package pair tracks an attempt number. When a learner re-opens a package, Bridge loads the existing data for the current attempt, allowing the learner to resume where they left off.
SCORM packages use cmi.suspend_data for resume data. xAPI packages use the State API endpoint.
Uninstall behavior
Section titled “Uninstall behavior”When you delete SlideMind Bridge through the WordPress Plugins > Delete flow, the following data is permanently removed:
| Data | Location |
|---|---|
| Tracking table | {prefix}smbr_tracking (dropped) |
| Plugin options | smbr_version, smbr_settings (deleted) |
| Package posts | All smbr_package custom post type entries (deleted) |
| Package postmeta | All _smbr_* postmeta keys (deleted) |
| User meta | All _smbr_* usermeta keys (deleted) |
| Uploaded files | wp-content/uploads/smbr-packages/ directory (recursively deleted) |
Note: Deactivating the plugin does not delete any data. Data is only removed on full uninstall (delete).
Next steps
Section titled “Next steps”- Getting Started — Installation and first upload
- Embedding — Shortcode and block reference
- Reports — Learner progress tracking and analytics (Pro)
- FAQ & Troubleshooting — Common questions and solutions