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:
Desde la perspectiva de un administrador de sistemas, Moodle ha sido dise�ado de acuerdo con los siguientes criterios:
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, Glosario, Cuestionario, Recurso, 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):
- mod.html: un formulario para establecer o actualizar una instancia de este m�dulo
- version.php: define alguna meta-informaci�n y proporciona c�digo de actualizaci�n
- icon.gif: un icono de 16x16 para el m�dulo
- db/: volcados SQL de todas las tablas y datos requeridos de una base de datos (para cada tipo de base de datos)
- index.php: una p�gina para presentar la lista de todas las instancias en un curso
- view.php: una p�gina para ver una instancia en particular
- lib.php: cualquiera/todas las funciones definidas para el m�dulo deben estar aqu�. Si el m�dulo se llama "chisme", entonces las funciones requeridas incluyen:
- chisme_add_instance() - c�digo para a�adir una nueva instancia de chisme
- chisme_update_instance() - c�digo para actualizar una instancia existente
- chisme_delete_instance() - c�digo para borrar una instancia
- chisme_user_outline() - dada una instancia, devuelve un resumen de una contribuci�n de un usuario
- widget_user_complete() - dada una instancia, imprime detalles sobre la contribuci�n de un usuario
- Para evitar posibles conflictos, cualquiera de las funciones de un m�dulo debe ser nombrada comenzando con chisme_ (el nombre del m�dulo m�s un gui�n bajo) y cualquier constante que usted defina debe comenzar con CHISME_
- Finalmente, cada m�dulo tendr� algunos archivos de idioma que contienen cadenas para ese m�dulo. Lea m�s abajo.
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 "Activity modules" en "Using 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:
- config.php: define los colores del tema que se usan en todo el sitio
- styles.php: la hoja de estilos, contiene definiciones de CSS para elementos HTML est�ndar as� como para varios elementos de Moodle.
- header.html: Incluido al principio de cada p�gina. Este es el que usted necesita editar para a�adir un logo al principio de las p�ginas, por ejemplo.
- footer.html: Incluido en el pie de cada p�gina.
Para crear sus propios temas para la versi�n actual de Moodle:
- Copie una de las carpetas de tema existentes a una con un nuevo nombre. Le recomiendo comenzar con uno de los temas est�ndar.
- Edite: config.php e inserte sus propios colores.
- Edite: styles.php y cambie su hoja de estilos CSS.
- 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 la 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 "Themes" en "Using Moodle". Si usted crea un bonito tema que considera que otros podr�an querer usar, ¡por favor, env�elo en un archivo zip 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)
- moodle.php - cadenas para la interfaz principal
- assignment.php - cadenas para el m�dulo de tareas
- choice.php - cadenas para el m�dulo consulta
- forum.php - cadenas para el m�dulo del foro
- glossary.php - cadenas para el m�dulo del glosario
- quiz.php - cadenas para el m�dulo del cuestionario
- resource.php - cadenas para el m�dulo de recursos
- survey.php - cadenas para el m�dulo de encuesta
- .... adem�s de otros m�dulos si los hay.
Se llama a las cadenas desde los archivos usando las funciones: get_string() o print_string(). Cada cadena admite la sustituci�n de variables para ayudar a la ordenaci�n de variables en diferentes idiomas. Por ejemplo:
$strdueby = get_string("assignmentdueby", "assignment", userdate($date));
Si en un determinado idioma no existe una cadena, entonces se usar� autom�ticamente en su lugar el equivalente en 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 "General Language forum" en "Using 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.2 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!
Martin Dougiamas , Desarrollador
principal
Version: $Id: developer.html,v 1.2 2001/12/09 10:34:19 martin Exp $