← Back to team overview

mahara-contributors team mailing list archive

[Bug 1905702] [NEW] Missing all PDF files in "Export your portfolio"

 

Public bug reported:

When using "Export your portfolio" (Main Menu > Manage > Export > "All
my data" > Generate export) sometimes the pdf files are missing

This is due to the class PluginExportAll creating 3 new objects.
PluginExportHtml, PluginExportLeap, PluginExportPdf, but using the
exportdir of the object PluginExportHtml.

htdocs/export/lib.php
class PluginExportAll extends PluginExport {
    ...
    public function __construct
        $this->htmlexporter = new PluginExportHtml($user, $views, $artefacts, $progresscallback);
        $this->leapexporter = new PluginExportLeap($user, $views, $artefacts, $progresscallback);
        $this->pdfactive = get_field('export_installed', 'active', 'name', 'pdf');
        if ($this->pdfactive) {
            safe_require('export', 'pdf');
            $this->pdfexporter = new PluginExportPdf($user, $views, $artefacts, $progresscallback);
        }
        $this->exportdir = $this->htmlexporter->get('exportdir');

The exportdir is based on the exporttime, and is generated seperatly in
PluginExportHtml, PluginExportLeap, PluginExportPdf through the parent
class constructor.

htdocs/export/lib.php
abstract class PluginExport extends Plugin implements IPluginExport {

    public function __construct(User $user, $views, $artefacts, ...) {
    ...
        $this->exporttime = time();
    ...
        // Now set up the temporary export directories
        $this->exportdir = get_config('dataroot')
            . 'export/'
            . $this->user->get('id')  . '/'
            . $this->exporttime .  '/';

If the exporttimes differ (by 1 second for examle), different exportdirs
are created, the files are spread over different dirs and not included
in the export.

** Affects: mahara
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Mahara
Contributors, which is subscribed to Mahara.
Matching subscriptions: Subscription for all Mahara Contributors -- please ask on #mahara-dev or mahara.org forum before editing or unsubscribing it!
https://bugs.launchpad.net/bugs/1905702

Title:
  Missing all PDF files in "Export your portfolio"

Status in Mahara:
  New

Bug description:
  When using "Export your portfolio" (Main Menu > Manage > Export > "All
  my data" > Generate export) sometimes the pdf files are missing

  This is due to the class PluginExportAll creating 3 new objects.
  PluginExportHtml, PluginExportLeap, PluginExportPdf, but using the
  exportdir of the object PluginExportHtml.

  htdocs/export/lib.php
  class PluginExportAll extends PluginExport {
      ...
      public function __construct
          $this->htmlexporter = new PluginExportHtml($user, $views, $artefacts, $progresscallback);
          $this->leapexporter = new PluginExportLeap($user, $views, $artefacts, $progresscallback);
          $this->pdfactive = get_field('export_installed', 'active', 'name', 'pdf');
          if ($this->pdfactive) {
              safe_require('export', 'pdf');
              $this->pdfexporter = new PluginExportPdf($user, $views, $artefacts, $progresscallback);
          }
          $this->exportdir = $this->htmlexporter->get('exportdir');

  The exportdir is based on the exporttime, and is generated seperatly
  in PluginExportHtml, PluginExportLeap, PluginExportPdf through the
  parent class constructor.

  htdocs/export/lib.php
  abstract class PluginExport extends Plugin implements IPluginExport {

      public function __construct(User $user, $views, $artefacts, ...) {
      ...
          $this->exporttime = time();
      ...
          // Now set up the temporary export directories
          $this->exportdir = get_config('dataroot')
              . 'export/'
              . $this->user->get('id')  . '/'
              . $this->exporttime .  '/';

  If the exporttimes differ (by 1 second for examle), different
  exportdirs are created, the files are spread over different dirs and
  not included in the export.

To manage notifications about this bug go to:
https://bugs.launchpad.net/mahara/+bug/1905702/+subscriptions


Follow ups