Manual del Desarrollador

Este documento describe un poco el dise�o de Moodle y c�mo se puede contribuir.

Actuamente es un tanto escueto - ¡con el tiempo se irá mejorando la documentación!

Secciones de este documento:

  1. Arquitectura de Moodle
  2. C�mo contribuir

 

1. Arquitectura de Moodle

Desde la perspectiva de un administrador de sistemas, Moodle ha sido dise�ado de acuerdo con los siguientes criterios:

  1. Moodle debe poder ejecutarse en la m�s amplia posible variedad de plataformas

    La plataforma de aplicaciones Web que funciona en la mayor�a de las plataformas es PHP combinada con MySQL, y este es el entorno en el que Moodle ha sido desarrollado (sobre Linux, Windows, y Mac OS X). Moodle tambi�n usa la librer�a ADOdb para la abstracción de bases de datos, lo que significa que Moodle puede usar m�s de diez marcas diferentes de bases de datos (desafortunadamente, a pesar de ello, no puede a�n crear tablas en todas esas bases de datos. Hablaremos m�s sobre esto m�s adelante).

  2. Moodle debe ser f�cil de instalar, aprender y modificar

    Los primeros prototipos de Moodle (1999) se construyeron usando Zope, un avanzado servidor de aplicaciones Web orientado a objetos. Desafortunadamente me pareci� que aunque la tecnolog�a era bastante buena, ten�a una curva de aprendizaje muy elevada y no era muy flexible en t�rminos de administraci�n del sistema. El lenguaje PHP, por otro lado, es muy f�cil de aprender (especialmente si has hecho algo de programaci�n usando cualquier otro lenguaje de script). Pronto tom� la decisi�n de evitar usar un dise�o orientado a clases, con la finalidad, una vez m�s, de mantenerlo f�cil de entender para los principiantes. La reutilizaci�n del c�digo se archiva en librer�as con funciones claramente tituladas y con una disposici�n de los archivos de script, consistente. PHP es tambi�n f�cil de instalar (existen versiones ejecutables para todas las plataformas) y est� ampliamente disponible, pues la mayor�a de los servicios de alojamiento lo proporcionan como un est�ndar.

  3. Debe ser f�cil de actualizar desde una versi�n a la siguiente

    Moodle sabe cuál es su versi�n (as� como las versiones de todos los m�dulos) y se ha construido un mecanismo interno para que Moodle pueda actualizarse a s� mismo de forma apropiada a las nuevas versiones (por ejemplo, puede renombrar las tablas de las bases de datos o a�adir nuevos campos). Usando CVS en Unix, por ejemplo, uno tan s�lo tiene que hacer un "cvs update -d" y luego visitar la p�gina principal del sitio para completar la actualizaci�n.

  4. Debe ser modular para permitir el crecimiento

    Moodle tiene una serie de caracter�sticas modulares, incluyendo temas, actividades, interfaces de idioma, esquemas de base de datos y formatos de cursos. Esto le permite a cualquiera a�adir caracter�sticas al c�digo b�sico principal o incluso distribuirlas por separado. Hablaremos m�s de esto en la siguiente secci�n.

  5. Debe poder usarse junto a otros sistemas.

    Una de las cosas que hace Moodle es mantener todos los archivos para un curso en un �nico directorio en el servidor. Esto podr�a permitir que el administrador de un sistema proporcione similares formas de acceso a un nivel de archivo para cada profesor, tal como Appletalk, SMB, NFS, FTP, WebDAV y dem�s. Los m�dulos de autenticaci�n le permiten a Moodle usar LDAP, IMAP, POP3, NNTP y otras bases de datos como fuentes de informaci�n de los usuarios. Por otra parte, a�n queda trabajo por hacer sobre esto. Para futuras versiones de Moodle tenemos planeadas las siguientes caracter�sticas: importaci�n y exportaci�n de los datos de Moodle utilizando formatos basados en XML (incluyendo IMS y SCORM), incrementar el uso de hojas de estilo para el formateo de interfaces (de manera que puedan integrarse visualmente en otros sitios Web).

 

2. C�mo contribuir

Tal como se ha mencionado m�s arriba, Moodle tiene una serie de caracter�sticas que son modulares. Incluso, aunque usted no sea un programador, hay cosas que usted podr� cambiar o con las que puede ayudar.

Actividades de Aprendizaje

Estos son con mucho los m�dulos m�s importantes, y se encuentran en el directorio "mod". Por defecto hay siete m�dulos: Tarea, Consulta, Foro, Diario, Cuestionario, Material, y Encuesta. Cada m�dulo est� en un subdirectorio separado y consiste en los siguientes elementos obligatorios (m�s los scripts extra que son �nicos para cada m�dulo):

La forma m�s f�cil de comenzar un nuevo m�dulo de actividad es usar la plantilla que hay en mod/newmodule_template.zip. Descompr�mala y siga las instrucciones que hay en el documento "README".

Quiz�s tambi�n quiera antes enviar algo al Foro de m�dulos de actividades sobre el uso de Moodle.

 

Temas

Los temas (o pieles) definen la apariencia de un sitio. Con la distribuci�n b�sica se proporciona una serie de temas simples, pero usted puede querer crear su propio tema, con sus propios colores, logo, estilos y gr�ficos.

Cada tema es un subdirectorio del directorio "theme", y contiene al menos los siguientes archivos:

Para crear sus propios temas para la versi�n actual de Moodle:

  1. Copie una de las carpetas de tema existentes a una con un nuevo nombre. Le recomiendo comenzar con uno de los temas est�ndar.
  2. Edite: config.php e inserte sus propios colores.
  3. Edite: styles.php y cambie su hoja de estilos CSS.
  4. Edite: header.html y footer.html para a�adir nuevos logos o cambiar la disposici�n.

Advierta que todos estos pasos son opcionales. Usted puede crear una apariencia radicalmente distinta para su sitio simplemente editando los colores que aparecen en el archivo config.php

Advierta tambi�n que las actualizaciones de Moodle pueden corromper ligeramente los temas, as� que revise cuidadosamente las notas de al versi�n si est� usando un tema personalizado.

En particular, Moodle 2.0 tendr� un sistema de presentaci�n completamente nuevo, probablemente basado en XSL transformando la salida de XML desde Moodle. Esto quiere decir que los temas para esta versi�n tendr�n un formato completamente diferente, pero la ventaja ser� que habr� un grado de personalizaci�n mucho m�s alto (incluyendo mover elementos en la p�gina).

Encontrar� m�s discusi�n sobre esto en el Foro sobre temas en el uso de Moodle. Si usted crea un bonito tema que considera que otros podr�an querer usar, ¡por favor, env�elo en un archivo comprimido al foro sobre temas!.

 

Idiomas

Moodle ha sido dise�ado para ser internacional. Cada "cadena" o "p�gina" de texto que se presenta como parte de la interfaz surge de una serie de archivos de idioma. Cada idioma es un subdirectorio del directorio "lang". La estructura del directorio "lang" es la que sigue:

lang/en - directorio que contiene todos los archivos para un idioma (por ejemplo, el ingl�s)

lang/en/help - contiene todas las p�ginas de ayuda (para las ayudas emergentes sensibles al contexto)

Las p�ginas principales de ayuda est�n situadas aqu�, mientras que las p�ginas espec�ficas de cada m�dulo est�n localizadas en subdirectorios con el nombre del m�dulo.

Con la funci�n helpbutton, usted puede insertar un bot�n de ayuda en una p�gina.

Por ejemplo: helpbutton("text", "Haga clic aqu� para obtener ayuda sobre el texto");

y para los m�dulos:

helpbutton("forumtypes", "Forum types", "forum");

Tenga en cuenta que puede editar los idiomas en l�nea, usando las herramientas web de Administraci�n bajo "Idioma". Esto hace que sea f�cil no s�lo crear nuevos idiomas sino tambi�n refinar los existentes. Si va a comenzar a crear un nuevo idioma por favor comun�quese conmigo: Martin Dougiamas.

Tambi�n querr� enviar un mensaje al Foro de idiomas sobre el uso de Moodle.

Si usted est� haciendo el mantenimiento de un idioma de manera continuada, yo puedo darle acceso de escritura al c�digo fuente de Moodle en el CVS de manera que pueda hacer el mantenimiento directo en los archivos.

 

Esquemas de Bases de Datos

Dada una base de datos funcionando con tablas definidas, el intencionalmente simple SQL usado en Moodle debe funcionar bien con una amplia variedad de marcas de bases de datos.

Existe un problema con la creaci�n autom�tica de nuevas tablas en una base de datos, que es lo que Moodle intenta hacer tras la instalaci�n inicial. Debido a que cada base de datos es muy diferente de las otras, a�n no existe una manera de hacer esto de manera independiente del tipo de plataforma. Para ayudar a la automatizaci�n en cada base de datos, pueden crearse esquemas que enumeren el SQL requerido para crear tablas en Moodle en una base de datos determinada. Estos son los archivos que hay en lib/db y dentro del subdirectorio db de cada m�dulo.

Actualmente, s�lo se soportan totalmente de esta manera, MySQL y PostgreSQL (nadie ha escrito esquemas para otras marcas).

Moodle 1.1 usará un nuevo método de esquemas XML independientes de la base de datos que hará que todo ésto no sea necesario.

 

Formatos de curso

Actualmente Moodle soporta tres formatos de curso diferentes: semanal, por temas y social.

Estos est�n un poco m�s conectados al resto del c�digo (y, por tanto, son menos extendibles) pero sigue siendo bastante sencillo a�adir nuevos m�dulos.

Si tiene cualquier idea para formatos diferentes que necesite o quiera ver integrados, p�ngase en contacto conmigo y yo har� mi mayor esfuerzo para tenerlos disponibles en futuras versiones.

 

Documentaci�n y art�culos

Si a usted le apetece escribir un manual, un art�culo, un documento acad�mico o cualquier otra cosa sobre Moodle, por favor, ¡h�galo!

P�ngalo en la Web y aseg�rese de poner enlaces a http://moodle.org/

 

Participar en el rastreo de fallos

Finalmente, me gustar�a invitarle a registrarse en la lista de "rastreo de fallos" en http://moodle.org/bugs de manera que pueda enviar cualquier fallo que encuentre y quiz�s participar en la discusi�n sobre c�mo arreglarlos.

"Fallos" no s�lo incluye fallos de software de las versiones actuales de Moodle, sino tambi�n nuevas ideas, mejoras e incluso cr�tica constructiva de las actuales caracter�sticas. La belleza del c�digo abierto radica en que cualquiera puede participar de alguna manera y ayudar a la creaci�n de un producto mejor para que todos disfrutemos de �l. ¡En este proyecto sus ideas son muy bienvenidas!

 

¡Gracias por usar Moodle!

Saludos,
Martin Dougiamas

 

 

 

Documentaci�n de Moodle

Version: $Id: developer.html,v 1.2 2001/12/09 10:34:19 martin Exp $