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:
    • Rank:
      238

      Description

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

        Issue Links

        Progress
        Resolved Sub-Tasks Unresolved Sub-Tasks

        Sub-Tasks

        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:
              21 Vote for this issue
              Watchers:
              35 Start watching this issue

              Dates

              • Created:
                Updated: