Remote backup provider

General plugins (Local) ::: local_remote_backup_provider
Maintained by Charles Fulton, Andrew Zito
[SEEKING MAINTAINER] This local module allows you to restore a course from a remote Moodle instance into your current instance via a REST web service. The intended use case is quick restores from an archival Moodle instance into the current yearly instance.

Remote backup provider Alpha for 2.8+

Moodle 2.8, 2.9, 3.0, 3.1, 3.2, 3.3, 3.4
Released: Thursday, January 7, 2016, 7:57 AM

Moodle Remote Backup Provider

Build Status

This local module allows you to restore a course from a remote Moodle instance into your current instance via a REST web service. The intended use case is quick restores from an archival Moodle instance into the current yearly instance.

It is limited to administrators but could in the future be extended for teacher use. Currently it is limited to one pair of source and target instances.

This is alpha code at present. It has been tested in a virtual environment but further testing is needed. Please report back all issues to Github.

Configuration

You will need to install this plugin on both the source and target instances. On the source Moodle instance you'll need to create the following:

  1. An external web service.
  2. A user with sufficient permissions to use said web service.
  3. A token for that user. For additional security it should be restricted to the target server's IP address.

See Using web services in the Moodle documentation for information about creating and enabling web services. The user will need the following capabilities in addition to whichever protocol you enable:

  • moodle/course:view
  • moodle/course:viewhiddencourses
  • moodle/backup:backupcourse

The web service will need the following functions:

  • local_remote_backup_provider_find_courses
  • local_remote_backup_provider_get_course_backup_by_id

On the target Moodle instance you will need to configure the token and source Moodle URL in the System Administration block under Local Plugins > Remote Backup Provider.

Usage

On the target instance you will have a new link in the Course Administration block called "Import from remote". This will bring up a page with a search interface which queries the source instance for a list of matching courses. Clicking the link begins the following process, all of which happens automatically:

  1. A backup will be created on the source instance.
  2. The backup will be copied into the target instance.
  3. You will be redirected to the course restore dialog with the backup preloaded.

At this point follow the course restore process. The backup is created according to the general defaults on the source instance. Cron is configured to delete the backup files on both environments after 24 hours.

Requirements

  • Moodle 2.8 (build 2014111000 or later)

See branches for Moodle 2.5-Moodle 2.7 versions.

Installation

Copy the remote_backup_provider folder into your /local directory and visit your Admin Notification page to complete the installation.

Author

Charles Fulton (fultonc@lafayette.edu)

Version information

Version build number
2015080800
Version release name
Alpha for 2.8+
Can be updated to
v3.4.0 (2018051300), v3.3.0 (2015080801), v3.4.1 (2018112700)
Maturity
Alpha
MD5 Sum
ad5160875099f69d4616589f9efa111e
Supported software
Moodle 2.8, Moodle 2.9, Moodle 3.0, Moodle 3.1, Moodle 3.2, Moodle 3.3, Moodle 3.4
  • Latest release for Moodle 2.8
  • Latest release for Moodle 2.9
  • Latest release for Moodle 3.0
  • Latest release for Moodle 3.1
  • Latest release for Moodle 3.2
  • The more recent release v3.3.0 (2015080801) exists for Moodle 3.3
  • The more recent release v3.4.1 (2018112700) exists for Moodle 3.4

Version control information

Version control system (VCS)
GIT
VCS repository URL
VCS branch
master

Default installation instructions for plugins of the type General plugins (Local)

  1. Make sure you have all the required versions.
  2. Download and unpack the module.
  3. Place the folder in the "local" subdirectory.
  4. Visit http://yoursite.com/admin to finish the installation.