Skip to content

Version 0.1.0

Latest

Choose a tag to compare

@jlsimon jlsimon released this 11 Aug 08:27
· 1 commit to main since this release

English

First public release of local_themerules: rule-based dynamic theme and logo switching for Moodle — a different theme and logo per client company, a distraction-free skin during exams, a lighter theme on phones, all from admin-configured rules, no code and no per-course setup.

Highlights:

  • Ordered, enable/disable-able rules pairing a logical condition tree (AND/OR groups, nested) with an action (theme, logo, or both).
  • Conditions: user, course, course category (+ subcategories), cohort, course group, course tag, device type, standard/custom profile fields.
  • Visual rule builder with entity-search pickers — no hand-written JSON required.
  • Simulator with a full per-condition trace, and JSON import/export for moving rule sets between sites.
  • In-app quick reference, plus a full bilingual (EN/ES) illustrated user guide.
  • PHPUnit + Behat coverage, GitHub Actions CI (PHP 8.1–8.4, Moodle 4.5–5.2, Postgres/MariaDB).

See CHANGELOG.md for full detail.

Installation

Download themerules-v0.1.0.zip from the Assets section below (NOT GitHub's automatic "Source code (zip)", which creates a wrongly-named folder and won't install cleanly).

Then choose one:

  • Via the browser: Site administration → Plugins → Install plugins → upload the zip.
  • Manual: unzip and copy the themerules/ folder into local/ in your Moodle install, then visit Site administration to complete the database upgrade.

Requirements

  • Moodle 4.5 LTS or higher (developed and tested against 5.2.1+)
  • PHP 8.1 – 8.4

Español

Primera versión pública de local_themerules: cambio dinámico de tema y logo por reglas para Moodle — un tema y logo distinto por empresa cliente, un aspecto sin distracciones durante exámenes, un tema más ligero en móvil, todo mediante reglas configuradas por el administrador, sin código y sin configuración curso a curso.

Lo más destacado:

  • Reglas ordenadas, activables/desactivables, que combinan un árbol de condiciones lógicas (grupos AND/OR anidados) con una acción (tema, logo, o ambos).
  • Condiciones: usuario, curso, categoría de curso (+ subcategorías), cohorte, grupo de curso, etiqueta de curso, tipo de dispositivo, campos de perfil estándar o personalizados.
  • Editor visual de reglas con buscadores de entidades — sin necesidad de escribir JSON a mano.
  • Simulador con traza completa por condición, e importación/exportación en JSON para mover conjuntos de reglas entre sitios.
  • Referencia rápida dentro del propio plugin, más una guía de uso ilustrada y bilingüe (EN/ES) completa.
  • Cobertura con PHPUnit + Behat, CI en GitHub Actions (PHP 8.1–8.4, Moodle 4.5–5.2, Postgres/MariaDB).

Ver CHANGELOG.md para el detalle completo.

Instalación

Descarga themerules-v0.1.0.zip de la sección Assets de abajo (NO el "Source code (zip)" automático de GitHub, que crea una carpeta con nombre incorrecto y no instala limpio).

Después, elige una opción:

  • Por el navegador: Administración del sitio → Plugins → Instalar plugins → sube el zip.
  • Manual: descomprime y copia la carpeta themerules/ dentro de local/ de tu Moodle; luego visita Administración del sitio para completar la actualización de la BD.

Requisitos

  • Moodle 4.5 LTS o superior (desarrollado y probado contra 5.2.1+)
  • PHP 8.1 – 8.4