Forums | Mahara Community

Developers /
Retrieve portfolios via core API or web services

25 May 2022, 19:04

Dear Mahara Developers,

I'm a member of the research project "AISOP" ( which aims to support the individual competence development of students using e-portfolios and their automatic analysis by AI-based methods and tools. For this purpose, we would like to analyse the Mahara portfolios of our university students - of course, only after their consent and in compliance with data protection regulations.

I have been reading the Mahara Wiki carefully over the last few days. Nevertheless, a few questions have remained unanswered, and I would be very happy to hear your expertise:

  • Is it possible to retrieve entire portfolios from Mahara?
  • Does Mahara already offer an API (e.g. mobileapi) in its core to realise this, or do we need to develop a plugin that utilizes web services?
  • Can the portfolio export function (Leap2A) of Mahara also be triggered via web services and the result retrieved from outside?

Thank you very much and greetings from Germany
Alexander Gantikow

Kristina Hoeppner's profile picture
Posts: 4707

26 May 2022, 11:17

Hi Alexander,

The world of AI is coming to portfolios. :-) This sounds like an interesting project, esp. also in terms of what data do you need from the portfolio in order to analyse it. Do you just look at the content, i.e. what's stored in the database and the files themselves, or do you also look at the layout, how many pages are in a portfolio collection etc.

As far as retrieval of portfolios goes, you can use the bulk export option that is available to site administrators. There is no web service at the moment that allows you to pull down all portfolios. Recently though for Mahara 22.04 we implemented the HTML lite export functionality that does allow for a web services connection to be made to an external service to retrieve single portfolios, in this case to be sent to Moodle for examination via the similarity checker Ouriginal.

Since Ouriginal only deals with text, the export only exports that and ignores other files. That could be a starting point for further investigation.



31 May 2022, 2:39

Dear Kristina,

we really appreciate your quick reply - thank you!

When it comes to the data we need for portfolio analysis, we initially want to take an explorative approach to see what data Mahara can provide us with and what conclusions can be drawn from it. We are primarily interested in the contents of the “shared views”, as they are seen by the student himself/herself, but also by a reviewer (lecturer) in the browser - i.e. the portfolio texts together with their links, images and videos. Furthermore, the aspect of layout you described also seems useful to us, as we want to know how many portfolios are contained in a collection in order to structure the analyses accordingly.

Thank you for suggesting the bulk export. We could indeed use this if we only offered summative evaluations, i.e. only after the portfolios have been submitted for assessment. However, we want to make a formative offer to the students: they can use our analysis tool throughout the semester to check which concepts they have already covered and where they may still need to catch up. Against this background, export functionalities are not suitable as soon as they have to be initiated manually by the admin or student for each analysis process. It would be different if it was possible to start the export from a remote system at regular intervals. You had also mentioned the "HTML lite export" in the context of "Ouriginal" to get individual portfolios. Correct me if I'm wrong, but if I have a list of students, could I iterate with that to retrieve the particular portfolio? However, we would just get text and no media files. How does the HTML lite export work? Run across all the blogposts, collect all the text, and send it to Moodle via webservice?

Can you please describe briefly how Mahara Mobile and the mobileapi work? I found out that Mahara Mobile is a cross-platform mobile application for Mahara that, as I understand it, uses the mobileapi module in addition to the Mahara web services to retrieve a user's content (e.g. Function: module_mobileapi_get_blogs). Is it possible to use the workflow and the functionalities of the API for our scenario too?

Many thanks in advance

Alexander Gantikow

Kristina Hoeppner's profile picture
Posts: 4707

31 May 2022, 8:02

Hi Alexander,

Thank you for the additional information. "check which concepts they have already covered and where they may still need to catch up" sounds a bit like what you may be able to do also with SmartEvidence or the portfolio completion functionality: Visualise how much of your portfolio you have already completed. Granted, both these tools require manual intervention by the learner and mark things as mapped to a competency or having completed a page.

The HTMLlite export grabs portfolios in Mahara via web services when a request is made from the Moodle assignment that a portfolio has been submitted that needs to be sent to Ouriginal. What is exported can be adjusted in the code. We excluded all media files because the plagiarism / similarity checker cannot handle them. Hence the 'lite'.

Mahara Mobile works in such a way that you generate a token for the app and then queue up evidence you have on your phone to be uploaded to Mahara via the API and placed either into the files area or a journal. So the mobile API is part of our web services suite. That is data going into Mahara though whereas you want to get data out of Mahara. A developer can provide more technical details. ;-)

I think we might be able to repurpose some existing web services and expand them to retrieve more content on a regular basis that you can process and analyse, but none of the existing web services does all what you want already.



4 results