Propuesta de guía de personalización de Moodle

Propuesta de guía de personalización de Moodle en la Universidad de las Ciencias Informáticas

Resumen

Moodle es un sistema de gestión y aprendizaje en línea de gran utilización y reconocimiento internacional. En la Universidad de las Ciencias Informáticas (UCI) se utiliza este sistema para el proceso de enseñanza aprendizaje. La UCI brinda servicios de personalización de Moodle, desempeñando su trabajo en instituciones nacionales e internacionales. Mediante estudios realizados se conoció que en la UCI no se posee una guía estándar mediante la cual los desarrolladores coordinen una línea de trabajo para las labores de personalización. Para fundamentar la presente investigación se abordan de manera general los principales conceptos relacionados con el tema. Se realiza un estudio sobre las guías de personalizaciones de herramientas existentes en el mundo y los procedimientos estándares en las diferentes personalizaciones ya realizadas en la UCI. Como parte de la organización de los procesos que conllevan la realización de un procedimiento de personalización, se define la estructura de la guía en tres clasificaciones según la complejidad del trabajo para el desarrollo de una personalización. Las clasificaciones quedan especificadas en básica, media y avanzada. La propuesta de guía de personalización desarrollada se evaluó utilizando los criterios de un panel de expertos y el empleo de técnicas pertenecientes al método Delphi, demostrando la factibilidad y usabilidad del resultado de la investigación.

Palabras Clave: E-Learning, LMS, guía, personalización, Moodle

Abstract

Moodle is a learning management system on line. It is of a great benefit and international recognition. This system is used at the University of Informatic Sciences for the teaching-learning process. This university offers services of personalization of Moodle, performing its work in different national and international facilities. Searching on the topic, it was found that there is no standard guide in which the coordinators could plan a line of work of personalization. To base the current investigation some concepts related to the issue were contextualized. A study related to the guide of personalization of the world updated existing tools was also done as well as the standards procedures in different personalizations already accomplished at the University of Informatic Sciences. As part of the process of the organization to carry out a procedure of personalization, the structure of the guide is defined into three specific classifications; basic, middle and advanced, according to the complexity of the work to develop a personalization. The proposal of the guide of personalization developed was evaluated. Feasibility and utility of the result of the investigation was shown using techniques from Delphi method and by means of the assessment of a panel of experts.

KeyWords: E-Learning, LMS (learning Management System), guide, personalization, Moodle.

Introducción

El término “E-Learning” es la simplificación de Electronic Learning, unifica a las distintas tecnologías y a  las características pedagógicas de la enseñanza y el aprendizaje. Este nuevo concepto educativo resuelve la necesidad de educación a distancia. Hoy se posiciona como la  forma de capacitación predominante en el futuro.

En esta era tecnológica se han desarrollado los Sistemas de Gestión de Aprendizaje (SGA) o Learning  Management Systems (LMS). Un SGA es una herramienta informática y telemática organizada en función de objetivos formativos de forma integral y de principios de intervención psicopedagógica y organizativos.(1)

Estas aplicaciones se emplean para administrar, distribuir y controlar las actividades de formación no presencial de una institución u organización (aunque pueden usarse como complemento en la enseñanza  presencial). En la actualidad se pueden citar ejemplos de estos sistemas como: WebCT, Blackboard,  ATutor, Claroline, eCollege, Dokeos, Moodle entre otros.

El sistema de gestión de cursos Entorno Modular de Aprendizaje Dinámico Orientado a Objetos, sinónimo  de Modular Object-Oriented Dynamic Learning Environment (Moodle), es uno de los más utilizados en el  mundo para el proceso de formación. Se distribuye como Software libre (Open Source) y bajo la licencia  pública GNU, lo que significa que Moodle tiene derechos de autor pero se puede copiar, usar y modificar  bajo ciertas condiciones. Desde el año 2005 se está utilizando Moodle en la Universidad de las Ciencias Informáticas (UCI) para el  proceso docente-educativo y con el objetivo de integrarse a las nuevas transformaciones en la gestión del  aprendizaje en línea, considerado como la modalidad educativa que mejor responde al contexto social  actual.

En la actualidad existe un gran auge en cuanto a la personalización de proyectos de software libre, convirtiéndose así en una de las principales vías de comercialización de los mismos. Moodle se ha  consolidado como plataforma educativa para la gestión de la enseñanza/aprendizaje, producto a su código abierto brinda posibilidades de personalización.

Mediante una personalización se pretende que cada organización pueda adaptar su plataforma, adecuándola visual y funcionalmente a los usuarios potenciales y a los objetivos/contenidos de  aprendizaje y dar a conocer una serie de herramientas que incidan en la interacción y colaboración entre alumnos y profesores de los cursos. Las personalizaciones de manera general poseen características particulares y serán clasificadas según su complejidad de trabajo en básicas, medias o avanzadas. En la UCI no existe una guía de personalización de Moodle donde se explique mediante un flujo organizado de procesos como personalizar esta herramienta.

Desarrollo

La plataforma tiene una arquitectura modular, lo que significa que los paquetes de códigos están pensados y construidos para que funcionen de forma individual con pocas dependencias unos de otros, así permitirán el crecimiento modular de la aplicación. De esta manera están creados los temas, las actividades, interfaces de idioma, esquemas de bases de datos y formatos de cursos. Esto permitirá a cualquier desarrollador incorporar funcionalidades nuevas al código.

Estructura de los ficheros y directorios

De la siguiente forma está contenida la estructura del directorio y los ficheros en la raíz de Moodle:

Ficheros

  • config.php: Contiene la configuración fundamental.
  • install.php: Se ejecutará para crear el archivo config.php.
  • version.php: Documenta la versión actual del código de Moodle.
  • index.php: Página principal del sitio.

Directorios

  • admin: Código para administrar todo el servidor.
  • auth: Módulos para la autenticación de usuarios.
  • blocks: Contiene todo el código correspondiente a los bloques de la plataforma.
  • calendar: Código para manejar y mostrar eventos de calendario.
  • course: Código para presentar y gestionar los cursos.
  • doc: Documentación para la ayuda de Moodle.
  • files: Código para presentar y gestionar los archivos.
  • lang: Textos en diferentes idiomas, un directorio por idioma.
  • lib: Librerías del código fundamental de Moodle.
  • login: Código para manejar las entradas y creación de cuentas.
  • mod: Todos los módulos de los cursos de Moodle.
  • pix: Gráficos genéricos del sitio.
  • theme: Paquetes de temas/pieles para la apariencia del sitio.
  • user: Código para mostrar y gestionar los usuarios.

Los ficheros del directorio tienen funciones particulares, cada uno juega un rol definido en la dinámica del funcionamiento de Moodle. Uno de los archivos más importantes son los módulos y bloques, los cuales siempre se sitúan en la carpeta /mod y /blocks respectivamente, estos se estructuran siempre de una misma forma o esquema para mantener un estándar y en tanto constituye una buena práctica profesional.

Fases definidas para el desarrollo de una personalización de Moodle.

Para el desarrollo de una personalización de la plataforma Moodle es necesario definir fases, con el objetivo de lograr un trabajo organizado y capaz de reducir tiempo y recursos a utilizar. No es conveniente emplear una metodología de software, pues estas conforman un ciclo completo para el desarrollo del producto.

Teniendo en cuenta que lo que se necesita es personalizar, modificar o adaptar a Moodle según los requisitos del cliente, los investigadores definen las fases que a continuación se mencionan, tomando como punto de partida y apoyo las que plantea la metodología RUP. Esta decisión está sustentada en un estudio realizado de las fases que plantean las metodologías XP y RUP, teniendo en cuenta que la guía de personalización de Moodle se realiza en la UCI, se efectuaron entrevistas a líderes de proyectos productivos de la institución y se determinó que estas dos metodologías son las rectoras en el proceso de producción de un software dentro de dicha universidad. RUP es escogida para tomar como base por las características diferenciadoras que posee, estructura, organización, exigencia de sus fases y flujos durante la vida del software.

Fases definidas para el desarrollo de una personalización de Moodle:

  • Fase de Levantamiento de Requisitos.
  • Fase de Análisis.
  • Fase de Elaboración.
  • Fase de Prueba.
  • Fase de Implantación.
  • Fase de Soporte.

A continuación se explican los procedimientos habituales que se siguen en cada una de estas fases:

Fase de Levantamiento de Requisitos:

El resultado de esta fase es un manual de diseño y un manual de arquitectura de información, elaborados a partir de las expectativas o requerimientos del cliente sobre Moodle. Se elabora un informe donde se recojan todos los requisitos que el cliente solicita, como desea el mismo obtener esta plataforma tecnológica, así como las limitaciones físicas, estructurales, organizacionales y presupuestarias con las que se cuenta para el desarrollo de dicho proyecto. En la misma visita de inspección se debe profundizar en la siguiente información:

Realizar un croquis con el futuro diseño bien detallado de la plataforma. Aunque ya se posea la información sobre como desea el cliente su nuevo Moodle, es importante verificar que tanto el interrogado como el entrevistador posean criterios exactos sobre las futuras proyecciones de la personalización a realizar.

En función del diseño se realizan las estimaciones del personal, el tiempo y los recursos a emplear, es por esto que es importante poseer conocimientos sólidos sobre lo que se desea realizar pues en caso contrario puede ser que no se cuente con el personal suficiente y demás exigencias del cliente para desarrollar el software.

Fase de Análisis:

La esencia de esta fase consiste en solidificar los requisitos funcionales obtenidos en la fase anterior, es decir, traducir los requerimientos a una especificación que describe como implementar el sistema. En el análisis se pueden estructurar los requisitos de manera que faciliten su comprensión, su preparación, su modificación y en general su mantenimiento. Durante dicha fase se realiza un análisis de los requisitos del cliente y a partir de ellos se asignan los recursos. Lo primero es definir la complejidad de la personalización que se desea desarrollar, luego se definen los recursos humanos, materiales por ejemplo las computadoras y el tiempo máximo que durará dicho desarrollo.

Fase de Elaboración:

Esta fase desde el punto de vista técnico tiene gran connotación ya que se describe detalladamente los pasos que el desarrollador debe seguir para ir adaptando la aplicación de acuerdo a los requisitos planteados en la fase inicial. En cada nivel de clasificación se explica un flujo de procesos organizados a través de los cuales la guía se hace una herramienta muy útil para optimizar el trabajo que hasta los días  de  hoy  es  un  tanto  difícil   dada  la escasa  documentación  oficial  de  este  género.

El objetivo final de la fase está en la culminación de la personalización de la plataforma y que quede definida como una primera versión que será procesada hacia las fases restantes para fomentar la solides  y el perfeccionamiento de su estructura y funcionalidades.

Fase de Prueba:

En todo proyecto exigente resulta necesario que exista un equipo especializado en realizar pruebas a software. Donde dicho personal sea el encargado de aceptar o no la implantación del mismo. Brindando con esto confianza y prestigio ante el cliente. Es en esta fase donde se realiza un manual de pruebas.

Haciendo uso de la aplicación, el manual de arquitectura y el manual de diseño, se efectúan las pruebas,  el responsable de este proceso se encarga de verificar paso a paso la coincidencia existente entre lo que  esta descrito en ambos manuales y lo que se realizó en el software. Para lograr esto es necesario aplicar los dos tipos de pruebas existentes: pruebas de Caja blanca y pruebas de Caja negra, a través del primer tipo de prueba se analiza el código y con el segundo se analiza la aplicación, es decir, lo que visualiza el  cliente. A partir de la erradicación de las deficiencias durante la etapa de pruebas, el software estaría listo para ser  implantado y presentado al cliente.

Fase de Implantación:

Una vez terminada la personalización y probada por los sistemas de calidad, se procede a la instalación de la plataforma, así como la optimización del software y hardware que requiere, además de las configuraciones pertinentes para el correcto funcionamiento en la entidad u organización benefactora. En  esta fase se realiza el manual de configuraciones y cambios, donde en el mismo se explica cómo está  instalada la plataforma en el servidor.

Fase de Soporte:

El servicio de soporte a las aplicaciones instaladas fuera o dentro de la UCI es una tarea vital que corresponde al departamento “Implantación y soporte técnico” (IST) dentro del centro antes mencionado. Es posible realizar el soporte técnico presencial o por distintos medios, incluyendo el correo electrónico, chat, software de aplicación, faxes, y teléfono, dependiendo de las necesidades del cliente y las condiciones para este servicio.

Procedimientos para realizar una personalización Básica

Se considera una personalización Básica cuando los requerimientos del usuario se centren en modificaciones/adaptaciones de los aspectos gráficos, entendiéndose esto como colores, imágenes, iconos o símbolos y estilos de fuentes de texto.

Para un mejor entendimiento, todos los procedimientos que se explican en esta sección se llevan a cabo dentro del directorio /themes de la plataforma.

Fase de Análisis.

Una vez que se definen los requerimientos durante la fase de levantamiento de requisitos y se precisa una proyección sobre las transformaciones que va a sufrir la aplicación en cuanto a las imágenes, los iconos, los colores y las fuentes de textos se define el nivel de complejidad de la personalización como básico. Dada la particularidad de esta complejidad se sugiere un equipo de trabajo pequeño, según los estudios realizados y la experiencia de los líderes del área en la que se desarrolla esta investigación se consideran necesarios y suficientes los siguientes roles: un arquitecto de información, un diseñador de interfaz gráfica y un desarrollador, además asignar un total de tres computadoras para el desempeño individual de cada rol.

La UCI es una entidad muy dinámica y exigente, donde se vincula la docencia con la producción, por tanto los desarrolladores de los proyectos productivos se ven limitados en tiempo por la ocupación de la actividad docente-educativa, teniendo esto en cuenta se decide dedicar cuatro horas laborables por día, por lo que se designa como tiempo máximo un total de ochenta horas de trabajo, equivalente a cuatro semanas o veinte días laborables para la completa elaboración de una personalización Básica de Moodle.

Fase de Elaboración.
Modificación de colores.

Todos los procedimientos que se explican en esta sección se llevan a cabo dentro del directorio /themes de la plataforma. Los colores de la interfaz que no son representados por imágenes están contenidos en el fichero styles_color.css, incluyendo colores de fondos, de letras, de los formatos HTML que se muestren en la web como bordes, botones, campos de entrada de información, etc.

Modificación de imágenes.

Cada imagen que aparece en el diseño de la plataforma está contenida en la carpeta del tema instalado en el directorio /themes/nombre_del_tema/pix/, aunque algunos desarrolladores acostumbran a dejar fuera de la carpeta /pix algunas imágenes extras, como por ejemplo imágenes para fondos que no se consideren esenciales y la vista previa o screenshot.jpg que se mostrara en el panel de instalación del tema. Es importante tener en cuenta que las imágenes de los cursos son independientes del tema instalado, están contenidas en el directorio de metadatos.

Modificación de iconografía.

Existe una colección de iconos en la raíz del directorio de Moodle que funciona de forma genérica para todos los temas que se instalen, o sea que si un tema no carga sus propios iconos, el sistema los tomaría de dicho directorio llamado también /pix.

Para la modificación de un icono, con solo reemplazarlo por algún otro seleccionado y colocarlo en el directorio con el mismo nombre y la misma extensión del tipo de imagen anterior. O simplemente editar uno existente y volver a cargar la página web.

Modificación de fuentes de texto.

Todos los textos que aparecen en la plataforma tienen un estilo definido en el fichero styles_fonts.css, existen configuraciones que permiten al texto adquirir innumerables formas o características, como tamaños, espaciados, ancho de letras, tanto para palabras individuales como para textos o documentos completos.

Procedimientos para realizar una personalización Media

Una personalización Media se define como: conjunto de procedimientos que se realizan para adaptar un software según las necesidades de complejidad media que una entidad se formule para resolver un fin específico. Su centro de desarrollo está dirigido además de los aspectos de personalización Básica, a la modificación y creación de temas y las modificaciones simples del código.

Fase de Análisis.

Ya definidos los requerimientos en la fase de levantamiento de requisitos y decididas las funcionalidades, se define de nivel medio la complejidad que tomará realizar el proceso de implementación.

La característica de esta personalización sugiere un cuerpo de trabajo similar al de la clasificación anterior, según la investigación se acierta que la complejidad de nivel medio debe ser sostenida por: un arquitecto de información, un diseñador de interfaz gráfica y dos desarrolladores, además asignar un total de cuatro computadoras para el desempeño individual de cada rol. Dado lo explicado en la clasificación de personalización Básica sobre las limitaciones en cuanto al tiempo y horario se asume como tiempo máximo un total de ciento veinte horas de trabajo, que equivalen seis semanas o treinta días laborables para la completa elaboración de una personalización Media de Moodle.

Fase de Elaboración.
Creación y Modificación de temas.

Es posible para la elaboración de un tema de Moodle empezar creando los archivos pertinentes, por ejemplo, crear una carpeta con el nombre que va a llevar el tema y los ficheros que le corresponden a cada tema que se instale en la plataforma.

Para el comienzo de cualquier proyecto que se vaya a desarrollar es más factible hacerlo desde una base por cuestiones de agilidad y de reutilización del código, de esta forma, iniciar el desarrollo a partir de otros proyectos semejantes ya creados convirtiéndose así en una herramienta muy útil. Esto significa que es mucho más seguro adoptar un tema ya existente y adaptarlo a nuestra disposición.

Posteriormente se explica la estructura básica que debe presentar de un tema de Moodle al ser creado, de forma tal que se entienda cómo construir un tema, tomando en cuenta que se pueda partir de la selección del tema “Standard” como tema base para la creación de uno nuevo, puesto que es sencillo y también el más recomendado por los desarrolladores de Moodle para estos procedimientos. Es importante crear una copia del tema seleccionado y cambiar el nombre para que en las próximas actualizaciones de la plataforma no se pierdan los cambios realizados. En resumen, cada tema que se cree o modifique para la plataforma debe tener la siguiente estructura:

pix/: Carpeta con las imágenes e iconos usados en el tema.

config.php: En este fichero se configura como van a trabajar los archivos CSS, aquí se pueden incluir qué archivos van o no a trabajar en un tema.

favicon.ico: Icono pequeño usado para representar la identidad o el logo de un sitio web, se ubica delante de la URL.

header.html: Este fichero se encarga de mostrar el logo de Moodle, el vinculo de autentificación a la plataforma (login), la barra o mapa de navegación, etc. El aspecto propio de la cabecera de Moodle depende únicamente de este archivo.

footer.html: Se encarga de la configuración del pie de página de la aplicación, al igual que header.html puede contener un logo de Moodle y otro objeto de autentificación (login).

styles.php: Fichero que se utiliza en el header.html como puente a los archivos CSS del mismo tema. Por sus características se hace innecesario configurar.

Configuración de los estilos: Para conseguir mayor flexibilidad y accesibilidad, Moodle ha separado el CSS en tres ficheros fundamentales para separar los colores, el diseño y las fuentes. De la siguiente forma están estructurados los mismos:

styles_color.css, styles_fonts.css y styles_layout.css

Sus configuraciones están separadas en las siguientes secciones:

core, header, footer, admin, blocks, calendar, course, doc, login, message, question, tabs, user styles_moz.css

Este fichero además contiene el formato específico de Firefox y de Mozilla, como las esquinas redondeadas, etc.

Archivos adicionales: Para mayor claridad, los diseñadores de temas proporcionan información en un fichero llamado README.txt que es mostrado en la información del tema junto con una pequeña pre visualización del mismo guardada en un fichero nombrado screeshot.jpg.

Modificaciones simples del código

La característica de Moodle de ser totalmente configurable aumenta el interés de las personas de adaptarlo a cada necesidad que se planten. La plataforma brinda opciones y configuraciones de muchos tipos, pero se hace difícil satisfacer las necesidades de cada cual por lo que muchas funcionalidades se tornan insuficientes y es por esto que nace la idea de modificar directamente el código y adaptarlo al fin de cumplir los objetivos trazados y contribuir con nuevos aportes.

Procedimientos para realizar una personalización Avanzada

Esta clase de personalización es las más abarcadora y compleja de las tres clasificaciones. En la misma se reúnen todos los requerimientos de una personalización básica y media incluyendo además nuevas funcionalidades como la creación de bloques, módulos y filtros.

Fase de Análisis.

Una vez que se conozca que el cliente requiere la creación de módulos, bloques, filtros y/o la adición de funcionalidades complejas al código, incluyendo además los requerimientos tenidos en cuenta para una personalización Básica y Media, es fácil detectar que se está en presencia de una personalización de complejidad Avanzada. Luego de determinar el nivel de complejidad de la personalización que se desea desarrollar se procede a la asignación de recursos. La característica de esta personalización sugiere un cuerpo de trabajo similar al de la clasificación anterior, según la investigación se acierta que la complejidad de nivel Avanzado debe ser sostenida por: un arquitecto de información, un diseñador de interfaz gráfica y cuatro desarrolladores, además asignar un total de seis computadoras para el desempeño individual de cada rol. Se asume como tiempo máximo un total de ciento sesenta horas de trabajo, que equivalen ocho semanas o cuarenta días laborables para la completa elaboración de una personalización Avanzada de Moodle. Un buen razonamiento a la hora de organizar y distribuir el trabajo influye totalmente en la eficacia y agilidad con que se pueda llevar a cabo la fase de implementación de la aplicación.

Fase de Elaboración.
Creación de un Bloque.

Moodle proporciona grandes utilidades que facilitan el desarrollo de su programación de forma sencilla y amena. Posibilita al desarrollador avanzar en el trabajo con el código utilizando toda una colección de métodos los cuales prácticamente hacen de manera independiente infinidades de funciones. De modo que se hace necesario poseer un grado de conocimiento de cada una de estos métodos para la contribución al trabajo con la plataforma en cuestiones del contexto de personalización. Como punto principal a tener en cuenta para la creación de un bloque es su estructura visual, así como las clases y funciones obligatorias que debe llevar en su interior.

Clase y funciones básicas y obligatorias: Los bloques de Moodle tienen su directorio especifico situado en /blocks. Para el comienzo de la construcción de un bloque es necesario que se cree una nueva carpeta en dicha dirección con el nombre que va a tomar el bloque, será útil suponer el nombre nombre_bloque para un mejor entendimiento durante el transcurso de este acápite.

Luego de creado el directorio /blocks/nombre_bloque se crea también dentro del mismo un fichero con el nombre block_nombre_bloque.php donde se construirán las clases y funciones especificas para el bloque. Se define entonces la clase block_nombre_bloque que hereda de la clase block_baseo y/o block_list, ambas pertenecientes a la librería /blocks/moodleblock.class.php. La clase creada debe redefinir básicamente dos funciones obligatorias: init () y get_content (). De la siguiente forma quedaría entonces la estructura inicial del código en el fichero principal de un bloque de Moodle.

class block_nombre_bloque extends block_base{

function init(){

      $this->title = get_string(' nombre' ,    'block_nombre_bloque' );

      $this->version = 2004111200;

}

function get_content(){

      if(this->content != NULL){

            return this->content;

      }

      $this->content = new stdClass;

      $this->content->text = 'El contenido de nuesto bloque nombre_bloque';

      $this->content->footer = 'Pie de página aquí ..';

      return $this->content;

}

}

Asignación de privilegios: Un bloque será visualizado tanto por alumnos, como por profesores y administradores, por lo que es importante valorar la accesibilidad. Igualmente que para las actividades, los módulos y las opciones de configuración y administración se hace necesario definir qué bloques serán mostrados en la plataforma en dependencia de cada rol. A este sistema de proporcionar permisos por roles en el lenguaje de Moodle se le llama “capabilities”, la cual es una función que selecciona que interfaz será mostrada para cada rol diferente de la plataforma.

Configuración de los lenguajes: El multilingüismo es una propiedad que se pensó con seriedad para el desarrollo de la plataforma, ya se ha hablado de los lenguajes que soporta Moodle y de las numerosas ventajas que esta característica proporciona a la comunidad mundial.

Es de vital importancia que cada usuario tenga accesibilidad a esta herramienta a través de su lengua materna o de preferencia. Para esto existe un directorio /lang donde se agrupan por paquetes los lenguajes que soporta Moodle como por ejemplo: en_utf8block_nuevo_bloque.php y en es_utf8block_nuevo_bloque.php que son los paquetes correspondientes al idioma inglés y al español respectivamente.

Configurar apariencia de bloque: Dado a que el nivel de aceptación de un entorno web por parte de los usuarios comienza primeramente por la apariencia, es fundamental entender qué tanto deben ser configurados los bloques para que se conformen de forma sencilla y comprensible en la plataforma.

En reiteradas ocasiones se ha citado que Moodle es totalmente configurable y como herramienta libre deja de ser inmune a cualquier modificación. Esta plataforma además facilita mediante funciones predefinidas muchas opciones para modificar la estructura de un bloque o sea, dónde y de qué forma se mostrará un bloque en la interfaz.

Acceso a la base de datos: Las actividades que se efectúan en la plataforma, en su mayoría, mantienen un constante flujo de información con la base de datos. El lenguaje de programación PHP tiene infinidades de funciones para el trabajo con las consultas SQL, pero Moodle emplea sus propios métodos para facilitarle al desarrollador estos tipos de labores que en ocasiones resultan complejas.Las funciones se localizan en el directorio de las librerías /lib en un fichero nombrado dmllib.php. Estas están implementadas para ser funcional en las bases de datos más robustas y mundialmente conocidas  como Mysql, Postgresql y Oracle.

Creación de un Módulo.

Antes de iniciarse en la modificación o programación de cualquier aspecto de Moodle es necesario entender la plataforma en exactitud, cómo funciona, para qué sirve cada opción, cuál es el papel del profesor, del programador o del administrador. Previo al desarrollo de una actividad es necesario conocer el esquema de un módulo. Los módulos se almacenan en el directorio /mod, cada uno en un fichero separado, siendo la estructura general de archivos y directorios como se explica a continuación:

mod.html: Formulario para configurar o actualizar las opciones del módulo.

version.php: Para almacenar de la versión del módulo y código de actualización.

/lang: Directorio con el fichero de los idiomas del módulo.

/db: Carpeta donde se almacenan los ficheros con las tablas de las bases de datos necesarias para la actividad. Si se utiliza mysql, se crean los ficheros mysql.sql y mysql.php.

/db/access.php: Fichero de permisos del módulo.

index.php: En este archivo se muestran las instancias de una actividad, es decir, una lista con todas las instancias del mismo módulo.

view.php: Página de inicio de la actividad.

lib.php: Librería de funciones implementadas para el módulo.Se mencionan a continuación algunas de las funciones estándares para los diferentes tipos de módulos que se creen.

inicio_add_instance(): Código para añadir una nueva instancia.

inicio_update_instance(): Función para actualizar una instancia existente.

inicio_delete_instance(): Código para borrar una instancia.

inicio_user_outline(): Brinda un resumen concreto de la actividad de un

usuarioinicio_user_complete(): Devuelve un informe más detallado de un usuario.

Se debe que tener en cuenta también los siguientes aspectos en la elaboración de la estructura de un módulo.

  • Todas las funciones, procedimientos y constantes, creados en lib.php, tienen que comenzar con el nombre del módulo.
  • El archivo config.html es opcional, permitiendo a los administradores configurar opciones generales del módulo.
  • El módulo debe tener archivos de idioma que contenga las cadenas para ese módulo. Deberá ser programado en inglés y traducido al idioma de los usuarios finales que utilicen la actividad. Esto está explicado en el siguiente apartado.

 Creación del paquete de idiomas: Luego de explicado en el acápite anterior el procedimiento para crear un paquete de temas en un bloque de Moodle se hace fácil proseguir en función del módulo, pues las característica de ambos ficheros de idiomas son similares. Empleando este basamento, el directorio de idiomas en un módulo quedaría de la siguiente forma: /mod/nombre_modulo/lang/es_es_utf8 y al igual que un bloque llevaría dentro una colección de cadenas de strings en su código:

//moodle
$string['modulename'] = 'Inicio';
$string['modulenameplural'] = 'Inicios';

//Del propio módulo
$string['Name'] = 'Nombre para la actividad Inicio';
$string['name'] = 'Nombre para la actividad Inicio';
$string['description'] = 'Descripción';
$string['grade']='Calificación de Inicio';

Asignación de privilegios: Los permisos permiten definir las diferentes vistas para un módulo que tendrán los distintos tipos de usuarios o roles. Asignando permisos a la actividad se puede restringir el acceso a cierta información, configurar los tipos de vistas para los roles, así como establecer capacidades para los administradores. Para establecer permisos en la actividad es el propósito por el cual se crea el fichero access.php antes mencionado, en la carpeta db.

Librerías y funciones del código: EL fichero lib.php es el responsable de almacenar la programación relacionada con las librerías de funciones y constantes del módulo, o sea, todos los procedimientos y variables que se necesiten tener definidas estarán en este fichero para ser utilizadas en la implementación del módulo como tal.

Acceso a base de datos: Los datos en Moodle se almacenan en tablas creadas por una determinada base de datos. Los ficheros encargados son mysql.php y mysql.sql, que se crean en el directorio /mod/nombre_modulo/db. En el archivo con extensión .sql se escribirá el código de las tablas que se crearán cuando se instale el módulo. El fichero con extensión .php funciona como medio de actualización con la base de datos para alguna instalación de Moodle en versiones anteriores.

Creación de un Filtro.

El flujo de información con el que trabaja la plataforma es demasiado grande y complejo para que pueda ser controlado por una sola persona e incluso por un algún grupo de personas que se destine para esta función. Por estos motivos se han incluido a la plataforma numerosas funciones para agilizar estas labores.

Se han creado funcionalidades para la gestión de la calidad y el perfeccionamiento de los contenidos, estas funciones son llamadas filtros y en sus diversidades hacen de una forma u otra que la información sea correcta y mantenga una ética profesional. Existen numerosos tipos de filtros, se pueden mencionar algunos de los más básicos que aparecen incluidos con la instalación de la plataforma.

 Notación TeX: La notación TeX se usa sobre todo para generar fórmulas matemáticas dentro del texto en los recursos Moodle. Por ejemplo, $$ sqrt(a+b) $$ (la $$ es la ‘marca’ que señala el principio y el final de este formato).

 Censura de palabras: Este filtro revisa el texto para encontrar ‘palabras inconvenientes’ a partir de una lista previamente definida. Para usar esta función se debe en primer lugar entrar en la página de ajustes y definir una lista de palabras. El usuario verá las palabras oscurecidas por un bloque negro, si bien al pasar el ratón por encima aparecerá la palabra original.

 Tidy: Este filtro revisa el texto para encontrar bloques HTML. Cuando los encuentra, aplica reglas que intentan hacer que el código HTML sea válido.

Otros filtros: Protección de email, Recursos en varios idiomas, Enlace automático al glosario, Enlace automático al glosario y Censura de palabras.

Conclusiones Generales: A partir de los objetivos planteados y el trabajo realizado en esta investigación se arribó a los siguientes resultados: Para la fundamentación teórica de esta investigación se realizaron estudios sobre la estructura y organización de la plataforma Moodle, las guías de personalizaciones encontradas y se profundizó en los conceptos relacionados con el E-Learning. Se logró confeccionar una Guía de personalización de Moodle a partir de estudios realizados alrededor del proceso de personalización de la plataforma. En la misma se describieron los pasos fundamentales para lograr una ágil, eficiente y correcta personalización de Moodle donde se obtenga un control sobre los medios y recursos a utilizar. La propuesta se dividió en tres niveles de complejidad, Básica, Media y Avanzada. El procedimiento planteado va insertando progresivamente mejoras en cada uno de estos niveles. La propuesta de Guía de personalización de Moodle fue evaluada utilizando para ello el método de expertos Delphi, demostrando así su eficacia. El resultado de esta validación fue exitosa y evidenció la calidad de la propuesta, además demostró la importancia de la aplicación de esta Guía de personalización de Moodle en el proceso de adaptación del software, esencialmente en el departamento de Desarrollo de Herramientas Educativas que brinda este tipo de servicios a la plataforma Moodle.

Bibliografía:

  1. Sitios Web Educativos. [Online] http://www.slideshare.net/raymarq/sitios-web-educativos.
  2. BEIT. [Online] [Cited: marzo 2, 2010.] http://www.serviciostic.net/las-tic/definicion-de-tic.html.
  3. eumed. [Online] Octubre 2008. [Cited: Marzo 2, 2010.] http://www.eumed.net/rev/cccss/02/vsp.htm.
  4. TICs. [Online] [Cited: Marzo 25, 2010.]http://tics.org.ar/index.php?option=com_content&task=view&id=13&Itemid=28.
  5. e-Learning, el futuro de la educación a distancia. [Online] 2009. [Cited: Febrero 11, 2010.]http://www.informaticamilenium.com.m
  6. Desarrolloweb. [Online] Noviembre 11, 2008. [Cited: Enero 20, 2010.]http://www.desarrolloweb.com/articulos/que-es-un-cms.html.
  7. Gaceta Digital . [Online] 2009. [Cited: Febrero 13, 2010.] http://www.gacetadigital.com/moodle-una-plataforma-de-aprendizaje-virtual-libre/.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.