Moodle
  1. Moodle
  2. MDL-37313

Moodle XML import format should use draft file areas, not arrays

    Details

    • Rank:
      46920

      Description

      This would save a lot of memory with big imports.

      1. 0001-Sample-unit-test.patch
        3 kB
        Tim Hunt
      2. multichoice.xml
        26 kB
        Jean-Michel Vedrine
      3. truefalse.xml
        56 kB
        Jean-Michel Vedrine

        Issue Links

          Activity

          Hide
          Jean-Michel Vedrine added a comment -

          Hello Tim,
          Is this something like what you had in mind ?

              protected function import_text_with_files($data, $path) {
                  $text = $this->getpath($data,
                          array_merge($path, array('#', 'text', 0, '#')), '', true);
                  $format = $this->trans_format($this->getpath($data,
                          array_merge($path, array('@', 'format')), 'html'));
                  $files = $this->getpath($data,
                          array_merge($path, array('#', 'file')), array(), false);
                  $itemid = $this->import_files_as_draft($files);
                  $field  = array('text' => $text, 'format' => $format);
                  if (!empty($itemid)) {
                      $field['itemid'] = $itemid;
                  }
                  return $field;
              }
          
              protected function import_files_as_draft($xml) {
                  global $USER;
          
                  $fs = get_file_storage();
                  $itemid = null;
                  foreach ($xml as $file) {
                      if (empty($itemid)) {
                          $itemid = file_get_unused_draft_itemid();
                      }
                      $filerecord = array(
                          'contextid' => context_user::instance($USER->id)->id,
                          'component' => 'user',
                          'filearea'  => 'draft',
                          'itemid'    => $itemid,
                          'filepath'  => '/',
                          'filename'  => $file['@']['name'],
                      );
                      $fs->create_file_from_string($filerecord, base64_decode($file['#']));
                  }
                  return $itemid;
              }
          
          Show
          Jean-Michel Vedrine added a comment - Hello Tim, Is this something like what you had in mind ? protected function import_text_with_files($data, $path) { $text = $ this ->getpath($data, array_merge($path, array('#', 'text', 0, '#')), '', true ); $format = $ this ->trans_format($ this ->getpath($data, array_merge($path, array('@', 'format')), 'html')); $files = $ this ->getpath($data, array_merge($path, array('#', 'file')), array(), false ); $itemid = $ this ->import_files_as_draft($files); $field = array('text' => $text, 'format' => $format); if (!empty($itemid)) { $field['itemid'] = $itemid; } return $field; } protected function import_files_as_draft($xml) { global $USER; $fs = get_file_storage(); $itemid = null ; foreach ($xml as $file) { if (empty($itemid)) { $itemid = file_get_unused_draft_itemid(); } $filerecord = array( 'contextid' => context_user::instance($USER->id)->id, 'component' => 'user', 'filearea' => 'draft', 'itemid' => $itemid, 'filepath' => '/', 'filename' => $file['@']['name'], ); $fs->create_file_from_string($filerecord, base64_decode($file['#'])); } return $itemid; }
          Hide
          Jean-Michel Vedrine added a comment - - edited

          Note that I have only made a single test ! So not quite sure it works ...
          Using import_text_with_files everywhere in the code will be a big task but smaller than using getpath everywhere in the blackboard_six code and I think it will improve code readability once done.
          Should I look at $file['@']['encoding'] and create/use a function like decode_file in questiontypebase rather than calling directly base64_decode ? is it likely another method could be used ?

          Show
          Jean-Michel Vedrine added a comment - - edited Note that I have only made a single test ! So not quite sure it works ... Using import_text_with_files everywhere in the code will be a big task but smaller than using getpath everywhere in the blackboard_six code and I think it will improve code readability once done. Should I look at $file ['@'] ['encoding'] and create/use a function like decode_file in questiontypebase rather than calling directly base64_decode ? is it likely another method could be used ?
          Hide
          Jean-Michel Vedrine added a comment -

          truefalse and multianswer code not done.
          Also not tested, not looked at CodeChecker and tests.

          Show
          Jean-Michel Vedrine added a comment - truefalse and multianswer code not done. Also not tested, not looked at CodeChecker and tests.
          Hide
          Jean-Michel Vedrine added a comment -

          Code for truefalse and multianswer added but code for backward compatibility of old image field still missing.
          Codechecker only report problems in unmodified lines
          phpunit tests are ok after suppressing all the 'files' => array()
          Still not tested with sample files !!

          Show
          Jean-Michel Vedrine added a comment - Code for truefalse and multianswer added but code for backward compatibility of old image field still missing. Codechecker only report problems in unmodified lines phpunit tests are ok after suppressing all the 'files' => array() Still not tested with sample files !!
          Hide
          Jean-Michel Vedrine added a comment -

          I need to warn Pierre that changes done in this issue have consequences on the code for MDL-26511

          Show
          Jean-Michel Vedrine added a comment - I need to warn Pierre that changes done in this issue have consequences on the code for MDL-26511
          Hide
          Tim Hunt added a comment -

          Looking good. The way you have implemented import_text_with_files really simplifies things, doesn't it?

          Some initial code-review comments:

          1. Looking at import_text_with_files, I am wondering if the code would be nicer if you created the $field array at the top of the method, and added the data directly. That would eliminate some local variables. Not sure if that is really a win though.

          2. In import_files_as_draft, rather than doing if (empty($itemid)) { inside the loop, it might be nicer to do if (empty($xml))

          { return null; }

          at the start of the function.

          3. The code would be much nicer if ->questiontext was a three-element array like everything else, rather than having questiontextitemid. I guess now is not the time to make that change.

          4. Would be nice to add at least one unit test involving files. With the new PHPunit framework, that should be possible, helped by the fact that question_testcase extends advanced_testcase. Have you done unit tests involving the database/files yet? You may not want to go there on your own. I suppose I could right a quick test function that does roughly the right thing, and then you could finish it off? Let me know if you want to go that way.

          Show
          Tim Hunt added a comment - Looking good. The way you have implemented import_text_with_files really simplifies things, doesn't it? Some initial code-review comments: 1. Looking at import_text_with_files, I am wondering if the code would be nicer if you created the $field array at the top of the method, and added the data directly. That would eliminate some local variables. Not sure if that is really a win though. 2. In import_files_as_draft, rather than doing if (empty($itemid)) { inside the loop, it might be nicer to do if (empty($xml)) { return null; } at the start of the function. 3. The code would be much nicer if ->questiontext was a three-element array like everything else, rather than having questiontextitemid. I guess now is not the time to make that change. 4. Would be nice to add at least one unit test involving files. With the new PHPunit framework, that should be possible, helped by the fact that question_testcase extends advanced_testcase. Have you done unit tests involving the database/files yet? You may not want to go there on your own. I suppose I could right a quick test function that does roughly the right thing, and then you could finish it off? Let me know if you want to go that way.
          Hide
          Jean-Michel Vedrine added a comment -

          Hello Tim,
          I will apply your changes

          1. Yes I know I use too many unnecessary local variables
          2. I always forget what is considered as empty or not in php. I should make a note about this somewhere
          3. It surely needs to be done one day!
          4. No I never did a test involving database/files. If you can take the time to guide me I am OK to learn and finish. Thanks a lot for that.
          Show
          Jean-Michel Vedrine added a comment - Hello Tim, I will apply your changes Yes I know I use too many unnecessary local variables I always forget what is considered as empty or not in php. I should make a note about this somewhere It surely needs to be done one day! No I never did a test involving database/files. If you can take the time to guide me I am OK to learn and finish. Thanks a lot for that.
          Hide
          Jean-Michel Vedrine added a comment -

          Changing the workflow

          Show
          Jean-Michel Vedrine added a comment - Changing the workflow
          Hide
          Tim Hunt added a comment -

          Here you go Jean-Michel.

          git am 0001-Sample-unit-test.patch

          will apply that patch for you. (Though you will probably end up re-basing this branch, so this commit will disappear.)

          Show
          Tim Hunt added a comment - Here you go Jean-Michel. git am 0001-Sample-unit-test.patch will apply that patch for you. (Though you will probably end up re-basing this branch, so this commit will disappear.)
          Hide
          Jean-Michel Vedrine added a comment -

          Thanks Tim,
          I have learned new git commands (apply --stat, apply --check and am) I made a mistake using am --signoff not understanding that it means to signoff by me !! But as you say this commit will disappear when rebasing so I think my mistake has no consequence
          Phpunit tests are still Ok after applying the patch, so i will finish integrating the results of your first review and push to github.
          Looking at this test I think that all formats able to import files (blackboard_six, webct when finished) should include a similar test (not the same as the files are not encoded in xml but similar)

          Show
          Jean-Michel Vedrine added a comment - Thanks Tim, I have learned new git commands (apply --stat, apply --check and am) I made a mistake using am --signoff not understanding that it means to signoff by me !! But as you say this commit will disappear when rebasing so I think my mistake has no consequence Phpunit tests are still Ok after applying the patch, so i will finish integrating the results of your first review and push to github. Looking at this test I think that all formats able to import files (blackboard_six, webct when finished) should include a similar test (not the same as the files are not encoded in xml but similar)
          Hide
          Jean-Michel Vedrine added a comment -

          Doh, I forgot to change the code for old image tag. It will not be very clean as we don't know if qo->questiontextitemid is set or not (probably not in that case) so will have to check.

          Show
          Jean-Michel Vedrine added a comment - Doh, I forgot to change the code for old image tag. It will not be very clean as we don't know if qo->questiontextitemid is set or not (probably not in that case) so will have to check.
          Hide
          Jean-Michel Vedrine added a comment -

          I have uploaded a new version with

          • sample unit test
          • results of your review
          • code for old image tag, only tested on a single sample file but appear to work (after correcting obvious mistake of the first version )
          Show
          Jean-Michel Vedrine added a comment - I have uploaded a new version with sample unit test results of your review code for old image tag, only tested on a single sample file but appear to work (after correcting obvious mistake of the first version )
          Hide
          Tim Hunt added a comment -

          I will look at the new code tomorrow morning. Just settings workflow state so I don't forget.

          Show
          Tim Hunt added a comment - I will look at the new code tomorrow morning. Just settings workflow state so I don't forget.
          Hide
          Tim Hunt added a comment -

          Right, I think we are there. We just need to rebase this down to a single commit.

          Oh, except that the 'sample files from question/format/xml/tests/fixtures' that I rather optimistically refer to in the testing instructions do not actually exist.

          Can you create some sample files for testing, or do you think that is not your job?

          Show
          Tim Hunt added a comment - Right, I think we are there. We just need to rebase this down to a single commit. Oh, except that the 'sample files from question/format/xml/tests/fixtures' that I rather optimistically refer to in the testing instructions do not actually exist. Can you create some sample files for testing, or do you think that is not your job?
          Hide
          Jean-Michel Vedrine added a comment -

          Hello Tim,
          Rebased to a single commit.
          When I saw your testing instructions, I rather optimistically thought that you had a lots of such sample files . As this does seems to be true, I will gladly make some (all that I have are in French and don't have images in all fields) but how many do you think I should make ?

          Show
          Jean-Michel Vedrine added a comment - Hello Tim, Rebased to a single commit. When I saw your testing instructions, I rather optimistically thought that you had a lots of such sample files . As this does seems to be true, I will gladly make some (all that I have are in French and don't have images in all fields) but how many do you think I should make ?
          Hide
          Tim Hunt added a comment -

          What I would like to see eventually (and I am not suggesting that you do all this now) is one file for each question type, containing every fundamentally different way that question type can be used.

          So for example

          • truefalse.xml would contain two questions, one with right answer true, and one with right answer false.
          • multichoice.xml contains:
            • Simple single response questions, with grades 100% and 0%
            • Single response question with negative marks for wrong.
            • Single response question with some partially correct answers.
            • Multiple response question with some right and wrong answers, say two right and two wrong, with grades +50% and -50%.
            • Multiple response question wiht some right and wrong answers, with grades +50% and -100%.
            • Multiple response quetsion with all answers right, grade 1/n.

          Wow! when you start making a list of all the possbilities, it is huge!

          Also, ideally, all of the questions would be about Moodle, and would display a certain wit. I'm not asking much, am I! (I have been meaning to do this myself for years, and I keep being too busy.)

          Also, if we do this, then it might be better to store these files in question/type/truefalse/samples, rather than under question/format.

          I've got a better idea: Why don't you just export all the questions from http://qa.moodle.net/question/edit.php?courseid=2 and save that in question/format/xml/tests/fixtures for now.

          (It might also be worth looking in http://school.demo.moodle.net/ to see if there are any questions there worth exporting.)

          Show
          Tim Hunt added a comment - What I would like to see eventually (and I am not suggesting that you do all this now) is one file for each question type, containing every fundamentally different way that question type can be used. So for example truefalse.xml would contain two questions, one with right answer true, and one with right answer false. multichoice.xml contains: Simple single response questions, with grades 100% and 0% Single response question with negative marks for wrong. Single response question with some partially correct answers. Multiple response question with some right and wrong answers, say two right and two wrong, with grades +50% and -50%. Multiple response question wiht some right and wrong answers, with grades +50% and -100%. Multiple response quetsion with all answers right, grade 1/n. Wow! when you start making a list of all the possbilities, it is huge! Also, ideally, all of the questions would be about Moodle, and would display a certain wit. I'm not asking much, am I! (I have been meaning to do this myself for years, and I keep being too busy.) Also, if we do this, then it might be better to store these files in question/type/truefalse/samples, rather than under question/format. I've got a better idea: Why don't you just export all the questions from http://qa.moodle.net/question/edit.php?courseid=2 and save that in question/format/xml/tests/fixtures for now. (It might also be worth looking in http://school.demo.moodle.net/ to see if there are any questions there worth exporting.)
          Hide
          Jean-Michel Vedrine added a comment -

          here is truefalse.xml. But I'm not sure about the wit . Feel free to edit.
          As you say it's a huge task and even more when you want to include images.

          Show
          Jean-Michel Vedrine added a comment - here is truefalse.xml. But I'm not sure about the wit . Feel free to edit. As you say it's a huge task and even more when you want to include images.
          Hide
          Jean-Michel Vedrine added a comment -

          And here is multichoice.xml. Sorry there is only a single 0%/100% question but I wanted that we have a question with images in answers to test. What is funny (well in fact not so funny) is that I discovered that the demo course question include an mp3 file but it was incorrectly migrated from Moodle 1.9 so the sound can't be found. Fortunately the sound was in the private files repository so I was able to fix the problem. I will report the problem to MDLSITE.

          Show
          Jean-Michel Vedrine added a comment - And here is multichoice.xml. Sorry there is only a single 0%/100% question but I wanted that we have a question with images in answers to test. What is funny (well in fact not so funny) is that I discovered that the demo course question include an mp3 file but it was incorrectly migrated from Moodle 1.9 so the sound can't be found. Fortunately the sound was in the private files repository so I was able to fix the problem. I will report the problem to MDLSITE.
          Hide
          Tim Hunt added a comment -

          Great. I think those will do for now. Do you want to add them to the commit?

          Show
          Tim Hunt added a comment - Great. I think those will do for now. Do you want to add them to the commit?
          Hide
          Jean-Michel Vedrine added a comment - - edited

          As we have only 2 files do they go in question/format/xml/tests/fixtures or in question/type/xxx/samples ?

          Show
          Jean-Michel Vedrine added a comment - - edited As we have only 2 files do they go in question/format/xml/tests/fixtures or in question/type/xxx/samples ?
          Hide
          Tim Hunt added a comment -

          I think put them in question/format/xml/tests/fixtures for now.

          Show
          Tim Hunt added a comment - I think put them in question/format/xml/tests/fixtures for now.
          Hide
          Jean-Michel Vedrine added a comment -

          Hello Tim,
          I have added the sample files but as a separate commit, because I am a little worried their size is 80 Kb for 2 files
          Maybe this is to big to ship with every Moodle download just for sample files ? I don't understand why they are so big when they only include very small images and a small mp3 sound. Unfortunately I don't know how to optimize image size. So I think this is better as a separate commit.

          Show
          Jean-Michel Vedrine added a comment - Hello Tim, I have added the sample files but as a separate commit, because I am a little worried their size is 80 Kb for 2 files Maybe this is to big to ship with every Moodle download just for sample files ? I don't understand why they are so big when they only include very small images and a small mp3 sound. Unfortunately I don't know how to optimize image size. So I think this is better as a separate commit.
          Hide
          Tim Hunt added a comment -

          Good idea. That gives the integrators the option of whether to integrate them or not. However, in that case, you need to fix the commit comment. Mind you, 80kb is not that much.

          Should this go into any stable branches? It is quite a nice performance improvement. I suggest you make versions for each stable branch, and then again it gives the integrators choices.

          Show
          Tim Hunt added a comment - Good idea. That gives the integrators the option of whether to integrate them or not. However, in that case, you need to fix the commit comment. Mind you, 80kb is not that much. Should this go into any stable branches? It is quite a nice performance improvement. I suggest you make versions for each stable branch, and then again it gives the integrators choices.
          Hide
          Jean-Michel Vedrine added a comment -

          I was just thinking to ask you if I should make versions for stable branchs (that means 2.3, 2.4 because I think 2.2 is already out of support ?)
          But i don't quite understand "However, in that case, you need to fix the commit comment". What do you suggest ?

          Show
          Jean-Michel Vedrine added a comment - I was just thinking to ask you if I should make versions for stable branchs (that means 2.3, 2.4 because I think 2.2 is already out of support ?) But i don't quite understand "However, in that case, you need to fix the commit comment". What do you suggest ?
          Hide
          Jean-Michel Vedrine added a comment -

          I forgot to thank you for putting me on this project. It was very interesting and I think it's a nice improvement for Moodle users.

          Show
          Jean-Michel Vedrine added a comment - I forgot to thank you for putting me on this project. It was very interesting and I think it's a nice improvement for Moodle users.
          Hide
          Tim Hunt added a comment -

          The commit message for the second commit should start 'MDL-37313'. Yes, 2.3+

          Show
          Tim Hunt added a comment - The commit message for the second commit should start ' MDL-37313 '. Yes, 2.3+
          Hide
          Jean-Michel Vedrine added a comment -

          I have created branchs for 23_STABLE and 24_STABLE.
          I will rebase once the weekly release are done.

          Show
          Jean-Michel Vedrine added a comment - I have created branchs for 23_STABLE and 24_STABLE. I will rebase once the weekly release are done.
          Hide
          Tim Hunt added a comment -

          Yay! We go there.

          To INTEGRATORS: I think the risk/reward of putting this in to stable branches means that we should do so. This change greatly reduces the memory usage, and I have seen reports in the forums where people can't import certain files because of out-of-memory errors. However, I will leave final call to you. Feel free to discuss it with us.

          Show
          Tim Hunt added a comment - Yay! We go there. To INTEGRATORS: I think the risk/reward of putting this in to stable branches means that we should do so. This change greatly reduces the memory usage, and I have seen reports in the forums where people can't import certain files because of out-of-memory errors. However, I will leave final call to you. Feel free to discuss it with us.
          Hide
          Eloy Lafuente (stronk7) added a comment -

          The main moodle.git repository has just been updated with latest weekly modifications. You may wish to rebase your PULL branches to simplify history and avoid any possible merge conflicts. This would also make integrator's life easier next week.

          TIA and ciao

          Show
          Eloy Lafuente (stronk7) added a comment - The main moodle.git repository has just been updated with latest weekly modifications. You may wish to rebase your PULL branches to simplify history and avoid any possible merge conflicts. This would also make integrator's life easier next week. TIA and ciao
          Hide
          Jean-Michel Vedrine added a comment -

          Rebased master branch but just noticed there are whitespaces on line 522 of question/format/xml/format.php. Grr I was quite sure I had tested that, but apparently I was wrong. As there are 2 different commits (the fix and the sample files) I don't really know the best method to fix this ?

          Show
          Jean-Michel Vedrine added a comment - Rebased master branch but just noticed there are whitespaces on line 522 of question/format/xml/format.php. Grr I was quite sure I had tested that, but apparently I was wrong. As there are 2 different commits (the fix and the sample files) I don't really know the best method to fix this ?
          Hide
          Tim Hunt added a comment -

          First make a new commit to fix the whitespace issue.

          Then do git rebase -i master

          which is an interactive rebase. You should be able to merge the new third commit into the first commit say saying it is a 'fixup'.

          Show
          Tim Hunt added a comment - First make a new commit to fix the whitespace issue. Then do git rebase -i master which is an interactive rebase. You should be able to merge the new third commit into the first commit say saying it is a 'fixup'.
          Hide
          Dan Poltawski added a comment -

          Hi,

          The whitespace issues are still there, can you fix?

          Raising this for discussion about backporting.

          Show
          Dan Poltawski added a comment - Hi, The whitespace issues are still there, can you fix? Raising this for discussion about backporting.
          Hide
          Jean-Michel Vedrine added a comment - - edited

          Hello Dan, Oops sorry I forgot about the whitespace. I just awake and the first problem is that we are under a heavy snow and the house is isolated from the rest of the word, so the priority is to take the showel and make a path. But as soon as I can I will make a commit and rebase (My knowledge on git is rather small )
          You say the whitespace issueS. I only see one on the line that I changed. What is the policy ? Should I also suppress whitespaces on unmodified lines ? I was believing no.

          Show
          Jean-Michel Vedrine added a comment - - edited Hello Dan, Oops sorry I forgot about the whitespace. I just awake and the first problem is that we are under a heavy snow and the house is isolated from the rest of the word, so the priority is to take the showel and make a path. But as soon as I can I will make a commit and rebase (My knowledge on git is rather small ) You say the whitespace issueS. I only see one on the line that I changed. What is the policy ? Should I also suppress whitespaces on unmodified lines ? I was believing no.
          Hide
          Dan Poltawski added a comment -

          Hi Jean-Michel,

          No need to rush, you attend to the path and I am happy to fix the whitespace issue myself.

          I've discussed this with the integrators and it would be good to see the forum reports complaining about the problems to justify the risk of back-porting it. As a way forward I suggest that i'll integrate this into master and if we think this backporting is necessary and demonstrated (perhaps it'd be good to have the links to the forum posts you mention Tim) we can do that in a new issue.

          thanks!
          dan

          Show
          Dan Poltawski added a comment - Hi Jean-Michel, No need to rush, you attend to the path and I am happy to fix the whitespace issue myself. I've discussed this with the integrators and it would be good to see the forum reports complaining about the problems to justify the risk of back-porting it. As a way forward I suggest that i'll integrate this into master and if we think this backporting is necessary and demonstrated (perhaps it'd be good to have the links to the forum posts you mention Tim) we can do that in a new issue. thanks! dan
          Show
          Dan Poltawski added a comment - I've integrated it to master, thanks. (Oh and yes, it was only the 1 line http://git.moodle.org/gw?p=integration.git;a=blobdiff;f=question/format/xml/format.php;h=de4f95908c349b2833246038a5bdda794787e678;hp=3cac5729322600c613eca365e7b12fc659a55b25;hb=a9081ce6306cbd91ef16905b4cb3675ac4f0ff2e;hpb=12576d356af2a65ffbf13b7ba540ab1187c68c74 )
          Hide
          Jean-Michel Vedrine added a comment -

          Hello Dan,
          I am connected again to civilisation (well the net was still here so we were not quite isolated !). I don't know if it will hurt but I have rebased my github version too.
          I will wait for your decision about backporting. I think it will not be easy for Tim to retrieve the complaints because people don't always use the right words to say "I am unable to import my XML question file" but I am quite sure I saw it several times in the forum. I will try to search too.

          Show
          Jean-Michel Vedrine added a comment - Hello Dan, I am connected again to civilisation (well the net was still here so we were not quite isolated !). I don't know if it will hurt but I have rebased my github version too. I will wait for your decision about backporting. I think it will not be easy for Tim to retrieve the complaints because people don't always use the right words to say "I am unable to import my XML question file" but I am quite sure I saw it several times in the forum. I will try to search too.
          Hide
          Tim Hunt added a comment -

          I remember more, but all I can find now is:

          Show
          Tim Hunt added a comment - I remember more, but all I can find now is: https://tracker.moodle.org/browse/MDL-33884 is the corresponding export out-of-memory problem. https://moodle.org/mod/forum/discuss.php?d=204890 Ah, I think the one I am really remembering is an internal bug report at the OU. Sorry, I can't link you to that, but that explains my motivation to get this in to stable branches.
          Hide
          Jean-Michel Vedrine added a comment -

          I found this one: https://moodle.org/mod/forum/discuss.php?d=208287
          And it is very interesting because it shows that people using MoodleXMLBuilder to convert their Blackboard files to Moodle XML, then import these in Moodle get in big trouble even for "small" files during the XML import into Moodle. But directly using the Blackboard V6+ (which use draft files since I modified it last year) you have no problem importing the same files. Clearly using draft file is a big win.
          An argument for backporting is that there is no easy workaround other than increase available memory.
          If backporting to Moodle 2.3 is not agreed during the discussion, could it be at least backported to Moodle 2.4 ? So that we can suggest a solution to people because I don't think that "Wait for next summer to import your question" is an option!
          As I know that you integrators are currently discussing the rules for backporting, may I suggest you look at having a different policy when a new version has just been relaesed and when a new version is coming ? It could be like that
          During the X months after a Moodle release backport if there is a clear benefit for Moodle users or there is no workaround. When a new release is approaching be more strict to push people to upgrade to get new features.
          Anyway I will (of course!) accept your decision.

          Show
          Jean-Michel Vedrine added a comment - I found this one: https://moodle.org/mod/forum/discuss.php?d=208287 And it is very interesting because it shows that people using MoodleXMLBuilder to convert their Blackboard files to Moodle XML, then import these in Moodle get in big trouble even for "small" files during the XML import into Moodle. But directly using the Blackboard V6+ (which use draft files since I modified it last year) you have no problem importing the same files. Clearly using draft file is a big win. An argument for backporting is that there is no easy workaround other than increase available memory. If backporting to Moodle 2.3 is not agreed during the discussion, could it be at least backported to Moodle 2.4 ? So that we can suggest a solution to people because I don't think that "Wait for next summer to import your question" is an option! As I know that you integrators are currently discussing the rules for backporting, may I suggest you look at having a different policy when a new version has just been relaesed and when a new version is coming ? It could be like that During the X months after a Moodle release backport if there is a clear benefit for Moodle users or there is no workaround. When a new release is approaching be more strict to push people to upgrade to get new features. Anyway I will (of course!) accept your decision.
          Hide
          Dan Poltawski added a comment -

          Doh, I set the fix version incorrectly here. But i'm going to backport, thanks for demonstrating the problems.

          Show
          Dan Poltawski added a comment - Doh, I set the fix version incorrectly here. But i'm going to backport, thanks for demonstrating the problems.
          Hide
          Rajesh Taneja added a comment -

          Thanks Jean-Michel, for fixing this.
          I was able to import sample fixture files with images.

          Show
          Rajesh Taneja added a comment - Thanks Jean-Michel, for fixing this. I was able to import sample fixture files with images.
          Hide
          Dan Poltawski added a comment -

          Hurray! We did it! Thanks to all the reporters, testers, user and watchers for a bumper week of Moodling!

          Show
          Dan Poltawski added a comment - Hurray! We did it! Thanks to all the reporters, testers, user and watchers for a bumper week of Moodling!
          Hide
          Jean-Michel Vedrine added a comment -

          Thanks a lot Tim, Rajesh, and Dan. With a special mention to the integrators for accepting to backport this.

          Show
          Jean-Michel Vedrine added a comment - Thanks a lot Tim, Rajesh, and Dan. With a special mention to the integrators for accepting to backport this.

            People

            • Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: