Proposals/Done/Portfolio Export Import

From Mahara Wiki

< Proposals‎ | Done
Revision as of 13:06, 18 June 2013 by Aaronw (talk | contribs) (Sites with self-registration)

Moving from one Mahara installation to another

The Leap2A export option of Mahara allows users to export their portfolios in such a fashion that they can be imported into another Mahara instance of the same version or higher. If the exporting Mahara instance was customized, e.g. included plugins that are not available on the receiving Mahara, then that portfolio content cannot be displaye properly.

Improving the export and import of portfolios

Making the export and import of portfolios easier becomes more important as more users have Mahara experience and may wish to move their portfolios from one site to another. That also means that the portfolios contain data and can be large, e.g. 1 GB of file quota, if Mahara installations allow for large portfolios.

Load issues with larger LEAP2A files

  • Exporting large portfolios (> 100 MB) results in a large server load and the export process frequently times out.
  • Importing large portfolios (> the allow maximum file upload) so far always needs a temporary adjustment on the server side.


  • The time out needs to be set higher to avoid time outs during the export of large portfolios.
  • Make the export of portfolios time delayed so that the load can be spread more evenly over the server and does not, for example, run while the site is in heavy use. A user could receive an email once his portfolio export file is available for download. Include a message that tells the user for how long the export file will be available before it will be deleted.
  • The administrators should be allowed to upload Leap2A files that are larger than the allowed maximum file upload size for users to be able to import portfolios easily.

User self-import of LEAP2A

Currently (Mahara 1.7), the only LEAP2A import functionality in Mahara is that an admin can import a LEAP2A file and create a new user account from it. It would help out with portability, though, if users could import their own LEAP2A files, either at self-registration time, or after they've created their account (in order to add content to their account).

Sites with self-registration

  • During the self-registration process, a user should be allowed to upload a Leap2A file and create their account based on its content.
  • Note there may be file size issues involved with Upload of large Leap2A's
  • During the upload process, the zip file should be checked for whether it contains a Leap2A xml file. If that is not the case, the import is aborted.
  • Uploads older than a couple of hours (perhaps because the page crashed so they didn't get properly deleted after being processed) should be deleted from the system, maybe by a cron job
  • Most new users will not be importing a Leap2A file. So, we shouldn't put the upload form directly on the registration page (as this will be too busy)
    • Instead, there should be a link on the registration page that says "Import a Leap2A file", and clicking on that will take the user to a different page or display the upload form

Any Mahara site

  • An user himself can upload a Leap2A file on the first login screen after registering. In this case these following notes should be considered.
    • The zip file size should be checked to avoid large file than allowed.
    • All email addresses in the Leap2A file will be added as secondary emails.
  • A user is allowed to merge an existing account with Leap2A imports, either partial (just a few pages / collections) or full ones.
    • All profile fields, and other items(files, journals/entries, plans/tasks, and notes) in the current portfolio and in the Leap2A file will be displayed in a table of 3 columns: old content, import content and new content
    • The user will choose from 3 options
      • Use the existing content
      • Use the content from the import file
      • Append the content from the import file
    • After merging we should have
      • New artefacts
      • Unchanged artefacts
      • Updated artefacts
    • The portfolio pages including profile page and collection in the Leap2A file will be added as copied pages/collections.
    • The block instances in all portfolio pages need to be updated based on merged artefacts.

Filed the following related bug

(encountered during manually merging of two accounts and uploading of files via a zip archive)

Not all file types are correctly identified after uploading a zip archive: (only related in so far as if user uploads a bunch of his files manually via a zip archive)