You are on page 1of 13

Open edX, plataforma para MOOC

Javier Ortega Conde, Metauniversidad

Notas del autor:


Webs: http://metauniversidad.com y http://metamooc.com

IKASNABAR 2014 - OPEN EDUCATION AND TECHNOLOGY

455

Resumen
Los MOOC estn en auge, y si bien en Estados Unidos se han asentando ya, en Europa
todava hay mucho camino por recorrer. Tras una introduccin sobre el concepto de MOOCs y
un breve anlisis sobre la eleccin de Open edX, este documento pretende acercar y facilitar la
instalacin de la plataforma de MOOC Open edX, tras la experiencia en nuestra empresa, para
que otros puedan instalarla y probarla.
Palabras clave: MOOC, Open edX, software libre
Abstract
MOOCs are booming, and while in the United States are already settled, in Europe there
is still a long way to go. After an introduction to the concept of MOOCs and a brief discussion
about choosing of Open edX, this paper aims to approach and facilitate installation of Open edX
MOOC platform, after the experience in our company, so that others can install and try it.
Keywords: MOOC, Open edX, free software, libre software

IKASNABAR 2014 - OPEN EDUCATION AND TECHNOLOGY

456

Open edX, plataforma para MOOC


Introduccin: qu es un MOOC?
Las siglas MOOC responden a Massive Open Online Course, que significa Curso
Online Masivo y Abierto. Analicemos brevemente qu significado tienen estas palabras:
- Curso: Debe estar orientado al aprendizaje y tener un sistema de evaluacin del
aprendizaje para acreditar el conocimiento adquirido.
- Online: El curso se impartir a distancia por internet, sin requerir asistencia presencial.
Normalmente (aunque no es obligatorio) no se hacen sesiones en directo, dada la dificultad que
supone la posible masividad.
- Masivo: Se admiten matriculaciones en el curso sin restricciones, de forma ilimitada
(mientras los recursos lo permitan) o al menos en cantidades mucho ms altas a las de un curso
tradicional.
- Abierto: Se puede acceder a los materiales de forma gratuita en Internet. No obstante,
tendrn sus licencias, que podran restringirlos al uso del curso y no permitir el uso en otros
sitios.
Si bien en lo bsico son similares a los cursos online tradicionales, sus caractersticas los
hacen ligeramente diferentes y son actualmente otra va de distribucin de cursos, en auge dado
su xito. Es remarcable que en otoo del 2011, ms de 160.000 personas se matricularon en un
curso sobre Inteligencia artificial ofrecido por la Universidad de Standford. Eso supuso la
explosin de los MOOC y despert el inters por ellos de toda la comunidad educativa. La
frmula habitual es cobrar slo por el certificado que acredita (previa prueba) el
aprovechamiento del curso. Estadsticamente el porcentaje de inscritos que completan el curso
suele ser menor al 13%, pero an as dadas las cifras de inscripciones manejadas, la cantidad neta

IKASNABAR 2014 - OPEN EDUCATION AND TECHNOLOGY

457

suele superar a la de superacin en cursos tradicionales equivalentes.


Qu plataformas de MOOC basadas en software libre existen?
Entre las plataformas a usar decidimos escoger slo aquellas que son software libre, por
conviccin propia de sus ventajas. Desestimamos Moodle y Chamilo, porque aunque podran ser
vlidas para la imparticin de MOOC, aaden complicacin innecesaria, y por tanto no deseable,
a los profesoras/es y alumnas/os.
Google cre en 2012 su propia plataforma CourseBuilder, pero ms adelante la abandon
para sumar sus esfuerzos a la plataforma Open edX.
La UNED cre en 2012 la plataforma OpenMooc para su uso propio pensando en la
incorporacin de vdeos y la escabilidad.
Peer to Peer University (P2PU) cre Lernanta en 2010, y la liber siguiendo su filosofa
de apertura y carencia de nimo de lucro.
La ltima a destacar es Open edX que si bien fue creada en 2011 en el MIT, fue liberada
en 2013 bajo el apoyo aadido de la Universidad de Harvard.
Todas ellas estn desarrolladas en Python con Django (salvo CourseBuilder que usa el
framework webapp2).
Por qu de entre todas escoger Open edX?
Open edX ya tiene ms funciones y capacidades que sus competidoras. En unos aos la
diferencia ser ms palpable y puede que no tenga rival. Open edX ofrece entre otras estas
caractersticas51: posibilidad de mostrar lecciones grabadas en vdeo con subttulos e indexacin
sobre los propios subttulos (puedes buscar por palabras que aparezcan en los mismos y al pulsar
sobre los resultados, ir directamente a la seccin de vdeo que los contiene), posibilidad de aadir
51

Caractersticas de Open edX: http://diariolinux.com/2014/05/21/introduccion-a-open-edx/

IKASNABAR 2014 - OPEN EDUCATION AND TECHNOLOGY

458

materiales de estudio (organizados como libros, notas o simples ficheros), diferentes tipos de
tests y exmenes, laboratorio Virtual con interfaz interactivo (para problemas de electrnica),
calendario/planificacin del curso, soporte multi-idioma, foros de discusin, wikis, informes de
progreso, sistema para implementar Learning Analytics, diferentes tipos de evaluacin de tareas:
evaluacin entre pares, auto-evaluacin, hetero-evaluacin y evaluacin automtica, sistema de
notificacin de eventos por correo electrnico, emisin de certificados de completamiento,
integracin con Google Hangouts y est preparada desde el principio para ser escalable.
Asimismo tiene algunas cualidades nicas o slo compartidas con una de sus
competidoras (OpenMOOC), a saber:

Open edX y
OpenMooc

Evaluacin entre pares y autoevaluacin


(tambin en OpenMOOC)

Slo Open
edX

Sistema de evaluacin automtica (usando


tcnicas de machine learning)

Slo Open
edX

Laboratorio virtual con interfaz interactivo de


simulacin.

Open edX y
OpenMooc

Slo Open
edX

Soporte de internacionalizacin (tambin


OpenMOOC)

Arquitectura de componentes (llamada


Xblock), que permite construir componentes
de material didctico que pueden ser
integrados en cualquier curso online que siga
la especificacin.

IKASNABAR 2014 - OPEN EDUCATION AND TECHNOLOGY

459

Viendo la tabla de comparaciones de colaboraciones al cdigo de varias plataformas


MOOC (Juanan Pereira, SilviaSanz Santamara y Julin Gutirrez CINAIC 2013) no es
difcil ver que edX no slo es un proyecto de ms envergadura, sino que adems su avance es
mucho ms rpido.
Tabla 1: Comparacin de colaboraciones al cdigo de varias plataformas

Si aadimos a su velocidad de crecimiento, el hecho de que al proyecto Open edX se han


sumado a colaborar en su desarrollo Google (abandonando as su desarrollo propio en favor de
Open edX), la Universidad de Stanford, la Universidad de Queensland, la Universidad de
Tsinghua y la Universidad de Berkeley y tambin la estn usando una decena de universidades
estadounidenses y otras veinte de otros pases, adems de algunas empresas no relacionadas
directamente con la educacin. Es sin duda la que ms futuro tiene.
Cmo instalar Open edX para impartir cursos?
A la hora de instalar Open edX hay varias opciones52. En primer lugar debemos escoger
52 Manual de instalacin: https://github.com/edx/edx-platform

IKASNABAR 2014 - OPEN EDUCATION AND TECHNOLOGY

460

entre instalar Devstack (versin de desarrollo, pensada para desarrolladores) o Fullstack (versin
de produccin, ms estable, pensada para instalar la plataforma e impartir cursos). Nosotros
queremos impartir cursos, no desarrollar, de modo que vamos a hacer la instalacin de
produccin. Asimismo, es posible instalarla usando Vagrant y la mquina virtual Virtualbox,
Amazon Web services o hacerla sobre una mquina (real o virtual) propia con Ubuntu 12.04server. En nuestro caso, quizs con ganas de complicarnos la vida, quizs por optimizar nuestros
recursos disponibles, optamos por hacerlo sobre una mquina virtual que montamos con el
sistema en auge KVM, en la que pusimos la necesaria Ubuntu 12.04. Los pasos de instalacin
son:
1. Actualizar Ubuntu y reiniciar:
sudo apt-get update -y
sudo apt-get upgrade -y
sudo reboot
2. Instalar los paquetes necesarios para que la plataforma disponga de las libreras y
herramientas necesarias:
sudo apt-get install -y build-essential software-properties-common pythonsoftware-properties curl git-core libxml2-dev libxslt1-dev python-pip python-apt python-dev
3. Preparamos el entorno para la plataforma:
sudo pip install --upgrade pip
sudo pip install --upgrade virtualenv
4. Descargamos la configuracin para la plataforma:
cd /var/tmp
git clone -b release https://github.com/edx/configuration

IKASNABAR 2014 - OPEN EDUCATION AND TECHNOLOGY

461

5. Open edX al instalarse modifica muchas cosas. Entre otras la configuracin del
servidor ssh. Si queremos poder entrar a nuestro servidor por ssh con contrasea (y no slo por
certificado) antes de proceder a la instalacin, deberemos cambiar la opcin
COMMON_SSH_PASSWORD_AUTH a "Yes en el archivo
/edx/app/edx_ansible/edx_ansible/playbooks/roles/common/defaults/main.yml
6. Creamos un archivo en la carpeta del usuario root /root/.my.cnf con los datos de
acceso como administrador a mysql:
[client]
user=root
password=ContraseaDelAdministrador
7. Instalamos los requerimientos de ansible:
cd /var/tmp/configuration
sudo pip install -r requirements.txt
8. Por ltimo instalamos la plataforma en s:
cd /var/tmp/configuration/playbooks
sudo ansible-playbook -c local ./edx_sandbox.yml -i "localhost,"
Este ltimo comando realiza muchos procesos necesarios por lo que tarda, y en ocasiones
falla alguno de esos procesos. Normalmente el problema es ocasionado por no poder conectarse
a alguno de los servidores, quizs por saturacin de los mismos. En caso de fallar, el mismo
proceso nos indicar al final que ejecutemos el comando de nuevo aadiendo ciertos parmetros
que nos indica para continuar desde donde lo haba dejado. O podramos preguntar en la lista de
correo general de Open edX.53

53 Lista de correo de Open edX: https://groups.google.com/forum/#!forum/edx-code

IKASNABAR 2014 - OPEN EDUCATION AND TECHNOLOGY

462

9. Como paso extra vamos a crear un usuario administrador, para lo cual slo
necesitaremos un email (que pondremos en el primer comando y despus en los siguientes slo
la parte hasta antes de la arroba) y decidir una contrasea:
sudo -u www-data /edx/bin/python.edxapp ./manage.py lms --settings aws
create_user -e Email@Escogido.com
sudo -u www-data /edx/bin/python.edxapp ./manage.py lms --settings aws
changepassword EmailSinArrobaYDems
Nos pedir una contrasea y confirmacin de la misma.
sudo -u www-data /edx/bin/python.edxapp ./manage.py lms --settings aws shell
Y dentro de la consola que se nos abre escribimos ests lneas:
from django.contrib.auth.models import User
me = User.objects.get(username="EmailSinArrobaYDems")
me.is_superuser = True
me.is_staff = True
me.save()
exit()
Como resultado tendremos instalada la plataforma con el servidor web nginx, con la web
del LMS (para los estudiantes) en el puerto 80 y la del CMS (tambin llamada Studio, para que
los profesores creen contenidos) en el puerto 18010 y tendremos un usuario con capacidades de
administracin con el email que hayamos escogido. Adems en la subcarpeta /admin de ambas
webs tenemos un panel de administracin de Django donde configurar algunas cosas.
Para instalar la traduccin54 al castellano deberemos hacer unos pasos extras:

54 Manual de internacionalizacin: https://github.com/edx/edx-platform/wiki/Internationalization-and-localization

IKASNABAR 2014 - OPEN EDUCATION AND TECHNOLOGY

463

1. Entramos al entorno virtual de edx:


cd /edx/app/edxapp/edx-platform
sudo -- su edxapp -s /bin/bash
source /edx/app/edxapp/edxapp_env
2. Nos creamos una cuenta en http://www.transifex.com, que es donde se estn haciendo
colaborativamente las traducciones, y nos damos de alta en el proyecto de traduccin de edxplatform55. Luego creamos el archivo ~/.transifexrc con estos datos:
[https://www.transifex.com]
hostname = https://www.transifex.com
username = TuUsuarioDeTransifex.com
password = TuContraseaDeTransifex.com
token =
3. Editamos en los archivos lms/envs/common.py y cms/envs/common.py la variable
LANGUAGE_CODE de forma que quede igualada al idioma por defecto deseado para las
plataformas LMS Y CMS. Junto a la variable, como comentario, hay un enlace con un listado de
cdigos de lenguaje. Hay que usar el formato de Django para esto, que es con las letras en
minsculas y en el caso de las variantes idiomticas, con un guin normal. As por ejemplo, para
el castellano sera: LANGUAGE_CODE = 'es-es'. De paso podemos aprovechar para cambiar la
variable TIME_ZONE para tener bien la hora en la web. En nuestro caso concreto es
'Europe/Madrid'.
4. Ejecutamos este comando para descargar, instalar y configurar las traducciones de
transifex:

55 https://www.transifex.com/projects/p/edx-platform/

IKASNABAR 2014 - OPEN EDUCATION AND TECHNOLOGY

464

rake i18n:robot:pull
5. Reiniciamos el LMS y CMS y los Workers:
/edx/bin/supervisorctl -c /edx/etc/supervisord.conf restart edxapp:
/edx/bin/supervisorctl -c /edx/etc/supervisord.conf restart edxapp_worker:
6. Finalmente vamos al panel de administracin de Django en
http://TuWeb.TuDominio/admin y aadimos los idiomas que queremos habilitar para que puedan
escoger los usuarios dentro Dark Lang configs, pinchando en Aadir dark lang config y
poniendo los idiomas deseados al estilo Django, separados por comas. Por ejemplo para
castellano, euskera e ingls usaramos: es-es,eu-es,en (sin las comillas). As a cada usuario le
saldra a la izquierda la opcin de editar su idioma preferido.
Imagen 1: Aadida configuracin de idiomas

Imagen 2: Resultado para el usuario de aadir idiomas

IKASNABAR 2014 - OPEN EDUCATION AND TECHNOLOGY

465

No se recoge en este documento la instalacin de un tema, puesto que el sistema de temas


est en actual migracin a un sistema mejor, y el actual tiene varios problemas, que dada dicha
migracin dudo que se resuelvan.

IKASNABAR 2014 - OPEN EDUCATION AND TECHNOLOGY


Referencias
Pereira, Juanan. Comparacin de diferentes plataformas de cdigo abierto
http://edx.asmoz.org/pdf/estudio_comparativo.pdf (Consultado en 2014-Mayo-30)
Manual de instalacin de Open Edx en produccin sobre Ubuntu 12.04
https://github.com/edx/configuration/wiki/edX-Managing-the-Production-Stack
(Consultado en 2014-Marzo 20)
Manual de manejo de entorno de produccin de Open edX
https://github.com/edx/configuration/wiki/edX-Managing-the-Production-Stack
(Consultado en 2014-Marzo-20)
Manual de comandos adicionales de manejo de Open edX https://github.com/edx/edxplatform/wiki/Shell-commands (Consultado en 2014-Marzo-20)
Manual de internacionalizacin de Open edX https://github.com/edx/edxplatform/wiki/Internationalization-and-localization (Consultado en 2014-Marzo-22)
Manuales de Open edX de la fundacin Asmoz http://edx.asmoz.org/ (Consultado en 2014Mayo-30)

466

You might also like