MDL-28505 Backup: Asynchronous backup and restore

This patch adds asynchronous backup and restore functionality
to Moodle. This is an optional feature and is not enabled by
default. It can be enabled by site administrators.
Asynchronous backup and restores are actioned by the Moodle
adhoc task API. The progress of backup and restores is
displayedin the Moodle UI.  Users can also be sent a message
when a backup or restore operation completes via the
Moodle messaging API.
This commit is contained in:
Matt Porritt
2019-04-09 00:15:42 +00:00
parent 9d4f4f0051
commit 2cd901a4e7
35 changed files with 2459 additions and 115 deletions
+2
View File
@@ -2898,6 +2898,7 @@
<FIELD NAME="checksum" TYPE="char" LENGTH="32" NOTNULL="true" SEQUENCE="false" COMMENT="checksum of the backup_controller object"/>
<FIELD NAME="timecreated" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false" COMMENT="time the controller was created"/>
<FIELD NAME="timemodified" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false" COMMENT="last time the controller was modified"/>
<FIELD NAME="progress" TYPE="number" LENGTH="15" NOTNULL="true" DEFAULT="0" SEQUENCE="false" DECIMALS="14" COMMENT="The backup or restore progress as a floating point number"/>
<FIELD NAME="controller" TYPE="text" NOTNULL="true" SEQUENCE="false" COMMENT="serialised backup_controller object"/>
</FIELDS>
<KEYS>
@@ -2907,6 +2908,7 @@
</KEYS>
<INDEXES>
<INDEX NAME="typeitem_ix" UNIQUE="false" FIELDS="type, itemid"/>
<INDEX NAME="useritem_ix" UNIQUE="false" FIELDS="userid, itemid"/>
</INDEXES>
</TABLE>
<TABLE NAME="backup_logs" COMMENT="To store all the logs from backup and restore operations (by db logger)">