Import & migration

How the catalog moves from the WordPress + Tutor LMS site and the MEDB 1.0 Access database into the new course records: what was read, how fields map, what loaded and what still needs a decision.

Migration plan
  1. Export Tutor LMS4 CSV files, 16 Feb 2026
  2. Read MEDB 1.044 course sheets
  3. Map fieldsWordPress to Course
  4. Load catalog
  5. Fix validation issues
  6. Migrate learnersEnrolments, orders, certificates
  7. Cut overRedirect old URLs

Tutor LMS export

Read

Exported from learning.malyomar.com on 16 Feb 2026 with a WordPress export plugin: one CSV per post type. It is the source for status, price, slug, categories, topics, lessons and quiz settings.

Courses
58 rows
Topics
365 rows
Lessons
570 rows
Quizzes
42 rows

MEDB 1.0 Access database

Read

The owner’s working database, with one Excel sheet exported per course (ML501 to ML530, PD184 to PD838). It is the source for the MALYOMAR course code, hours, PDHs, CEUs and the curated topic list.

Course sheets
44 (23 ML, 21 PD)
Queries
qry_CATA, qry_CTLQ
Backups
2 copies of the .accdb
Rule
Where both sources have a value, MEDB wins for code and hours
FileHoldsRowsColumnsUsed forState
Course-Export-2026-Feb-16-131533.csvTutor LMS courses5844Course recordsLoaded
Topics-Export-2026-Feb-16-144856.csvTopics (sections)36584Curriculum topicsLoaded
Lesson-Export-2026-Feb-16-145056.csvLessons570101Video, attachments, preview, dripPartly usable
Quiz-Export-2026-Feb-16-144956.csvQuizzes4260Time limit, attempts, pass markLoaded
Tutor_LMS_Complete_Course_Catalog.csvJoined course / topic / content list92110Lesson and quiz order inside topicsLoaded
MEDB 1.0.accdbAccess database——Read through its exported sheetsReference
ML501.xlsx … ML530.xlsxMALYOMAR course sheets23 files12Code, hours, PDH, CEU, outcomes, topicsLoaded with issues
PD184.xlsx … PD838.xlsxASME course sheets21 files12Code, hours, PDH, CEU, outcomes, topicsLoaded with issues
Courses_Q, Topics_Q, Lessons_Q, Quiz_Q .xlsxAccess query exports4 files—Cross-check of the CSV exportsReference
Tutor-LMS courses fields list.xlsxList of WordPress / Tutor fields——Basis for the field mappingReference
Curriculum Data Entry Template.xlsxBlank template for topics and lessons—5Filling the empty topicsIn use
Not yet exported from WordPress: learner accounts, enrolments, quiz attempts, WooCommerce orders and issued certificates. They are the “Migrate learners” step and will land in Learner records, Orders and Issued certificates.
SourceSource fieldNew Course fieldTransformCoverage in the exportState
AI assist. Fields with no source (Standards, Software, Short_Title, Next_Level_Course) can be proposed from the title and description of each course, for example “ASME B31.3” as a standard on PD643 or “ROHR2” as software on ML529. Proposals are stored as suggestions until an editor accepts them. Open content drafting
RunWhenSourceLoads intoReadLoadedSkippedWarningsResultBy
Every run is repeatable: records are matched on the WordPress ID, so loading again updates a course instead of creating a copy. Runs are also written to the audit log and scheduled from Data flows.
IssueSourceAffectedDetailDecision needed

Each sheet carries CourseID_ME, Course_Title, About_Course, Learning_Outcomes, w_tutor_course_target_audience, Hours, PDHs, CEUs, Topic_ID, Topic_Order, Topic_Title, Lesson_ID. The table matches every sheet to a catalog course and compares hours.

SheetMatched courseMatchMEDB hoursPDH / CEUCatalog hoursResult

For courses whose topics have no lessons, an instructor fills the curriculum data entry template and uploads it here. One file per course.

Drop the filled Curriculum Data Entry Template.xlsx here
Replace the existing topics of this course
Open curriculum builder

Columns

ColumnMeaningRule
Parent_Topic_IDThe chapter this row sits underEmpty for a chapter; for a lesson, the row number of its chapter
Content_TypeChapter or LessonAlso accepted: Quiz, Assignment, Live session
Content_TitleTitle shown to learnersRequired, up to 150 characters
Sort_OrderPosition inside its parentWhole number, unique within the parent
Content_DescriptionShort descriptionOptional

Preview of the rows read

RowParent_Topic_IDContent_TypeContent_TitleSort_OrderContent_DescriptionCheck
1—ChapterIntroduction to Piping1Overview of piping systemsOK
21LessonMaterial Specifications1Study of ASME materialsOK
31LessonPipe Fittings & Flanges2Common components usedOK
4—ChapterStress Analysis Fundamentals2Understanding loadsOK
54LessonSustained Loads1Internal pressure & gravityOK

These are the example rows that ship inside the template. A chapter becomes a topic; a lesson becomes a lesson under it.