Moodle


Intro y Recursos

驴Qu茅 es un LMS?

Recursos Generales


Comunidad y Colaboraci贸n

C贸mo colaborar en Moodle


V铆deos Recomendados

Introducci贸n a las APIs

Plugins y Desarrollo


Cursos y Formaci贸n

Cursos para crear plugins


Documentaci贸n de APIs Espec铆ficas

Page API

String API

Entorno y Deploy

Versiones y Entorno Base

  • moodle 4.5
  • DB: phpMyAdmin vs local
  • SQL con MariaDB
  • 馃捇

Moodle en Docker

Repositorios y Bases

Configuraci贸n PHP (php.ini)

  • Para subir archivos:
    • Moodle en Docker - YouTube
    • docker-moodle - GitHub
    • docker cp php.ini .
    • sudo docker cp moodle:opt/bitnami/php/lib/php.ini
    • docker cp php.ini moodle:php.ini
    • docker exec -it moodle /bin/bash
    • cp php.ini opt/bitnami/php/lib/php.ini
    • exit
    • docker restart moodle

Persistencia

SMTP y Email

  • Configuraci贸n de SMTP

Temas y Plugins

  • Crear templates o plugins
    • Probar temas

Monitoreo y Logs

  • prometheus o grafana

Producci贸n 馃敟

Infraestructura Base

Buenas Pr谩cticas de Deploy

  • Especificar versi贸n de las im谩genes
  • Puertos est谩ndar:
    • HTTP (80)
    • HTTPS (443)
  • Vol煤menes con driver: local
    • Datos gestionados por Docker
  • Certificados SSL
  • Proxy inverso:
    • Nginx
    • Traefik (Let鈥檚 Encrypt)
  • Pol铆ticas de reinicio:
    • restart: unless-stopped

Redes Docker

Configuraci贸n de Redes

  • Probar red interna bridge
    • ping mariadb
  • Subredes personalizadas:
    • driver: bridge
    • ipam:
      • config:
        • - subnet: 192.168.1.0/24
  • Usar red overlay para:
    • Docker Swarm
    • Kubernetes

Scripts de Espera

  • Para que moodle espere a mariadb:
    • wait-for-it.sh

Seguridad de Red

  • Limitar acceso
    • .htaccess Apache vs php.ini

Apache y Acceso

Imagen Apache Bitnami

Acceso al Login Moodle

  • ChatGPT-login-en-moodle
  • C*****1***#
  • docker exec para acceder al container Docker
  • Cron job vs Apache
  • A帽adir envs de usuario en Dockerfile

Rendimiento

  • Moodle lento:
    • A帽adir modo local en volumes
    • ChatGPT-6745e6be-68e8-8009-8804-b29df6009317 1

Otros

  • Configuraci贸n PHP
  • Probar backup

Imagen Docker Personalizada

Recursos y Tutoriales

Caracter铆sticas

  • PHP, MariaDB y Moodle en Docker
  • Sin imagen oficial de Bitnami
  • M谩s configuraciones
  • PHP Docker
  • Imagen PHP oficial
  • Dockerfile separado para Apache
  • Montar volumen /www
  • postgreSQL
  • pgAdmin en Docker

Desarrollo de Plugins, Templates y App


Testing

Pruebas en Moodle

Frameworks y Herramientas

Code Quality / Linters


Gu铆a de Estilo

Est谩ndares de C贸digo

  • Coding style
  • Plugins: gu铆a de estilo (Frankenstyle):
    • https://moodledev.io/general/development/policies/codingstyle/frankenstyle
  • SQL:
    • https://moodledev.io/general/development/policies/codingstyle/sql
  • Component Communication:
    • https://moodledev.io/general/development/policies/component-communication

Deprecaciones


Moodle App (Mobile)

Configuraci贸n y Acceso

Desarrollo de la App

  • Customizaci贸n:
    • https://moodledev.io/general/app/customisation/remote-themes
  • Desarrollo general:
    • https://moodledev.io/general/app/development
  • Setup del entorno:
    • https://moodledev.io/general/app/development/setup

Angular + Webservices


Desarrollo con JavaScript

Gu铆as y Documentaci贸n

Templates Mustache

Coding Style Angular

  • Gu铆a Angular App
  • 140 caracteres por l铆nea
  • Configuraci贸n VSCode:
    • https://github.com/moodlehq/moodleapp/blob/latest/.vscode/settings.json#L8

Templates (Temas y Apariencia)

Instalaci贸n y Configuraci贸n

Plugins de Temas

Configuraci贸n de Temas

  • Documentaci贸n:
    • https://moodledev.io/docs/5.0/apis/plugintypes/theme
    • https://docs.moodle.org/405/en/Installing_plugins
    • https://docs.moodle.org/405/en/Configuration_file
    • https://moodle.org/plugins/atto_styles

Modo Oscuro


Entorno de Desarrollo

Documentaci贸n General

Herramientas de Desarrollo


Crear Plugins

Tipos y Subplugins

  • Tipos de plugins:
    • https://moodledev.io/docs/5.0/apis/plugintypes
  • Subplugins:
    • https://docs.moodle.org/dev/Subplugins)

To-Do

omnivore moodle y php

type: list
name: "Notas con #moodle en Omnivore"
order:
  - property: date_saved
    direction: desc
columns:
  - file.name
  - date_saved
filters:
  and:
    - file.inFolder("Omnivore")
    - file.hasTag("moodle", "Moodle", "PHP", "php")
views:
  - type: table
    name: Table
    sort:
      - property: file.mtime
        direction: DESC