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", |
Destripando 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.
@linkmoises
Aún no hay comentarios...