Commit graph

142 commits

Author SHA1 Message Date
David Mudrak
01b922fe70 Trivial improvement of member variables doc 2011-05-20 09:39:22 +02:00
David Mudrak
2304cbaacd Do not try to convert activity modules that do not have the converter implemented yet
This checks for the presence of moodle1 library in the module directory.
If there is no such file, the converter does not include the module in
the list of included modules.

Note that some files (like module.xml) are created for such skipped
modules anyway. But restore process seems to use the information from
moodle_backup.xml so it does not try to restore them.
2011-05-19 14:25:37 +02:00
David Mudrak
317f1c6f61 Generate fake XML files to make the restore process happy
With these changes I was able to restore the very first 1.9 course
containing a forum and a choice.
2011-05-19 13:56:43 +02:00
David Mudrak
46ff8b0ecf The handler's process_xxx() method is not mandatory any more
It was realized that it is pretty common to register a convert_path just
to be able to attach on-start or on-end listeners to it, without actual
processing data. So now, the handler must provide at least one of these
three methods and the process_xxx() does not need to be there if it is
not needed.
2011-05-19 03:17:18 +02:00
David Mudrak
ae80f68f31 Improvements in moodle1_xml_handler external API
The methods are protected now as they are supposed to be used by
subclasses only. Added a new method to check if the output writer has
been opened.
2011-05-18 16:32:51 +02:00
David Mudrak
c171d28ebc The basic wrapper for question categories conversion
The QUESTION_CATEGORIES tag is optional in moodle.xml but the file
questions.xml is required by the moodle2 restore process. So here we
make sure that at least an empty file is created.
2011-05-18 14:33:05 +02:00
David Mudrak
ba66847b71 Roles definition conversion 2011-05-18 14:12:52 +02:00
David Mudrak
96f7c7ad72 Implemented new XML transformer for the files being written during the conversion 2011-05-18 14:10:04 +02:00
David Mudrak
179982a400 Added missing description of the moodle1 converter 2011-05-18 00:54:00 +02:00
David Mudrak
99a82518eb The main moodle_backup.xml file is now being generated by the converter 2011-05-16 19:02:13 +02:00
David Mudrak
17d2e210b7 Renamed converter factory method to more self-descriptive get_converter() 2011-05-13 12:06:10 +02:00
David Mudrak
1cc0e42a86 The current element's data are passed to the on_element_end() event handler 2011-05-13 10:16:25 +02:00
David Mudrak
a5ea28b32d Removing relics of the previous plan/tasks/steps based implementation
Kudos to Mark Nielsen for his initial work on this project. In his code,
Mark described the valuable logic of the conversion using a framework
mirroring plan/tasks/steps based architecture of the backup and restore.
My attempt to simplify it led to the current handlers-based
architecture.
2011-05-13 03:09:26 +02:00
David Mudrak
baa6f6a848 Improved course module info conversion 2011-05-13 02:41:47 +02:00
David Mudrak
d5d02635d7 Refactored get_contextid() and unit tests for it 2011-05-12 18:36:03 +02:00
David Mudrak
9b5f1ad5fb Improved the moodle1_convert stashing subsystem 2011-05-12 18:18:29 +02:00
David Mudrak
beb7de3736 More backup-converter API improvements
Added write_xml() helper that writes the given tree-ish structure into
the current xml writer. Improved get_contextid() so that it can use
indices for searching data. Added set_stash() and get_stash() helper
methods.
2011-05-12 15:36:09 +02:00
David Mudrak
a5fe591280 MDL-27376 MDL-27377 MDL-27378 Backup converters refactoring - still work in progress
This patch mainly adds support for dispatching path-start and path-end events,
defines API to access backup_ids_temp table. Some ideas emailed by Mark
after his first review of the code are incorporated already.
2011-05-11 03:28:39 +02:00
David Mudrak
1e2c735111 MDL-27376 MDL-27377 MDL-27378 Backup converters refactoring - work in progress
These are David's changes of Mark's code that replace the
plan/tasks/steps infrastructure with a bit simpler one. The changes will
be described in the next commit that will actually finish the
conversion.

TODO: refactor backup/converter/moodle1/stepslib.php into conversion
handlers.
2011-05-10 17:58:00 +02:00
David Mudrak
0164592b8c MDL-27376 MDL-27377 Backup converters API refactored
* Several base_converter methods made protected when there was no obvious
reason why they should be public (subject of eventual change still).
* The conversion chain now constructed in advance before any converter
class is instantiated, using Dijkstra's algorithm.
2011-05-10 17:57:59 +02:00
David Mudrak
e48477d94f MDL-22414 Fixed standard copyright file headers (R0417) 2011-05-10 17:57:59 +02:00
Eloy Lafuente (stronk7)
5b01180aed Apply parser processor new methods + observe $CFG->keeptempdirectoriesonbackup 2011-05-10 17:57:58 +02:00
Mark Nielsen
be85390109 Adding moodle_backup.xml generation and updating course structure step 2011-05-10 17:57:58 +02:00
Mark Nielsen
8e2c53665e Adding basic block instance conversion 2011-05-10 17:57:58 +02:00
Mark Nielsen
5aee1af3f1 Adding plugin abstract class and adding a step to activities to generate their module.xml 2011-05-10 17:57:57 +02:00
Mark Nielsen
7c9d2927b8 Cleanup from last commit, just wanted prototype code to be saved to VCS 2011-05-10 17:57:57 +02:00
Mark Nielsen
72c089f117 Adding in activity support and adding base forum classes as proof of concept 2011-05-10 17:57:57 +02:00
Mark Nielsen
534d4294a4 Section conversion 2011-05-10 17:57:57 +02:00
Mark Nielsen
30a4a49421 Figured out how to get the final task to work properly 2011-05-10 17:57:56 +02:00
Mark Nielsen
7125544864 Adding to moodle1 abstract structured step 2011-05-10 17:57:56 +02:00
Mark Nielsen
d2c32ec8a1 A start at a moodle1 abstract structured step 2011-05-10 17:57:56 +02:00
Mark Nielsen
be145927c5 Creating stepslib.php and taskslib.php 2011-05-10 17:57:55 +02:00
Mark Nielsen
56bd1ab0e1 Added use of get_contextid and fixed some problems 2011-05-10 17:57:55 +02:00
Mark Nielsen
970bc1f3e0 Adding root and final tasks 2011-05-10 17:57:53 +02:00
Mark Nielsen
bb2e1609c5 Full example implementation of the convert course step 2011-05-10 17:57:53 +02:00
Philip Cali
5c10f37b8a Adding vanilla 1.9 moodle.xml for unit testing. 2011-05-10 17:57:52 +02:00
Mark Nielsen
dda19810e0 Starting to unit test - fixed bugs, things are... working!?! 2011-05-10 17:57:52 +02:00
Mark Nielsen
653bc98b0e Fixing several bugs while actually trying to execute some of the code 2011-05-10 17:57:52 +02:00
Mark Nielsen
5af8804415 Moving converters into sub-directories so they can have other files and simpletest directories specific to them 2011-05-10 17:57:51 +02:00
Mark Nielsen
8450e2c41f Attempting to write up processing of the moodle.xml file - the converter collects all of the element paths to watch and then dispatches them to the convert_structure_step classes. 2011-05-10 17:57:51 +02:00
Mark Nielsen
1e8c265c2b Added converter format detection and added conversion logic to restore controller 2011-05-10 17:57:50 +02:00
Mark Nielsen
17252e2d8a Adding some of the base classes and starting to fill out their methods/properties 2011-05-10 17:57:50 +02:00