System architecture options for MoodleNet

CC BY Rob Oo

Building on the success of the design sprint last month, the MoodleNet team has started laying down some milestones for the project. One of the first is to define the system architecture, upon which Mayel de Borniol (Technical Architect) has begun work, with input from Doug Belshaw.

We’ve defined three approaches to building MoodleNet, from a fully-federated architecture through to a centralised SaaS architecture:

(Note: right-click on images and select ‘open link in new tab’ to see detail)

Our current preference is for an approach which takes some of the benefits of both, which is a federated architecture with an additional HQ API-as-a-service. The extract below from a overview document we’re putting together, with terms in bold defined in the glossary at the end of that document:

In this scenario, Moodle HQ runs a single MoodleNet API-as-a-service serving as a central index of information across the network. This enables consistent discovery and search experiences across all MoodleNet instances (including the one provided by Moodle HQ).

Each federated MoodleNet instance stores the full data of local users, communities, and collections (including personal information, private messages, and public comments/discussions).

The database of the MoodleNet HQ API service contains lists of all public communities, collections, resources, and users across the network, along with a copy of some metadata. A search index also sits behind the API to enable fast and accurate search results. Each item always refers back to the originating MoodleNet instance for the full data (e.g. membership, permissions, comments/discussions).

In practice, this means that the MoodleNet network, while federated, can benefit from the MoodleNet HQ API service for search and discovery. This provides users with a better and more consistent experience, reducing fragmentation and spreading the shared content more widely.

This network can also be based on existing protocols and standards to form a decentralised collection of nodes that send, receive, and store data. The data handling module can be based on an extended ActivityStreams data format and at least some of the APIs on the ActivityPub protocol to ensure compatibility between systems.

We invite comments from the community, after which we will update the overview document and move it to the project wiki. You are welcome to give your feedback here in the comments section or in the discussion forum.

Header image by Rob Oo used under a Creative Commons Attribution 2.0 license

Recording of June 2018 MoodleNet community call now available!

Dip your toe into the MoodleNet project

Many thanks to those who joined us for this month’s MoodleNet community call!

Doug introduced Mayel de Borniol, the project’s new Technical Architect, we reviewed the prototype overview, and discussed future plans.

This time slot (16:00 UTC) seems to suit the majority of people more than the 08:00 UTC slot, so we’ll be reviewing the times we meet for future calls.

The agenda and notes can be found here. The video and audio recording, along with a backup of the agenda, and visual notes from Bryan Mathers, can be found at

Update: further to a discussion with Moodle’s DPO & Legal Advisor, we have removed the agenda and recording of previous community calls. We are now in the process of creating a GDPR-compliant workflow.

Prize winners for the MoodleNet pre-design sprint survey announced!


Prior to our recent design sprint, we ran a survey at which was completed by 175 Moodlers. The results were fascinating, and fed directly into the prototype overview we were able to create during the week.

To incentive participation in the survey, we offered prizes in the form of Amazon vouchers and Zazzle credit for the Moodle HQ store. Those completing the survey had the option to add their email address if they wanted to be considered for the prize.

We’ve been in touch with the lucky winners, who gave their consent to be listed below:

  • Joe Wieland (USA, £50 Amazon voucher)
  • Pete Jones (New Zealand, £50 Amazon voucher)
  • Joelle Le (Australia, $25 Zazzle credit)
  • David Morrow (USA, $25 Zazzle credit)

Thanks to Claudia Dent, Moodle’s Marketing Co-ordinator for selecting the recipients using a random generator!

MoodleNet project community call (June 2018)


This Wednesday, we’re hosting our MoodleNet project community call for May. We’ve got some updates to share from our recent design sprint!

The call will begin with Doug introducing Mayel, our new technical Technical Architect, along with a round of introductions to those on the call. We’ll then dive into the outputs from the MoodleNet design sprint, and discuss the prototype overview we came up with. From there, the discussion will open out to cover next steps, including how best to contribute to this project.

We’re alternating the times of each monthly call, so apologies to those who live in timezones that make it difficult to join this time around. We record each one, and you’re welcome to add your thoughts to the etherpad-based agenda asynchronously.

Image by Dafne Cholet used under a Creative Commons license

A warm welcome to Mayel de Borniol, our new MoodleNet Technical Architect!

Mayel de Borniol

Eagle-eyed readers will have noticed a mention of Mayel de Borniol, our new MoodleNet Technical Architect in our previous post about last week’s Design Sprint. After receiving over 70 applications for the role from all over the world, we interviewed candidates from Europe, Africa, North America, and South America.

We couldn’t be happier to welcome someone with Mayel’s knowledge, skills, and understanding of open source. Originally hailing from the Basque Country (north of the Pyrenees mountains), he currently lives in Athens, Greece.

Mayel describes himself a hacker and social/cooperative entrepreneur who enjoys understanding and hacking systems, and occasionally designing and building new ones – such as MoodleNet!

We would love to hear a bit about your work history?

Check out my site to see what I’ve been up to:

What are your interests outside of work?

Nomadic / slow travel, Sci-Fi & Solarpunk, Decentralised & Federated systems, Free Software / Open Source, Co-operative organisation & production (would love to be part of a beer brewing or winemaking co-op!), my cat and dog!

Where is your favourite place in the world, and why?

Greece (Athens and its crazy graffiti and rebellious vibe and also the islands where time stands still) closely followed by Buenos Aires and its 1am BBQ dinner parties.

Mayel will be working closely with Doug Belshaw, MoodleNet Lead to turn the prototype we came up with last week into reality!

MoodleNet design sprint: prototype overview

MoodleNet design sprint

This week has been a design sprint for the MoodleNet project, held at the offices of Outlandish. Martin Dougiamas, Moodle’s Founder and CEO, flew in from Australia to join Doug Belshaw (MoodleNet Lead), Mayel de Borniol (MoodleNet Technical Architect), Bryan Mathers (consultant), and the Outlandish team.

Martin had clearly stated success criteria: “A visual prototype that is good enough for anyone to quickly understand what MoodleNet does and how it could look and feel.”

We’re delighted, therefore, to be able to demonstrate the above prototype, which we tested with users on Thursday and iterated on Friday. We’ll be collating everything, including photographs and notes over the coming week!

MoodleNet Design Sprint

This slideshow requires JavaScript.

This week, we’re at the offices of Outlandish, a tech co-op based in north London, UK for a MoodleNet design sprint. We’re delighted that Martin Dougiamas, Moodle’s Founder and CEO, was able to fly over from Australia for it.

In addition, everything came together to be able to invite our new Technical Architect, Mayel de Borniol, over from his home in Athens, Greece, for the week. Bryan Mathers also joins Doug Belshaw, MoodleNet Lead, to add his experience and some ‘visual thinkery’ into the mix.

The week is focused on moving from the research phase to the design phase, so that we have a solid base to start building MoodleNet. We’ll be prototyping and user testing throughout the week. More soon!

Recording of May 2018 MoodleNet community call now available!

May's Moodlenet Meetup

Many thanks to those who joined us for this month’s MoodleNet community call!

A slight mix-up with timezones meant fewer people participated than last time, but you can discover what we discussed here. The video and audio recording, along with a backup of the agenda, and visual notes from Bryan Mathers, can be found at

Update: further to a discussion with Moodle’s DPO & Legal Advisor, we have removed the agenda and recording of previous community calls. We are now in the process of creating a GDPR-compliant workflow.