Initial Import and Reconciliation

The Initial Import / Reconciliation wizard connects OpenEduCat to a Moodle site that already contains data. It scans Moodle, matches what it finds against OpenEduCat records and builds the mapping table, so that the two systems recognise each other instead of creating duplicates.

Run this wizard before the first push whenever the Moodle site is not empty.

When to Use It

  1. First connection to an existing Moodle site :- Moodle already holds users, courses and categories that correspond to OpenEduCat records.

  2. Bootstrapping OpenEduCat from Moodle :- Moodle holds the data and the matching OpenEduCat records do not exist yet.

  3. After a loss of mappings :- The mapping table was deleted or corrupted, but the Moodle records still carry the identifiers written by an earlier push.

Warning

Pushing to a populated Moodle site without importing first creates a second copy of every user and course, because nothing tells OpenEduCat that the Moodle records already exist.

Opening the Wizard

Go to Moodle Integration ‣ Initial Import, or open an instance and click Import/Reconcile in the header.

../../_images/moodle_import_wizard.png

Step 1 — Options

  1. Moodle Instance :- The site to scan. Pre-filled when the wizard is opened from an instance.

  2. Create Missing OEC Records :- Decides which of the two modes the wizard runs in.

  3. Skip Test / Framework Courses :- Visible when creating missing records. Excludes Moodle courses whose short name looks like scaffolding — TC@, CF-, Template or Sandbox. Unwanted subjects can still be reviewed and removed after the import.

Match mode — Create Missing OEC Records off

The wizard matches existing OpenEduCat records to Moodle using the identifiers written by an earlier push, falling back to the email address for users. Anything that cannot be matched is reported in the gap report and nothing is created.

Bootstrap mode — Create Missing OEC Records on

Intended for a Moodle site that has never been synchronized. The wizard creates OpenEduCat students, faculty, subjects and a placeholder academic structure directly from the Moodle data, then wires up the mappings. Pull synchronization works immediately afterwards.

../../_images/moodle_import_wizard_options.png

Step 2 — Scan and Match

Click Scan & Match. The wizard verifies the connection, reads Moodle and reports what it found under Moodle Data Found — the number of users, courses and categories.

Matching is attempted in this order:

  1. By identifier :- Records carrying an oec_ identifier written by a previous push, such as oec_student_42 or oec_subj_18_course_7.

  2. By email :- For users without an identifier, the Moodle email address is compared with the OpenEduCat email address.

Step 3 — Results

../../_images/moodle_import_wizard_result.png

Group

Contents

Match Results

Users, courses and categories that were paired with an OpenEduCat record.

Unmatched

Moodle users and courses with no counterpart in OpenEduCat.

Created

Students, faculty and subjects created by bootstrap mode, and the total number of mappings written.

Gap Report (CSV)

A downloadable file listing every unmatched record with its type, Moodle ID, identifier, name and the reason it could not be matched.

Work through the gap report before enabling scheduled synchronization. Typical causes are a missing or different email address in OpenEduCat, a Moodle course that has no matching subject, or genuinely obsolete Moodle content that should be ignored.

Rebuilding Mappings

The Rebuild Mappings button runs the wizard in reconciliation mode. It re-reads the oec_ identifiers stored in Moodle and recreates the mapping rows from them, without touching any Moodle or OpenEduCat data.

Use it when mappings were lost but the Moodle site was previously synchronized — it restores the links and prevents the next push from creating duplicates.

After the Import

  1. Review the gap report and correct the underlying data.

  2. Check Moodle Integration ‣ Mappings and confirm the counts look right.

  3. Run a first Push All from the instance form, or a manual sync in dry-run mode.

  4. Enable Auto Sync Enabled so the scheduled jobs take over.