Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-33547

In 2.3 Assignments clicking the "Export to portfolio" link generates an exception

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 2.3
    • Fix Version/s: 2.3
    • Component/s: Assignment, Portfolio
    • Labels:
    • Testing Instructions:
      Hide

      To recreate:
      This test requires the following:

      • Portfolios and the file download and Google Docs portfolio plugins to be enabled for the site
      • A course containing a 2.3 single file assignment and multiple files assignment
      • A Google Docs account for use in testing
      1. Login as a student, access the course and make submissions for each of the two assignments.
      2. For each assignment:
        • click the "Export to portfolio" link,
        • select "File download" from the "Select destination" dropdown,
        • click Next and select "File" from the "Available export formats" dropdown.
        • click Next.

      Expected result:

      • The files are exported successfully.

      Actual result:

      • Moodle throws the exception displayed above.
      Show
      To recreate: This test requires the following: Portfolios and the file download and Google Docs portfolio plugins to be enabled for the site A course containing a 2.3 single file assignment and multiple files assignment A Google Docs account for use in testing Login as a student, access the course and make submissions for each of the two assignments. For each assignment: click the "Export to portfolio" link, select "File download" from the "Select destination" dropdown, click Next and select "File" from the "Available export formats" dropdown. click Next. Expected result: The files are exported successfully. Actual result: Moodle throws the exception displayed above.
    • Affected Branches:
      MOODLE_23_STABLE
    • Fixed Branches:
      MOODLE_23_STABLE
    • Pull Master Branch:

      Description

      When I try to export to portfolio using the "Export to portfolio" link; Moodle throws the exception:

      Invalid call to get_sha1_file - either single or multifiles must be set
       
      More information about this error
      Debug info:
      Error code: invalidsha1file
      Stack trace:
       
      line 982 of /lib/portfoliolib.php: portfolio_export_exception thrown
      line 239 of /lib/portfolio/exporter.php: call to portfolio_export_rethrow_exception()
      line 233 of /lib/portfolio/exporter.php: call to portfolio_exporter->process_stage()
      line 268 of /portfolio/add.php: call to portfolio_exporter->process_stage()

      I have tested this with 2.2 and it works fine in both 2.3 file assignment sub-types.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

              Hide
              timb Tim Barker added a comment -

              Tried this with Google docs and the same thing happened.

              Show
              timb Tim Barker added a comment - Tried this with Google docs and the same thing happened.
              Hide
              poltawski Dan Poltawski added a comment -

              Assignign to Damyon.

              Show
              poltawski Dan Poltawski added a comment - Assignign to Damyon.
              Hide
              timb Tim Barker added a comment -

              It works fine with individual files and the green portfolio icon, this is only a problem with the "Export to portfolio" link in NEW 2.3 assignments.

              Show
              timb Tim Barker added a comment - It works fine with individual files and the green portfolio icon, this is only a problem with the "Export to portfolio" link in NEW 2.3 assignments.
              Hide
              damyon Damyon Wiese added a comment -

              I have fixed the specific issue with the new assignment module - I am still seeing an error when exporting multiple files to google with both mod_assignment and mod_assign which suggests there is still an issue with the google portfolio plugin.

              • Damyon
              Show
              damyon Damyon Wiese added a comment - I have fixed the specific issue with the new assignment module - I am still seeing an error when exporting multiple files to google with both mod_assignment and mod_assign which suggests there is still an issue with the google portfolio plugin. Damyon
              Hide
              poltawski Dan Poltawski added a comment -

              Thanks Damyon, bringing this straight into integration.

              Show
              poltawski Dan Poltawski added a comment - Thanks Damyon, bringing this straight into integration.
              Hide
              poltawski Dan Poltawski added a comment -

              I've integrated this

              Show
              poltawski Dan Poltawski added a comment - I've integrated this
              Hide
              poltawski Dan Poltawski added a comment -

              Manually passing, to be done by QA test. thanks.

              Show
              poltawski Dan Poltawski added a comment - Manually passing, to be done by QA test. thanks.
              Hide
              poltawski Dan Poltawski added a comment -

              Actually, putting into the 'waiting for testing' state, because the QA test is blocked by the other google docs issue.

              Show
              poltawski Dan Poltawski added a comment - Actually, putting into the 'waiting for testing' state, because the QA test is blocked by the other google docs issue.
              Hide
              poltawski Dan Poltawski added a comment -

              Removed the mdlqa label frm here, as its now in MDL-33551

              Show
              poltawski Dan Poltawski added a comment - Removed the mdlqa label frm here, as its now in MDL-33551
              Hide
              fred Frédéric Massart added a comment -

              The test is fine when uploading one file.
              The test fails with more than one file.
              I have tried multiple types of documents.

              This exception is raised:

              Debug info: 
              Error code: Cantpostupload
              $a contents: 
              Stack trace: 
              line 982 of /lib/portfoliolib.php: portfolio_export_exception thrown
              line 247 of /lib/portfolio/exporter.php: call to portfolio_export_rethrow_exception()
              line 233 of /lib/portfolio/exporter.php: call to portfolio_exporter->process_stage()
              line 233 of /lib/portfolio/exporter.php: call to portfolio_exporter->process_stage()
              line 233 of /lib/portfolio/exporter.php: call to portfolio_exporter->process_stage()
              line 233 of /lib/portfolio/exporter.php: call to portfolio_exporter->process_stage()
              line 268 of /portfolio/add.php: call to portfolio_exporter->process_stage()
              Output buffer: <div class="notifytiny">A third party exception was thrown during portfolio export (moodle_exception). Caught and rethrown but this should really be fixed<ul style="text-align: left"><li>line 245 of /lib/portfolio/exporter.php: call to debugging()</li><li>line 233 of /lib/portfolio/exporter.php: call to portfolio_exporter->process_stage()</li><li>line 233 of /lib/portfolio/exporter.php: call to portfolio_exporter->process_stage()</li><li>line 233 of /lib/portfolio/exporter.php: call to portfolio_exporter->process_stage()</li><li>line 233 of /lib/portfolio/exporter.php: call to portfolio_exporter->process_stage()</li><li>line 268 of /portfolio/add.php: call to portfolio_exporter->process_stage()</li></ul></div><div class="notifytiny">exception 'moodle_exception' with message 'error/Cantpostupload' in /home/fred/www/repositories/testing_master/moodle/lib/googleapi.php:140 Stack trace: #0 /home/fred/www/repositories/testing_master/moodle/portfolio/googledocs/lib.php(58): google_docs->send_file(Object(stored_file)) #1 /home/fred/www/repositories/testing_master/moodle/lib/portfolio/exporter.php(502): portfolio_plugin_googledocs->send_package() #2 /home/fred/www/repositories/testing_master/moodle/lib/portfolio/exporter.php(227): portfolio_exporter->process_stage_send() #3 /home/fred/www/repositories/testing_master/moodle/lib/portfolio/exporter.php(233): portfolio_exporter->process_stage(5) #4 /home/fred/www/repositories/testing_master/moodle/lib/portfolio/exporter.php(233): portfolio_exporter->process_stage(4) #5 /home/fred/www/repositories/testing_master/moodle/lib/portfolio/exporter.php(233): portfolio_exporter->process_stage(3) #6 /home/fred/www/repositories/testing_master/moodle/lib/portfolio/exporter.php(233): portfolio_exporter->process_stage(2) #7 /home/fred/www/repositories/testing_master/moodle/portfolio/add.php(268): portfolio_exporter->process_stage(1, false) #8 {main}<ul style="text-align: left"><li>line 246 of /lib/portfolio/exporter.php: call to debugging()</li><li>line 233 of /lib/portfolio/exporter.php: call to portfolio_exporter->process_stage()</li><li>line 233 of /lib/portfolio/exporter.php: call to portfolio_exporter->process_stage()</li><li>line 233 of /lib/portfolio/exporter.php: call to portfolio_exporter->process_stage()</li><li>line 233 of /lib/portfolio/exporter.php: call to portfolio_exporter->process_stage()</li><li>line 268 of /portfolio/add.php: call to portfolio_exporter->process_stage()</li></ul></div>

              Note: When I clicked on 'Export to portfolio' with only one file, I did not see 'File download' but just a confirm button.

              Show
              fred Frédéric Massart added a comment - The test is fine when uploading one file. The test fails with more than one file. I have tried multiple types of documents. This exception is raised: Debug info: Error code: Cantpostupload $a contents: Stack trace: line 982 of /lib/portfoliolib.php: portfolio_export_exception thrown line 247 of /lib/portfolio/exporter.php: call to portfolio_export_rethrow_exception() line 233 of /lib/portfolio/exporter.php: call to portfolio_exporter->process_stage() line 233 of /lib/portfolio/exporter.php: call to portfolio_exporter->process_stage() line 233 of /lib/portfolio/exporter.php: call to portfolio_exporter->process_stage() line 233 of /lib/portfolio/exporter.php: call to portfolio_exporter->process_stage() line 268 of /portfolio/add.php: call to portfolio_exporter->process_stage() Output buffer: <div class="notifytiny">A third party exception was thrown during portfolio export (moodle_exception). Caught and rethrown but this should really be fixed<ul style="text-align: left"><li>line 245 of /lib/portfolio/exporter.php: call to debugging()</li><li>line 233 of /lib/portfolio/exporter.php: call to portfolio_exporter->process_stage()</li><li>line 233 of /lib/portfolio/exporter.php: call to portfolio_exporter->process_stage()</li><li>line 233 of /lib/portfolio/exporter.php: call to portfolio_exporter->process_stage()</li><li>line 233 of /lib/portfolio/exporter.php: call to portfolio_exporter->process_stage()</li><li>line 268 of /portfolio/add.php: call to portfolio_exporter->process_stage()</li></ul></div><div class="notifytiny">exception 'moodle_exception' with message 'error/Cantpostupload' in /home/fred/www/repositories/testing_master/moodle/lib/googleapi.php:140 Stack trace: #0 /home/fred/www/repositories/testing_master/moodle/portfolio/googledocs/lib.php(58): google_docs->send_file(Object(stored_file)) #1 /home/fred/www/repositories/testing_master/moodle/lib/portfolio/exporter.php(502): portfolio_plugin_googledocs->send_package() #2 /home/fred/www/repositories/testing_master/moodle/lib/portfolio/exporter.php(227): portfolio_exporter->process_stage_send() #3 /home/fred/www/repositories/testing_master/moodle/lib/portfolio/exporter.php(233): portfolio_exporter->process_stage(5) #4 /home/fred/www/repositories/testing_master/moodle/lib/portfolio/exporter.php(233): portfolio_exporter->process_stage(4) #5 /home/fred/www/repositories/testing_master/moodle/lib/portfolio/exporter.php(233): portfolio_exporter->process_stage(3) #6 /home/fred/www/repositories/testing_master/moodle/lib/portfolio/exporter.php(233): portfolio_exporter->process_stage(2) #7 /home/fred/www/repositories/testing_master/moodle/portfolio/add.php(268): portfolio_exporter->process_stage(1, false) #8 {main}<ul style="text-align: left"><li>line 246 of /lib/portfolio/exporter.php: call to debugging()</li><li>line 233 of /lib/portfolio/exporter.php: call to portfolio_exporter->process_stage()</li><li>line 233 of /lib/portfolio/exporter.php: call to portfolio_exporter->process_stage()</li><li>line 233 of /lib/portfolio/exporter.php: call to portfolio_exporter->process_stage()</li><li>line 233 of /lib/portfolio/exporter.php: call to portfolio_exporter->process_stage()</li><li>line 268 of /portfolio/add.php: call to portfolio_exporter->process_stage()</li></ul></div> Note: When I clicked on 'Export to portfolio' with only one file, I did not see 'File download' but just a confirm button.
              Hide
              poltawski Dan Poltawski added a comment -

              Fred: see damyons comment:

              'I have fixed the specific issue with the new assignment module - I am still seeing an error when exporting multiple files to google with both mod_assignment and mod_assign which suggests there is still an issue with the google portfolio plugin.'

              This problem is to be addressed in the linked bug. Closing.

              Show
              poltawski Dan Poltawski added a comment - Fred: see damyons comment: 'I have fixed the specific issue with the new assignment module - I am still seeing an error when exporting multiple files to google with both mod_assignment and mod_assign which suggests there is still an issue with the google portfolio plugin.' This problem is to be addressed in the linked bug. Closing.
              Hide
              stronk7 Eloy Lafuente (stronk7) added a comment -

              We could celebrate it today... but better if we perform a bigger party after releasing Moodle 2.3.

              Print this message and come to Perth that day, it's valid for one beer, wine, coke or... water, as you wish.

              Many thanks for your collaboration!

              Ciao

              Show
              stronk7 Eloy Lafuente (stronk7) added a comment - We could celebrate it today... but better if we perform a bigger party after releasing Moodle 2.3. Print this message and come to Perth that day, it's valid for one beer, wine, coke or... water, as you wish. Many thanks for your collaboration! Ciao

                People

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

                  Dates

                  • Created:
                    Updated:
                    Resolved:
                    Fix Release Date:
                    25/Jun/12