Activar plantilla en Open edX

Luego de tener nuestra instalación nativa de Open edX funcionando podemos seguir usando la versión vanilla; sin embargo, si queremos podremos personalizarla. Para ello hay que tener un mínimo de conocimientos de html, css y mako templates.

Para empezar hay que guardar la plantilla en: ~/edx.custom-themes, de esta manera podemos centralizar las plantillas en un solo lugar y deben tener un árbol de directorios con esta estructura:

1
2
3
4
5
6
7
|-my-custom-theme/
  |-cms/
    |-static/
    |-templates/
  |-lms/
    |-static/
    |-templates/

Editar en el archivo /edx/app/edxapp/lms.env.json las variables relacionadas con los temas personalizados:

1
2
3
"COMPREHENSIVE_THEME_DIRS": [ "/edx/app/edxapp/edx-platform/themes", "/home/usuario/edx.custom-themes" ],
"ENABLE_COMPREHENSIVE_THEMING": true,
"DEFAULT_SITE_THEME": "my-custom-theme",

D‌estripando lo anterior /home/usuario/edx.custom-themes se refiere al directorio donde guardaremos las plantillas dentro de la carpeta de usuario. Al hacerlo de esta manera, sincronizo con un repositorio en github y cualquier plantilla que añada a ese directorio podrá ser leída por Open edX. La variable DEFAULT_SITE_THEME es el nombre del directorio de la plantilla que utilizaremos.

Si se desea realizar cambios también a la plantilla de Studio, entonces activar sendas variables en /edx/app/edxapp/cms.env.json.‌

Cambiar permisos y propiedad de directorio de plantillas para que Open edX pueda leerlo

1
$ sudo chown edxapp:edxapp /home/usuario/edx.custom-themes

‌Aplicar la plantilla desde el panel de control de Django. ‌Para conectarse al panel de control de django, necesitaremos un tunel SSH, ya que esta habilitado en el puerto 8000 pero solo desde el localhost.

1
$ ssh -N -L 8000:127.0.0.1:80 usuario@host -i clave-ssh

En el navegador entrar a http://127.0.0.1:8000/admin utilizando las credenciales creadas anteriormente del usuario administrador y dentro de las opciones listadas vamos a Theming > Site themes > Add site theme. Dentro de la nueva página que cargará, seleccionamos nuestro sitio web en la lista desplegable y luego en la opción Theme dir name colocamos el nombre del directorio de la plantilla que usaremos.

Compilar la plantilla del LMS, el proceso tarda 5-10 minutos en completarse:

1
2
3
4
$ sudo -H -u edxapp bash
$ source /edx/app/edxapp/edxapp_env
$ cd /edx/app/edxapp/edx-platform
$ paver update_assets lms --settings=production

‌En caso de editar la plantilla del CMS, compilarla también:

1
$ paver update_assets cms --settings=production

‌Durante la compilación el sitio estará inaccesible. Una vez termine reiniciar los servicios:

1
2
3
$ sudo /edx/bin/supervisorctl restart lms
$ sudo /edx/bin/supervisorctl restart cms (en caso que se haya editado la plantilla del cms)
$ sudo /edx/bin/supervisorctl restart edxapp_worker:

Una vez hecho todo este proceso, tendremos activa nuestra plantilla en nuestra instalación de Open edX.


Moisés Serrano Samudio Médico de atención primaria, fotógrafo aficionado, apasionado de las tecnologías relacionadas con el EdTech y el eHealth y diseñador/desarrollador de sitios web de salud. Médico, apasionado del EdTech/eHealth y diseñador/desarrollador de sitios web de salud.
Moisés Serrano Samudio

@linkmoises

Médico de atención primaria, fotógrafo aficionado, apasionado de las tecnologías relacionadas con el EdTech y el eHealth.

Entradas relacionadas

  1. Aún no hay comentarios...

Deja una respuesta

Su email no será publicado. Required fields are marked *