Acceso rápido:
Api de reposo de Moodle
Esta página describe las funciones disponibles para acceder a los datos de la base de datos de Moodle. Debería usar exclusivamente estas funciones para recuperar o modificar el contenido de la base de datos porque estas funciones proporcionan un alto nivel de abstracción y garantizan que su manipulación de la base de datos funcionará contra diferentes RDBMS.
Siempre que sea posible, se documentarán aquí trucos y ejemplos para facilitar un poco la vida a los desarrolladores. Por supuesto, siéntase libre de aclarar, completar y añadir más información a esta documentación. Será bienvenida, ¡por supuesto!
Cada uno de los siguientes métodos devuelve un array de objetos. El array está indexado por la primera columna de los campos devueltos por la consulta. Para asegurar la consistencia, es una buena práctica asegurarse de que su consulta incluye una «columna id» como primer campo. Cuando diseñe tablas personalizadas, haga que id sea su primera columna y clave primaria.
Tenga en cuenta que algunas bases de datos no soportan transacciones (como el motor de base de datos MySQL MyISAM), sin embargo se recomienda encarecidamente a todos los administradores de servidores que migren a bases de datos que soporten transacciones (como el motor de base de datos MySQL InnoDB).
¿Tiene Moodle una API?
Moodle tiene una serie de APIs centrales que proporcionan herramientas para los scripts de Moodle. Son esenciales a la hora de escribir plugins para Moodle.
¿Cómo accedo a mi base de datos Moodle?
MoodleBox permite el acceso a la base de datos de Moodle con fines de administración, a través del software Adminer. Para acceder a la interfaz de inicio de sesión, escriba la siguiente URL http://moodlebox.home/adminer.php en la barra de direcciones de su navegador, y escriba las credenciales que aparecen a continuación. Por supuesto, la contraseña es diferente si la ha cambiado.
¿Qué base de datos utiliza Moodle?
La base de datos de Moodle suele ser MySQL o Postgres, pero también puede ser Microsoft SQL Server u Oracle.
Api de archivos de Moodle
Dada una consulta que cuenta filas, devuelve esa cuenta. (De hecho, dada cualquier consulta, devuelve el primer campo del primer registro devuelto. Sin embargo, este método sólo debe utilizarse para el propósito previsto). Si se produce un error, se devuelve 0.
El parámetro $alias debe establecerse con el nombre de la columna única en el resultado de la subconsulta (por ejemplo, si la subconsulta es ‘SELECT id FROM lo que sea’, entonces debe ser ‘id’). Esto no es necesario en la mayoría de las bases de datos, pero MySQL lo requiere.
int$strictnessIGNORE_MISSING significa modo compatible, false devuelve si no se encuentra ningún registro, mensaje de depuración si se encuentran más; IGNORE_MULTIPLE significa devolver primero, ignorar múltiples registros encontrados(no recomendado); MUST_EXIST significa lanzar excepción si no se encuentra ningún registro o múltiples registros
int$strictnessIGNORE_MISSING significa modo compatible, se devuelve false si no se encuentra el registro, mensaje de depuración si se encuentran más; IGNORE_MULTIPLE significa devolver primero, ignorar los registros múltiples encontrados(no recomendado); MUST_EXIST significa lanzar una excepción si no se encuentra ningún registro o múltiples registros
Utilizar moodle api
Para una lista completa de las APIs internas de Moodle, eche un vistazo a https://docs.moodle.org/dev/Core_APIs. El primer conjunto de APIs está listado como APIs Generales. Son las interfaces sobre las que se construyen la mayoría de los plugins, por ejemplo, la API de Manipulación de Datos para leer y escribir en la base de datos de Moodle o la API de Formularios que muestra formularios web y maneja sus datos. En la siguiente sección, crearemos un plugin simple que sobreescribe (en el sentido orientado a objetos) y llama a la String API para cambiar la forma en que se muestran las cadenas de idioma en la interfaz de usuario de Moodle.
Esquema de la base de datos de Moodle
De acuerdo con la Documentación de la API, los Eventos son piezas atómicas de información que describen algo que ha sucedido en Moodle. Los eventos son principalmente el resultado de acciones del usuario, pero también pueden ser el resultado del proceso cron o de acciones de administración realizadas a través de la línea de comandos. Cuando tiene lugar una acción, se crea un evento mediante una API central o un plug-in. A continuación, el sistema de eventos difunde esta información de eventos a los observadores registrados para este evento. De esta manera, el sistema de eventos actúa como una columna vertebral de comunicación en todo el sistema Moodle. Los observadores de eventos no pueden modificar los datos del evento o interrumpir el envío de eventos, es un canal de comunicación unidireccional.
Moodle es una herramienta de código abierto que proporciona una plataforma para que profesores y alumnos compartan e interactúen con contenidos educativos. Organizaciones como las universidades lo utilizan para servir contenidos de aprendizaje a sus alumnos y también para realizar evaluaciones en línea como cuestionarios y otros. Puede obtener más información sobre Moodle aquí.
Como es de código abierto, puedes instalar Moodle en tu servidor y ejecutarlo bajo tu dominio. También puede personalizarlo según el tema de su organización. Otra ventaja de que sea de código abierto es que puedes crear un plug-in local que te permita ampliar funcionalidades. Por lo tanto, esta guía se va a centrar en cómo puedes crear un plugin local dentro de Moodle utilizando Event Listeners como nuestro caso de estudio. También te proporcionaré enlaces a recursos que te ayudarán a configurar y ejecutar Moodle en tu servidor.