Note:

If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

LEAP2A Portfolio Implementation

From MoodleDocs

Rationale

In the current Portfolio API implementation (as at time of writing, May 2009), we're missing support for any of the available Portfolio standards. The reason for this is that during the development phase of that project (mid 2008) there wasn't a clear front runner. As I understand it, the IMS Portfolio standard is not mature and very complicated and it would have been far out of the scope of the Portfolio API project to support IMS eP.

However, the landscape has changed somewhat over the last year and LEAP2A has emerged as a very strong candidate. Mahara's upcoming 1.2 release will support importing from LEAP2A, as well as as well as other Portfolio vendors, and therefore it makes sense for Moodle to be able to export LEAP2A in order to be really useful. This doesn't mean that Moodle will never support any other Portfolio standard, it just means that it's a logical first choice.

A note on Moodle's current Portfolio export formats

At the present time, Moodle's Portfolio API exports Moodle content to a HTML respresentation. Files that have been uploaded into Moodle are kept in their native format. This is important as the "fallback case", because HTML and files (eg PDF, etc) are supported everywhere, however, it is not actually necessarily the most useful end format to import into portfolio systems. For example, a forum post in Moodle will be exported to HTML, and become a HTML 'file' artefact in Mahara, which is essentially a non editable, rastered "snapshot" of the content. It allows for much richer use, for a forum post in Moodle to (optionally) appear as a blog post artefact in Mahara, for example. In order to achieve this, we must export the forum post to some sort of common standard that Mahara can read. It is then up to Mahara to make decisions about what that content means inside Mahara. This takes away the impetus for Moodle to have to make decisions about what Moodle content becomes when it appears in a Portfolio application, and places it in the realm of the Portfolio application to decide (or ask the user). This is important because the same Moodle content might appear differently in different Portfolio applications.

Background to LEAP2A

LEAP2A is a simple ATOM Based standard that is well positioned as a low-barrier standard to combat some of the heavier standards out there. The basic premis is that every item is an entry, with some additional LEAP specific metadata. Content is not just defined by metadata, but also largely gains meaning based on its relation to other items.

LEAP2A is being championed by JISC in the UK and adopted by a number of Portfolio vendors.

It is relatively simple to add LEAP2A support into Moodle.

What needs to happen in Moodle

  1. Agreement on a generic way to write XML, and an implementation
  2. LEAP2A writing library. We should keep this as simple as possible. Mahara's implementation uses Smarty and is quite specific to Mahara's infrastructure, a good end goal would be to consolidate these two libraries but it's a bit more work.
  3. Evaluation of the existing export locations in Moodle (canonical list here) and what the content maps to in LEAP2A if at all
  4. Interface between all the existing export locations in Moodle, and the LEAP2A writing library
  5. Support for the Mahara portfolio plugin in Moodle to send LEAP2A content to Mahara

What needs to happen in Mahara

  1. Changes to the Mahara import infrastructure to import LEAP2A over mnet. Mahara already supports importing files over MNET, and LEAP2A from uploade files. This does imply some refactoring of the interface between the Import plugins and the ImportTransport mechanisms.

See also