Details

    • Type: Task Task
    • Status: Open
    • Priority: Critical Critical
    • Resolution: Unresolved
    • Affects Version/s: 2.0
    • Fix Version/s: STABLE backlog
    • Component/s: Backup
    • Labels:

      Description

      This is the META task in the tracker for all the Moodle 2.0 backup/restore implementation steps

        Gliffy Diagrams

          Issue Links

          1.
          pre: Decide about the 1-activity backup format Sub-task Closed Eloy Lafuente (stronk7)
           
          2.
          pre: Decide about the course backup format Sub-task Closed Eloy Lafuente (stronk7)
           
          3.
          pre: Design all the infrastructure stuff Sub-task Closed Eloy Lafuente (stronk7)
           
          4.
          pre: Capabilities name restructuration Sub-task Closed Eloy Lafuente (stronk7)
           
          5.
          pre: New capabilities creation Sub-task Closed Eloy Lafuente (stronk7)
           
          6.
          pre: Document all the capabilities in Moodle Docs Sub-task Closed Helen Foster
           
          7.
          pre: Some fixes to DB generators and temp tables support Sub-task Closed Eloy Lafuente (stronk7)
           
          8.
          task: Database layer implementation for backup Sub-task Closed Eloy Lafuente (stronk7)
           
          9.
          task: Database layer implementation for restore Sub-task Closed Eloy Lafuente (stronk7)
           
          10.
          backup: defaults Sub-task Closed Sam Hemelryk
           
          11.
          backup: ui Sub-task Closed Sam Hemelryk
           
          12.
          backup: security Sub-task Closed Eloy Lafuente (stronk7)
           
          13.
          backup & restore: subplugins support Sub-task Closed Eloy Lafuente (stronk7)
           
          14.
          backup & restore: course logs Sub-task Closed Eloy Lafuente (stronk7)
           
          15. backup & restore: blogs Sub-task Open moodle.com
           
          16.
          backup & restore: messages Sub-task Closed Unassigned
           
          17.
          backup & restore: categories and questions Sub-task Closed Eloy Lafuente (stronk7)
           
          18.
          backup: gradebook Sub-task Closed Andrew Davis
           
          19.
          backup & restore: logging / timing Sub-task Closed Eloy Lafuente (stronk7)
           
          20.
          backup & restore: output Sub-task Closed Eloy Lafuente (stronk7)
           
          21.
          backup: storage Sub-task Closed Eloy Lafuente (stronk7)
           
          22.
          backup: course_formats Sub-task Closed Eloy Lafuente (stronk7)
           
          23. backup: local extensions Sub-task Open Unassigned
           
          24.
          backup: cohorts Sub-task Closed Unassigned
           
          25.
          backup: fix all strings to dont use underscores Sub-task Closed Eloy Lafuente (stronk7)
           
          26.
          backup: implement all the rest of activities backup Sub-task Closed Eloy Lafuente (stronk7)
           
          27. backup: improve anonymizer Sub-task Open Unassigned
           
          28. backup: in the main file add info about the user that performed the backup Sub-task Open Unassigned
           
          29. post: complete all the PHP Docs Sub-task Open Unassigned
           
          30.
          backup: scheduled backups Sub-task Closed Sam Hemelryk
           
          31.
          backup: course completion Sub-task Closed Sam Hemelryk
           
          32.
          backup: repositories, hub... anything to backup? Sub-task Closed Martin Dougiamas
           
          33.
          general: custom file manager for backup storage areas Sub-task Closed Dongsheng Cai
           
          34.
          post: clean old backup/restore files once they aren't necessary anymore Sub-task Closed Eloy Lafuente (stronk7)
           
          35. post: clean old backup/restore code Sub-task Open Unassigned
           
          36.
          post: decide what happens with old backup_log table Sub-task Closed Eloy Lafuente (stronk7)
           
          37.
          document: modules backup Sub-task Closed Eloy Lafuente (stronk7)
           
          38. document: blocks backup Sub-task Open Unassigned
           
          39. document: subplugins support Sub-task Open Unassigned
           
          40.
          restore: links decoder Sub-task Closed Eloy Lafuente (stronk7)
           
          41.
          restore: logs decoder Sub-task Closed Eloy Lafuente (stronk7)
           
          42.
          LOCAL: backup & restore hooks Sub-task Closed Mark Nielsen
           
          43.
          restore: progressive xml parser Sub-task Closed Eloy Lafuente (stronk7)
           
          44.
          backup & restore: calendar events Sub-task Closed Ankit Agarwal
           
          45.
          restore: security checks Sub-task Closed Eloy Lafuente (stronk7)
           
          46.
          restore: precheks Sub-task Closed Eloy Lafuente (stronk7)
           
          47.
          restore: pre-ui Sub-task Closed Dongsheng Cai
           
          48.
          restore: ui Sub-task Closed Sam Hemelryk
           
          49.
          restore: gradebook Sub-task Closed Andrew Davis
           
          50.
          api: modify get_assignable_roles() to support user param Sub-task Closed Eloy Lafuente (stronk7)
           
          51.
          restore: blocks Sub-task Closed Eloy Lafuente (stronk7)
           
          52.
          restore: implement all the rest of activities restore Sub-task Closed Eloy Lafuente (stronk7)
           
          53. backup & restore: user context (blocks and comments) Sub-task Open Unassigned
           
          54.
          improvement: build one static cache for get/set_get_backup_ids_record() Sub-task Closed Eloy Lafuente (stronk7)
           
          55.
          Small backup interface tidy-ups Sub-task Closed Sam Hemelryk
           
          56.
          Is there to be a more precise listing of error messages in Moodle 2.0 for such things as Backup and Restore? Sub-task Closed Unassigned
           
          57.
          backup & restore: course import UI Sub-task Closed Sam Hemelryk
           
          58. post: clean old course import plugin as it is no longer required. Sub-task Open Unassigned
           
          59.
          Implement support for activity interlinks in questions Sub-task Closed Eloy Lafuente (stronk7)
           
          60. automated backups: Should use delayed backup controllers rather than the backup_courses tables. Sub-task Open Unassigned
           
          61. Should the backup controller be able to reopen a closed log to write to it? Sub-task Open Unassigned
           
          62.
          Post: IMS-CC import for 2.0 Sub-task Closed Eloy Lafuente (stronk7)
           
          63. Post: Add some more prechecks to restore Sub-task Open Unassigned
           
          64. controllers: trying/catching execution Sub-task Open Unassigned
           
          65. Backup 2.0 lang strings review Sub-task Open Unassigned
           
          66.
          Backup & Restore:Plagiarism plugins Sub-task Closed Dan Marsden
           

            Activity

            Hide
            Eloy Lafuente (stronk7) added a comment -

            Just deleted some old scripts / tables and disabled restore / import.

            Show
            Eloy Lafuente (stronk7) added a comment - Just deleted some old scripts / tables and disabled restore / import.
            Hide
            Martin Dougiamas added a comment -

            Eloy, how's restore coming along? We just need a plan, and we can help finish the rest. Would a restore meeting help?

            Show
            Martin Dougiamas added a comment - Eloy, how's restore coming along? We just need a plan, and we can help finish the rest. Would a restore meeting help?
            Hide
            Martin Dougiamas added a comment -

            Eloy, can you please add all the other restore tasks here?

            Show
            Martin Dougiamas added a comment - Eloy, can you please add all the other restore tasks here?
            Hide
            Ashley Holman added a comment -

            I cannot see quiz or groups referenced here as a sub-task. neither of those are backuping up at the moment.

            Show
            Ashley Holman added a comment - I cannot see quiz or groups referenced here as a sub-task. neither of those are backuping up at the moment.
            Hide
            Ashley Holman added a comment -

            nevermind about quiz, i found it in MDL-23479
            thanks

            Show
            Ashley Holman added a comment - nevermind about quiz, i found it in MDL-23479 thanks
            Hide
            Eloy Lafuente (stronk7) added a comment -

            This is a summary of the status of the whole thing:

            • By activity: All them are implemented and tested but these two:
              • data activity: there are some problems in the module (file related mainly) being the cause for its backup being halted. Anyway, once everything is in place, it's a matter of a 4-5 hours to implement and test both backup & restore. Part of MDL-22151 and MDL-23479
              • hotpot activity: as far as it has been moved to contrib (lack of 2.0 compliant code), cannot be done.
              • quizz activity: this is the worst one. And needs deep analysis. Main problem is that current way to select candidate question categories can lead to lost categories (causing quizzes to be inconsistent) under some circumstances. Also, the backup format will have to change in a noticeable way from 1.9.x one. I think it's a matter of, at least 2 weeks of work to understand/implement the whole thing. Part of MDL-22151, MDL-23479 and MDL-22138 (the complex part).
              • workshop activity: little mention to it because there are a few things to add to it. MDL-19936. Not problematic at all. David will complete them without problems.
            • By missing functionalities: There are a bunch of missing functionalities, some of them not critical at all like blogs, course logs, messages, course formats, local plugins... Each one has one assigned subtask in the meta bug. MDL-21432. Apart from those, some of them are more important and require implementation asap:
              • cohorts and new enrollments: MDL-22148. Right now, Petr did the enrollments backup and I did, exclusively, the "manual" enrolment restore. I think Petr is on it.
              • Restore security: MDL-23437 - I've it near finished and will commit in 2-3 days (after some testing). It is the part of restore controlling/enabling what the user can restore from a backup file and affects directly to the allowed selections in the UI. 100% important to have it implemented ASAP. Right now one teacher can restore practically everything.
              • activity completion/availability: Everything is included in backup (for each activity), but right now we haven't the corresponding implementation finished. I've some code here and will be thinking a bit on it next 14 days.
              • activity logs: they are included in backup, but not restored yet. Note logs is one of the heaviest operations on restore (because the need to recode zillions of ids here and there). I've something similar to the implementation performed for decoding links, but still need some love. Actively improving it here.
              • course completion: I know nothing about this. I tried some months ago when implementing backup, found some bad errors, reported them and haven't returned to it since then. It is MDL-22254 and, it is open if somebody wants to try it.
              • Scheduled backups: MDL-22184. Not implemented. Basically it's about to change current iterator to use new backup code, although there are various problems about to have that task in moodle's cron, to decide if we have another cron for them or no. In any case, it is open if someone wants to try it.
              • Export/import UI: we need that done. It's one "reduced" version of the backup UI and chaining one backup and one restore in the same request. Discussed up to some point with Sam, I've requested him about how to continue with that in MDL-22142
              • Gradebook: While activity grade items are already restored as part of each activity, we are missing the restore of gradebook categories/calculations when possible. MDL-23362 is about it and I'd suggest Andrew to work on it as far as he did backup.

            Finally, there are another two subtasks, both related with output that need some discussion and I'd define them as "very important" although not blockers at all. They are MDL-22143 and MDL-22144 both related with outputting/logging information about the backup & restore progress. Right now the "progress" stages both in backup and restore do nothing visible. And that is a no-no situation, as far as browser timeouts can happen leaving the process in an inconsistent status, so we need to push info continuously to the browser. Easy implementable with the new task/steps approach, just require some output/js magic. Both to output and to logging subsystem. Somebody could take a look to them a make some proposal about what/how to output.

            And that's all right now. All the enumerated subtasks in this summary must be considered critical (but the ones explicitly defined with lower priorities) so they should have one assignee ASAP in order to advance in parallel in as many as possible.

            I'll be back on August 21th. I will try to read/reply to any question related with backup/restore, in the tracker or by email at least on daily basis. Feel free to ping me by email if necessary.

            Ciao

            Show
            Eloy Lafuente (stronk7) added a comment - This is a summary of the status of the whole thing: By activity: All them are implemented and tested but these two: data activity: there are some problems in the module (file related mainly) being the cause for its backup being halted. Anyway, once everything is in place, it's a matter of a 4-5 hours to implement and test both backup & restore. Part of MDL-22151 and MDL-23479 hotpot activity: as far as it has been moved to contrib (lack of 2.0 compliant code), cannot be done. quizz activity: this is the worst one. And needs deep analysis. Main problem is that current way to select candidate question categories can lead to lost categories (causing quizzes to be inconsistent) under some circumstances. Also, the backup format will have to change in a noticeable way from 1.9.x one. I think it's a matter of, at least 2 weeks of work to understand/implement the whole thing. Part of MDL-22151 , MDL-23479 and MDL-22138 (the complex part). workshop activity: little mention to it because there are a few things to add to it. MDL-19936 . Not problematic at all. David will complete them without problems. By missing functionalities: There are a bunch of missing functionalities, some of them not critical at all like blogs, course logs, messages, course formats, local plugins... Each one has one assigned subtask in the meta bug. MDL-21432 . Apart from those, some of them are more important and require implementation asap: cohorts and new enrollments: MDL-22148 . Right now, Petr did the enrollments backup and I did, exclusively, the "manual" enrolment restore. I think Petr is on it. Restore security: MDL-23437 - I've it near finished and will commit in 2-3 days (after some testing). It is the part of restore controlling/enabling what the user can restore from a backup file and affects directly to the allowed selections in the UI. 100% important to have it implemented ASAP. Right now one teacher can restore practically everything. activity completion/availability: Everything is included in backup (for each activity), but right now we haven't the corresponding implementation finished. I've some code here and will be thinking a bit on it next 14 days. activity logs: they are included in backup, but not restored yet. Note logs is one of the heaviest operations on restore (because the need to recode zillions of ids here and there). I've something similar to the implementation performed for decoding links, but still need some love. Actively improving it here. course completion: I know nothing about this. I tried some months ago when implementing backup, found some bad errors, reported them and haven't returned to it since then. It is MDL-22254 and, it is open if somebody wants to try it. Scheduled backups: MDL-22184 . Not implemented. Basically it's about to change current iterator to use new backup code, although there are various problems about to have that task in moodle's cron, to decide if we have another cron for them or no. In any case, it is open if someone wants to try it. Export/import UI: we need that done. It's one "reduced" version of the backup UI and chaining one backup and one restore in the same request. Discussed up to some point with Sam, I've requested him about how to continue with that in MDL-22142 Gradebook: While activity grade items are already restored as part of each activity, we are missing the restore of gradebook categories/calculations when possible. MDL-23362 is about it and I'd suggest Andrew to work on it as far as he did backup. Finally, there are another two subtasks, both related with output that need some discussion and I'd define them as "very important" although not blockers at all. They are MDL-22143 and MDL-22144 both related with outputting/logging information about the backup & restore progress. Right now the "progress" stages both in backup and restore do nothing visible. And that is a no-no situation, as far as browser timeouts can happen leaving the process in an inconsistent status, so we need to push info continuously to the browser. Easy implementable with the new task/steps approach, just require some output/js magic. Both to output and to logging subsystem. Somebody could take a look to them a make some proposal about what/how to output. And that's all right now. All the enumerated subtasks in this summary must be considered critical (but the ones explicitly defined with lower priorities) so they should have one assignee ASAP in order to advance in parallel in as many as possible. I'll be back on August 21th. I will try to read/reply to any question related with backup/restore, in the tracker or by email at least on daily basis. Feel free to ping me by email if necessary. Ciao
            Hide
            Bryce Thornton added a comment -

            Thanks for the update! This really helps me see where things are at in terms of 2.0.

            Unfortunately, this also tells me that we will not be able to use Moodle 2.0 this year for our clients. School starts in a couple weeks and we need to have everything ready prior to that in order for the teachers to have time to get their courses ready. We've been working hard all summer to get our custom changes merged into the 2.0 code in hopes that we would begin the year with the new version.

            We HEAVILY rely on backup/restore as a way to move courses from one instance of Moodle to another. Here are the things that we have to have working before we can roll 2.0 out to our clients:

            • 1.9 -> 2.0 restore. We don't plan to upgrade all of our clients at once, so being able to move a course from a 1.9 install to a 2.0 install will be crucial.
            • Reliable 2.0 backup/restore. Again, moving courses is a HUGE part of what we do.

            With Eloy out for two weeks and, according to the issues laid out above, another few weeks worth of work left to do, it doesn't look like basic 2.0 backup/restore will be solid until mid-September at the absolute earliest. I'm guessing this is a blocker for a 2.0 release candidate, so you might want to revise your roadmap to show September or October as a possible release date. It might help other Moodle administrators like myself that have been hoping/praying that Moodle 2.0 would get done before the school year starts.

            I'm truly not complaining here, I understand how big of an undertaking Moodle 2.0 is. I just wanted to let you know how important backup/restore is to us and probably a lot of other Moodle administrators.

            I guess I'm also looking for a little validation that my decision to use 1.9 this year makes sense. If it appeared that everything would be stable-ish by mid September I might take the chance and go with 2.0, but that really doesn't appear to be the case.

            Thanks for all your hard work!

            Bryce Thornton
            Data Services Director
            eSchool Consultants

            Show
            Bryce Thornton added a comment - Thanks for the update! This really helps me see where things are at in terms of 2.0. Unfortunately, this also tells me that we will not be able to use Moodle 2.0 this year for our clients. School starts in a couple weeks and we need to have everything ready prior to that in order for the teachers to have time to get their courses ready. We've been working hard all summer to get our custom changes merged into the 2.0 code in hopes that we would begin the year with the new version. We HEAVILY rely on backup/restore as a way to move courses from one instance of Moodle to another. Here are the things that we have to have working before we can roll 2.0 out to our clients: 1.9 -> 2.0 restore. We don't plan to upgrade all of our clients at once, so being able to move a course from a 1.9 install to a 2.0 install will be crucial. Reliable 2.0 backup/restore. Again, moving courses is a HUGE part of what we do. With Eloy out for two weeks and, according to the issues laid out above, another few weeks worth of work left to do, it doesn't look like basic 2.0 backup/restore will be solid until mid-September at the absolute earliest. I'm guessing this is a blocker for a 2.0 release candidate, so you might want to revise your roadmap to show September or October as a possible release date. It might help other Moodle administrators like myself that have been hoping/praying that Moodle 2.0 would get done before the school year starts. I'm truly not complaining here, I understand how big of an undertaking Moodle 2.0 is. I just wanted to let you know how important backup/restore is to us and probably a lot of other Moodle administrators. I guess I'm also looking for a little validation that my decision to use 1.9 this year makes sense. If it appeared that everything would be stable-ish by mid September I might take the chance and go with 2.0, but that really doesn't appear to be the case. Thanks for all your hard work! Bryce Thornton Data Services Director eSchool Consultants
            Hide
            I. Thomas added a comment -

            Thank you Eloy for the detailed update on the backup restore functionality for Moodle 2.0. It is so helpfully for us in the field who are closely following developments and planning testing deployment timelines.

            Bryce. I total agree with your assessment. Basic 2.0 backup/restore solid by mid-September at the absolute earliest.

            Show
            I. Thomas added a comment - Thank you Eloy for the detailed update on the backup restore functionality for Moodle 2.0. It is so helpfully for us in the field who are closely following developments and planning testing deployment timelines. Bryce. I total agree with your assessment. Basic 2.0 backup/restore solid by mid-September at the absolute earliest.
            Hide
            Kelvin Burton added a comment -

            When trying to restore a course from MoodleCommons.org I got the error "error/missing_moodle_backup_xml_file".
            From /var/log/httpd/error_log:

            [Thu Aug 19 20:44:31 2010] [error] [client 172.16.249.152] Default exception handler: error/missing_moodle_backup_xml_file Debug: \n* line 119 of /backup/util/helper/backup_general_helper.class.php: backup_helper_exception thrown\n* line 172 of /backup/util/ui/restore_ui_stage.class.php: call to backup_general_helper::get_backup_information()\n* line 58 of /backup/restore.php: call to restore_ui_stage_confirm->display()\n, referer: http://moodle.ioc.mercyships.org/moodle/backup/restorefile.php?contextid=26

            However, the upload did extract correctly into /usr/moodle_data/moodle/temp/backup/f81014f68bbbd0e5620269f98d6f08f1/ and shows
            moodle.xml together with the sub-directories course_files and moddata.

            Hope this is helpful!

            Show
            Kelvin Burton added a comment - When trying to restore a course from MoodleCommons.org I got the error "error/missing_moodle_backup_xml_file". From /var/log/httpd/error_log: [Thu Aug 19 20:44:31 2010] [error] [client 172.16.249.152] Default exception handler: error/missing_moodle_backup_xml_file Debug: \n* line 119 of /backup/util/helper/backup_general_helper.class.php: backup_helper_exception thrown\n* line 172 of /backup/util/ui/restore_ui_stage.class.php: call to backup_general_helper::get_backup_information()\n* line 58 of /backup/restore.php: call to restore_ui_stage_confirm->display()\n, referer: http://moodle.ioc.mercyships.org/moodle/backup/restorefile.php?contextid=26 However, the upload did extract correctly into /usr/moodle_data/moodle/temp/backup/f81014f68bbbd0e5620269f98d6f08f1/ and shows moodle.xml together with the sub-directories course_files and moddata. Hope this is helpful!
            Hide
            Helen Foster added a comment -

            Thanks everyone for your comments.

            Regarding backup and restore from 1.9 to 2.0, as far as I know this has not yet been implemented. A workaround is to upgrade the complete 1.9 site to 2.0.

            Show
            Helen Foster added a comment - Thanks everyone for your comments. Regarding backup and restore from 1.9 to 2.0, as far as I know this has not yet been implemented. A workaround is to upgrade the complete 1.9 site to 2.0.
            Hide
            Ashley Holman added a comment -

            Hi Eloy,

            In 1.9 there used to be an option called "Backup role assignments for these roles" with a tick box for each role. In 2.0 there is only one blanket option to "include user role assignments". So is there a way to just back up with Administrators and Teachers and not Students? This might be a loss of function from 1.9 to 2.0.

            Ashley

            Show
            Ashley Holman added a comment - Hi Eloy, In 1.9 there used to be an option called "Backup role assignments for these roles" with a tick box for each role. In 2.0 there is only one blanket option to "include user role assignments". So is there a way to just back up with Administrators and Teachers and not Students? This might be a loss of function from 1.9 to 2.0. Ashley
            Hide
            Eloy Lafuente (stronk7) added a comment -

            Hi Ashey,

            yes, Moodle 2.0 backup only has the option of backup all/none role_assignments. Not individual picking anymore. The rationale beyond this is that, under Moodle 2.0, they new enrollment plugins are highly coupled with the roles (assignments) stuff and, in order to keep consistency, the all/none approach was the decided one. Under restore you'll find the same all/none setting but also the list of roles to map is showed when some of them cannot be matched (like in 1.9).

            So I'd say that, for sure, Moodle 2 won't have any option to pick roles in backup anymore. At least until we get all the enrollments dependencies addressed (specially when using "external" enrollments (ldap...) and once everything is under control in that area, we could improve a bit the restore process in order allow picking of roles there, but for sake of consistency I don't think it is a good option for backup, only for restore.

            Ciao

            Show
            Eloy Lafuente (stronk7) added a comment - Hi Ashey, yes, Moodle 2.0 backup only has the option of backup all/none role_assignments. Not individual picking anymore. The rationale beyond this is that, under Moodle 2.0, they new enrollment plugins are highly coupled with the roles (assignments) stuff and, in order to keep consistency, the all/none approach was the decided one. Under restore you'll find the same all/none setting but also the list of roles to map is showed when some of them cannot be matched (like in 1.9). So I'd say that, for sure, Moodle 2 won't have any option to pick roles in backup anymore. At least until we get all the enrollments dependencies addressed (specially when using "external" enrollments (ldap...) and once everything is under control in that area, we could improve a bit the restore process in order allow picking of roles there, but for sake of consistency I don't think it is a good option for backup, only for restore. Ciao
            Hide
            Gary Anderson added a comment -

            When I reported in MDL-24855 that I was not able to restore a 1.9 course to a new 2.0 installation, I was told that it duplicated a previously reported bug.

            When I asked for clarification, I was told to search for a bug before filling a report, but this bug was given as reference.

            The only thing that suggests that it is attached to this bug, is a comment by Helen Foster above.

            Can we attach my bug report as a blocker? Certainly 2.0 should not go into beta testing until we can have a way of testing authentic 1.9 courses in a 2.0 environment with real students. Given another bug that does not allow mySQL backup databases to be converted to 2.0 because of "Illegal mix of collations" and that the problem will not be fixed, there does not seem any sensible way to compare a 1.9 course with a 2.0 course for most users.

            I would like to be able to help test 2.0 from a teacher/student perspective with real classes, but there seems no way for me to do that without going into hacker mode.

            Show
            Gary Anderson added a comment - When I reported in MDL-24855 that I was not able to restore a 1.9 course to a new 2.0 installation, I was told that it duplicated a previously reported bug. When I asked for clarification, I was told to search for a bug before filling a report, but this bug was given as reference. The only thing that suggests that it is attached to this bug, is a comment by Helen Foster above. Can we attach my bug report as a blocker? Certainly 2.0 should not go into beta testing until we can have a way of testing authentic 1.9 courses in a 2.0 environment with real students. Given another bug that does not allow mySQL backup databases to be converted to 2.0 because of "Illegal mix of collations" and that the problem will not be fixed, there does not seem any sensible way to compare a 1.9 course with a 2.0 course for most users. I would like to be able to help test 2.0 from a teacher/student perspective with real classes, but there seems no way for me to do that without going into hacker mode.
            Hide
            Anthony Borrow added a comment -

            Gary - Sorry to hear you are having troubles. The recommended way to get a 1.9 site into 2.0 is to upgrade the site. In your case, that would mean duplicating the 1.9 site (database and file storage) and then upgrading the site to 2.0. You mention another issue about mySQL backup database having some illegal mix of collations. I am not sure what issue that is but I would be happy to work you through it should you need to go into "hacker" mode. As I understand it, the ability to go from 1.9 backup to 2.0 will be worked on for 2.1. Let me know how I can be of help to you so that you can begin comparing things. Peace - Anthony

            Show
            Anthony Borrow added a comment - Gary - Sorry to hear you are having troubles. The recommended way to get a 1.9 site into 2.0 is to upgrade the site. In your case, that would mean duplicating the 1.9 site (database and file storage) and then upgrading the site to 2.0. You mention another issue about mySQL backup database having some illegal mix of collations. I am not sure what issue that is but I would be happy to work you through it should you need to go into "hacker" mode. As I understand it, the ability to go from 1.9 backup to 2.0 will be worked on for 2.1. Let me know how I can be of help to you so that you can begin comparing things. Peace - Anthony
            Hide
            Helen Foster added a comment -

            Gary, you'll notice I've changed the linked issue on MDL-24855 to MDL-22414 rather than this one. Apologies for the mix-up.

            Show
            Helen Foster added a comment - Gary, you'll notice I've changed the linked issue on MDL-24855 to MDL-22414 rather than this one. Apologies for the mix-up.
            Hide
            Frank Ralf added a comment -

            (Sorry, if this isn't the right place for posting this issue. I was redirected here from http://moodle.org/mod/forum/discuss.php?d=156305 )

            I have successfully made a backup of the Moodle Features Demo course (so the backup & restore should cover all Moodle features) from http://qa.moodle.net to transfer it to my local development machine.

            Restoring went fine until the very last step (see screenshot).

            Show
            Frank Ralf added a comment - (Sorry, if this isn't the right place for posting this issue. I was redirected here from http://moodle.org/mod/forum/discuss.php?d=156305 ) I have successfully made a backup of the Moodle Features Demo course (so the backup & restore should cover all Moodle features) from http://qa.moodle.net to transfer it to my local development machine. Restoring went fine until the very last step (see screenshot).
            Hide
            Eloy Lafuente (stronk7) added a comment - - edited

            Hi Frank,

            the "trying to restore user xxxx will cause conflict" message happens when:

            1) Your target site has one xxxx user. (xxxx being the username)
            2) The backup being restored also has one xxxx user
            3) After various comparisons, Moodle has detected that the xxxx user in 1) and the xxxx user in 2) aren't the same user.

            If the 1) , 2) and 3) above happens, restore stops before performing any action as far as restoring that user will end associating "things" (create activities, posts, attempts... whatever...) to the xxxx user in the target site, when those "things" weren't performed by the same user at all.

            Those checks and behavior were introduced in Moodle 1.9.x and continue being valid under 2.0. Usually the xxxx user in the messages uses to be the "admin" user (that exists in practically all Moodle installations).

            Perhaps that behavior will start encouraging people to STOP doing "things" as admins in courses, so that user won't be included in backups at all.

            Finally note that there are two possible workarounds to make both xxxx users in 1) and 2) to match (and avoid the conflict):

            a) Modify the backup's users.xml file and make his email or firstaccess fields to match with the ones in target site.
            b) Modify the target site and set the user email or firstaccess fields to match with the ones in backup's user.xml file.

            That way - personally I prefer a), edit the users.xml file - the restore process will match both xxxx users and every "thing" in the backup file belonging to xxxx will be associated to the already existing xxxx user in the target site.

            Ciao

            PS: Please, create new issues for everything, keeping this META just to talk about the global evolution of the backup & restore subsystem... tia!

            Show
            Eloy Lafuente (stronk7) added a comment - - edited Hi Frank, the "trying to restore user xxxx will cause conflict" message happens when: 1) Your target site has one xxxx user. (xxxx being the username) 2) The backup being restored also has one xxxx user 3) After various comparisons, Moodle has detected that the xxxx user in 1) and the xxxx user in 2) aren't the same user. If the 1) , 2) and 3) above happens, restore stops before performing any action as far as restoring that user will end associating "things" (create activities, posts, attempts... whatever...) to the xxxx user in the target site, when those "things" weren't performed by the same user at all. Those checks and behavior were introduced in Moodle 1.9.x and continue being valid under 2.0. Usually the xxxx user in the messages uses to be the "admin" user (that exists in practically all Moodle installations). Perhaps that behavior will start encouraging people to STOP doing "things" as admins in courses, so that user won't be included in backups at all. Finally note that there are two possible workarounds to make both xxxx users in 1) and 2) to match (and avoid the conflict): a) Modify the backup's users.xml file and make his email or firstaccess fields to match with the ones in target site. b) Modify the target site and set the user email or firstaccess fields to match with the ones in backup's user.xml file. That way - personally I prefer a), edit the users.xml file - the restore process will match both xxxx users and every "thing" in the backup file belonging to xxxx will be associated to the already existing xxxx user in the target site. Ciao PS: Please, create new issues for everything, keeping this META just to talk about the global evolution of the backup & restore subsystem... tia!
            Hide
            Frank Ralf added a comment -

            Hi Eloy,

            Thanks for the explanation (and sorry for posting in the META queue). I'm only glad that it wasn't me who created that bad admin user on the demo site in the first place

            Show
            Frank Ralf added a comment - Hi Eloy, Thanks for the explanation (and sorry for posting in the META queue). I'm only glad that it wasn't me who created that bad admin user on the demo site in the first place
            Hide
            Dan Marsden added a comment -

            adding Eloy as a watcher...

            Show
            Dan Marsden added a comment - adding Eloy as a watcher...
            Hide
            Dan Marsden added a comment -

            oops - wrong bug - sorry!

            Show
            Dan Marsden added a comment - oops - wrong bug - sorry!
            Hide
            moodle.com added a comment -

            Eloy, any chance you could prioritise/triage any remainining subtasks for sprints please?

            Show
            moodle.com added a comment - Eloy, any chance you could prioritise/triage any remainining subtasks for sprints please?
            Hide
            Tim Lock added a comment -

            Hi All,

            Just wonder when Groups backup / restore will be added to this list?

            Regards,
            Tim

            Show
            Tim Lock added a comment - Hi All, Just wonder when Groups backup / restore will be added to this list? Regards, Tim
            Hide
            Mark van Hoek added a comment -

            Should backup destinations be added to this list?

            Show
            Mark van Hoek added a comment - Should backup destinations be added to this list?
            Hide
            Elizabeth Dalton added a comment -

            Isn't the ability to export IMS CC supposed to be included in Backup & Restore 2.x? http://docs.moodle.org/dev/IMS_common_cartridge

            Show
            Elizabeth Dalton added a comment - Isn't the ability to export IMS CC supposed to be included in Backup & Restore 2.x? http://docs.moodle.org/dev/IMS_common_cartridge
            Hide
            Darko Miletic added a comment -

            It is already included as experimental feature. You need to enable it by specifying in config.php
            $CFG->enablebackupconverters = true;

            However it is still under works.

            Show
            Darko Miletic added a comment - It is already included as experimental feature. You need to enable it by specifying in config.php $CFG->enablebackupconverters = true; However it is still under works.
            Hide
            Elizabeth Dalton added a comment -

            Thanks! Any sense of when this might become a regular feature? It has implications for our adjunct faculty who develop courses-- if their work is more portable, they may be motivated to put more effort into design and development.

            Show
            Elizabeth Dalton added a comment - Thanks! Any sense of when this might become a regular feature? It has implications for our adjunct faculty who develop courses-- if their work is more portable, they may be motivated to put more effort into design and development.
            Hide
            Darko Miletic added a comment -

            There are still things to finish implementing and also some bugs to be fixed. But general idea is to include this in core as standard feature before September 2012 if possible. This is just my opinion and general feel, it does not mean it will be so 100%. We will see.

            Show
            Darko Miletic added a comment - There are still things to finish implementing and also some bugs to be fixed. But general idea is to include this in core as standard feature before September 2012 if possible. This is just my opinion and general feel, it does not mean it will be so 100%. We will see.
            Hide
            Tim Lock added a comment -

            Hi All,

            Just wonder when Groups backup / restore will be added to this list?

            Regards,
            Tim

            Show
            Tim Lock added a comment - Hi All, Just wonder when Groups backup / restore will be added to this list? Regards, Tim
            Hide
            Daniel Neis added a comment -

            Hi,

            groups backup/restore are already done, but not participants, and you can't select which groups you will backup/restore. Please take a look at MDL-30563 , maybe you can help us finish the work

            Regards,
            Daniel

            Show
            Daniel Neis added a comment - Hi, groups backup/restore are already done, but not participants, and you can't select which groups you will backup/restore. Please take a look at MDL-30563 , maybe you can help us finish the work Regards, Daniel
            Hide
            Tim Lock added a comment -

            Hi Daniel,

            Thanks for the info, great to have. See what we can do.

            Any news on conditional access?

            Show
            Tim Lock added a comment - Hi Daniel, Thanks for the info, great to have. See what we can do. Any news on conditional access?
            Hide
            Tomasz Muras added a comment - - edited

            @Mark van Hoek
            Yes, I believe that the destinations should be added to this list. There is some initial code that suggests support for different destinations of the backup files but nothing is implemented yet. Function get_destination_chain() as of Moodle 2.5beta is implemented as follows:

                public static function get_destination_chain($type, $id, $mode, $execution) {
                    return null;
                }
            

            Added MDL-39036 as a sub-task.

            Show
            Tomasz Muras added a comment - - edited @ Mark van Hoek Yes, I believe that the destinations should be added to this list. There is some initial code that suggests support for different destinations of the backup files but nothing is implemented yet. Function get_destination_chain() as of Moodle 2.5beta is implemented as follows: public static function get_destination_chain($type, $id, $mode, $execution) { return null; } Added MDL-39036 as a sub-task.
            Hide
            Eloy Lafuente (stronk7) added a comment -

            This issue was assigned to me automatically, however I will not be able to work on this issue in the immediate future. In order to create a truer sense of the state of this issue and to allow other developers to have chance to become involved, I am removing myself as the assignee of this issue.

            For more information, see http://docs.moodle.org/dev/Changes_to_issue_assignment

            Side Note: Not sure if this meta has sense anymore, perhaps current subtasks should be considered and, one of 1) be closed if no implementation is needed/justified or 2) move them to be individual tasks/assigned to some epic. So I'd recommend a review and getting rid of this that was planned for the first 2.0 implementation.

            Show
            Eloy Lafuente (stronk7) added a comment - This issue was assigned to me automatically, however I will not be able to work on this issue in the immediate future. In order to create a truer sense of the state of this issue and to allow other developers to have chance to become involved, I am removing myself as the assignee of this issue. For more information, see http://docs.moodle.org/dev/Changes_to_issue_assignment Side Note: Not sure if this meta has sense anymore, perhaps current subtasks should be considered and, one of 1) be closed if no implementation is needed/justified or 2) move them to be individual tasks/assigned to some epic. So I'd recommend a review and getting rid of this that was planned for the first 2.0 implementation.

              People

              • Votes:
                22 Vote for this issue
                Watchers:
                36 Start watching this issue

                Dates

                • Created:
                  Updated: