Table of Contents

What is Moogwai ?

MoogwaiTM is a core infrastructure helping developping Web applications with the benefit of a strong and mature middleware layer, solving most common issues a Web Front service addresses. MoogwaiTM is a project based on MoodleTM, which is one of the top world software in the education field.

Is Moogwai a fork of Moodle ?

In NO WAY MoogwayTM pretends to be a fork of MoodleTM. We love MoodleTM and yet strongly support it as an active third party conributor. This is why we wanted to use a framework that let us continue think and drive development and integration projects taking profit of MoodleTM's technical maturity.

Although MoogwaiTM's API are very closely inspired from MoodleTM APIs, do not hope MoogwaiTM is a concurrent LMS to MoodleTM. MoodleTM did (and still do) things well, and is now a very mature framework for education. MoogwaiTM is focussing on everything wich is NOT an LMS.

Who is it intended for ?

MoogwaiTM is addressing Web Application developers that have a good skill in MoodleTM, love the framework, and would like to pursue developing other applications without changing of technical culture. MoogwaiTM sticks to a lot of core MoodleTM concepts, rearrange them, and sometime extends them.

MoogwaiTM would be a perfect generic framework for any IT company that provides MoodleTM services, but might also serve companies that are NOT related to education.

What is in Moogwai ?

MoogwaiTM has been developed sticking to MoodleTM architecture, and removing everything that was addressing specific education needs. By the way, every part that has been elucidated to be generic to “any” Web app project has been kept in the architecture :

See architectural rationale and discussion

Moogwai Licensing discussion

See Moodle vs Moogwai concept map

Technical documentation and APIs

What has been removed vs. Moodle ?

MoogwaiTM has been reshaped entirely to discard :

By the way, we aimed at really simplify as much as possible the architecture and remove some over-complex features of Moodle, so we removed some generic parts :

New concepts in Moogwai

New plugin set: app

Moogwai from scratch will just install the infrastructure, which means that end users will not find anything usable in it. Integrators will develop their local services as an instance of a new plugin class : the “App”. As we cannot anticipate on the complexity of what integrators will have to develop, a significant reshape of the role and capability system is added (See Contexts).

Contexts

Contexts is a single abstraction to unify any object or subconcept that needs to be driven by roles or profile restrictions.

Quick reminders of the original concepts
What is changing

Moogwai Apps

Moogwai Apps is the core concept of MoogwaiTM : An App is a functional singleton that provides a service or application to users. Here are some exemples of apps :

Apps and "Locals"

Moogwai Apps and Local plugins have some characteristics in common, such as being functional “singletons” (this may hide internal instanciability of some sub-objects). But they still have major differences :

How to get Moogwai

Moogwai continues to be in an experimental developping process is NOT YET publically available. Early interessed potential contributors might contact us at dev-At-moogwai.org.

Roadmap