02.03.2018 Views

Advances in E-learning-Experiences and Methodologies

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Open Source LMS Customization<br />

the deveLoPment modeL In<br />

moodLe<br />

The development <strong>in</strong> Moodle can be tackled <strong>in</strong><br />

different ways depend<strong>in</strong>g on the desired level of<br />

<strong>in</strong>dependence from the platform of the software<br />

to develop:<br />

• External applications. An application which<br />

uses the database of the platform without<br />

hav<strong>in</strong>g to make any <strong>in</strong>tegration with its<br />

<strong>in</strong>terface.<br />

• Module development. It consists on build<strong>in</strong>g<br />

new modules which can be <strong>in</strong>tegrated <strong>in</strong>to the<br />

platform. That <strong>in</strong>tegration <strong>in</strong>volves def<strong>in</strong><strong>in</strong>g<br />

an <strong>in</strong>stallation <strong>in</strong> the database or even an<br />

<strong>in</strong>clusion <strong>in</strong>to the <strong>in</strong>terface of Moodle. There<br />

is a lot of documentation about the style of<br />

cod<strong>in</strong>g for this type of developments <strong>and</strong><br />

some libraries of functions for the database<br />

management of Moodle as well (http://docs.<br />

moodle.org).<br />

Based on the client’s necessities, the first option<br />

is chosen. These necessities specify certa<strong>in</strong><br />

requirements whose fulfilment is more adequate<br />

to a non<strong>in</strong>tegrated solution. Consider<strong>in</strong>g this option<br />

<strong>and</strong> tak<strong>in</strong>g <strong>in</strong>to account application goals, two<br />

architectures can be proposed, <strong>in</strong> order to obta<strong>in</strong><br />

the maximum scalability, which allows an easy<br />

reutilization of the application for later versions<br />

of Moodle. It is up to a client’s decision as to the<br />

type of architecture to be implemented s<strong>in</strong>ce each<br />

one will have different goals <strong>and</strong> estimations.<br />

suggested Architectures<br />

First, a solution based on a separated application<br />

with access to the database of Moodle is suggested.<br />

A diagram represent<strong>in</strong>g this architecture<br />

is shown <strong>in</strong> Figure 1.<br />

In this solution, the creation of an application<br />

externally from Moodle is suggested. This application<br />

will access its database directly <strong>and</strong> it will<br />

be structured <strong>in</strong> the follow<strong>in</strong>g layers:<br />

• Access <strong>and</strong> queries to Moodle DB: This<br />

layer will conta<strong>in</strong> the necessary functions<br />

to perform queries on a Moodle database.<br />

It is proposed that the utilization of query<br />

description files which enable the queries<br />

to be changed <strong>in</strong> a simple way depend<strong>in</strong>g<br />

on the changes done on Moodle database.<br />

This helps to achieve a certa<strong>in</strong> level of<br />

Figure 1. ACEM first architecture proposal

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!