Requirements & Installation
This document is for site administrators: what your site needs, how to install and update Dantian Course Cadence, what activation sets up, and what deactivating or deleting the plugin does. For the first-run setup of courses, prompts and emails, continue with the Quick start.
Requirements
| Requirement | Minimum / condition | Notes |
|---|---|---|
| WordPress | 6.7 or later | The admin screens and front-end pages load their scripts through the WordPress Script Modules system, which is fully available from 6.7. Tested up to WordPress 7.1. |
| PHP | 8.0 or later | WordPress will refuse to activate the plugin on an older PHP version. |
| LMS | Optional | Tutor LMS or LifterLMS if you have one. With neither installed, the plugin runs in standalone mode and gives you its own Classes screen. See LMS integration and native classes. |
| A working WordPress mail setup | Every email is sent through WordPress’s standard mail function. On most hosts you should install an SMTP plugin (for example WP Mail SMTP, Post SMTP or FluentSMTP) and set up SPF, DKIM and DMARC records for your sending domain. | |
| Scheduled tasks | WP-Cron running | Weekly emails, retries, catch-ups and clean-up all run as WordPress scheduled tasks. On low-traffic sites, set up a real server cron job. See Scheduled tasks and Site Health. |
| Database | Whatever your WordPress version requires | The database user must be allowed to create tables, because activation creates the plugin’s own tables. |
The plugin needs no account or licence and sets no tracking cookies. The WordPress.org version makes no outbound connections to external services; a copy downloaded from the Dantian store also checks the store for updates (see Privacy, data and uninstall).
Which LMS mode will you get?
The plugin chooses automatically every time a page loads — there is no setting to change:
- If Tutor LMS is active, Tutor LMS is used.
- Otherwise, if LifterLMS is active, LifterLMS is used.
- Otherwise, standalone (native classes) mode is used.
If both LMS plugins are active, Tutor LMS wins. Only one mode is active at a time. Details, and how a developer can pin a different choice, are in LMS integration and native classes.
Installing from WordPress.org
- In the WordPress admin, go to Plugins → Add New Plugin.
- Search for Dantian Course Cadence.
- Click Install Now, then Activate.
Installing from a zip file
- Download the plugin zip (for example
dantian-course-cadence-1.0.0.zip). - Go to Plugins → Add New Plugin and click Upload Plugin.
- Choose the zip file and click Install Now.
- Click Activate Plugin.
If you install your LMS later, install and activate it first, then visit any Course Cadence screen — the plugin switches mode on the next page load.
What activation creates
Activation is safe to repeat; every step checks what already exists and only adds what is missing.
Database tables
Table (shown with the default wp_ prefix) |
Holds |
|---|---|
wp_dcc_timelines |
Timelines (type, dates, break periods, pause state) |
wp_dcc_prompts |
Weekly prompts |
wp_dcc_prompt_edits |
Trainer edit suggestions and their review outcome |
wp_dcc_prompt_versions |
Automatic prompt snapshots for version history |
wp_dcc_audit_log |
The audit log of administrative actions |
wp_dcc_emails_sent |
The email delivery log (sent and failed sends, retries) |
wp_dthub_classes |
Native classes — shared with Dantian Training Hub |
wp_dthub_class_members |
Native class members — shared with Dantian Training Hub |
The two shared class tables are created on every site, even when an LMS is active, so you can switch to standalone mode later without another activation. If Dantian Training Hub created them first, Course Cadence simply uses the existing tables. See Integration with Dantian Training Hub.
Options
Activation records the database schema version (so upgrades run only when needed) and the shared class-table version. Your settings are not written at activation — every setting uses its default until you save the matching tab under Course Cadence → Settings. See Settings reference.
Scheduled tasks
| Task | Runs | Purpose |
|---|---|---|
| Weekly guidance dispatch | Weekly, on your dispatch day and time (default Monday 09:00 in your site timezone) | Sends the week’s guidance emails |
| Failed-email retry | Hourly | Re-sends failed emails, up to three attempts |
| Privacy clean-up | Daily | Purges delivery and audit records older than the retention period (default 365 days) |
| Late-dispatch watchdog | Daily | Warns the digest recipient if a dispatch has not completed on time |
| Dispatch preview | Weekly, a set number of days before dispatch (default 3) | Sends the digest recipient a preview of the coming dispatch |
The watchdog and preview only send email when the admin digest is turned on under Settings → Emails → Admin digest & alerts (it is off by default). Catch-up emails are scheduled one at a time, about five minutes after each new enrolment. Full detail: Scheduled tasks and Site Health.
The admin menu after activation
A Course Cadence menu appears in the admin sidebar (calendar icon). Its pages are grouped in the order you will use them — build, then operate, then configure:
| Menu item | What it is | Shown when |
|---|---|---|
| Overview | The landing page: all-courses summary (All courses tab) and the dispatch-week prompt matrix (This week tab). On a new site it shows a “Welcome to Course Cadence” checklist. | Always |
| Classes | Create classes and enrol students and trainers. | Standalone mode only, and only when Dantian Training Hub is not active |
| Timelines & Prompts | The main workspace for timelines and prompts. | Always |
| Email Delivery | Send & Status, Analytics and Test Emails tabs. | Always |
| Pending Suggestions | The trainer edit-suggestion review queue. | Always |
| Settings | Schedule, Emails, Workflow and System tabs, including the Audit Log. | Always |
All of these pages require an administrator account. When students are waiting for a catch-up email, the Course Cadence and Timelines & Prompts menu items show a badge such as “3 behind”; Pending Suggestions shows a count when suggestions await review.
Verifying the installation
- Open Course Cadence → Overview. On a new site you should see Welcome to Course Cadence with the go-live steps.
- Open Tools → Site Health. Course Cadence adds three checks: LMS dependency, Course Cadence database tables and Course Cadence cron event scheduled. All three should pass.
- Optionally, use a cron-inspection plugin such as WP Crontrol to confirm
dantian_course_cadence_weekly_guidance_dispatchhas a next-run time matching your schedule.
Updating the plugin
Your data lives in the plugin’s own database tables, so updates never remove timelines, prompts, logs or settings.
- From WordPress.org: update from Dashboard → Updates or the Plugins screen like any other plugin.
- From a zip: go to Plugins → Add New Plugin → Upload Plugin, upload the newer zip, and choose Replace current with uploaded when WordPress offers it.
After any update the plugin compares its stored database version with the new one and, if they differ, applies the database changes once on the next page load — you do not need to deactivate and reactivate. Scheduled tasks are also re-checked automatically the next time an admin page loads or WP-Cron runs, and any that are missing are recreated.
Always back up your database before updating a production site.
Deactivating vs deleting
| Action | What happens |
|---|---|
| Deactivate | All of the plugin’s scheduled tasks are removed — including catch-up emails that were queued but not yet sent — and nothing is emailed while the plugin is inactive. No data is deleted. Reactivating recreates the scheduled tasks. Students who enrolled shortly before deactivation may need a manual catch-up; see Catch-up emails. |
| Delete (Plugins → Delete) | Removes the plugin files, scheduled tasks and temporary caches. Timelines, prompts, logs and settings are kept by default, so a reinstall picks up where you left off. To remove the data too, turn on Settings → System → Remove All Data on Uninstall before deleting. The shared class tables are only removed if Dantian Training Hub is not installed. |
Full detail, including multisite behaviour and the personal-data export and erase tools: Privacy, data and uninstall.
Troubleshooting installation
“Course Cadence database tables are missing” in Site Health. The listed tables could not be created — usually because the database user lacks permission to create tables. Fix the permission with your host, then deactivate and reactivate the plugin.
Notice: “Course Cadence: a database update to version N did not fully complete.” An upgrade step failed after an update. Your existing data is still in place; take a database backup, check the PHP error log for the failing step, then contact your host or support with that error.
Notice: “The shared class schema (dthub_classes) appears incompatible. Class writes are paused to prevent data corruption.” The shared class tables were changed in a way Course Cadence does not recognise, usually because Dantian Training Hub and Course Cadence are on mismatched versions. Update both plugins. Class reads keep working; creating or editing classes and adding or removing members is paused until the schema is compatible.
“Course Cadence weekly email cron is not scheduled” in Site Health. Deactivate and reactivate the plugin, or simply load any Course Cadence admin page, to recreate the schedule. If it keeps disappearing, check that WP-Cron is not disabled without a server cron job replacing it.
Example: installing on a college staging site
An allied-health college runs Tutor LMS. The site administrator installs Course Cadence on staging first, activates it, and confirms in Tools → Site Health that “Tutor LMS is active” and both Course Cadence checks pass. After building and testing one course’s timeline, they install the same version on production — data does not transfer between sites, so the course administrator rebuilds the timeline there (or clones it once a first course exists) and the site administrator adds a server cron job so Monday’s dispatch runs on time.