Commit Graph

60 Commits

Author SHA1 Message Date
Mark Nielsen 292f663581 MDL-47569 backup: Do not close questions tag if never opened
This can happen when restoring quizzes that
do not have any questions.
2014-10-07 11:48:35 -07:00
sam marshall 38674ef91a MDL-44070 Conditional availability enhancements (4): backup
Implements backup and restore for the new conditional availability
data. This includes:

* Backup and restore of new field.
* Restore updates IDs in conditions, as required.
* Restore converts availability data from legacy (Moodle 2.6) backups.
* Unit tests for all this.
2014-04-07 20:11:41 +01:00
Petr Škoda bde002b81a MDL-41437 rework plugin_manager caching and version info in blocks and modules
This patch includes:

* version column removed from modules table, now using standard config, this allows decimal version for modules
* version column removed from block table, now using standard config, this allows decimal version for blocks
* module version.php can safely use $plugins instead of module
* new plugin_manager bulk caching, this should help with MUC performance when logged in as admin
* all missing plugins are now in plugin overview (previously only blocks and modules)
* simplified code and improved coding style
* reworked plugin_manager unit tests - now using real plugins instead of mocks
* unit tests now fail if any plugin does not contain proper version.php file
* allow uninstall of deleted filters
2013-09-22 21:25:26 +02:00
Petr Škoda 2f1e464a88 MDL-40438 migrate all collatorlib:: and textlib:: uses 2013-08-06 21:04:35 +02:00
Petr Škoda bd3b3bba9f MDL-40220 use new core_component::get_plugin_list() 2013-07-16 22:36:11 +02:00
Jean-Michel Vedrine 3f28674535 MDL-33424 Images missing when restoring a 1.9 backup 2013-03-09 13:51:34 +01:00
Paul Nicholls a374ba237c MDL-32880: moodle1 backup converter: add generic block handler
This handler will automatically be used for any block which does not provide its own handler, and should be subclassed by any block which needs to do anything extra (or different).

This commit incorporates contributions from Mike Churchward and API design suggestions from David Mudrak.
2012-11-23 09:28:50 +13:00
Petr Skoda caee6e6c26 MDL-32251 E_STRICT fixes part 3 2012-03-29 15:24:30 +02:00
Eloy Lafuente (stronk7) 2ed7cc2730 Merge branch 'w10_MDL-31301_m23_textlibcleanup' of git://github.com/skodak/moodle 2012-03-06 16:06:53 +01:00
Petr Skoda f8311defeb MDL-31301 use static textlib methods 2012-03-03 11:46:13 +01:00
Eloy Lafuente (stronk7) ac6dc09c26 MDL-29248 backup: take rid of the setting and code handling the 'private' user filearea 2012-03-01 13:09:47 +01:00
David Mudrak 10d7dac528 MDL-31317 original_site_identifier_hash falls back to null during the backup conversion
Even if the site identifier is not defined in the source 1.9 backup then the
converted 2.0 version should still contain the element to prevent PHP
notices on direct assignment.
2012-01-27 08:48:37 +01:00
Tim Hunt de529cd253 MDL-30021 qtype numerical better showunits default when coming from 1.9
This applies to:
1. Upgrade from 1.9,
2. Import of questions exported from 1.9, and
3. Restore of courses backed-up from 1.9.

It also applies to the calculated question type.
2011-11-03 11:27:41 +00:00
Jean-Michel Vedrine 9107daa0f5 MDL-29270 Fixed question bank backup converter (field rename) 2011-09-25 23:33:00 +02:00
sam marshall 8c40662e22 MDL-27001 'Show description' feature part 1: infrastructure that allows modules to support feature
The 'Show description' feature is about optionally including module description on the course page. This change include the necessary infrastructure - new database field, new FEATURE constant, changes to forms to display it, new language strings for it, backup and restore, and old course conversion. (I found the places to change by searching for an existing field in course_modules).

Documentation for the field is included in install.xml and in modinfolib.
2011-09-06 11:03:00 +01:00
David Mudrak 3343677e0a MDL-28006 Fixed grades subpath handling
Registering the grades subpath even if we do not process the grades yet.
This is to prevent from incorrect considering the wrapper as an empty tag.
2011-06-30 15:17:03 +02:00
David Mudrak af66e7fea3 MDL-28006 code cleanup - there is nothing to do for grade_settings 2011-06-29 09:08:25 +02:00
David Mudrak ddefec8d14 MDL-28006 moodle1 converter supports outcomes 2011-06-29 08:55:43 +02:00
David Mudrak d98100e407 MDL-28006 moodle1 converter supports grade letters 2011-06-29 01:06:59 +02:00
David Mudrak cfab209904 MDL-28006 moodle1 converter supports grade categories and non-module grade items 2011-06-29 01:06:10 +02:00
David Mudrak 544e0d5972 MDL-28006 moodle1 converter supports activity module grade items 2011-06-29 00:11:05 +02:00
David Mudrak b7119f4f3f MDL-22414 Exclude unsupported modules from the course contents 2011-06-10 09:01:41 +02:00
David Mudrak 4ece48dc36 MDL-22414 Fixed the order of course modules in the restored course
During the restore, the section's sequence field is ignored and the
order of modules is controlled by the order of the <contents> activity
elements. This patch makes sure that the modules are listed in that
section in the right order.

Also, the patch removes the obsolete stash sectionidslist which was
introduced when the method get_stash_itemids() had not existed yet.
2011-06-09 02:41:27 +02:00
David Mudrak e29746c25f MDL-22414 Added scales conversion handler 2011-06-08 10:18:44 +02:00
David Mudrak fe50f530fd MDL-27379 Backup conversion logging facilities 2011-06-06 13:56:06 +02:00
David Mudrak 718f781690 MDL-27718 Files embedded into the course summary and section summaries are migrated during the conversion 2011-06-04 23:34:26 +02:00
David Mudrak 9e3e8c8004 MDL-27448 Changed the interface of resource module successors to make it clear they are a special case 2011-06-04 16:11:59 +02:00
David Mudrak 9b5f831803 MDL-27448 Added common base class for all resource module successors 2011-06-04 14:38:41 +02:00
David Mudrak c15649fbd2 MDL-27626 random question conversion support 2011-06-03 22:59:13 +02:00
David Mudrak 0e3a69b0e5 MDL-22414 Provided a work around MDL-27713
Currently the underlying backup/restore code does not differentiate null
and empty array data. So we have to explicitly check that we got array,
even though the correct set_stash() was called.
2011-06-03 22:45:46 +02:00
David Mudrak c0e3796e1b MDL-27626 calculated qtype conversion support
uff...
2011-06-03 21:57:00 +02:00
David Mudrak aaf88d2cb2 MDL-27626 numerical_options are written only if there are some numerical_units available
This reflects the logic of the backup 2.0. Previously, the new
numerical_options structure was written always, even if there were no
numerical_units.
2011-06-03 21:56:59 +02:00
David Mudrak 23007e5d27 MDL-22414 Fixed wrong usage of static caches
These static caches were bad idea of mine. Multiple conversion jobs
executed from a single PHP script share such variables, of course, which
is wrong. This patch removes one static cache completely and
reimplements the other two static caches as normal member variables.
2011-06-03 21:54:13 +02:00
David Mudrak f75ad8d776 MDL-27626 moodle1_qtype_handler now provides helper methods for numerical_units and numerical_options 2011-06-03 18:54:56 +02:00
David Mudrak 1056c9b914 MDL-22414 Fixed moodle1_xml_handler::write_xml() attributes handling
The attributes did not work for nested elements because of the missing
slash.
2011-06-03 18:54:51 +02:00
David Mudrak 22b8486fe6 MDL-27626 moodle1_qtype_handler now provides a helper method for answers structure conversion 2011-06-03 18:06:27 +02:00
David Mudrak 1ff4b8dec0 MDL-27626 moodle1_qtype_handler::process_question() is not supposed to return anything
Returning the converted array has no benefit here and makes the things
more complicated. From now on, the method is supposed to write what it
needs directly into the opened file, without returning anything.
2011-06-03 18:06:27 +02:00
David Mudrak e19d0c109c MDL-27626 The initial support for the question bank backups conversion
This patch introduces a framework for the question bank conversion. It
deals with the common question data (that are not qtype-specific) and
the way how to make sure that the qtype plugins have access to the paths
they are interested in.
2011-06-03 18:06:27 +02:00
David Mudrak 78d22af957 Fixed error/required_not_stashed_data when the backup does not contain course_files 2011-06-02 09:05:59 +02:00
David Mudrak 214c492447 Converter file manager's methods take relative path within the backup instead of the absolute path 2011-05-29 00:18:19 +02:00
David Mudrak 66f79e50a3 Files conversion support improved
The new file manager class is introduced. Once its public properties are
set, one can use it to migrate either a single file or a whole
directory. The course_files conversion reworked so that it uses the new
manager now. The files.xml written at the very end of the conversion,
giving all handlers a chance to migrate the files they need.
2011-05-27 04:13:34 +02:00
David Mudrak 4ddf9ac6b5 Added base class for the activity module subplugins 2011-05-26 16:59:51 +02:00
David Mudrak 2fe7d14a04 The generation of module.xml and friends moved to a later phase
This is needed to give the modules a chance to actually rewrite course
modules related information. Resource module needs this so it is able to
split its own information into its successors (url, folder, page etc).
2011-05-24 16:01:04 +02:00
David Mudrak 8bcefb3254 Activity module handler get_moduleid() replaced with get_cminfo() 2011-05-24 16:01:00 +02:00
David Mudrak 8312ab674a Course files conversion 2011-05-20 11:59:41 +02:00
David Mudrak f3b0b1e552 The write_xml() does not put 'id' into attributes implicitly
In some situations - like in inforef.xml - we need id to be proper
nested citizen.
2011-05-20 11:29:00 +02:00
David Mudrak 716a9616e3 The handlers now throw moodle1_convert_exception instead of convert_exception 2011-05-20 10:19:28 +02:00
David Mudrak 26cac34a6c Improved get_contextid()
For system and course levels, we do not need itemid as we work with
single system context and single course context only. Thanks to this, we
can generate contextid for the restored course even we do not know its
original id yet.
2011-05-20 10:19:28 +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