+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">\r
-<html xml:lang="es" lang="es">\r
-<head>\r
-<title>Documentación de Moodle: Manual del desarrollador</title>\r
-<!-- Traducción al español: Emmanuelle Gutiérrez y Restrepo (emmanuelle@sidar.org) y Claudio Tavares (claudio@enlaceacademico.com-->\r
-</head>\r
-<body>\r
-<h2>Manual del Desarrollador</h2>\r
-<p>Este documento describe un poco el diseño de Moodle y\r
-cómo puede contribuir usted.</p>\r
-<h3>Índice</h3>\r
-<ol>\r
- <li><a href="#architecture">Arquitectura de Moodle</a></li>\r
- <li><a href="#contribute">Cómo contribuir</a>\r
- <ul>\r
- <li><a href="#activities">Las actividades para el aprendizaje</a></li>\r
- <li><a href="#themes">Temas</a></li>\r
- <li><a href="#languages">Idiomas</a></li>\r
- <li><a href="#database">Esquemas de Bases de datos</a></li>\r
- <li><a href="#courseformats">Formatos de cursos</a></li>\r
- <li><a href="#doc">Documentación y artículos</a></li>\r
- <li><a href="#bugs">Cómo participar en rastreo de fallos</a></li>\r
- </ul>\r
- </li>\r
-</ol>\r
-<p> </p>\r
-<h3><a name="architecture"></a>1. Arquitectura de Moodle</h3>\r
-<p>Desde la perspectiva de un administrador de sistemas, Moodle ha sido\r
-diseñado de acuerdo con los siguientes criterios:</p>\r
-<ol>\r
- <li><strong>Moodle debe poder ejecutarse en la más amplia\r
-posible variedad de plataformas</strong><br>\r
- <br>\r
-La plataforma de aplicaciones Web que funciona en la mayoría de\r
-las plataformas es PHP combinada con MySQL, y este es el entorno en el\r
-que Moodle ha sido desarrollado (sobre Linux, Windows, y Mac OS X).\r
-Moodle también usa la librería ADOdb para la\r
-sustracción de bases de datos, lo que significa que Moodle puede\r
-usar <a href="http://php.weblogs.com/ADOdb_manual#drivers">más\r
-de diez marcas diferentes de bases de datos</a> (desafortunadamente, a\r
-pesar de ello, no puede aún <em><strong>crear tablas</strong></em>\r
-en todas esas bases de datos. Hablaremos más sobre esto\r
-más adelante).<br>\r
- <br>\r
- </li>\r
- <li><strong>Moodle debe ser fácil de instalar, aprender y\r
-modificar</strong><br>\r
- <br>\r
-Los primeros prototipos de Moodle (1999) se construyeron usando <a\r
- href="http://www.zope.org/" target="_top">Zope</a>, un avanzado\r
-servidor de aplicaciones Web orientado a objetos. Desafortunadamente me\r
-pareció que aunque la tecnología era bastante buena,\r
-tenía una curva de aprendizaje muy empinada y no era muy\r
-flexible en términos de administración del sistema. El\r
-lenguaje PHP, por otro lado, es muy fácil de aprender\r
-(especialmente si has hecho algo de programación usando\r
-cualquier otro lenguaje de script). Pronto tomé la\r
-decisión de evitar usar un diseño orientado a clases, con\r
-la finalidad, una vez más, de mantenerlo fácil de\r
-entender para los principiantes. La reutilización del\r
-código se archiva en librerías con funciones claramente\r
-tituladas y con una disposición de los archivos de script,\r
-consistente. PHP es también fácil de instalar (existen\r
-versiones ejecutables para todas las plataformas) y está\r
-ampliamente disponible pues la mayoría de los servidores de\r
-alojamiento lo proporcionan como un estándar.<br>\r
- <br>\r
- </li>\r
- <li><strong>Debe ser fácil de actualizar desde una\r
-versión a la siguiente</strong><br>\r
- <br>\r
-Moodle sabe qué versión es (así como las versiones\r
-de todos los módulos plug-in) y se ha construido un mecanismo\r
-para que Moodle pueda actualizarse a sí mismo de forma apropiada\r
-a las nuevas versiones (por ejemplo, puede renombrar las tablas de las\r
-bases de datos o añadir nuevos campos). Usando CVS en Unix, por\r
-ejemplo, uno tan sólo tiene que hacer un "cvs update -d" y luego\r
-visitar la página principal del sitio para completar la\r
-actualización.<br>\r
- <br>\r
- </li>\r
- <li><strong>Debe ser modular para permitir el crecimiento</strong><br>\r
- <br>\r
-Moodle tiene una serie de características modulares, incluyendo\r
-temas, actividades, interfaces de idioma, esquemas de base de datos y\r
-formatos de cursos. Esto le permite a cualquiera añadir\r
-características al código básico principal o\r
-incluso distribuirlas por separado. Hablaremos más de esto en la\r
-siguiente sección.<br>\r
- <br>\r
- </li>\r
- <li><strong>Debe poder usarse junto con otros sistemas.</strong><br>\r
- <br>\r
-Una de las cosas que hace Moodle es mantener todos los archivos para un\r
-curso en un único directorio en el servidor. Esto podría\r
-permitir que el administrador de un sistema proporcione similares\r
-formas de acceso a un nivel de archivo para cada profesor, tal como\r
-Appletalk, SMB, NFS, FTP, WebDAV y demás. Los módulos de\r
-autenticación le permiten a Moodle usar LDAP, IMAP, POP3, NNTP y\r
-otras bases de datos como fuentes de información de los\r
-usuarios. Por otra parte, aún queda trabajo por hacer sobre\r
-esto. Para futuras versiones de Moodle tenemos planeadas las siguientes\r
-características: importación y exportación de los\r
-datos de Moodle utilizando formatos basados en XML (incluyendo IMS y\r
-SCORM), incrementar el uso de hojas de estilo para el formateo de\r
-interfaces (de manera que puedan integrarse visualmente en otros sitios\r
-Web).</li>\r
-</ol>\r
-<p> </p>\r
-<h3><a name="contribute" id="contribute"></a>2. Cómo puede\r
-contribuir usted</h3>\r
-<p>Tal como se ha mencionado más arriba, Moodle tiene una serie\r
-de características que son modulares. Incluso, aunque usted no\r
-sea un programador, hay cosas que usted podrá cambiar o con las\r
-que puede ayudar.</p>\r
-<h4><a name="activities" id="activities"></a>Actividades de Aprendizaje</h4>\r
-<div style="padding-left: 3em;">\r
-<p>Estos son con mucho los módulos más importantes, y se\r
-encuentran en el directorio "mod". Por defecto hay siete\r
-módulos: <em lang="en">assignment</em> (tareas), <em lang="en">choice</em>\r
-(opción), <em lang="en">forum</em> (foro), <em lang="en">journal</em>\r
-(diario), <em lang="en">quiz</em> (cuestionario), <em lang="en">resource</em>\r
-(recurso), y <em lang="en">survey</em> (encuesta). Cada módulo\r
-está en un subdirectorio (carpeta) separado y consiste en los\r
-siguientes elementos obligatorios (más los scripts extra que son\r
-únicos para cada módulo):</p>\r
-<ul>\r
- <li>mod.html: un formulario para establecer o actualizar una\r
-instancia de este módulo</li>\r
- <li>version.php: define alguna meta-información y proporciona\r
-código de actualización</li>\r
- <li>icon.gif: un icono de 16x16 para el módulo</li>\r
- <li>db/: depósitos SQL de todas las tablas y datos requeridos\r
-de una base de datos (para cada tipo de base de datos)</li>\r
- <li>index.php: una página para presentar la lista de todas las\r
-instancias en un curso</li>\r
- <li>view.php: una página para ver una instancia en particular</li>\r
- <li>lib.php: cualquiera/todas las funciones definidas para el\r
-módulo deben estar aquí. Si el <em>modulename</em> se\r
-llama "chisme", entonces las funciones requeridas incluyen:\r
- <ul>\r
- <li>chisme_add_instance() - código para añadir una\r
-nueva instancia de chisme</li>\r
- <li>chisme_update_instance() - código para actualizar una\r
-instancia existente</li>\r
- <li>chisme_delete_instance() - código para borrar una\r
-instancia</li>\r
- <li>chisme_user_outline() - dada una instancia, devuelve un\r
-resumen de una contribución de un usuario</li>\r
- <li>widget_user_complete() - dada una instancia, imprime detalles\r
-sobre la contribución de un usuario<br>\r
- </li>\r
- <li>Para evitar posibles conflictos, cualquiera de las funciones\r
-de un módulo debe ser nombrada comenzando con chisme_ (el nombre\r
-del módulo más un guión bajo) y cualquier\r
-constante que usted defina debe comenzar con CHISME_ </li>\r
- </ul>\r
- </li>\r
- <li>Finalmente, cada módulo tendrá algunos archivos de\r
-idioma que contienen cadenas para ese módulo. Lea más\r
-abajo.</li>\r
-</ul>\r
-<p>La forma más fácil de comenzar un nuevo módulo\r
-de actividad es usar la plantilla que hay en <strong><a\r
- href="http://moodle.com/mod/newmodule_template.zip">mod/newmodule_template.zip</a>.</strong>\r
-Descomprímala y siga las instrucciones que hay en el documento "<span\r
- lang="en">README</span>".</p>\r
-<p>Quizás también quiera antes enviar algo al <a\r
- href="http://moodle.com/mod/forum/view.php?id=44" target="_top">Foro\r
-de módulos de actividades sobre el uso de Moodle</a>.</p>\r
-<p> </p>\r
-</div>\r
-<h4><a name="themes" id="themes"></a>Temas</h4>\r
-<div style="padding-left: 3em;">\r
-<p>Los temas (o pieles) definen la apariencia de un sitio. Con la\r
-distribución básica se proporciona una serie de temas\r
-simples, pero usted puede querer crear su propio tema, con sus propios\r
-colores, logo, estilos y gráficos.</p>\r
-<p>Cada tema es un subdirectorio del directorio "theme", y contiene al\r
-menos los siguientes archivos:</p>\r
-<ul>\r
- <li><strong>config.php</strong>: define los colores del tema que se\r
-usan en todo el sitio</li>\r
- <li><strong>styles.php</strong>: la hoja de estilos, contiene\r
-definiciones de CSS para elementos HTML estándar así como\r
-para varios elementos de Moodle.</li>\r
- <li><strong>header.html</strong>: Incluido al principio de cada\r
-página. Este es el que usted necesita editar para añadir\r
-un logo al principio de las páginas, por ejemplo.</li>\r
- <li><strong>footer.html</strong>: Incluido en el pie de cada\r
-página.</li>\r
-</ul>\r
-<p>Para crear sus propios temas para la versión actual de Moodle:</p>\r
-<ol>\r
- <li>Copie una de las carpetas existentes con un tema a una con un\r
-nuevo nombre. Le recomiendo comenzar con uno de los temas\r
-estándar.</li>\r
- <li>Edite: config.php e inserte sus propios colores.</li>\r
- <li>Edite: styles.php y cambie su hoja de estilos.</li>\r
- <li>Edite: header.html y footer.html para añadir nuevos logos\r
-o cambiar la disposición.</li>\r
-</ol>\r
-<p>Advierta que todos estos pasos son opcionales. Usted puede crear una\r
-apariencia radicalmente distinta para su sitio simplemente editando los\r
-colores que aparecen en el archivo config.php</p>\r
-<p>Advierta también que las actualizaciones de Moodle <em>pueden</em>\r
-interrumpir ligeramente los temas, así que revise cuidadosamente\r
-las notas de al versión si está usando un tema\r
-personalizado.</p>\r
-<p>En particular, Moodle 2.0 tendrá un sistema de\r
-presentación completamente nuevo, probablemente basado en XSL\r
-transformando la salida de XML desde Moodle. Esto quiere decir que los\r
-temas para esta versión tendrán un formato completamente\r
-diferente, pero la ventaja será que habrá un grado de\r
-personalización mucho más alto (incluyendo mover\r
-elementos en la página).</p>\r
-<p>Encontrará más discusión sobre esto en el <a\r
- href="http://moodle.com/mod/forum/view.php?id=46" target="_top">Foro\r
-sobre temas en el uso de Moodle</a>. Si usted crea un bonito tema que\r
-considera que otros podrían querer usar, ¡por favor,\r
-envíelo en un archivo comprimido al foro sobre temas!.<br>\r
-</p>\r
-</div>\r
-<p> </p>\r
-<h4><a name="languages" id="languages"></a>Idiomas</h4>\r
-<div style="padding-left: 3em;">\r
-<p>Moodle ha sido diseñado para ser internacional. Cada "cadena"\r
-o "página" de texto que se presenta como parte de la interfaz\r
-surge de una serie de archivos de idioma. Cada idioma es un\r
-subdirectorio del directorio "lang". La estructura del directorio\r
-"lang" es la que sigue:</p>\r
-<p><strong>lang/en</strong> - directorio que contiene todos los archivos\r
-para un idioma (por ejemplo, en este caso, el inglés)</p>\r
-<ul>\r
- <li>moodle.php - cadenas para la interfaz principal</li>\r
- <li>assignment.php - cadenas para el módulo de tareas</li>\r
- <li>choice.php - cadenas para el módulo opción</li>\r
- <li>forum.php - cadenas para el módulo del foro</li>\r
- <li>journal.php - cadenas para el módulo del diario</li>\r
- <li>quiz.php - cadenas para el módulo del cuestionario</li>\r
- <li>resource.php - cadenas para el módulo de recursos</li>\r
- <li>survey.php - cadenas para el módulo de encuesta</li>\r
- <li>.... más otros módulos si los hay.<br>\r
- <br>\r
-Se llama a las cadenas desde los archivos usando las funciones: <strong><em>get_string()</em></strong><em> </em>o<em> <strong>print_string()</strong></em>.\r
-Cada cadena admite la sustitución de variables par ayudar a la\r
-ordenación de variables en diferentes idiomas. Por ejemplo:<br>\r
- <br>\r
-$strdueby = get_string("assignmentdueby", "assignment", \r
-userdate($date)); <br>\r
- <br>\r
-Si en un determinado idioma no existe una cadena, entonces se\r
-usará automáticamente en su lugar el equivalente en\r
-inglés.</li>\r
-</ul>\r
-<p><strong>lang/en/help</strong> - contiene todas las páginas de\r
-ayuda (para las ayudas emergentes sensibles al contexto)</p>\r
-<p>Las páginas principales de ayuda están situadas\r
-aquí, mientras que las páginas específicas de cada\r
-módulo están localizadas en subdirectorios con el nombre\r
-del módulo.</p>\r
-<p>Con la función <em>helpbutton</em>, usted puede insertar un\r
-botón de ayuda en una página.</p>\r
-<p>Por ejemplo: helpbutton("text", "Haga clic aquí para obtener\r
-ayuda sobre el texto");</p>\r
-<p>y para los módulos:</p>\r
-<p>helpbutton("forumtypes", "Forum types", "forum");</p>\r
-<p>Tenga en cuenta que puede editar los idiomas en línea<em\r
- lang="en"></em>, usando las herramientas web de administración\r
-bajo "Comprobar idioma". Esto hace que sea fácil no sólo\r
-crear nuevos idiomas sino también refinar los existentes. Si va\r
-a comenzar a crear un nuevo idioma por favor comuníquese\r
-conmigo: <a href="http://dougiamas.com/" target="_top">Martin\r
-Dougiamas</a>.</p>\r
-<p>También querrá enviar un mensaje al <a\r
- href="http://moodle.com/mod/forum/view.php?id=43" target="_top">Foro\r
-de idiomas sobre el uso de Moodle</a>. </p>\r
-<p>Si usted está haciendo el mantenimiento de un idioma de\r
-manera continuada, yo puedo darle <a href="?file=cvs.html">acceso de\r
-escritura al código fuente de Moodle en el CVS</a> de manera que\r
-pueda hacer el mantenimiento directo en los archivos.</p>\r
-<p> </p>\r
-</div>\r
-<h4><a name="database" id="database"></a>Esquemas de Bases de Datos</h4>\r
-<div style="padding-left: 3em;">\r
-<p>Dada una base de datos funcionando con tablas definidas, el\r
-intencionalmente simple <abbr title="Structured Query Language">SQL</abbr>\r
-usado en Moodle debe funcionar bien con una amplia variedad de marcas de\r
-bases de datos.</p>\r
-<p>Existe un problema con la <strong>creación automática</strong>\r
-de nuevas tablas en una base de datos, que es lo que Moodle intenta\r
-hacer tras la instalación inicial. Debido a que cada base de\r
-datos es muy diferente de las otras, aún no existe una manera de\r
-hacer esto de manera independiente del tipo de plataforma. Para ayudar\r
-a la automatización en cada base de datos, pueden crearse\r
-esquemas que enumeren el SQL requerido para crear tablas en Moodle en\r
-una base de datos determinada. Estos son los archivos que hay en <strong>lib/db</strong>\r
-y dentro del subdirectorio <strong>db</strong> de cada módulo.</p>\r
-<p>Actualmente, sólo se soportan totalmente de esta manera,\r
-MySQL y PostgreSQL. Si usted está familiarizado con otra base de\r
-datos (especialmente si se trata de una base de datos de código\r
-abierto) y desea ayudar a trasladarla al esquema existente, por favor\r
-póngase en contacto conmigo (<a href="http://dougiamas.com/"\r
- target="_top">Martin Dougiamas</a>).</p>\r
-<p> </p>\r
-</div>\r
-<h4><a name="courseformats" id="courseformats"></a>Formatos de curso</h4>\r
-<div style="padding-left: 3em;">\r
-<p>Actualmente Moodle soporta tres formatos de curso diferentes:\r
-semanal, por temas y social.</p>\r
-<p>Estos están un poco más conectados al resto del\r
-código (y, por tanto, menos "<em lang="en">pluggable</em>") pero\r
-sigue siendo bastante sencillo añadir nuevos módulos.</p>\r
-<p>Si usted tiene cualquier idea para formatos diferentes que necesite\r
-o quiera ver integrados, póngase en contacto conmigo y yo\r
-haré mi mayor esfuerzo para tenerlos disponibles en futuras\r
-versiones.</p>\r
-<p> </p>\r
-</div>\r
-<h4><a name="doc" id="doc"></a>Documentación y artículos</h4>\r
-<div style="padding-left: 3em;">\r
-<p>Si a usted le apetece escribir un manual, un artículo, un\r
-documento académico o cualquier otra cosa sobre Moodle, por\r
-favor, ¡hágalo!</p>\r
-<p>Póngalo en la Web y asegúrese de poner enlaces a <a\r
- href="http://moodle.com/" target="_top">http://moodle.com/</a></p>\r
-<p> </p>\r
-</div>\r
-<h4><a name="bugs" id="bugs"></a>Participar en el rastreo de fallos</h4>\r
-<div style="padding-left: 3em;">\r
-<p>Finalmente, me gustaría invitarle a registrarse en la lista\r
-de "rastreo de fallos" en <a href="http://bugs.moodle.org"\r
- target="_top">bugs.moodle.org</a> de manera que pueda enviar cualquier\r
-fallo que encuentre y quizás participar en la discusión\r
-sobre cómo arreglarlos.</p>\r
-<p>"Fallos" no sólo incluye fallos de software de las versiones\r
-actuales de Moodle, sino también nuevas ideas, solicitudes de\r
-opciones e incluso crítica constructiva de las actuales\r
-características. La belleza del código abierto radica en\r
-que cualquiera puede participar de alguna manera y ayudar a la\r
-creación de un producto mejor para que todos disfrutemos de\r
-él. ¡En este proyecto sus ideas son muy bienvenidas!</p>\r
-<p> </p>\r
-</div>\r
-<p style="text-align: center;">¡Gracias por usar Moodle!</p>\r
-<p style="text-align: center;">Saludos,<br>\r
-<a href="http://dougiamas.com/" target="_top">Martin Dougiamas</a></p>\r
-<p> </p>\r
-<p> </p>\r
-<p> </p>\r
-<p style="text-align: center; font-size: 0.7em;"><a href="."\r
- target="_top">Documentación de Moodle</a></p>\r
-<p style="text-align: center; font-size: 0.7em;">Version: $Id:\r
-developer.html,v 1.2 2001/12/09 10:34:19 martin Exp $</p>\r
-</body>\r
-</html>\r