Documentación de Moodle: Manual del desarrollador
Manual del Desarrollador
Este documento describe un poco el diseño de Moodle y
cómo puede contribuir usted.
Índice
Arquitectura de Moodle
Cómo contribuir
Las actividades para el aprendizaje
Temas
Idiomas
Esquemas de Bases de datos
Formatos de cursos
Documentación y artículos
Cómo participar en rastreo de fallos
1. Arquitectura de Moodle
Desde la perspectiva de un administrador de sistemas, Moodle ha sido
diseñado de acuerdo con los siguientes criterios:
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
sustracció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).
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 empinada 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 servidores de
alojamiento lo proporcionan como un estándar.
Debe ser fácil de actualizar desde una
versión a la siguiente
Moodle sabe qué versión es (así como las versiones
de todos los módulos plug-in) y se ha construido un mecanismo
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.
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.
Debe poder usarse junto con 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 puede
contribuir usted
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: assignment (tareas), choice
(opción), forum (foro), journal
(diario), quiz (cuestionario), resource
(recurso), y survey (encuesta). Cada módulo
está en un subdirectorio (carpeta) 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/: depósitos 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 modulename 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
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:
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 existentes con un tema 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.
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
interrumpir 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, en este caso, 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 opción
forum.php - cadenas para el módulo del foro
journal.php - cadenas para el módulo del diario
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
.... más 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 par 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 "Comprobar 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. Si usted está familiarizado con otra base de
datos (especialmente si se trata de una base de datos de código
abierto) y desea ayudar a trasladarla al esquema existente, por favor
póngase en contacto conmigo (Martin Dougiamas).
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, menos "pluggable") pero
sigue siendo bastante sencillo añadir nuevos módulos.
Si usted 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.com/
Participar en el rastreo de fallos
Finalmente, me gustaría invitarle a registrarse en la lista
de "rastreo de fallos" en bugs.moodle.org 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, solicitudes de
opciones 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 $
Wyszukiwarka
Podobne podstrony:
2007 01 Web Building the Aptana Free Developer Environment for AjaxdeveloperdeRegnier Neurophysiologic evaluation on early cognitive development in high risk anfants and todddeveloperdeveloperdeveloperBalancing Disappointment and Enthusiasm Developments in EU?lkans relations during 2003Developement and Brain Modelling Experimental testingdevelop iteration plan?B6B1EEJung, Carl Gustav Volume 17 The Development of PersonalityDevelopment of wind turbine control algorithms for industrial use2 3 DB2 Application Development Labdevelop supplementary specificationRFC4CAEwięcej podobnych podstron