Actions

Difference between revisions of "Developer Area/Import//Export/LEAP Import"

From Mahara Wiki

< Developer Area‎ | Import//Export
Line 1: Line 1:
Mahara's Leap Import is implemented as a plugin for Mahara's [[Developer Area/Import//Export/LEAP Import|"Import" plugin type]]. It allows Mahara to import [http://wiki.cetis.ac.uk/LEAP2A_specification Leap2A] files, which Mahara can also [[Developer Area/Import//Export/LEAP Export|export]].
+
http://wiki.mahara.org/Developer_Area/Import%2f%2fExport/LEAP_Import
 +
http://wiki.cetis.ac.uk/LEAP2A_specification
 +
http://wiki.mahara.org/Developer_Area/Import%2f%2fExport/LEAP_Export
 +
http://wiki.cetis.ac.uk/LEAP2A_specification
 +
http://wiki.mahara.org/Developer_Area/Import%2f%2fExport/Import%3a_Implementation_Plan
 +
http://wiki.mahara.org/Developer_Area/Import%2f%2fExport/LEAP_Import/Blog_Artefact_Plugin
 +
http://wiki.mahara.org/Developer_Area/Import%2f%2fExport/LEAP_Import/File_Artefact_Plugin
 +
http://wiki.mahara.org/Developer_Area/Import%2f%2fExport/LEAP_Import/Resume_Artefact_Plugin
 +
http://wiki.mahara.org/Developer_Area/Import%2f%2fExport/LEAP_Import/Internal_Artefact_Plugin
 +
http://wiki.mahara.org/Developer_Area/Import%2f%2fExport/Interoperability
 +
https://bugs.launchpad.net/mahara/+filebug
 +
Mahara's Leap Import is implemented as a plugin for Mahara's [[Developer Area/Import%2f%2fExport/LEAP Import|"Import" plugin type]]. It allows Mahara to import [http://wiki.cetis.ac.uk/LEAP2A_specification Leap2A] files, which Mahara can also [[Developer Area/Import%2f%2fExport/LEAP Export|export]].
  
 
'''''Note:''' A working understanding of the ''[http://wiki.cetis.ac.uk/LEAP2A_specification ''Leap2A spec'']'' will help you understand the documentation written here. We suggest you at least partially familiarise yourself with the spec before diving into the code or this documentation.''
 
'''''Note:''' A working understanding of the ''[http://wiki.cetis.ac.uk/LEAP2A_specification ''Leap2A spec'']'' will help you understand the documentation written here. We suggest you at least partially familiarise yourself with the spec before diving into the code or this documentation.''
Line 17: Line 28:
 
===Importing Algorithm===
 
===Importing Algorithm===
  
This algorithm is still under development. Please see the [[Developer Area/Import//Export/Import: Implementation Plan|implementation plan]] for an exhaustive description of the algorithm as it was planned. The algorithm has not changed much from how that document describes it.
+
This algorithm is still under development. Please see the [[Developer Area/Import%2f%2fExport/Import%3a Implementation Plan|implementation plan]] for an exhaustive description of the algorithm as it was planned. The algorithm has not changed much from how that document describes it.
  
 
</div><div id="section_3">
 
</div><div id="section_3">
Line 25: Line 36:
 
From a Leap export:
 
From a Leap export:
  
* The [[Developer Area/Import//Export/LEAP Import/Blog Artefact Plugin|blog artefact plugin]] imports blogs, blog posts and their attachments.
+
* The [[Developer Area/Import%2f%2fExport/LEAP Import/Blog Artefact Plugin|blog artefact plugin]] imports blogs, blog posts and their attachments.
* The [[Developer Area/Import//Export/LEAP Import/File Artefact Plugin|file artefact plugin]] imports files and folders, and detects and imports profile icons.
+
* The [[Developer Area/Import%2f%2fExport/LEAP Import/File Artefact Plugin|file artefact plugin]] imports files and folders, and detects and imports profile icons.
* The [[Developer Area/Import//Export/LEAP Import/Resume Artefact Plugin|resume artefact plugin]] imports employment history and other personal/professional records.
+
* The [[Developer Area/Import%2f%2fExport/LEAP Import/Resume Artefact Plugin|resume artefact plugin]] imports employment history and other personal/professional records.
* The [[Developer Area/Import//Export/LEAP Import/Internal Artefact Plugin|internal artefact plugin]] imports basic profile information.
+
* The [[Developer Area/Import%2f%2fExport/LEAP Import/Internal Artefact Plugin|internal artefact plugin]] imports basic profile information.
 
* The Leap import plugin itself handles the importing of Views
 
* The Leap import plugin itself handles the importing of Views
  
Line 35: Line 46:
 
===Importing from Other Systems===
 
===Importing from Other Systems===
  
We have documented the results of importing from other systems, as well as exporting, in the [[Developer Area/Import//Export/Interoperability|Interoperability]] section.
+
We have documented the results of importing from other systems, as well as exporting, in the [[Developer Area/Import%2f%2fExport/Interoperability|Interoperability]] section.
  
 
You should probably validate incoming Leap2A exports before [https://bugs.launchpad.net/mahara/+filebug filing a bug] against the Mahara Leap importer.
 
You should probably validate incoming Leap2A exports before [https://bugs.launchpad.net/mahara/+filebug filing a bug] against the Mahara Leap importer.

Revision as of 18:06, 12 May 2011

http://wiki.mahara.org/Developer_Area/Import%2f%2fExport/LEAP_Import http://wiki.cetis.ac.uk/LEAP2A_specification http://wiki.mahara.org/Developer_Area/Import%2f%2fExport/LEAP_Export http://wiki.cetis.ac.uk/LEAP2A_specification http://wiki.mahara.org/Developer_Area/Import%2f%2fExport/Import%3a_Implementation_Plan http://wiki.mahara.org/Developer_Area/Import%2f%2fExport/LEAP_Import/Blog_Artefact_Plugin http://wiki.mahara.org/Developer_Area/Import%2f%2fExport/LEAP_Import/File_Artefact_Plugin http://wiki.mahara.org/Developer_Area/Import%2f%2fExport/LEAP_Import/Resume_Artefact_Plugin http://wiki.mahara.org/Developer_Area/Import%2f%2fExport/LEAP_Import/Internal_Artefact_Plugin http://wiki.mahara.org/Developer_Area/Import%2f%2fExport/Interoperability https://bugs.launchpad.net/mahara/+filebug Mahara's Leap Import is implemented as a plugin for Mahara's "Import" plugin type. It allows Mahara to import Leap2A files, which Mahara can also export.

Note: A working understanding of the Leap2A spec will help you understand the documentation written here. We suggest you at least partially familiarise yourself with the spec before diving into the code or this documentation.

Architecture

The Leap import plugin lives in htdocs/import/leap/. The core import algorithm is implemented here, as well as other parts necessary to implement the Mahara import API. Most of the work is done by the PluginImportLeap class, which represents a Leap export and the process of importing it.

In addition to this, each artefact plugin can provide the import/leap/lib.php file which the core searches for in order to do most of the heavy lifting. The core Mahara artefact plugins provide this so that, for example, files and blogs in Leap files are imported as files and blogs in Mahara. If you are writing an artefact plugin and your plugin does not supply any artefact type that can be meaningly imported from a Leap file, you don't have to provide the import/leap/ directory at all.

The code uses the PHP extension simplexml to parse the Leap files. This extension is bundled with PHP5 by default, so you're very likely to have it available.

Importing Algorithm

This algorithm is still under development. Please see the implementation plan for an exhaustive description of the algorithm as it was planned. The algorithm has not changed much from how that document describes it.

Artefact Plugins and Leap Import

From a Leap export:

Importing from Other Systems

We have documented the results of importing from other systems, as well as exporting, in the Interoperability section.

You should probably validate incoming Leap2A exports before filing a bug against the Mahara Leap importer.

Files

Subpages