Commit Graph

56 Commits

Author SHA1 Message Date
Sara Arjona 328b325fbc MDL-84416 backup: Add backup_import_badges setting
While MDL-43938 introduced badge importing, two tasks were left incomplete.

1) Creating the backup_import_badges setting for default import behaviour.
2) Preventing the inclusion of badges during activity duplication.

This commit implements them.
2025-03-10 08:16:36 +01:00
Shamim Rezaie 0af9b5ca7e Merge branch 'MDL-71378_main' of https://github.com/SimonasAdams/moodle 2024-11-25 18:21:18 +11:00
Simon Adams 966b264cf3 MDL-71378 mod_qbank: Add question bank backup/restore and refactor tests 2024-11-15 15:18:47 +00:00
Paul Holden c60c6a5311 MDL-83226 customfield: set backup/restore configuration defaults. 2024-11-04 15:29:04 +00:00
Paul Holden edc012f7bb MDL-83463 backup: ensure defaults for course file inclusion are read. 2024-10-15 12:26:00 +01:00
Andrew Nicols 024e36be17 MDL-81634 core: Fix all implicitly defined nullables
Note: This does not impact third-party libraries.
2024-08-02 14:11:12 +08:00
ferranrecio b5f14e895a MDL-80191 backup: add subsections to restore form
This commit adds two new levels to the restore course structure form:
subsection (a delegated section that belongs to a course module) and
subactivity (a course module in a subsection).

Restore form can only use information from the backup file. To allow
activities to know if they are inside a subsection, the backup now
incorporates an "insubsection" attribute. This attribute is used only
for the form display but not for the restore logic.
2024-07-01 10:48:32 +02:00
ferranrecio c997f91db6 MDL-80191 backup: add subsections to backup form
The patch adds two new levels to the backup form structure: subsection
(a delegated section which parent is a course module) and subactivity
(an activity inside a subsection). Those new elements are displayed as a
inner section below the parent activitiy.

For now the UI is the same as a regular section but future issues will
define how the UX should be. The new two levels have their own classes
to represents settings and have extra dependencies.
2024-07-01 10:48:32 +02:00
ferranrecio b4f0332388 MDL-80191 backup: delegate section backup and restore
This commit adds all the logic to allow delegate sections backup and
restore. The backup and restore process is quite complex and it is not
designed to have task hierarchy. To solve the subsection problem, the
backup/restore planners do not include delegated sections at a course
level, but they are included when the activity with delegated section is
processed.

To allow restoing, the activity is responsible to store the
component/itemid mapping in the backup_structure_dbops. This way, when
the delegated section is restored (delegated sections are always
processed right after the parent activity) it can use the itemid
mapping.
2024-06-27 10:21:07 +02:00
Sara Arjona 1996a7cfbf MDL-77254 backup: Backup/restore xAPI state 2023-04-04 17:23:43 +02:00
Paul Holden 4e29417b7a MDL-71121 backup: apply config defaults for async backups. 2021-08-02 23:27:18 +01:00
Tomo Tsuyuki 108da43e9f MDL-63381 backup: Have an option to import permissions
Add options to use permission settings for import / restore
2021-04-13 13:24:15 +10:00
Nathan Nguyen 65c847d8fd MDL-68702 core_backup: exclude legacy course files 2020-09-11 10:41:37 +10:00
Amaia Anabitarte 3449e22683 MDL-68314 core_contentbank: Course content bank backup and restore 2020-05-13 09:35:58 +02:00
David Monllaó e034670fac Merge branch 'MDL-62572-master' of git://github.com/damyon/moodle 2019-04-15 11:04:54 +02:00
Damyon Wiese f10c22b691 MDL-62572 backup: Duplicating an activity
Don't apply admin defaults for import when using the duplicate function.
2019-04-12 14:04:40 +08:00
Matt Porritt 2cd901a4e7 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.
2019-04-09 00:15:42 +00:00
Frederic Massart 3d3fb328b4 MDL-57063 backup: Do not try to set default value on locked setting
We cannot set a default value on settings which are 'config' or
'permission' locked or an exception will be thrown from
base_setting::set_value.
2016-11-21 11:03:41 +08:00
Daniel Neis Araujo fbcdb0d710 MDL-22078 course: add end date 2016-10-03 09:51:36 +08:00
Andrew Nicols 2fc56dd571 MDL-51361 backup: Documentation phpcs fix 2016-09-20 12:21:41 +08:00
Henning Bostelmann 4151ed984a MDL-51361 backup: Adding default settings for course import
Also adding "calendar events" and "competencies" default setting for other backup modes.
2016-09-18 23:39:57 +01:00
Neill Magill 31c62848f0 MDL-55617 backup: Possible fatal errors in backup and restore
The unserialize() function will not always return an object
especially when as can happen the controller field of a
record in the backup_controllers table is empty.

This change ensures that in this case the script will
not cause a fatal error, but instead throw an error.
2016-09-01 08:51:25 +01:00
Matt Sammarco 868b086c4a MDL-18177 backup: Add backup option to include groups and groupings 2015-02-20 11:45:22 +11:00
David Monllao 03c39daad8 MDL-31500 backup: Allow front page backup/restore
Removes restore on front page restrictions and allows
front page modules duplication.
2014-11-21 14:55:09 +08:00
Frederic Massart 073be367e2 MDL-40228 backup: Settings were ignored during automated backups 2014-06-20 15:37:32 +08:00
James Pratt 809fdb83b1 MDL-41754 (1) Progress tracking : moved from backup and restore to core 2014-01-27 17:45:50 +07:00
Petr Škoda 2803f3c1b5 MDL-43402 remove all zlib detection code
Zlib extension is now required.
2013-12-27 11:06:18 +08:00
Tony Levi 1b55bdb644 MDL-38734: Automated backup failure causing all course to fail
Conflicts:
	backup/moodle2/backup_stepslib.php
2013-10-18 15:07:35 +08:00
sam marshall e555a4439f MDL-41722 Backup: Very large course times out on user interface pages
Adds 'Preparing page display' progress bars for user interface pages
if they take a long time to display.

Also adds changes where other parts of the backup progress timed out on
long backups. After this change, and MDL-41838, it is finally possible on
my dev server to successfully back up the 'XL' test course.
2013-10-04 10:32:13 +01:00
Dan Poltawski 2d2489e59e MDL-12403 backup: prevent unset config from being applied 2013-09-26 09:55:13 +08:00
Dan Poltawski 99d5203824 MDL-12403 backup: ability configure default for question bank excludes 2013-09-26 09:55:13 +08:00
sam marshall 07e720010a MDL-41146 Backup: backup_includes_files can leak memory 2013-08-12 13:49:26 +01:00
Russell Smith 3e7e2ab2ee MDL-40618 backup: centralize info field, use info in queries.
encode_backup_temp_info() and decode_backup_temp_info() have been
introduced to keep the info field encoding in one place.
Many locations used get_backup_ids_record() to obtain info, that
makes lots of calls to get_backup_ids_record() which can be slow.
We now complete all those inline by adding the info field to the query.
To reduce memory usage, all queries of that nature have been changed
to use get_recordset_*. gzcompress was introduced if available to minimize
traffic to/from the database and to decrease the memory required for caching.
The compression time is saved by the benefits in other places of having smaller data.
2013-07-23 19:50:53 +10:00
Yuliya Bozhko 2832093f53 MDL-39558 badges: Add backup/restore to course badges 2013-07-03 09:35:06 +08:00
Eloy Lafuente (stronk7) d745d2d45e MDL-40103 Now xmldb code matches original templates 100%
There were still some differences between the php code
used in the issue and the php code generated by the
xmldb editor for the template tables. This commit put
both 100% in sync.
2013-06-18 15:22:51 +02:00
Dan Poltawski 6ef007def6 Merge branch 'MDL-37761-m' of git://github.com/andrewnicols/moodle 2013-06-18 16:47:18 +08:00
Andrew Nicols b1850c12c1 MDL-37761 Backup: Do not include files in backups when importing courses/activities
When we import courses or duplicate activities, the deduplicating nature of
the file_storage system means that we don't actually have to include the
real files in the backup - just their metadata from the file table.

The restoration process needs to know not to expect files from the backup
phase so a flag is set in moodle_backup metadata.
2013-06-18 07:52:04 +01:00
Russell Smith 62d6f183c4 MDL-40103 Backup: Move install.xml templates to inline XML 2013-06-15 15:07:03 +10:00
Marina Glancy f1bd371c79 MDL-33373 fixed bug in backup of files as a regression from MDL-28666 2012-05-30 10:11:41 +08:00
Dongsheng Cai 6723372514 MDL-28666 Extends repository to support references
1. Allow repository to create references to external contents
2. Extends files API to handle file references
3. Generic file caching
4. Backup/restore file references
5. Download external contents if repository uninstalled
6. Allow filepicker to display iframe
7. PHPUnit test suits
2012-05-21 11:57:51 +08:00
Eloy Lafuente (stronk7) 6e803b9fe4 MDL-29262 backup: Clean controller obj form DB once finished ok 2012-04-23 00:03:37 +02:00
Petr Skoda a66b2ae4f4 MDL-32434 deprecate drop_temp_table() in favour of drop_table() 2012-04-15 12:23:15 +02:00
Eloy Lafuente (stronk7) f88224624d MDL-29248 backup: delete user_files settings, lang strings and uses 2012-03-01 13:09:47 +01:00
Eloy Lafuente (stronk7) 59fc0cbdb7 MDL-28488 backup - conditionaly apply defaults based on mode
Some modes of backup cannot be preloaded with general backup
settings because they may conflict with the definitions required/set
by the mode (for example, import backups are, by definition, without
users always, so we cannot apply one default in the opposite direction).

So, after the patch, current general_backup setting will be only applied
to general backups, import/hub modes won't be using any default and
automated backup defaults should be loaded here (TODO)
2011-09-11 19:35:56 +02:00
Eloy Lafuente f2364c93ed MDL-24962 backup - cache xmldb_tables for multiple operations. Apply destroyer to temp controller. 2010-11-15 07:17:24 +00:00
Eloy Lafuente 0f66acede0 MDL-22135 - logs restore, course and activities + cleanup 2010-11-11 19:46:04 +00:00
Eloy Lafuente fbd7413708 MDL-23109 backup - exclude info in moodle_backup.xml about non-included task. Thanks SamH! 2010-07-22 11:37:23 +00:00
Eloy Lafuente 560811a91b MDL-23109 backup - define some original course bits for easier access from UI 2010-07-21 00:42:55 +00:00
Eloy Lafuente c3ea499d53 MDL-21432 backup - handle mnet_remoteusers and support for prechecks 2010-07-18 23:49:55 +00:00
Eloy Lafuente b8bb45b001 MDL-21432 backup - move all the files handling on restore to use new backup_files_temp table 2010-07-18 11:13:03 +00:00