Commit Graph

98 Commits

Author SHA1 Message Date
Tim Hunt
e05d99b94f MDL-66709 backup: move question attempt data helpers to a trait
This lets plugins other than activity modules backup and restore
question attempt data.

The old backup_questions_activity_structure_step and
restore_questions_activity_structure_step base classes still exist
and work exactly the same way they did before (because they use the
trait) so this change is completely backwards compatible.

To make this work fully, a few other things in the code had to be tweaked:

* Adding restore path elements had to consider the possibility of grouped
  parents in more places.

* I needed to add protected get_task() to the restore_plugin class.
  I don't think that is a problem.

* In the restore trait, the process_question_... methods needed to be
  changed to public for some reasons to do with PHP traits that I don't
  fully understand. However, I don't think this change is a problem.

* The way question_usage restore got the new contextid had to be changed
  (or it did not work in activity contexts), but the new code looks like
  a better way to do it anyway so that is good.
2019-09-23 19:24:32 +01:00
Andrew Nicols
29c442c558 MDL-65646 core: Move component storage to json 2019-06-13 12:26:00 +08:00
Matteo Scaramuccia
ef844148a9 MDL-60923 backup: Added $CFG->backuptempdir
The new setting will allow to host the temporary backup files
into a specific target directory. Defaults to '$CFG->tempdir/backup'.

Calling make_backup_temp_directory() checks that the required sub-directory
will be properly created under the new target directory.
2018-04-16 23:50:28 +02:00
Zig Tan
ff70e84941 MDL-39060 backup: fix typo backup destroy() function 2018-03-26 09:25:55 +08:00
Stephen Bourget
57422d7158 MDL-43648 course: Allow start /end dates to have times 2017-12-14 19:48:31 -05:00
Eloy Lafuente (stronk7)
00e557a15d MDL-36580 backup: General support for decrypted contents in restore
- Uses site generated (on backup) key.
- Can be applied potentially everywhere in the restore process.
- Covered with unit tests.
- Authentication / integrity aware so can be used between any 2 servers
  (just requires matching key).
2017-10-19 10:11:47 +02:00
Stephen Bourget
f5de9484e8 MDL-53537 core_backup: Add a course_backup_created event 2017-08-15 14:10:38 -04:00
Ankit Agarwal
0d14fcbc60 MDL-9367 restore: Roll only configuration dates
It was decided to roll only configuration dates and any date related to user content
such as 'timecreated' , 'timemodified' etc should not be rolled forward.
2017-08-01 10:46:37 +05:30
Marina Glancy
44e86fb3d5 MDL-34859 backup: add restore defaults 2017-03-20 14:59:45 +08:00
Dan Poltawski
7af5ad97c1 MDL-46942 events: fix naming of other param
originalcourseid matches coding style
2016-10-25 20:18:35 +01:00
jmalmsten-panopto
3480411e0d MDL-46942 core_backup: added original course id to restore event 2016-10-24 09:01:34 -07:00
Eloy Lafuente (stronk7)
07a069f1c0 MDL-50063 unittests: Remove some unnecesary gc_collect_cycles()
Now backup and restore operations free logger resources calling
to the destroy() method. This commit ensures:

1) That gc_collect_cycles() is not used anymore in backup-related tests.
2) That all backup and restore controllers in test do always call
   to the detroy() method.
3) Some unset() calls, needed to make gc_collect_cycles() are not used
   anymore.
2016-05-13 02:50:45 +02:00
Tim Hunt
8eef9244be MDL-52523 backup of subplugins: add missing global 2015-12-15 15:57:23 +00:00
Eloy Lafuente (stronk7)
6a45e6b169 MDL-46455 restore: Extend support for subplugins to any plugin.
In order to implement the backup and restore of log stores, that
are created as subplugins of the tool_log plugin , we need to
extend subplugins support from activities to virtually any plugin.

Basically that implies moving the add_subplugin_structure() method from
its current, restricted, activity level to general restore_structure_step.

This commit implements the change in restore, covered with tests verifying
old, bc behavior and also new, general one.
2015-10-09 16:23:09 -07:00
Eloy Lafuente (stronk7)
ba66edd074 MDL-46455 backup: Extend support for subplugins to any plugin.
In order to implement the backup and restore of log stores, that
are created as subplugins of the tool_log plugin , we need to
extend subplugins support from activities to virtually any plugin.

Basically that implies moving the add_subplugin_structure() method from
its current, restricted, activity level to general backup_structure_step.

This commit implements the change in backup, covered with tests verifying
old, bc behavior and also new, general one.
2015-10-09 16:23:09 -07:00
sam marshall
5176504d3f MDL-46991 Availability: Conditional dates not updated on restore 2014-09-18 16:37:53 +01:00
Mark Nelson
ef03fb19ae MDL-45721 core_backup: only trigger the course_restored event when restoring a course 2014-06-17 19:43:48 -07:00
James Pratt
809fdb83b1 MDL-41754 (1) Progress tracking : moved from backup and restore to core 2014-01-27 17:45:50 +07:00
sam marshall
db0f0097e8 MDL-42084 Unit tests: Remove unnecessary 'clear time limit change' lines 2013-11-06 16:40:04 +00:00
sam marshall
37ff843d7d MDL-42039 Restore: Add progress reporting between files in resource
When a resource contains a very large number of (presumably small)
files, we should display progress between each file so that it
doesn't time out.
2013-10-10 10:56:30 +08:00
Eloy Lafuente (stronk7)
dd0fa1adb1 Merge branch 'wip-MDL-41937-master' of git://github.com/marinaglancy/moodle 2013-09-24 14:05:10 +02:00
Marina Glancy
c3a994aeef MDL-41937 tests: reset time limit after test 2013-09-24 20:53:49 +10:00
Marina Glancy
84128f46b2 Merge branch 'MDL-41087-master' of git://github.com/sammarshallou/moodle 2013-09-24 16:29:00 +10:00
Marina Glancy
d9fd72feb5 Merge branch 'MDL-41669-master' of git://github.com/sammarshallou/moodle 2013-09-24 11:48:49 +10:00
sam marshall
4fb31ae6cd MDL-41669 Restore: Progress bar needs to include more tasks
1. Changes progress bar code to allow headings for progress bar (so users have
   some clue what's going on if a page has more than one progress bar).
2. Changes restore code so that a progress bar can display during pre-checks if
   they take longer than 5 seconds.
3. Changes pre-check and restore code so that, in various points where the system
   can take a long time within an individual step, intederminate progress is
   indicated and it won't time out.
2013-09-16 17:18:12 +01:00
sam marshall
2a70b70c44 MDL-41087 Backup: add progress tracking in slow steps
Adds calls to the new backup progress tracking API within various steps of the
backup system - previously it only tracked progress between steps, but some steps
can themselves be slow. This ensures the system displays progress (either by
moving the progress bar if possible, or by making the wibbler below it pulsate)
during nearly all of the backup process.
2013-09-13 11:07:23 +01:00
sam marshall
39ca3044ea MDL-41728 Backup: Unnecessary use of in_array in base_plan
Remove unnecessary use of in_array which causes performance problems
when loading the plan for very large courses.
2013-09-11 14:32:14 +01:00
Eloy Lafuente (stronk7)
e034d84c48 Merge branch 'MDL-38190-master' of git://github.com/sammarshallou/moodle
Conflicts:
	backup/import.php
	theme/bootstrapbase/style/moodle.css
2013-09-02 16:56:50 +02:00
sam marshall
2531ae2922 MDL-38190 (2) Backup/restore: Progress tracking for tasks and steps 2013-08-16 10:50:36 +01:00
sam marshall
16cd708835 MDL-38190 (1) Backup/restore: Progress tracking API 2013-08-16 10:50:35 +01:00
Mark Nelson
a4003c733a MDL-39957 course: replaced the course_restored legacy event 2013-08-15 18:14:08 +08:00
Petr Škoda
bd3b3bba9f MDL-40220 use new core_component::get_plugin_list() 2013-07-16 22:36:11 +02:00
Petr Škoda
46f6f7f224 MDL-40220 use new core_component::get_plugin_types() 2013-07-16 22:31:48 +02:00
Mark Nielsen
bf989c2f3a MDL-36986: Adding course_restored event trigger 2012-12-03 09:37:29 -08:00
Petr Škoda
7a7b8a1f19 MDL-35071 redesign enrol restore
Includes option to convert all enrolments to enrol_manual instances, support for mapping of custom fields and fixes for several other problems. This does not include support for custom enrol tables, it will be addressed in another issue.
2012-09-07 11:11:28 +02:00
Frederic Massart
a173b52da0 MDL-28346 Backup: Backup does not fail when a file is missing 2012-09-03 14:13:11 +08:00
Frederic Massart
3b232aeffb MDL-28346 Backup: Restore does not fail when a file is missing 2012-09-03 14:13:11 +08:00
Adrian Greeve
a689cd1def MDL-34469 - lib - replacement of the deprecated get_context_instance and get_context_by_id functions (group 15) 2012-07-30 14:59:57 +08:00
David Mudrák
ff8734f21d MDL-33430 Give tasks an access to their current plan's results
This in turn provides access to the plan's results for both structure and
execution steps so they can register something useful there.
2012-06-21 12:28:09 +02:00
Eloy Lafuente (stronk7)
936402278b MDL-33756 backup: converters only available in general course backups. 2012-06-15 02:27:18 +02:00
Rajesh Taneja
e7b24943e6 MDL-27120 backup: fixed docblock and code cleanup 2012-05-29 16:22:45 +08:00
Ashley Holman
f213bbd77a MDL-27120 backup: replace sequential scan search with hash-based lookup. 2012-05-29 14:44:06 +08:00
sam marshall
1cf121e1d2 MDL-24419 (1): Core restore steps should have after_restore function
At present core restore steps cannot have an after_restore function,
even though plugin restore steps can. Technically it would be possible
to just override the launch_after_restore_methods function but this
is not very neat. Instead, I added code to call after_restore function
(exactly the same way after_execute works).
2012-05-14 11:15:14 +01:00
Petr Skoda
bb7898c6ab MDL-32569 convert remaining backup tests and drop old simpletests 2012-04-21 16:24:33 +02:00
Petr Skoda
4b02743182 MDL-32149 improve testcase naming and list in config file 2012-04-03 22:30:57 +02:00
Petr Skoda
1cbf2a20ca MDL-32149 setUp() and tearDown() are supposed to be 'protected', add missing blog testcase 2012-04-03 22:30:56 +02:00
Petr Skoda
4ac88d6d10 MDL-32149 remaining phpunit tests for backup/restore 2012-04-03 22:30:55 +02:00
Petr Skoda
dbf5a44798 MDL-32149 add backup tests and dropping of extra tables 2012-04-03 22:30:54 +02:00
Eloy Lafuente (stronk7)
184acafab6 MDL-28180 backup - set excluded activities for any non-course operation 2011-12-12 00:30:58 +01:00
Tom Lanyon
7aa06e6ded MDL-28701 Change all uses of $CFG->dataroot/temp to $CFG->tempdir 2011-09-10 10:35:39 +02:00