Note: You are currently viewing documentation for Moodle 2.3. Up-to-date documentation for the latest stable version is available here: Unified CSV feeding for course and users administration (Contributed).

Unified CSV feeding for course and users administration (Contributed)

From MoodleDocs


Enrol Sync Unified CSV Administration Tool

Tool overview

This plugin (enrol/sync) has been setup as an enrol plugin for architecture consistance in Moodle 1.9. On Moodle 2 we keeped this location for the plugin although it is merely a central administration tool and has no real run-time effect on course enrolments (interactive enrolment methods).

The purpose of this plugin is to unify a lot of CSV based existant or contributed tools "all in one", provinding a single functional framework for all tools.

In Moodle, course creation, user creation, file based enrolls were implemented in separate locations, and providing not the same level of handling.

The Enrol Sync plugin unifies the following mass operations:

  • Operations on courses
    • Course mass deletion
    • Course mass existance test
    • Course mass creation (default settings or using a course template)
  • Operations on users
    • Users mass creation
    • Users mass deletion
    • Users mass update
  • Operation on user avatars
    • User pictures mass synchronisation
  • Operations on enrollments
    • Mass enroll
    • Mass unenroll
    • Mass course group additions
    • Mass course group removal

Each tool can be separately cron activated.

Tool features

The Enrol Sync plugin provides all tools with the same level of handling:

  • CSV based feeding
  • Full UTF/ISO selection
  • Automation of all kind of imports
  • Systematic execution reports
  • Error filtering and 'tryback' file generation on errors
  • All entities can be matched against all their unique identity possible attributes (ids, email, shortname, idnumers, etc.)
  • Memorizing one 'active' file for each tool for regular manual processing or scheduled cron execution
  • All tools can be manually launched
  • Archiving command files after execution (auto-discard)
  • Keeping archives in a separate directory

Some existing features have been enhanced:

  • Group creation automation in courses
  • Cron handling of user pictures resync
  • MNET remote distribution of users and course enrolments

Some extra features WERE NOT existing in standard tools of Moodle and are completely NEW:

  • Creation of a course template based (i.e., creating a course taking a course backup as a template - defined per course)
  • Check of existance of courses
  • Mass deletion course list generator
  • Mass course deletion
  • Mass course reinitialisation

The whole set providing a very complete administration tools using CSV based files to do allmost all mass operations are needed in Moodle regular administration.

Special file management container

For ease of defining system administration level automations, the Enrol Sync still uses a Moodle 1.x file container in Moodledata, thus giving direct access to command files from an external strategy. This file container is NOT shareable with other moodle files in any other contexts.

Tool installation

The tool comes as a single enrol package. Unpack the Enrol Sync tool into the 'enrol' directory of your installation and run to the Administration notifications to install it.

Dependancies

This tool requires the Publishflow Block to be installed (Course publication) as providing a special restore version to générate courses from a backup template.

This tool MAY require the VMoodle Block (providing MNET powerfull user/role transport XMLRPCs) if using user creation with remote role distribution in MNET delegated moodles. It will although work without this bloc as long as the "wwwroot" additional field in user import file is NOT used.

Operation screens

CSV (or Archives) File Formats

Credits

This plugin is under GPL licence. It has been made by Valery Fremaux for the "Groupe IGS" and the "EPF Engineering School".

Moodle 2 migration is part of the results of the "ENT Libre 2.0" project driven by ATOS.