Configurando OpenEDX devstack
Nessa página será feito a instalação e acompanhamento dos processos para instalar o ambiente de desenvolvimento do OpenEDX.
Instalação
Dependências
Hardware
CPU: Intel(R) Core(TM) i3-2100 CPU @ 3.10GHz SO: Debian 8.8 3.16.0-4-amd64 Mate 1.8.1 MEMÓRIA: 10 GB
Software
vagrant > 1.6.4 virtualbox = 4.3.* nfs ( network file system ) curl/wget ( ou similar ) bash/sh/zsh ( ou similar) conexão com internet 20 GB livres
Pegando versão
Selecion um versão oficial no site OpenEDX Release
Após selecionar a versão desejada, vamos usar o Git Tag da mesma.
Neste processo utilizaremos a versão open-release/ficus.3.
Assim iremos cadastrar essa versão em um variável de ambiente, no terminal com a linha:
export OPENEDX_RELEASE="open-release/ficus.3"
Para baixar a imagem do box do vagrant, use o comando:
curl -OL https://raw.github.com/edx/configuration/$OPENEDX_RELEASE/util/install/install_stack.sh
Instalando Devstack
É preciso criar um pasta chamada devstack, e de dentro é preciso executar o script com o comando:
bash install_stack.sh devstack
Esse processo pode ser demorado, dependendo das condições de internet e máquina.
Na máquina citada levou por volta de 3 horas.
Problemas de rede
Após a criação da VM, durante a instalação, é preciso habilitar conexão por cabo na VM.
Abra o Virtualbox selecione a máquina do devstack rodando clique em Network( Rede ) no Adapter 1 habilite o item Cable Connected clique em OK.
Talvez peça suas credenciais durante o processo.
Erros diversos
Ao reiniciar o processo de instalação do zero muitos deles não ocorreram, então é possível que haja um dependência alta da qualidade da internet e estabilidade durante a instalação
Rodando serviços
Usuários
Para acessar o conteúdo utilize os usuários abaixo:
user / password staff@example.com / edx verified@example.com / edx audit@example.com / edx honor@example.com / edx
Conectando na VM
Após a instalação será possível conectar na VM usando o comando:
vagrant ssh
Usaremos o usuário edxapp como root com o comando:
sudo su edxapp
Iniciando LMS
Agora que estamos no sistem com o usuário edxapp vamos iniciar o serviço de LMS com o comando:
paver devstack lms ( use --fast para não atualizar o conteúdo do LMS )
Deve ser acessível no endereço localhost:8000.
Iniciando Studio
Agora que estamos no sistem com o usuário edxapp vamos iniciar o serviço de Studio com o comando:
paver devstack studio ( use --fast para não atualizar o conteúdo do Studio )
Deve ser acessível no endereço localhost:8001.
Iniciando Discussão
É preciso estar com o usuário forum para iniciar o serviço de Discussão com o comando:
sudo su forum bundle install ( atualiza Ruby ) ruby app.rb -p 18080
Deve ser acessível no endereço localhost:18080.
Problemas
Serviços não rodam novamente
Caso algum dos serviços acima já tenha sido executado e ao tentar rodar está apresentando o seguinte erro:
Build failed running pavelib.servers.devstack: Subprocess return code: 1
É possível que tenha dado erro ao se conectar no Mongo, para corrigir isso será preciso executar os comandos abaixo dentro da VM:
sudo rm /edx/var/mongo/mongodb/mongod.lock sudo mongod -repair --config /etc/mongod.conf sudo chown -R mongodb:mongodb /edx/var/mongo/. sudo service mongod start
Agora é só tentar executar o serviço novamente, conforme os exemplos acima.
Customização
Acessibilidade
Dá suporte a acessibilidade com o WAI-ARIA.
Desenvolvimento
Possui um sessão dedicada a desenvolvimento, Writing Good Code.
Atualmente suporte para ES5 e está iniciando o suporte para ES6.
A plataforma permite a uso de frameworks e tecnologias como React / Backbone / Underscore e Webpack / RequireJS( XBlocks não dão suporte à RequireJS ), bem como até o uso de CoffeeScript.
Também possui um EdX JavaScript Style Guide( Estilo de código, testes e documentação ) que orienta com desenvolver usando JavaScript na plataforma.
Cursos
A customização ou criação de cursos pode ser feita através do Studio, que possui um plataforma dedicada para isso.
XBlock
São arquitetura de components para cursos da edX.org. Cursos são construídos hierarquicamente com peças chamadas Xblocks, como tags HTML,O XBlock provem a estrutura, dados e até a API se for necessário para construir o componente. Mais detalhes
Temas
A plataforma de edX permite uma customização completa de toda a plataforma. Também disponibiliza padrões de User Interface e guidlines.
Exemplos achados no Github
Remoção
Deleter a pasta devstack e a imagem no virtualbox.