Guía del programador¶
Esta es una guía orientada al programador encargado de desarrollo del plugin. Se cubren dos aspectos importantes el primero de ellos se relaciona con el manejo de los repositorios y el código en sí. Posteriormente se describe una breve lista de tareas frecuentes.
Manejo de repositorios¶
Los repositorios se deben manejar de forma ordenada se recomienda usar la metodología conocida como Git flow, de forma tal que se permita trabajar de forma separada y modular. Las entregas se deben marcar como releases y la rama de desarrollo actualizada en todo momento. Los releases se deben marcar bajo la nomenclatura release + ucr-bbb + v{número de versión}. La rama master o principal del repositorio se nombró universidad_de_costa_rica, esta debe siempre contener la rama dedicada a producción.
Creación del código¶
Debio a que se desea que realizar cambios poco invasivos sobre el plugin original es necesario identificar las porciones de código que se agreguen o modifiquen mediante dos comentarios como los siguientes:
/*---- OpenStack integration ----*/`para el inicio de los cambios./*---- end of OpenStack integration ----*/`para el final de los cambios.
Del mismo modo se debe mantener el orden y la correcta documentación interna cuando sea necesario así como seguir las políticas de desarrollo de plugins de Moodle y el uso de sus APIs siempre que sea posible.
Tareas frecuentes¶
A continuación se muestra una guía de las posibles tareas frecuentes:
Realizar modificaciones a la base de datos de Moodle¶
Nota: Es necesario comprender correctamente la estructura de la base de datos antes de realizar cualquier cambio. Consulte `Estructura a nivel de Base de Datos`_ si tiene alguna duda.
Para modificar la base de datos de moodle se deben afectar el archivo
db/install.xml. el archivo db/upgrade.php y version.php.
Existen dos formas de realizar modificaciones a la base de dadtos de Moodle:
- Usar el editor XML desde la interfaz de Moodle: Forma más segura de hacer los cambios. Usar cuando no se tiene acceso directo a la base de datos. Seguir lo específicado en la `Documentación oficial de Mooodle`_.
- Hacer los cambios directamente en el código del plugin: Recomendable cuando se tiene acceso directo a la base de datos. Forma más rápida de hacer los cambios.
- Definir los cambios en el archivo
db/install.xml. - Definir los cambios en el archivo
db/upgrade.phpy cambiar el número de versión. - Cambiar el archivo
version.php. - Asegurar que los cambios se suban al servidor de Moodle.
- Visitar
Site Adminsitration > Notificationsen la interaz de Moodle para migrar los cambios a la base de datos.
Revisar código de Moodle¶
En muchos casos es mejor indagar en el código de Moodle con el fin de conocer como se manejan algunas de las funcionalidades. Esto es determinante sobre todo a la hora de intentar realizar tareas poco comunes y resulta necesario por la falta de documentación que ofrece el software en varios de sus APIs y funciones.
Vaciar la caché del servidor de Moodle¶
Este comando es útil para refrescar el contenido de la página como por ejemplo strings predefinidos. Debe estar ubicado en la raíz de la instalación de Moodle.
php /admin/cli/purge_caches.php //Usando php ``
``docker-compose exec php-fpm php admin/cli/purge_caches.php //Con docker-compose
También se puede limpiar la caché visitando
http://URLdelSitio/admin/cli/purge_caches/php
Manejo de tareas agendadas (cron jobs de Moodle)¶
Si desea saber más acerca de las tareas agendadas puede visitar la Documentación oficial de Moodle.
Es posible depurar las tareas usando la línea de comandos Documentación oficial de Moodle
Administrar bibliotecas externas¶
A continuación se muestra como manejar las dependencias relacionadas a las bibiliotecas de terceros usando el programa Composer.
- De estar trabajando en un contenedor con
docker-composeabra una terminal ejecutando:docker-compose exec <nombre_del_contenedor> /bin/bash - Es necesario de tener instalado el programa Composer para manejar bibliotecas de tereceros escritas en PHP.
- Para instalarlo ejecute
curl -sS https://getcomposer.org/installer | php - Asegúrese de que exista el archivo
mod/bigbluebuttonbn/composer.json - Ingrese a
mod/bigbluebuttonbny ejecutephp composer.phar installEsto creará una carpetamod/bigbluebuttonbn/vendorcon las bibliotecas que se declararon enmod/bigbluebuttonbn/composer.jsony un archivomod/bigbluebuttonbn/vendor/autoload.php.