Recurso E-Meeting para o Moodle: um relato do desenvolvimento de uma solução livre de webconferência otimizada para redes de baixo desempenho. Resumo Este artigo apresenta uma solução de webconferência desenvolvida em forma de plugin para plataforma de educação a distância Moodle com o objetivo de disseminar o conhecimento adquirido durante as fases de desenvolvimento e incentivar o apoio da comunidade na melhoria de funcionalidades e na criação de futuros serviços e complementos. Palavras-chave: E-Meeting; OpenMeetings; Webconferência; Moodle; Plugin 1. Introdução Um dos diferencias da EAD é a capacidade de ligar estudantes e professores em espaços geográficos distintos. Com base nessa definição diversos cientistas e filósofos aprimoraram a tecnologia da comunicação entre alunos e professores utilizando de diversos meios de comunicação dentre eles a carta, o radio e a televisão. A necessidade de meios mais rápidos e eficientes de comunicação trás dia-a-dia uma nova maneira de interagir, melhorar a qualidade e velocidade das informações transmitidas tanto no âmbito acadêmico quanto no corporativo. Um dos meios criados para aproximar os integrantes foi a webconferência, que é fruto da junção de dois outros meios de comunicação amplamente utilizados no EAD, a videoconferência e a Internet. A videoconferência possui a capacidade de transmitir imagem e sons em tempo real através de equipamentos específicos, oportunizando a sensação de proximidade do grupo. Já a internet é a maior rede existente de computadores interligados, com uma tecnologia já consolidada e difundida capaz de juntar pessoas separadas geograficamente em um ambiente virtual. A rede mundial de computadores melhorou consideravelmente a velocidade e a qualidade da aprendizagem não presencial utilizando recursos como e-mails, fóruns, webconferências e Ambientes Virtuais de Aprendizagem (AVA). A integração destes dois últimos recursos: a webconferência e o AVA em uma plataforma, certamente facilitaria a interatividade e a disseminação do conhecimento, criando de uma atmosfera propicia para o aprendizado. O LMS (Learning Management System) ou AVA, utilizado pela instituição onde esta solução foi implementada é o Moodle, que é um dos softwares livres destinados a educação mais populares do mundo, reconhecido em vários países e com uma comunidade que integra professores, alunos e profissionais de TI. Possui ainda uma grande capacidade de incrementar recursos através de plugins, criados voluntariamente pela comunidade de usuários desta plataforma. O objetivo deste trabalho foi exatamente explorar as vantagens da webconferencia na plataforma Moodle, criando um plugin para este fim que vinculasse facilmente o usuário ao software de webconferência, que normalmente tem uma ergonomia própria de acesso e utiliza
credenciais de segurança desvinculadas do ambiente virtual onde o aluno está familiarizado. Figura 1 LMS Moodle 2. O plugin de webconfêrencia: E-Meeting O E-Meeting tem como objetivo prover aos usuários da plataforma Moodle a possibilidade de gerar uma simulação de um ambiente presencial de sala de aula. Para que isto ocorra são necessários alguns recursos que facilitem a comunicação entre as partes. Dentre os recursos estudados se destacaram: Bate-Papo (chat): Recurso em tempo real que permite a comunicação simultânea das partes através de mensagens textos. Compartilhamento: Capacidade de permitir a troca de arquivos entre os participantes. Lousa: Local similar ao quadro-negro onde o professor ou tutor poderia explicar a matéria em discussão. Moderador: Habilidade de designar para um dos participantes a responsabilidade de mediar e regulamentar a utilização da sala. Videoconferência: Transmitir imagem e vídeo em tempo real. Partindo destas necessidades, após uma filtragem das soluções disponíveis no mercado e seguindo critério da instituição que busca preferencialmente soluções de software, três produtos se destacaram: o DimDim, o BigBlueButton e o OpenMeetings. A opção foi pelo OpenMeetings. 2.1 Porque o OpenMeetings? O OpenMeetings foi o escolhido por atender os requisitos, possuir uma política flexível para otimização, além de uma comunidade ativa e sólida, destacando a existência de diversos modelos de salas de conferência com características próprias, modelos de moderação distintos e o número de participantes variáveis, além de outras características relevantes do software como: Open Source (Software Livre) As gravações podem ser baixadas como AVI / FLV Mensagens privadas
Agenda com Sistema de Notificação Interface multicolorida Mais de 30 Linguagens e Editor de Idioma. Integração SOAP-API Pronto para executar suporte LDAP e MS Active Directory 2.2 Estruturas do projeto Figura 2 Sala de audiência OpenMeetings Após o levantamento de requisitos e com o estudo da solução de webconfêrencia finalizada, foi necessário entender todo o contexto do ambiente em que este aplicativo seria implementado, necessitando de pessoas com uma visão macro do negócio, disponíveis para orientar como o plugin seria melhor utilizado, ou ainda, como esta aplicação deveria se comportar diante do LMS, no caso, o Moodle. Normalmente é função do analista de sistemas reunir os dados e repassar para os demais integrantes da equipe de TI, pois o desenvolvimento de um plugin exige uma organização como o de qualquer outro software, com metodologias e boas praticas, garantindo o sucesso e a estabilidade da aplicação. O trabalho foi dividido e executado seguintes etapas demonstradas na figura abaixo: Figura 3 Fluxo das etapas de desenvolvimento
3. Desenvolvimento da solução Para representar os dados dos diagnósticos elaborados pelo especialista foram estabelecidos diversos aspectos como sendo os principais focos de desenvolvimento para o plugin. Estas informações precisavam ficar documentadas em um local onde todos os envolvidos tivessem fácil acesso e ainda mantivessem o registro de cada uma das alterações e versões alavancadas durante todo o processo, e neste caso, o recurso Wiki da plataforma Moodle se mostrou o mais eficiente. Como o plugin original feito pela comunidade do OpenMeetings não supria todas as necessidades coletadas na fase de Identificação e estudo dos casos. O primeiro passo para desenvolver a nova solução foi identificar estes itens e descrevê-los na Wiki. Para isto foi acrescentado um novo tópico denominado Problemas (Figura 4) e uma lista de sub-tópicos descrevendo os itens (Figura 5), que ainda foram divididos em Pendentes, para os não desenvolvidos, e Concluídos, para os já adequados. Figura 4 Wiki de desenvolvimento: tópicos de desenvolvimento Figura 5 Wiki de desenvolvimento: sub-tópicos do tópico de desenvolvimento Problemas
A sequência explica como foi administrada a relação da comunicação entre o aplicativo OpenMeetings e a plataforma Moodle, eximindo os detalhes técnicos. 3.1 Configuração de salas de streaming. O aplicativo OpenMeetings possui diversas modalidades de salas, que podem ser configuradas de acordo com a necessidade. Para que estas configurações pudessem ser realizadas através do Moodle, o ponto de partida foi o plugin já desenvolvido que disponibilizava as seguintes opções: Escolha de tipo de sala: Conference, Audience, Restricted e Recorded. Estes foram traduzidos para Conferência, Audiência, Apresentação e Gravadas por motivos de contesto. Número de usuários: quantidade de usuários disponível por sala. Idioma: linguagem que a sala será apresentada. Tipo de moderador: regra para escolha do moderador da sala. O plugin E-Meeting, além destas opções, adicionou então novas funcionalidades para suprir as necessidades descritas pelos usuários e especialistas, destacando: Agendamento de salas: possibilita o agendamento da utilização do recurso e- meeting por tipo de sala. Somente áudio: bloqueia a utilização do recurso de vídeo das salas de conferencia. Configurações globais: estas configurações estão no nível do plugin. Elas determinaram os padrões que o recurso E-meeting deve possuir, tais como: tipos de salas disponíveis, idioma padrão, limite máximo de usuários, largura e altura da janela, habilitar agendamento, dentre outras. Nomes de salas: organiza com um prefixo os nomes das salas criadas no aplicativo OpenMeetings. Versão 2.0+: adequar o plugin E-meeting para versão 2.0+ do Moodle. Figura 6 Tela de administração do plugin.
Dentre estas novas funcionalidades acrescentadas no plugin E-meeting três delas se destacam por suas particularidades: Agendamento de salas, Somente áudio e Versão 2.0+. 3.2 Somente áudio Uma das constatações da fase de análise foi que o tráfego de informações na rede da instituição onde o projeto foi implementado possuía uma gargalo de 128, 256 e 512 Kbps de banda, afetando diretamente o desempenho do plugin quando mais de duas de câmeras simultâneas eram utilizadas. Para resolver este problema foi proposto que nas configurações das salas existisse uma opção que bloqueasse a entrada de vídeo dos participantes. Figura 7 Tela de configuração do recurso. Para resolver o caso citado acima a equipe de desenvolvimento criou a opção Somente áudio. Para que esta configuração fosse implementada a comunidade do OpenMeetings disponibilizou uma classe de comunicação entre este aplicativo e outros softwares, denominada OpenMeetings_gateway. A partir desta classe criamos uma rotina para utilização do método OpenMeetings_createRoomWithModAndTypeAudio que possui o atributo AudioOnly para atribuir o tipo de áudio da sala. Este item possui um aspecto interessante e é uma demonstração da capacidade do LMS se comunicar com outros aplicativos de apoio através de um WebService implementado em um plugin. A versão padrão do Moodle 2.0+ já vem com configurações de apoio a este tipo de serviço. 3.3 Agendamento de Salas Outra constatação solicitada foi que conferências simultâneas poderiam ser ou não concorrentes, tanto pela restrição imposta pela baixa velocidade da banda de dados ou simplesmente pela organização administrativa das web reuniões. A solução encontrada foi implementar uma agenda para administrar as reuniões. Observem na figura 7 as configurações de agendamento da sala, circuladas em azul, que utiliza o formato padrão de data do Moodle. A data escolhida para a conferência só é aprovada após a validação disparada pelo botão Verificar Agendamento.
Figura 8 Tela de consulta da agenda. O diferencial deste item é que para a criação desta agenda foram utilizados métodos não convencionais de programação para criação de plugins do Moodle, como a consulta do agendamento, onde é utilizado um pop-up para visualização das informações das salas já cadastradas (figura 8). No menu Consultar Agenda foi utilizado a biblioteca Javascript JQuery para organizar as informações resultantes da consulta SQL e criar uma tabela interativa, melhorando a acessibilidade. 3.4 Versão 2.0+ No planejamento de migração do plugin para versão 2.0+ do Moodle a equipe de desenvolvimento foi dividida em duas. A equipe 1 foi responsável pelo estudo das modificações necessárias para programar o plugin e a equipe 2 foi responsável pelo desenvolvimento do plugin. Neste período foi constatamos mudanças significativas em torno do desenvolvimento de plugins, dentre elas podemos destacar: Banco de dados: esta talvez tenha sido a modificação mais significante para migração de plugins da 1.9+ pra 2.0+, pois o método de consulta a base de dados foi completamente reformulada. Para maiores informações consultar o site oficial do Moodle pelo link: http://docs.moodle.org/dev/db_layer_2.0_migration_docs. Settings.php: o script de configuração da área de administração do plugin agora se chama settings.php, antes atendia pelo nome de conf.html, e possui regras e métodos próprios para utilização. Imagens: as imagens possuem um local especifico para serem armazenadas, a pasta pix dentro do próprio plugin. Install.xml e log.php: leves modificações na codifiação. View.php: modificações nos cabeçalhos, rodapés e algumas restrições de codificação.
A equipe 2 ao desenvolver o plugin e-meeting 2.0+ criou um método de desenvolvimento para plugins 2.0+. Este método se baseia em Orientação a Objetos para criação de classes e subclasses e na criação de um Core onde os scripts do plugin são separados dos demais scripts obrigatórios para inserção de um plugin do Moodle. Com este método o desenvolvedor fica mais livre para utilizar recursos de programação e ainda garante a segurança nas futuras atualizações do ambiente. 4. Implementação no ambiente de produção Com a conclusão do desenvolvimento do plugin em um ambiente de testes, partiu-se para um protótipo, que é uma copia idêntica do ambiente de produção feito para simular uma situação real de utilização, onde os desenvolvedores, usuários e os especialistas iniciaram a fase de teste. Após os testes o plugin foi implementado no ambiente de produção, onde foi testado novamente em um curso fechado. Com a conclusão dos testes foi agendada uma apresentação oficial do plugin com as etapas para treinamento dos usuários. O treinamento foi realizado inicialmente através de vídeo-aulas e depois demonstrado aos demais usuários utilizando a própria ferramenta OpenMettings, dividindo os alunos em dois grupos: o primeiro de Tutores editáveis (administradores dos cursos em que o plugin ficaria disponível) e o segundo formado pela comunidade geral de usuários. 5. Conclusões O plugin de webconferência E-meeting para o Moodle, em suas duas versões de compatibilidade, com suas características aliadas à autonomia e flexibilidade concedida aos administradores do LMS, atendeu as expectativas com um baixo índice de suporte, desempenho e satisfação, principalmente pela fácil implementação, flexibilidade de adequarse ao desempenho dos servidores e adequação ao modelo ergonômico de utilização do Moodle. A equipe de tecnologia e desenvolvimento permanecesse focada nas melhorias necessárias para garantir a disponibilidade, a continuidade e principalmente, a ampliação dos recursos do plugin buscando apoio da comunidade de desenvolvedores para a continuidade e sustentação das atividades.