Ayuda para nuevos codificadores
Dónde pueden los novatos de Moodle obtener ayuda?
En los foros de desarrolladores:
Foro General de desarrolladores (Inglés) !
Foro Cosas de desarrolladores (Castellano) !
Siéntase libre de realizar cualquier pregunta, no importa que tan básica o avanzada sea. Muchas personas hacen diferentes niveles de preguntas todos los días, y la comunidad da la bienvenida y responde rápido.
La base de datos de Moodle
Donde puedo ver un esquema de la estructura de la base de datos del Moodle?
Al instalar Moodle, las tablas de la base de datos son generadas y actualizadas por varios archivos script de manejo de base de datos ubicados en varios lugares. No existe una representacion esquemática canónico, aunque coding guidelines for database structure delínea una aproximación general.
La estructura modular del Moodle es la razón por la cual la información de la base de datos no esta almacenada en un único lugar.
Por ejemplo: cada módulo de actividad viene como una carpeta que incluye archivos script. Si el módulo requiere almacenar informacion en la base de datos, deberá incluir los archivos script que definen y actualizan la estructura de la base de datos en una subcarpeta llamada "db".
Cómo leo/fijo información cuando escribo nuevo código de Moodle?
Cómo encuentro el usuario actualmente logueado?
Dentro del objeto global $USER está entre otros el código numérico $USER->id
Cómo encuentro el curso actual?
Dentro del objeto global $COURSE, está el código numérico $COURSE->id
Cómo agrego/recupero registros en en la base de datos sin crear mis propias conexiones de base de datos?
Siempre usa las funciones "datalib", como insert_record() o get_record(). Esto ayuda con la abstracción de la base de datos. (Por ejemplo: ejecutar tanto en MySQL como o Postgres) como también mantener una única conección de base de datos. Moodle usa ADODB para lograr la abstracción de la base de datos.
Mirá un listado de las funciones y un detalle de como usarlas en: the documentation for datalib.php
Cómo leo/fijo los valores de la configuracion?
Para leer los valores de configuración tipicamente accedés directamente al objeto global $CFG, el cual se genera automáticamente por los scripts de núcleo del Moodle.
Para fijar esos valores de configuración "principales" usa set_config($name, $value). Los valores se almacenan en la tabla "config" de la base de datos del Moodle, como dichas funciones manejan el catcheo de la información, debes usarlas siempre en lugar de recuperar los registros directamente.
Existe además una segunda tabla de configuración específica para plugins ("config_plugin"). Estas no son cargadas automaticamente en el objeto $CFG, por o cual para recuperarlas deberás usar get_config($plugin, $name). Para fijarlas usa set_config($name, $value, $plugin).