Activar database enrolment con un CLI Script

Activar database enrolment con un CLI Script

de Santiago Mendoza Ramirez -
Número de respuestas: 5

Hola

Quiero mediante un script de php (en linea de comandos) activar/desactivar la matriculación a través de base de datos. ¿Alguna idea de por donde ir? Ya que para hacerlo se necesitan permisos de admin y por tanto haber iniciado sesión, pero como es desde la linea de comandos, no se puede.

Quedo atento a sus respuesta.

Promedio de valoraciones: -
En respuesta a Santiago Mendoza Ramirez

Re: Activar database enrolment con un CLI Script

de Jose Luis Martin Jimenez -
Imagen de Moodlers de gran ayuda

Hola, Santiago.

¿A qué te refieres concretamente con activar/desactivar la matriculación por base de datos?

Porque lo que se hace desde el menú de administración de Moodle tiene efectos a nivel de toda la plataforma, y no se me ocurre ningún escenario en el que una característica como esa haya que cambiarla a menudo, en cuyo caso no entiendo la necesidad de un script. En cualquier caso, pienso que lo más sencillo sería programar un script PHP que tenga permisos para hacer cambios directamente en la base de datos de Moodle (creo que es la tabla mdl_config la que contiene los datos que te interesan).

Saludos.

En respuesta a Jose Luis Martin Jimenez

Re: Activar database enrolment con un CLI Script

de Santiago Mendoza Ramirez -

Hola, Jose

El problema es que cuando dejo activada la matriculación por base de datos, la plataforma en general se alentiza. Lo que quiero es activar la opción, ejecutar el script de sync, y luego desactivarla. Y la idea es que esto quede automatizado.

Probe hacerlo a nivel de base de datos, y efectivamente cambia el valor en la base de datos, pero en la plataforma sigue apareciendo como si no. No se si es un error por alguna caché guardada o es que no es solo suficiente con ese cambio en la BD.

Saludos y quedo atento ante cualquier ayuda.

En respuesta a Santiago Mendoza Ramirez

Re: Activar database enrolment con un CLI Script

de Jose Luis Martin Jimenez -
Imagen de Moodlers de gran ayuda

Hola de nuevo, Santiago.

Pues he hecho la prueba en un Moodle de pruebas, y cambiando directamente la variable en la base de datos (mdl_config > enrol_plugins_enabled) se activa o desactiva la correspondiente extensión de matriculación (database en este caso) ... pero es cierto, el cambio no se ve inmediatamente reflejado, salvo que borres las cachés.

Por lo que he podido ver, esa configuración está "cacheada" en un archivo situado dentro de la carpeta "moodledata" (o el nombre que ahí le hayáis dado), en una ruta tal como esta:  ...\cache\cachestore_file\default_application\core_config\...\...

Lo que va en los puntos finales no es igual en una plataforma Moodle y otra, pero no sé si es siempre fijo en una misma plataforma. Si fuera el segundo caso, bastaría con que tu script, además de cambiar el valor en la base de datos, eliminara ese archivo "cacheado" para que el cambio fuera inmediato. Puedes probar a ver ...

Saludos.

En respuesta a Jose Luis Martin Jimenez

Re: Activar database enrolment con un CLI Script

de Santiago Mendoza Ramirez -

Hola, Jose Luis.

Voy a revisar lo que me comentaste a ver si me funciona. Muchas gracias.