criação de modulos para o moodle

109
UNIVERSIDADE CATÓLICA DE BRASÍLIA CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO GABRIEL REIS DE SOUSA VANDERSON SOARES PORTO CRIAÇÃO DE PLUGINS PARA A FERRAMENTA MOODLE

Upload: grabielzitsdostecrado

Post on 20-Jun-2015

2.811 views

Category:

Documents


0 download

DESCRIPTION

Monografia

TRANSCRIPT

Page 1: Criação de Modulos para o Moodle

UNIVERSIDADE CATÓLICA DE BRASÍLIACURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO

GABRIEL REIS DE SOUSAVANDERSON SOARES PORTO

CRIAÇÃO DE PLUGINS PARA A FERRAMENTA MOODLE

Taguatinga - DF2010

Page 2: Criação de Modulos para o Moodle

UNIVERSIDADE CATÓLICA DE BRASÍLIACURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO

GABRIEL REIS DE SOUSAVANDERSON SOARES PORTO

CRIAÇÃO DE PLUGINS PARA A FERRAMENTA MOODLE

Monografia apresentada à Universidade Católica de Brasília com requisito obrigatório para a obtenção do título de Bacharel em Ciência da Computação no Curso de Bacharelado em Ciência da Computação.

Orientador: Vilson Carlos Hartmann

Taguatinga - DF

2010

2

Page 3: Criação de Modulos para o Moodle

AGRADECIMENTOS

Agradecemos primeiramente a Deus o qual tudo torna possível, aos nossos pais,

namoradas, familiares e amigos por todo o apoio, ao professor Vilson Carlos Hartmann, às

professoras Renata Brandini Lima e Patrícia Limaverde Nascimento por toda a ajuda e

esclarecimentos.

3

Page 4: Criação de Modulos para o Moodle

RESUMO

Esta monografia descreve os fundamentos teóricos, os problemas encontrados e os passos

realizados durante a criação de complementos para a ferramenta Moodle, que tem um

importante papel não só na Universidade Católica de Brasília, mas em diversas outras

instituições, permitindo, entre outras características, a disponibilização de conteúdo on-line e

possibilitando a construção do conhecimento pelos próprios alunos. Estas funcionalidades

terão como objetivo acrescentar melhorias ao uso do Fórum de Discussão, que é uma um

dispositivo fundamental para o processo de ensino a distância, permitindo a interação entre os

alunos em torno de um tópico.

Palavras chaves: Moodle, complementos, módulos

4

Page 5: Criação de Modulos para o Moodle

ABSTRACT

This academic work describes the theoretical, problems encountered and the steps taken

during the creation of add-ons for Moodle tool, which has an important role not only in

Universidade Católica de Brasília, but in several other institutions, allowing, among other

characteristics, provision of online content and the construction of knowledge by students

themselves. This plug-ins will aim to add improvements to the Discussion Forum, which is a

very important feature to the process of distance learning, allowing for interaction among

students around a topic.

Keywords: Moodle, Plug-ins, Modules

5

Page 6: Criação de Modulos para o Moodle

ÍNDICE

1. Introdução......................................................................................................................111.1. Motivação ....................................................................................................................111.2. Educação a Distância..................................................................................................121.2.1. A influencia dos fenômenos sociais .........................................................................121.2.2. Mudança da aprendizagem......................................................................................131.2.3. EAD e a Internet......................................................................................................141.3. Moodle........................................................................................................................151.3.1. Fonte aberta.............................................................................................................161.3.2. Construcionismo social............................................................................................171.3.3. Comunidade de desenvolvimento.............................................................................19 1.4. Problemas Diagnosticados....................................................................................20 1.4.1. Visualização do Fórum........................................................................................201.4.2. Lançamento de notas do Fórum................................................................................221.4.3. Exibição do relatório de participação dos alunos nos fóruns..................................231.5. Surgimento da Necessidade  da Pesquisa...................................................................251.6. Usuários Beneficiados  pela  Pesquisa.......................................................................25

1.7. Empresa Interessada...................................................................................................252. Objetivos da pesquisa....................................................................................................262.1. Objetivo Geral..............................................................................................................262.2. Objetivos Específicos...................................................................................................263. PHP.................................................................................................................................273.1. Vantagens do PHP.......................................................................................................274. Biblioteca Jquery()..........................................................................................................295. Bancos de Dados............................................................................................................305.1. Sistemas Gerenciadores de Banco de Dados (SGBD).................................................305.2 Sobre o MySQL.............................................................................................................316. Arquitetura do Moodle....................................................................................................336.1 Estrutura de diretórios do Moodle................................................................................336.2 Principais funções que serão utilizadas........................................................................346.3 Blocos............................................................................................................................366.4 Módulos de atividade....................................................................................................397. Proposta de Solução do Fórum de Discussão................................................................418. Proposta de Solução de Lançamento de Notas...............................................................429. Proposta de Apresentação de Relatório.........................................................................4310. Informações gerais sobre as soluções..........................................................................4411. Solução do Fórum de Discussão...................................................................................4511.1 Funcionamento da Solução do Fórum de Discussão..................................................4511.2 Descrição de caso de uso da Solução do Fórum de Discussão..................................4811.3 Implementação da Solução do Fórum de Discussão..................................................4912. Solução do Lançamento de Notas.................................................................................5212.1 Lançamento de notas desenvolvido.............................................................................5212.2 Funcionamento Lançamento de notas........................................................................53 Ao se pressionar no link “Lançamento de Notas” será aberta a tela de lançamento de notas com as seguintes funções: (Figura lançamento).......................................................531.Aluno: Nome do aluno.....................................................................................................5312.3 Implementação do Lançamento de notas....................................................................5512.3.1 Instalação.................................................................................................................55

6

Page 7: Criação de Modulos para o Moodle

12.3.2 Funcionalidades.......................................................................................................5612.3.3 Caso de uso Lançamento de Notas..........................................................................5713. Solução para a Apresentação de Relatório..................................................................6113.1 Funcionamento do Bloco de Relatório de Postagens dos Alunos..............................6113.2 Implementação do Bloco de Relatório de Postagens dos Alunos...............................6413.2.1 Instalação.................................................................................................................6413.2.2 Descrição do caso de uso de Exibição de Relatório de Postagens dos Alunos.......6513.2.3 Descrição do caso de Configuração dos campos do relatório ...............................6613.2.4 Funcionalidades.......................................................................................................67

MOODLE.ORG, DEVELOPMENT:BLOCKS, ACESSO EM 10/04/2010, DISPONÍVEL EM: HTTP://DOCS.MOODLE.ORG/EN/DEVELOPMENT:BLOCKS...........................................................74

ANEXO 01- TABELA DO SISTEMA...................................................................................77APÊNDICE A – ARQUIVO XML........................................................................................78APÊNDICE B – RELACIONAMENTO ENTRE TABELAS................................................79

7

Page 8: Criação de Modulos para o Moodle

LISTA DE FIGURAS

FIGURA 1. UMA DAS FORMAS DE VISUALIZAÇÃO DO FÓRUM: “LISTAR RESPOSTAS”.........21

FIGURA 2. UMA DAS FORMAS DE VISUALIZAÇÃO DO FÓRUM: “MOSTRAR RESPOSTAS COMEÇANDO PELA MAIS ANTIGA”..........................................................................................21

FIGURA 3. UMA DAS FORMAS DE VISUALIZAÇÃO DO FÓRUM: “MOSTRAR RESPOSTAS ANINHADAS”.............................................................................................................................22

FIGURA 4. LANÇAMENTO DE NOTA PADRÃO DO MOODLE....................................................23

FIGURA 5. RELATÓRIOS...........................................................................................................23

FIGURA 6. RELATÓRIO DE NOTAS...........................................................................................24

FIGURA 7. RELATÓRIO GERAL................................................................................................24

FIGURA 8. APRESENTAÇÃO DOS BLOCOS................................................................................37

FIGURA 9. DIAGRAMA DE CASO DE USO.................................................................................44

FIGURA 10. TELA DO FÓRUM COM NOVO BOTÃO PARA BUSCA DO ALUNO..........................45

FIGURA 11. TELA COM FILTRAGEM POR ALUNO...................................................................46

FIGURA 12. TELA DO POST PAI................................................................................................46

FIGURA 13. TELA RESPOSTA RELACIONADAS........................................................................47

FIGURA 14. TELA COMENTÁRIO OCULTO...............................................................................47

FIGURA 15. TABELA CONTENDO AS POSTAGENS DOS FÓRUNS..............................................49

FIGURA 16. FLUXO DE CHAMADAS DAS FUNÇÕES..................................................................50

FIGURA 17. ESTRUTURA DE DADOS CRIADA...........................................................................50

FIGURA 18. NOVA TELA DE LANÇAMENTO DE NOTAS...........................................................52

8

Page 9: Criação de Modulos para o Moodle

FIGURA 19. TELA COM LINK PARA O NOVO LANÇAMENTO DE NOTAS.................................53

FIGURA 20. FUNÇÕES DO LANÇAMENTO DE NOTAS...............................................................54

FIGURA 21. TELA DE ENVIO DE E-MAIL..................................................................................55

FIGURA 22. ARQUIVOS DO NOVO LANÇAMENTO DE NOTA....................................................56

FIGURA 23. ARQUIVOS DA BIBLIOTECA JQUERY...................................................................56

FIGURA 24. DIAGRAMA DE SEQÜÊNCIA DO ENVIO DE E-MAIL..............................................57

FIGURA 25. BLOCO NA PAGINA INICIAL.................................................................................61

FIGURA 26. APRESENTAÇÃO DE RELATÓRIO.........................................................................62

FIGURA 27. TELA DE ENVIO DE MENSAGEM DO MOODLE.....................................................62

FIGURA 28. OPÇÕES PARA CONFIGURAR TABELA..................................................................63

FIGURA 29. RELATÓRIO DA PARTICIPAÇÃO NOS FÓRUNS DE TODOS OS ALUNOS................63

FIGURA 30. ENVIO DE CORREIO ELETRÔNICO PARA MÚLTIPLOS ALUNOS...........................64

FIGURA 31. TABELA MDL_BLOCK_SEARCH_COMMENTS......................................................65

FIGURA 32. ORGANIZAÇÃO DOS DIRETÓRIOS DO BLOCO.....................................................67

CADA INSTITUIÇÃO PODE TER DIFERENTES INTERESSES NOS RELATÓRIOS DAS PARTICIPAÇÕES DOS ALUNOS NOS FÓRUNS. ALGUMAS PODEM QUERER SABER A QUANTIDADE DE POSTAGENS DOS EDUCANDOS OU SUAS NOTAS, MAS OUTRAS PODEM TER O DESEJO DE OBTER OUTROS DADOS NÃO CONTEMPLADOS POR ESSA SOLUÇÃO. A PARTIR DESSE CONHECIMENTO FOI DEFINIDO QUE A SOLUÇÃO, PARA A PROGRAMAÇÃO DA RECUPERAÇÃO DOS DADOS DOS ALUNOS E APRESENTAÇÃO DO RELATÓRIO, DEVERIA UTILIZAR O PARADIGMA ORIENTADO A OBJETOS, POIS ESTE OFERECE RECURSOS PARA A IMPLEMENTAÇÃO DE CÓDIGO REUTILIZÁVEL E DE FÁCIL EXTENSÃO. A FIGURA 33 MOSTRA O DIAGRAMA DE CLASSES REFERENTE A ESSA IMPLEMENTAÇÃO..........................68

FIGURA 34. DIAGRAMA DE CLASSES EXIBIÇÃO DO RELATÓRIO DOS ALUNOS DO FÓRUM 68

FIGURA 35. DIAGRAMA DE SEQÜÊNCIA EXIBIÇÃO DO RELATÓRIO DOS ALUNOS DO FÓRUM

...................................................................................................................................................69

9

Page 10: Criação de Modulos para o Moodle

LISTA DE CASO DE USO

UC-0. CASO DE USO FILTRAGEM DO FÓRUM DE DISCURSSÃO..............................................49

UC-0. CASO DE USO LANÇAMENTO DE NOTAS......................................................................58

UC-0. CASO DE USO ENVIAR MÚLTIPLOS E-MAILS................................................................60

UC-0. CASO DE USO EXIBIÇÃO DO RELATÓRIO DOS ALUNOS DO FÓRUM...........................66

UC-0. CASO DE USO CONFIGURAÇÃO DOS CAMPOS DO RELATÓRIO....................................67

10

Page 11: Criação de Modulos para o Moodle

1. Introdução

O acesso ao ensino vem se tornando mais fácil ao passo que a Internet encurta

fronteiras e possibilita que a informação vinda de todos os lugares do mundo possa ser

acessada a partir de um computador. A necessidade de se procurar livros em bibliotecas

distantes ou documentos em lugares remotos vem sendo substituída pela localização e

visualização quase instantânea através dos mecanismos de busca da rede.

Este fenômeno possibilitou a criação de ambientes virtuais de aprendizagem e estes

vêm trazendo uma revolução no modo em que era realizado o ensino a distância e até o ensino

tradicional e presencial, pois, além de trazer o conhecimento a qualquer lugar do globo,

permite uma interação nunca vista antes entre alunos de lugares distantes e de culturas

distintas. Os alunos que estudavam através do recebimento de conteúdo da disciplina cursada

pelo correio, os quais levavam semanas para serem entregues, estão migrando para as

ferramentas de aprendizagem virtual, as quais possuem recursos tão interessantes que até o

ensino presencial vem passando a utilizar suas funcionalidades.

O ambiente de aprendizagem virtual Moodle vem sendo cada vez mais utilizado em

diversas instituições. Seu código totalmente aberto e livre para modificações, juntamente com

sua estrutura modular, permitem que desenvolvedores de todo o mundo possam contribuir

com correções e novos recursos, os quais alguns já se tornaram essenciais para a ferramenta,

como o módulo de fórum que permite uma das maiores conquistas desse tipo de software que

é a aprendizagem colaborativa.

Assim este trabalho busca identificar problemas existentes no módulo de fórum do

Moodle e propor soluções para estes.

1.1. Motivação

O contínuo crescimento da tecnologia vem mudando os padrões da sociedade em

vários aspectos, incluindo a educação. O método tradicional de ensino tem um concorrente

que é o Ensino a Distância (EAD), que está, cada vez mais, conquistando o seu espaço e o

respeito diante da sociedade e o mercado de trabalho. Diante disto, a pesquisa se mostra

11

Page 12: Criação de Modulos para o Moodle

necessária para que haja o aprimoramento do Moodle, ferramenta utilizada em várias

instituições para promover a Educação a Distância, corrigindo as deficiências encontradas e

melhorando assim o processo de aprendizado de todos os usuários do aplicativo.

1.2. Educação a Distância

Define-se por Educação a Distância o método de aprendizagem no qual a interação

entre alunos e professores não ocorre de forma direta, mas sim usando como meio de ligação

entre estes os mais diversos objetos de comunicação como, por exemplo, correspondência,

televisão e Internet (POPPOVIC, 1996) sendo que as metodologias e ferramentas existentes

possibilitam que cada instituição faça as adaptações necessárias para uma melhor contribuição

ao processo de ensino.

A educação a distância teve seu início formal com o surgimento dos cursos por

correspondência, motivado principalmente por fatores que impediam algumas pessoas de

frequentarem o ensino tradicional: idade avançada, dificuldades financeiras, falta de acesso às

localidades escolares, inadequação aos padrões da instituição. Inicialmente poucas instituições

se interessaram pela modalidade, apenas poucas escolas e empresas especializadas ofereciam

o serviço à população, mas algum tempo depois, esta forma de ensino foi devidamente

reconhecida como um meio efetivo de democratização da aprendizagem (MARQUES, 2004).

O ensino a distância no Brasil teve como pioneiros, o instituto Monitor e o Instituto

Universal Brasileiro, os quais ministram cursos técnicos e supletivos por correspondência,

estes tendo hoje como público alvo, trabalhadores que não têm acesso facilitado nas

instituições de ensino, mas buscam o aperfeiçoamento profissional. Outros que merecem

destaque no ensino a distância brasileiro são o Sesc e Senac, que utilizam o rádio para a

ministração de cursos para a área comercial, e o Sistema Nacional de Teleducação, conhecido

como Telecurso, que faz o uso da TV aberta para conseguir grande difusão do conhecimento.

1.2.1. A influência dos fenômenos sociais

O início do século XX trouxe várias transformações na sociedade, principalmente na

economia mundial. Saía o modelo de produção artesanal, no qual uma pessoa criava o produto

desde o princípio até o fim, para dar lugar às indústrias de produção em massa, regidas pelo

Fordismo o qual foi um modelo de processo criado por Henry Ford, adaptado do Taylorismo. 

12

Page 13: Criação de Modulos para o Moodle

"O fordismo, que propunha produção de massa para

mercados de massa, se baseava em três princípios: baixa

inovação dos produtos, baixa variabilidade dos processos de

produção e baixa responsabilidade do trabalho." (BELLONI,

2001)

Esse movimento influenciou, dentre outras áreas, o ensino, provocando um grande

aumento na oferta de educação primária e secundária e de cursos de capacitação,  além de

uma grande expansão dos Cursos a Distância por todo o mundo,  trazendo, também, melhorias

às instituições, como otimização de recursos e o planejamento centralizado. Tal evolução

através do século permitiu a criação e o desenvolvimento de várias tecnologias, a

popularização dos meios de comunicação em massa, urbanização das sociedades e uma maior

busca pelo ensino. Os Cursos a Distância, que eram ministrados apenas via correspondência,

puderam também utilizar meios de maior alcance social, como a televisão e o rádio.

A educação em geral, e entre elas a Educação a Distância, passou a seguir uma

padronização de processo semelhante ao industrial: O aluno recebe o treinamento do

professor, para que após os anos de ensino possa desempenhar seu serviço na sociedade,

sendo pouco necessários novos aprendizados ou adaptações às novas realidades. As

instituições de Ensino a Distância ofertavam cursos profissionalizantes e supletivos, nos quais

a interação aluno/professor se limitava ao estudante aprender o conteúdo recebido e a

realização de avaliações por meio de provas.  

1.2.2. Mudança da aprendizagem

Com o surgimento de novas tecnologias, do advento da Internet e a conseqüente

globalização, o empregado que desempenhava muito bem sua função específica, que fora

treinado para desempenhá-la, sem participar de outras etapas da produção, foi sendo

substituído por um modelo de funcionário que vai muito além de sua função: conhece várias

etapas da produção, se adapta rapidamente as mudanças, sabe trabalhar em equipe, se

aperfeiçoa e aprende novas habilidades constantemente.

A educação começou a passar por uma mudança de foco: “do professor para o

aprendente, do ensino para a aprendizagem“ (BELLONI, 2001). O modelo de Educação

utilizado largamente até poucos anos atrás, no qual o professor dita como e o que deve ser

13

Page 14: Criação de Modulos para o Moodle

aprendido pelos alunos, está sendo substituído por um modelo no qual o ensino segue a

tendência do mercado de trabalho mundial: A formação de indivíduos capazes de buscar

conhecimento por conta própria, tirar conclusões, trabalhar em conjunto, utilizar-se do senso

crítico e serem eles próprios disseminadores de conhecimento.

"O professor provoca o aluno a descobrir novos significados

para si mesmo, ao incentivar o trabalho com problemáticas

que fazem sentido naquele contexto e que possam despertar o

prazer da descoberta, da escrita, da leitura do pensamento do

outro e do desenvolvimento de projetos colaborativos.”

(ALMEIDA, 2003).

1.2.3. EAD e a Internet

As novas tecnologias têm feito com que a educação a distância possa ser adotada

cada vez mais em instituições de ensino. A Internet, por exemplo, possibilita que informação

e conhecimento possam ser levados a qualquer lugar do mundo, facilitando a aquisição de

novas habilidades e acontecimentos que antigamente levavam muito tempo para se ter acesso.

Sendo certo que várias ferramentas foram criadas visando à melhoria desse processo de

ensino que utiliza a Internet como meio de globalização da educação, ou seja, a Internet

trouxe à população, que tem acesso a ela, a possibilidade de obter conhecimento com apenas

um clique.

O aluno dispõe na Web, de  uma quantidade de informação muito maior do que as

gerações passadas puderam ter acesso.

Conteúdos sobre alguns assuntos específicos e técnicos, hoje em dia podem ser

acessados no conforto de seu lar ou rapidamente no seu ambiente de trabalho, diferentemente

do que ocorria a quinze ou vinte anos atrás, em que a obtenção de determinado conhecimento

levava maior tempo e custos. Visto isso, várias pessoas e entidades perceberam as vantagens

do uso dos computadores no processo de ensino, surgindo assim as ferramentas virtuais de

aprendizagem. Nelas os alunos podem ter acesso à Educação a Distância através da Internet,

sendo que a Web traz uma grande vantagem que as demais mídias utilizadas pelo EAD não

possuem, como por exemplo, a possibilidade de os educandos poderem se comunicar, 14

Page 15: Criação de Modulos para o Moodle

trocarem conhecimento, sanarem dúvidas e juntos poderem construir uma instrução

educacional com qualidade (BELLONI, 2001).

O uso da Internet possibilita, ainda, a modalidade de semi-presencialidade, em que os

cursos são ministrados fazendo uso do apoio virtual com a disponibilização de materiais de

estudo e conteúdo extra.

1.3. Moodle

Entre as ferramentas criadas para facilitar a difusão de conhecimento, pode-se

destacar o Moodle (Modular Object Oriented Distance Learning), um ambiente virtual de

aprendizagem Open Source que a partir da contribuição de vários desenvolvedores espalhados

pelo mundo, tem se desenvolvido e se tornado uma das principais ferramentas de Ensino a

distância.

A plataforma Moodle, que será base para o desenvolvimento deste trabalho, começou

a ser idealizada na década de 90, pelo webmaster Martin Dougiamas funcionário da Curtin

University of Technology na Austrália e por inúmeros professores, pesquisadores,

programadores e alunos espalhados pelo mundo, que através da comunidade virtual

(Moodle.org) puderam também da sua participação no desenvolvimento desta plataforma que

hoje é mundialmente conhecida e utilizada.

“Moodle (Modular Object Oriented Distance Learning) é

um sistema para gerenciamento de cursos (SGC) - um

programa para computador destinado a auxiliar educadores

a criar cursos on-line de qualidade. Tais sistemas de

educação via Internet são algumas vezes também

chamados de Sistemas de Gerenciamento de

Aprendizagem (SGA) ou Ambientes Virtuais de

Aprendizagem (AVA). Uma das principais vantagens do

Moodle sobre outras plataformas é um forte embasamento

na Pedagogia Construcionista.” (Pulino Filho, 2004)

15

Page 16: Criação de Modulos para o Moodle

Diversos protótipos foram desenvolvidos, mas até a versão 1.0 nenhum havia sido

testado em um ambiente acadêmico, até que no dia 20 de agosto de 2002(Moodle.org, 2009)

essa versão foi disponibilizada para uma pequena turma, onde foi analisado o perfil de

colaboração que o Moodle possuía. Daí em diante, essa planta forma cresceu muito e

atualmente existem 46.913 sítios em mais de 200 países registrados no Moodle (Moodle

Livre, 2009)

Podemos listar as três principais vantagens do Moodle, em comparação com as

outras ferramentas existentes, que são seu código fonte aberto (open source), o

construcionismo social, e sua comunidade de desenvolvimento.

Têm como funcionalidades principais a criação de perfis detalhados para cada aluno

e professor, e a criação e gerenciamento de cursos virtuais. Possibilitando que cada instituição

personalize e faça as adaptações necessárias para que ele, Moodle, possa atender suas

peculiaridades, podendo ser usando para uma instrução a distância integral ou como suporte

ao ensino presencial. Para cada curso permite-se a disponibilização de conteúdos na página

principal, o envio de avisos e mensagens gerais ou privadas, armazenamento e avaliação de

atividades enviadas pelos estudantes. Além de que nos fóruns também é possível o envio de

arquivos, imagens e links.

Diversas instituições de ensino criaram ferramentas para possibilitar o Ensino a

Distância, por exemplo:

AulaNet - desenvolvido pela Universidade Católica do Rio de Janeiro;

Eureka - desenvolvido pela Pontifícia Universidade Católica do Paraná;

e-ProInfo - desenvolvido pela Secretaria de Educação a Distância do Ministério da

Educação em parceria com renomadas instituições de ensino.

1.3.1. Fonte aberta

“Moddle é um software de fonte aberta (Open Source

Software), o que significa que se pode instalar, usar,

modificar e mesmo distribuir o programa (nos termos da

GNU General Public Licence). Moodle pode ser usado, sem

16

Page 17: Criação de Modulos para o Moodle

modificações, em Unix, Linux, Windows, Mac OS e outros

sistemas de suportem PHP.” (Pulino Filho ,2004)

Partindo do principio Open Source, o Moodle permite que desenvolvedores de todo o

mundo possam aprimorar e incrementar as funcionalidades desse sistema, característica essa

que possibilitou melhorias e um grande crescimento no número de funcionalidades

disponíveis, além de uma maior adaptação aos seus usuários, permitindo que cada

desenvolvedor utilizasse e modificasse o Moodle da forma que se adequasse melhor a sua

necessidade.

1.3.2. Construcionismo social

O criador do Moodle, Martin Dougiamas, por possuir formação educacional

(graduação em informática, mestrado e doutorado em Pedagogia) possibilitou uma alteração

de visão durante um desenvolvimento de uma plataforma educacional, pois enquanto a

maioria dos sistemas é voltada a ferramenta, o Moodle é voltado para aprendizagem.

Outra visão do Martin Dougiamas era sobre o Construcionismo Social que em tese se

baseia na idéia que as pessoas aprendem mais quando estão inseridas em um processo social

de construção do conhecimento, pelo simples fato de estar construindo alguma coisa para

outras pessoas usufruírem.

“Este ponto de vista sustenta que a aprendizagem é

particularmente eficaz quando se dá construindo alguma

coisa para que outros experimentem. Essa alguma coisa pode

ser desde uma frase ou um email, até informações mais

complexas como uma pintura, uma casa ou programa para

computador.

Por exemplo, você pode ler esse material diversas vezes e

ainda assim já tê-lo esquecido amanhã - mas se você tentar

explicar essas idéias para uma outra pessoa em suas próprias

palavras, ou produzir uma apresentação de slides que

explique esses conceitos, então pode-se garantir que você terá

um entendimento melhor desse assunto e que está mais

17

Page 18: Criação de Modulos para o Moodle

integrado com seus conhecimentos já existentes. Este é o

motivo pelo qual as pessoas fazem anotações durante

palestras (ou aulas), mesmo que elas nunca venham a ler

essas anotações.

... a um grupo de pessoas construindo coisas umas para as

outras, criando de maneira colaborativa uma pequena

cultura de coisas compartilhadas com significados

compartilhados. Se alguém está imerso em uma cultura como

essa, esse alguém está continuamente aprendendo como ser

uma parte dessa cultura.” (Pulino Filho ,2004)

Assim o Moodle foi criado seguindo uma idéia a qual diz que os estudantes também

podem contribuir com a aprendizagem e não apenas os professores.

O Moodle dispõe de uma ferramenta importante no processo de EAD: o Fórum de

Discussão. Nele os alunos recebem do professor um tópico a ser debatido e partir disso eles

podem expor suas idéias, contribuir com experiências diferenciadas, debater opiniões de

outros alunos realizando diálogos e, contando com a orientação do docente, ajudar na criação

de um aprendizado colaborativo sobre o tema.

"Nesses ambientes, os alunos-educadores podem desenvolver

algumas metaqualificações, tais como: comunicabilidade,

criatividade, competências sociais, estratégias de resolução

de problemas, desenvolvimento da aprendizagem

colaborativa, da intuição e da flexibilidade mental. Tudo isso

corrobora ainda mais à sua formação como sujeitos

autônomos e, complementarmente, sociais." (ALMEIDA,

2003).

Dai se destaca o papel fundamental do Fórum de Discussão, pelo o qual os

estudantes podem interagir ao mesmo tempo em que aprendem a discutem, esclarecendo um

tópico em comum, auxiliando na formação do educando, visando à criação de competências

sociais e melhorando a capacidade de resolução de problemas em equipe.

18

Page 19: Criação de Modulos para o Moodle

O professor, no papel de orientador e mediador das discussões, deve dispor da

melhor forma possível para medir o progresso nas atividades propostas e avaliar se o aluno

adquiriu as experiências desejadas. Isso salienta, portanto, a necessidade da avaliação e

melhoria ou correção das problemáticas encontradas no Fórum de Discussão, vista a sua

importância na ferramenta Moodle e no processo de aprendizado. 

Esse pensamento construcionista possibilitou a criação de uma ferramenta que, ao

invés de permitir apenas que o professor disponibilizasse conteúdos estáticos, fosse criado o

Moodle, que tem seu foco principal em ferramentas de discussão e compartilhamento de

conhecimento, sendo desta forma que a ideia fundamental não está no pensamento de

disponibilização de informação, mas, sim, em compartilhar ideias com a participação dos

alunos no desenvolvimento do conhecimento.

1.3.3. Comunidade de desenvolvimento

As comunidades Moodle têm sido fundamentais para o crescimento da plataforma.

A participação dos usuários, tanto apresentando, quanto retirando dúvidas, é

fundamental para o crescimento da ferramenta. Desta forma o sistema não necessita de uma

equipe para solucionar dúvidas de usuário, já que os próprios usuários ajudam uns aos outros,

fazendo esse papel através de diversos fóruns espalhados pelo mundo.

Por possuir código aberto muitas pessoas desenvolvem novos módulos e os

encaminham para aprovação Martin Dougiamas e sua equipe. Isto funciona como uma

empresa de desenvolvimento e controle de qualidade.

O Moodle possui diversas comunidades de usuários, sugerindo sempre modificações,

novas funcionalidades e corrigindo erros. Segue abaixo a lista das 10 maiores comunidade do

Moodle no mundo.(Moodle.org ,2009)

Site Usuários Cursos

Moodle.org 780,421 61

Hocmai.vn - Ngôi trường chung của học trò Việt 573,752 132

The Open University 452,483 3,590

Christian Courses 181,457 177

19

Page 20: Criação de Modulos para o Moodle

與你相伴,E 路學習 132,737 218

Campus Virtual de la UB 131,954 8,294

Learn Greek Online! 128,544 9

OpenLearn LearningSpace 101,254 580

OpenLearn LabSpace 101,253 2,011

Concordia Course Web Sites 95,219 17,999

1.4. Problemas Diagnosticados

Os clientes apresentaram os principais problemas que têm proporcionado aos

mesmos, diversas dificuldades, tanto em âmbito de acessibilidade, como de não possuir

determinadas funcionalidades.

1.4.1. Visualização do Fórum

O Fórum de Discussão permite que alunos possam interagir uns com os outros

através de postagens em cada fórum em torno de um tema iniciado pelo professor do curso.

Esse professor, para verificar o desempenho de cada estudante, deve visualizar cada resposta e

acompanhar os diálogos formados a partir das respostas de alunos a outros alunos

selecionando alguma das visualizações existentes: “Listar respostas”, a qual exibe um

comentário e links para suas respostas; “Mostrar respostas começando pela mais antiga”, que

ordena por data; “Mostrar respostas começando pela mais recente” e “Mostrar respostas

aninhadas”, a qual realiza identação para facilitar a visualização de qual postagem é resposta

de outra.

20

Estatísticas da utilização do Moodle pelo mundo

Número de países 204

Cursos 2.668.122

Usuários 26.822.557

Professores 1.181.299

Page 21: Criação de Modulos para o Moodle

Figura 1. Uma das formas de visualização do fórum: “Listar respostas”

Figura 2. Uma das formas de visualização do fórum: “Mostrar respostas começando pela mais antiga”

21

Page 22: Criação de Modulos para o Moodle

Figura 3. Uma das formas de visualização do fórum: “Mostrar respostas aninhadas”

Atualmente para que os docentes possam localizar uma postagem de um aluno no

fórum, necessitam percorrer todo este em busca da mensagem de seu interesse. Sendo

possível o acúmulo de inúmeras postagens, algumas vezes na ordem de centenas, essa tarefa

se torna bastante trabalhosa e cansativa.

1.4.2. Lançamento de notas do Fórum

Outra dificuldade encontrada pelos professores está no momento de lançamento de

notas nos fóruns, pois a atual forma que o Moodle disponibiliza não atende satisfatoriamente a

necessidade do usuário. O processo de atribuição de notas padrão para o aluno pelo professor,

consiste em visualizar determinado post de um aluno e atribuir sua nota de 0 a 100, ou

utilizando uma escala de três valores, as quais, o Módulo do Fórum não oferece uma tradução

em português: Mostly Connected Knowing, Separate and Connected e Mostly Separate

Knowing (algo como: Comentário Pertinente, Comentário entre o Pertinente e o Difuso e

Comentário Difuso).

22

Page 23: Criação de Modulos para o Moodle

Figura 4. Lançamento de nota padrão do Moodle

Após a atribuição de todas as notas aos alunos desejados, o professor pressiona o

botão “Enviar as minhas avaliações recentes”. Desta forma o sistema salva todas as

informações no banco de dados e finaliza a funcionalidade.

A funcionalidade da forma que se apresenta possui um problema. O fórum pode vir a

receber centenas de postagens e para cada um, teoricamente, deve ser atribuída uma nota. Por

exemplo, em uma situação aonde exista 100 alunos em um curso e cada um tenha que realizar

pelo menos três postagens em um fórum, resultará em uma página contendo 300 postagens as

quais devem ser atribuídas uma nota individual, tornando o processo de avaliação exaustivo

para o professor.

1.4.3. Exibição do relatório de participação dos alunos nos fóruns

O Moodle disponibiliza aos professores duas formas de se obter relatórios sobre a

atividade dos alunos nos Fóruns de Discussão: O relatório de notas e o relatório geral.

Figura 5. Relatórios

23

Page 24: Criação de Modulos para o Moodle

O relatório de notas disponibiliza para o professor e para o aluno as notas obtidas de

cada aluno através dos fóruns e outros tipos de avaliação como questionários, gerando um

somatório total das notas do curso para cada aluno.

Figura 6. Relatório de notas

O relatório geral apresenta todas as informações sobre atividades que são executadas

por todos os usuários do curso ou do Moodle: ações de login ou logout, comentários feitos em

fóruns, questionários criados e respondidos, ou qualquer outra informação que fique

registrada nos arquivos de log do Moodle. Essas informações podem ser filtradas por dia,

atividade ou usuário.

Figura 7. Relatório geral

24

Page 25: Criação de Modulos para o Moodle

Estes relatórios desempenham satisfatoriamente as atividades as quais foram criados,

mas eles não provem toda a informação necessária para exibição de um relatório completo

sobre as atividades dos alunos nos Fóruns de Discussão, tais como a quantidade de

participações. Neste caso é necessário que o professor utilize o relatório de notas para

verificar o desempenho dos alunos nos fóruns e o feedback enviado e também acesse o

relatório geral para verificar a atividade nesses fóruns. É importante ressaltar também que as

informações do relatório geral devem ser filtradas para exibir apenas as atividades de fórum e

que ainda assim os dados aparecem organizados de forma apenas temporal, tornando a

exibição confusa para a finalidade de observar o rendimento dos alunos nos fóruns.

1.5. Surgimento da Necessidade  da Pesquisa

Os problemas acima identificados fizeram com que esta pesquisa fosse necessária,

pois tais obstáculos dificultam bastante a atividade de correção dos assuntos expostos nos

fóruns e, consequentemente, o processo de aprendizagem é diretamente lesado. Assim, as

soluções aqui propostas propõem sanar estes incidentes, trazendo melhorias para discentes,

docentes e instituição de ensino.

1.6. Usuários Beneficiados  pela  Pesquisa

Os professores e os alunos das várias instituições de ensino que fazem uso do

Moodle, entre elas a Universidade Católica de Brasília, serão beneficiados através das

soluções aqui propostas, pois, através delas, o processo de avaliação e o aprendizado, com um

todo, poderão ser feitos de forma mais eficaz, promovendo uma maior interação entre os

estudantes e um acompanhamento melhor por parte do docente.

1.7. Empresa Interessada

Existe o interesse por parte da UCB Virtual, setor responsável pelo gerenciamento do

Moodle na Universidade Católica de Brasília, pois foi verificado que as soluções que serão

desenvolvidas auxiliarão todos os professores da instituição.

25

Page 26: Criação de Modulos para o Moodle

2. Objetivos da pesquisa

2.1. Objetivo Geral

Criar funcionalidades para o sistema Moodle que possibilite uma melhor

visualização das mensagens enviadas pelos alunos, a automatização do lançamento de notas e

a melhoria do processo de exibição de relatórios, funcionalidades estas, todas, para Fórum de

Discussão. As novas funcionalidades criadas trarão agilidade e facilidade para o sistema de

avaliação dos alunos, aperfeiçoando, assim, o processo de aprendizagem.

2.2. Objetivos Específicos

Reduzir o tempo e as complicações do processo de avaliação do Fórum de Discussão,

por meio de uma funcionalidade que possibilite a visualização de mensagens

individuais do aluno de forma eficiente, através da criação de uma seção na página do

fórum contendo uma lista dos nomes dos alunos. Ao selecionar algum deles, será

aberta uma lista contendo todos os comentários do aluno “X” dentro do Fórum de

Discussão em questão. Haverá, também, a possibilidade de se visualizar os

comentários feitos por outros estudantes aos posts realizados por este discente

determinado.

Automatizar o lançamento de notas do Fórum de Discussão através de uma página

especifica. Esta página conterá uma lista com os nomes dos alunos e um campo para a

entrada da nota a ser dada, que deverá integrar o cálculo da nota final de forma

automática.

Corrigir a falha da exibição de relatórios das participações dos alunos no fórum de

discussão, já que esta funcionalidade não exibe a quantidade de participações em cada

fórum, apresenta informações de forma não prática, não exibindo um relatório coeso

sobre o desempenho do aluno. A solução será feita por meio de uma página que

permita a exibição de relatórios os quais conterão o nome e a quantidade de

participações de cada estudante nos Fóruns de Discussão, notas recebidas, e outras

informações relevantes.

26

Page 27: Criação de Modulos para o Moodle

3. PHP

Durante o desenvolvimento desta monografia será utilizada a linguagem PHP. Mas

afinal, o que é essa linguagem, quais suas vantagens e desvantagens e porque ela está se

tornando uma das principais linguagens utilizada pelos programadores nos dias de hoje?

O PHP começou a ser desenvolvido em 1994 por Rasmus Lerdorf, ele tinha a

intenção de controlar melhor o acesso ao seu currículo que era disponibilizado na Web. Mas a

partir do momento que sua ferramenta foi se desenvolvendo, começou a despertar interesse

em outros programadores, já que através da ferramenta Rasmus, era possível desenvolver

aplicações para a Web de uma maneira bem mais simples.

Em 1995 Rasmus nomeou sua primeira versão como PHP/FI (Personal Home Page

Tools-Form Interpreter)(Dall’Oglio: 2007) e deu um grande passo para ela tornar-se o que

ela. Disponibilizando hoje na Web todo o código de sua aplicação, tornando possível que

outras pessoas contribuam para seu crescimento e correção de bugs.

Em 1997 foi lançado a segunda versão do PHP, sem muitas inovações, mas já

naquele momento, a linguagem PHP era utilizada em 1% (Dall’Oglio: 2007) de todos os

domínios existentes. No mesmo ano dois jovens programadores, chamados Zeev e Andi,

resolveram dar sua contribuição para o PHP. Eles reescreveram todo o código fonte do até

então PHP/FI2, renovando a linguagem para poder dar suporte a diversos bancos de dados e

construindo uma linguagem mais consistente. Desta forma o PHP/FI2 foi substituído pelo

PHP 3, sendo que agora até sua sigla foi alterada, tornando-se PHP Hypertext Preprocessor.

Em 2000 foi lançado a versão 4 do PHP. Com essa versão o PHP conquistou 20%

(Dall’Oglio: 2007) dos domínios da Web. Infelizmente ainda existia uma grande ineficácia do

PHP quanto à programação orientada a objeto. E para tentar solucionar esse problema, em

julho de 2004, foi lançada oficialmente a versão 5 do PHP, sendo esta a versão utilizada no

Moodle e a citada nesta monografia.

3.1. Vantagens do PHP

O PHP possui diversas características marcantes, entre as quais podemos destacar as

seguintes vantagens:

27

Page 28: Criação de Modulos para o Moodle

É uma linguagem totalmente aberta;

Possui suporte a diversos sistemas operacionais, como Linux, Windows e Unix e

diversas outras plataformas;

Possui baixa curva de aprendizagem, já que o mesmo possui características de outras

linguagens, tendo comandos semelhantes às linguagens C e Java, possibilitando,

assim, uma rápida assimilação;

Dispõe de uma rica e extensa API, a qual possui centenas de funções que vão desde o

tratamento de Strings e Arrays, até comandos de manipulação de Sockets;

E por fim a compatibilidade com diversos bancos de dados, velocidade e código fonte

aberto são outras vantagens que tem ajudado o crescimento tão rápido do PHP.

28

Page 29: Criação de Modulos para o Moodle

4. Biblioteca Jquery()

Jquery é uma leve biblioteca desenvolvida em JavaScript1, com intuito de facilitar o

desenvolvimento de efeitos em uma página web.

O criador da biblioteca no livro JQuery in Action disse:

“O foco principal da biblioteca jQuery é a simplicidade.

Por que submeter os desenvolvedores ao martírio de escrever

longos e complexos códigos para criar simples efeitos”

(BIBEAULT , 2008).

Jquery busca acrescentar às páginas web a interatividade e dinamismo, com o foco

na usabilidade, acessibilidade e designe. Desta forma tem conseguido conquistar cada vez

mais usuários.

As principais utilizações do Jquery são:

Resolução da incompatibilidade entre os navegadores;

Adicionar efeitos visuais e animações;

Reutilização do código através de plugins;

Redução de código;

Buscar informações no servidor sem necessidade de recarregar a página(AJAX2);

Utilização de uma vasta quantidade de plugins criados por outros desenvolvedores.

A biblioteca que será utilizada no desenvolvimento desse projeto tornará as

interfaces web mais interativas e amigáveis para os futuros usuários.

1 Linguagem de Script que roda no navegador cliente e permite a execução de funcionalidades locais.2 Tecnologia que permite o carregamento de paginas automaticamente via Javascript.

29

Page 30: Criação de Modulos para o Moodle

5. Bancos de Dados

A informática trouxe uma revolução em diversos setores. Diferentes instituições,

sobretudo empresas, passaram a utilizar e criar softwares visando um melhor processamento e

armazenamento da informação, e assim aumentar sua produtividade e se manter em uma boa

posição estratégica em relação aos concorrentes.

Cada sistema instalado nos computadores da organização armazenava os dados de

forma independente e isolada, sendo que nem todos possuíam funcionalidades que

possibilitavam a comunicação e o uso compartilhado de dados. Quando cada dado de negócio

é digitado por vários setores da empresa e armazenado separadamente por cada sistema, é

possível que ocorra (HEUSER, 2008):

Redundância não controlada de dados: ocorre quando existem réplicas de dados

armazenados em vários sistemas. Nesse caso a responsabilidade de controlar e manter

atualizadas as informações passa a ser dos usuários e não dos sistemas.

Reinserção de dados: acaba por haver a necessidade de se digitar ou inserir no

sistema várias vezes o mesmo conteúdo, conseqüentemente havendo desperdício de

esforços e tempo.

Inconsistência de dados: caso as diversas réplicas de dados existentes entre os

sistemas não sejam atualizadas corretamente e em sincronia, pode ocorrer variância de

conteúdo e valores dos dados armazenados, causando perda de confiabilidade e

grandes gastos de tempo para a correção das informações defasadas.

A forma criada para evitar estes problemas foi um modo de organização de arquivos,

de tal maneira a ser compartilhada por todos os sistemas da organização e na qual a

redundância não controlada de dados é evitada. Tal sistema é chamado de banco de dados.

5.1. Sistemas Gerenciadores de Banco de Dados (SGBD)

Hoje em dia diversos sistemas utilizam os bancos de dados para armazenar

informações, manter a organização, evitar redundâncias e possibilitar consultas e alterações de

forma rápida. Para facilitar o uso e o acesso aos bancos de dados pelos softwares, foram

criados os Sistemas Gerenciadores de Banco de Dados.

30

Page 31: Criação de Modulos para o Moodle

Os SGBDs possibilitam a diversos softwares fazerem uso dos bancos de dados

disponibilizando aos sistemas usuários, através de uma interface padronizada e uma

linguagem comum (SQL), todas as funcionalidades relacionadas ao tratamento da informação

inserida no banco de dados. Além disso, a responsabilidade pelo gerenciamento dos dados, o

controle de concorrência de transações e o controle de acesso às informações, ficam a cargo

do SGBD, livrando os sistemas usuários destas atribuições, permitindo, também, a criação de

tarefas automatizadas de tratamento de dados.

5.2 Sobre o MySQL

O Moodle suporta diversos SGBDs tais como PostgreeSql, SQL Server entre outros,

sendo mais o utilizado entre as soluções no mercado feitas em PHP o MySQL.

O MySQL é um sistema gerenciador de bancos de dados relacionais, os quais utilizam

tabelas para organizar os dados. Criado pela empresa MySQL AB, subsidiária da Sun

Microsistems a qual faz parte agora da empresa Oracle. Foi desenvolvido inicialmente como

uma solução de Data Warehousing, sendo atualmente um dos SGBDs de maior crescimento

no mundo(Mysql.com, 2009).

Além de realizar todas as operações atribuídas a um SGBD, ele possui algumas

características importantes, entre outras, que distinguem o MySQL dos seus concorrentes

(SCHUMACHER,2009):

É um software livre, fornecido sob os termos da licença GNU;

A maioria das linguagens de programação possuem bibliotecas e funções que

permitem o acesso as funcionalidades do MySQL, sendo o PHP uma das linguagens

que possui a maior compatibilidade, além de terem juntos conquistado popularidade

entre os desenvolvedores de sítios de Internet (En.Wikipedia, 2009);

Possui diversos Motores de Armazenamento (softwares com a finalidade de auxiliar o

tratamento das informações) que podem ser escolhidos pelo usuário de acordo com a

necessidade da aplicação. Cada Storage Engine possui funcionalidades que o difere

dos demais, tais como: capacidade de criar integridade referencial e suportar uma

maior concorrência de acessos tais como o InnoDB.

31

Page 32: Criação de Modulos para o Moodle

A instalação padrão do Moodle traz consigo o PHP e o MySQL, já configurados para

seu perfeito funcionamento. A ferramenta Xampp inicializa de forma automática o servidor

web Apache e o MySQL, além de disponibilizar, entre outras ferramentas, o PHPmyadmin.

Este aplicativo oferece ao usuário uma interface gráfica criada para facilitar todas as

operações relacionadas aos bancos de dados do MySQL.

32

Page 33: Criação de Modulos para o Moodle

6. Arquitetura Lógica do Moodle

O Moodle pode ser dividido em duas grandes partes que são: estrutura padrão e

estrutura de desenvolvimento.

A estrutura padrão é composta de todos os recursos básicos que o ambiente oferece.

Estão inclusos nesse padrão ferramentas de controle de curso, autenticação de usuários e

funções de uso geral.

A Estrutura de desenvolvimento é composta por módulos e blocos auxiliares. Estes

possuem a característica de serem ativados ou desativados conforme necessidade do

administrador da plataforma. Alguns módulos e blocos já vêm juntos com a instalação do

Moodle, mas diversos outros podem ser encontrados no sítio do Moodle, que são

desenvolvidos por outras pessoas, assim como será realizado nessa monografia.

Não foi encontrado nenhum documento contendo os relacionamentos entre as tabelas

utilizadas no Moodle, assim foi utilizada engenharia reversa para identificar esses

relacionamentos, os quais podem ser verificados na seção Apêndice B.

6.1 Estrutura de diretórios do Moodle

config.php – Contém as configurações básicas como login e senha para acesso do

banco de dados, nome do diretório onde está instalado o Moodle. Este arquivo é criado

durante o processo de instalação da plataforma;

install.php – Script de instalação, ele é responsável pela criação do config.php;

version.php – Define a versão do Moodle;

index.php – A página principal do Moodle;

admin/  - Subdiretório que armazena toda a codificação necessária para as

funcionalidades de instalação e manutenção da plataforma;

auth/ - Ferramentas para autenticação de utilizadores, como usuários de banco de

dados, IMAP,POP3;

blocks/ - Subdiretório responsável pelo armazenamento da codificação dos blocos;

calendar/ - Todo o código para apresentar e administrar os calendários;

course/ - Armazena os códigos para apresentar e administrar disciplinas. Um dos

principais subdiretórios do sistema responsável pela criação e edição de cursos;

files/ - Armazena os códigos para apresentar e administrar ficheiros enviados;

33

Page 34: Criação de Modulos para o Moodle

lang/ - Subdiretório responsável pelo armazenamento das mensagens de texto em

diferentes idiomas;

lib/ - Biblioteca dos códigos básicos do Moodle. Subdiretório que armazena várias

funções específicas da plataforma;

login/ -Possui códigos para criação e acesso às contas de usuários.

mod/ - Armazena todos os módulos do Moodle. Nesse diretório são armazenados os

módulos que foram incorporados à estrutura do sistema;

pix/ - Armazena imagens e ícones utilizados pela plataforma;

theme/ - Responsável pelo armazenamento de diversos temas que podem ser utilizados

na plataforma;

user/ - Possui códigos para apresentar e administrar a lista de usuários.

6.2 Principais funções que serão utilizadas

Get_record: Função responsável por localizar um registro no banco de dados.

Detalhamento dos parâmetros:

function get_record($table, $field1, $value1, $field2='', $value2='', $field3='',

$value3='', $fields='*') {

$table: Tabela desejada para realização da busca.

$field1: Primeiro campo desejado para filtragem.

$value1: Valor do primeiro campo para filtragem.

$field2: Segundo campo desejado para filtragem.

$value2: Valor do segundo campo para filtragem.

$field3: Terceiro campo desejado para filtragem.

$value3: Valor do Terceiro campo para filtragem.

Retorna um objeto contendo o registro desejado e caso não o encontre, retorna o valor false.

Update_record: Função responsável pela alteração dos registros no banco de dados.

Detalhamento dos parâmetros:

function update_record($table, $dataobject)

$table: Tabela desejada para realização da alteração.

34

Page 35: Criação de Modulos para o Moodle

$dataobject: Objeto com os campos a serem alterados. Ele contém atributos nomeados

com os campos da tabela e seus respectivos valores. Objeto deve conter o campo id com o

valor do id do registro no banco de dados a ser alterado.

Insert_record: Função responsável pela inserção de um registro no banco de dados.

Detalhamento dos parâmetros:

Function insert_record($table, $dataobject, $returnid=true, $primarykey='id')

$table: Tabela desejada para realização da inserção.

$dataobject: Objeto com os campos a ser inseridos com seus respectivos valores.

$returnid: Caso necessite que seja retornado o id do registro inserido, esse parâmetro

deve ser preenchido com o valor true.

$primarykey: Caso necessite que o id a ser inserido seja especificado, esse parâmetro

deve ser preenchido com o id desejado.

Get_string: Função responsável por buscar no diretório lang/ o texto que será apresentado ao

usuário de acordo com o idioma escolhido por ele.

Detalhamento dos parâmetros:

Function get_string($identifier, $module='', $a=null, $extralocations=null )

$identifier: Chave identificadora da sequência de texto desejado.

$module: O nome do arquivo ou módulo que contém o texto desejado.

$a: Número que poderá ser usado para identificar a string desejada.

$extralocations: Matriz de string com outras localizações para o texto desejado.

Essa função retorna uma sequência de caracteres.

has_capability: Função responsável por verificar a capacidade do usuário desejado no

contexto referido, sendo que dependendo do valor retornado o programa seguirá determinado

fluxo.

Detalhamento dos parâmetros:

Function has_capability($capability, $context, $userid=NULL)

35

Page 36: Criação de Modulos para o Moodle

$capability: Identificação da capacidade. Esta definição será melhor detalhada na

seção 8.3.

$context: Valor do contexto da funcionalidade. Este valor é atribuído pelo Moodle e é

relacionado a cada curso e a cada funcionalidade nativa existente ou plugin.

$userid: Número identificador do usuário o qual se deseja saber a capacidade.

Essa função retorna true se o usuário tem a capacidade ou false caso não a possua.

6.3 Blocos

O Moodle possui diversos tipos de complementos que podem ser instalados, tais

como Admin Reports, Course Formats, entre outros. A solução dos problemas descritos nesta

monografia envolverá dois tipos de módulos: os Módulos de Atividade e os Blocos.

Blocos são elementos criados por outros desenvolvedores que têm a função de

agregar funcionalidades à pagina inicial do sítio ou em um curso específico. Estes Blocos

podem ser adquiridos e instalados de forma simples, bastando o administrador realizar a cópia

da pasta relativa ao Bloco para o diretório /block, acessar a página de administração e clicar

em “notificações”.

Para fazer uso de Bloco, basta o administrador ou professor com permissão de

alteração, ativar o modo de edição da página principal do Moodle ou do curso, e escolher na

lista de Blocos apresentados o desejado. Após isso, a tela inicial do curso será recarregada

contendo o Bloco escolhido.

Os Blocos são construídos para prover interfaces de entrada para outras

funcionalidades, apresentando links, listas ou outros tipos de informações para que o usuário

possa utilizar diversas outras funcionalidades.

36

Page 37: Criação de Modulos para o Moodle

Figura 8. Apresentação dos blocos

Para a instalação e utilização de um Bloco no Moodle é necessário um diretório que

contenha um arquivo chamado block_*.php. Esse arquivo é obrigatório e contém a classe

principal responsável pela implementação do Bloco(Moodle.org, 2010).

O arquivo block_*.php deve conter uma classe block_* que estende a classe

block_base. Esta superclasse provê diversos atributos e métodos, os quais vários deles

deverão ser sobrescritos pelas classes que a estenderem, pois não existe implementação para

eles na superclasse.

Os métodos mais importantes são:

Init: inicia os atributos title e version os quais conterão o título do Bloco e a data da

versão do mesmo. Esse método é necessário para a instalação do Bloco e sua

visualização no menu de escolha na tela principal do Moodle ou do curso.

get_content: Neste método a classe realiza a implementação do conteúdo a ser exibido

no Bloco através de um atributo chamado content. Esse atributo é uma classe padrão

do PHP chamada stdClass a qual podemos criar atributos dinamicamente(Php.net,

2010). Então pode ser inserido em content->text os códigos HTML que vão compor o

Bloco e em content->footer algum conteúdo de rodapé.

A existência desse arquivo contendo a classe que estende block_base e

implementando os dois métodos acima descritos já é suficiente para a instalação e

funcionamento de um Bloco.

37

Page 38: Criação de Modulos para o Moodle

Apesar disso, para que esse Bloco tenha mais funcionalidades, pode-se adicionar

outros métodos à classe, além da possibilidade de se sobrescrever alguns dos vários métodos

disponíveis na superclasse block_base, que permitem, entre outros, a execução de comandos

antes da instalação ou após a desinstalação do Bloco.

O Moodle também permite que, através da criação de diretórios padronizados, sejam

definidas tabelas para serem criadas no banco de dados e serem usadas pelo Bloco ou a

implementação de internacionalização de linguagem 3. Para isso o diretório que contem os

arquivos do Bloco pode conter duas outras pastas, a db e a lang.

No diretório chamado db podem existir três arquivos. Um deles deve possuir o nome

Install.xml. A partir dele o Moodle realiza a criação das tabelas que o desenvolvedor definiu,

faz a criação de campos e insere dados iniciais e deve conter as seguintes tags:

XMLDB PATH: contém o caminho para que o Moodle acesse este arquivo;

TABLES: contém as definições das tabelas a serem criadas;

FIELDS: contém as definições dos campos;

KEYS: contém as definições das chaves primarias;

STATEMENTS: contém operações a serem realizadas na tabela recém-criada

SENTENCES: no caso de uma operação de inserção, contem os dados a serem

inseridos.

Pode ser utilizado o arquivo access.php o qual define as capacidades dos usuários do

módulo. As capacidades são usadas para verificar se o usuário utilizador pode realizar ou não

alguma atividade no plugin e assim o programa segue determinado fluxo de acordo com o tipo

de usuário. Essas capacidades devem ser definidas em uma estrutura do tipo array do PHP

com o nome $nome_do_modulo_capabilities contendo, para cada capacidade a ser definida:

Um nome com a estrutura: tipo_de_plugin/nome_do_plugin:capacidade associado a

um array contendo as configurações dessa determinada capacidade;

Tipo de capacidade: escrita ou leitura;

Contexto: Bloco, módulo de atividade ou outros;

Legado: a permissão para cada tipo de usuário (administrador, professor, aluno,

visitante) definido pelas constantes CAP_ALLOW, CAP_PREVENT e

CAP_PROHIBIT (permitir, prevenir e proibir).

3 Sistema no qual a linguagem exibida em uma aplicação pode ser mudada dinamicamente.38

Page 39: Criação de Modulos para o Moodle

Pode existir também um arquivo o qual deve possuir o nome upgrade.php. Nele o

desenvolvedor pode definir que operações devem ser executadas no banco de dados quando

ocorrer uma atualização no Bloco referido.

O diretório chamado lang é responsável pelo sistema de internacionalização do

Moodle que por sua vez conterá outros diretórios para cada língua que se deseja que haja

mensagens. Cada diretório conterá um arquivo correspondente à tradução desejada. Nesse

arquivo o desenvolvedor deve utilizar uma variável global chamada $string. Essa variável

utiliza o esquema $string [‘nome do índice’] = ‘mensagem’ em que “nome do índice” será o

nome referenciado pela aplicação através da função nativa do Moodle getstring(‘nome do

índice’,’nome do módulo’) e “mensagem” será o resultado mostrado na tela.

6.4 Módulos de atividade

Módulos de Atividade são componentes que podem ser instalados no Moodle a fim

de adicionar várias funcionalidades ao sítio ou à um curso específico. Esses plugins possuem

grande importância e são alguns dos componentes que tornaram o Moodle conhecido e

vastamente utilizado, pois desenvolvedores de todo o mundo podem criar inúmeras

funcionalidades que acabam se tornando vitais para o sistema. Um exemplo é o módulo de

Fórum, por ser muito utilizado e ter uma grande importância, foi incorporado ao pacote

principal do Moodle.

A instalação de um módulo de atividade é simples, bastando o administrador realizar

a cópia da pasta relativa ao módulo para o diretório /mod e acessar a página de administração

e clicar em “notificações”.

Para fazer uso de algum módulo de atividade basta o administrador ou professor com

permissão de alteração, ativar o modo de edição da página principal do Moodle ou do curso e

escolher na lista de atividades apresentadas a desejada. Após isso, será retornada uma tela de

configuração básica, de acordo com o módulo escolhido. Após escolher as preferências e a

confirmação destas, o usuário pode escolher retornar para a página inicial do curso ou a

página inicial da atividade escolhida. Assim foi criada uma instância do Módulo.

Para o desenvolvimento de um Módulo de Atividade é necessária a criação de uma

estrutura de arquivos padrão (Moodle.org, 2010):

mod_form.php: Formulário no qual o desenvolvedor define, caso queira, opções

personalizadas para a página de criação ou configuração de uma instância de um módulo;

39

Page 40: Criação de Modulos para o Moodle

version.php: Arquivo usado para definir, entre outras coisas, o número da versão do

módulo, o número de versão do Moodle mínimo requerido para o funcionamento e a

periodicidade do script Cron, usado para a chamada de rotinas periódicas definidas nos

módulos;

icon.gif: Imagem usada para a representação do módulo;

index.php: Página utilizada para listar todas as instâncias de um módulo em determinado

curso;

view.php: Página que permite ao usuário acessar as funcionalidades do módulo;

lib.php: Arquivo que contém as principais funções do módulo criado pelo desenvolvedor.

É recomendada a criação de algumas funções com nomes padrões para que as mesmas

sejam utilizadas automaticamente pelo Moodle em algum momento oportuno. As mais

utilizadas são:

nome_do_modulo_install(): contém operações a serem realizadas durante a instalação;

nome_do_modulo_add_instance(): contém o código responsável para a criação de uma

nova instância do módulo;

nome_do_modulo_update_instance(): contém o código responsável para a alteração de

configurações de uma instância do módulo.

A pasta do módulo ainda deve incluir um diretório chamado db, o qual possui os seguintes

arquivos:

db/install.xml: semelhante ao arquivo apresentado na seção sobre blocos. Define

tabelas a serem criadas e utilizadas no banco de dados;

db/upgrade.php: define funções a serem executadas no banco de dados caso haja uma

atualização do módulo;

db/access.php: semelhante ao arquivo apresentado na seção sobre blocos. Define as

capacidades de utilização para determinados usuários;

7. Proposta de Solução do Fórum de Discussão

Como foi explicado anteriormente, um dos grandes benefícios de se utilizar o

Moodle e, mais especificamente o Fórum de Discussão, vem da aprendizagem colaborativa, 40

Page 41: Criação de Modulos para o Moodle

na qual os educandos constroem, orientados pelo professor, o ensino, através de discussões e

conseqüentes descobertas sobre um assunto. Devido a sua grande importância, os Fóruns de

Discussão têm sido largamente utilizados em diversas instituições. Professores de várias

disciplinas fazem uso desta ferramenta, sendo que em muitas delas, o processo de aprendizado

e avaliação giram em torno das contribuições dos alunos sobre o tópico levantado pelo

docente.

Visto isso, é necessário que tal funcionalidade permita, da melhor forma possível, ao

professor, verificar o desenvolvimento do aprendizado de cada aluno: relevância dos

comentários, capacidade argumentativa, domínio do assunto, entre outros. Neste aspecto o

Moodle ainda não oferece uma forma eficiente de visualização das mensagens, exibindo todas

as postagens de todos os alunos ao longo de toda a página. Apesar de existir a funcionalidade

listar respostas, na qual oferece uma lista reduzida dos comentários, ainda não é oferecida

uma forma ágil de se navegar entre estas mensagens, além de que não é possível visualizar

separadamente as postagens de cada aluno e os comentários feitos a ele.

Com vista nesses problemas encontrados, propomos a elaboração da inserção de

novas funcionalidades ao Fórum de Discussão, as quais vão permitir uma navegação veloz

entre as mensagens de cada aluno, através de uma lista contendo todos os nomes dos

participantes. Quando ocorrer o clique em um dos nomes da lista serão exibidas todas as

participações deste aluno no fórum, além de exibir todos os comentários feitos às respostas

deste aluno.

8. Proposta de Solução de Lançamento de Notas

Atualmente a avaliação da participação dos alunos nos Fóruns de Discussão é feita

de forma complicada pelos professores, pois o mesmo na maioria das vezes, não conseguem

41

Page 42: Criação de Modulos para o Moodle

ter a noção de quantas participações o aluno fez. O docente precisa percorre todo o fórum para

verificar e efetuar o lançamento da nota em um dos post. No intuito de eliminar essas

dificuldades uma solução será desenvolvida.

A ideia central da elaboração do plugin de lançamento de notas é facilitar a inclusão

das notas de participação nos fóruns. Para solucionar esse problema será desenvolvida uma

página onde serão concentradas todas as informações referentes à participação dos alunos nos

fóruns, onde será possível, além da inclusão das notas, a visualização das mensagens dos

alunos. Esta página terá o intuito de facilitar e agilizar o lançamento e conferência da

participação dos alunos no fórum e assim possibilitar uma redução expressiva do tempo de

avaliação dos alunos.

Para a criação desta solução será necessário um estudo de toda a estrutura do

Moodle, tendo em vista que o plugin não poderá alterar as funcionalidades já existentes no

sistema e nem prejudicar o seu funcionamento.

A integração da funcionalidade criada com o sistema de cálculo de nota final é de

suma importância para sucesso do projeto.

Esse plugin será desenvolvido na linguagem PHP para os bancos de dados

compatíveis com o Moodle e toda sua documentação seguirá o padrão UML.

9. Proposta de Apresentação de Relatório

Durante o processo de desenvolvimento foi verificado que uma das funcionalidades

que mais apresenta problemas é a funcionalidade de relatórios sobre a participação dos alunos

42

Page 43: Criação de Modulos para o Moodle

nos fóruns de discussão, os quais são muito importantes no processo decisório do professor

para avaliação do aluno.

Com vista na solução do problema de exibição de relatórios do Moodle, foi decidido

por optar pela criação de um dos tipos de plugins do Moodle, o Bloco, para criar uma página

na qual possibilite a exibição desses relatórios pelo sistema.

A funcionalidade criada deverá proporcionar a visualização de todas as informações

necessárias sobre a participação dos alunos do curso nos fóruns para que auxilie o professor a

tomar decisões e verificar melhor o processo de aprendizado.

Levando em consideração o fato de que diversos professores podem ter diferentes

interesses ao visualizar o relatório, a solução deverá permitir ao usuário configurar quais

campos do relatório deseja visualizar. Além disso, as várias instituições que poderão utilizar

este Bloco, poderão desejar implementar a busca de outros tipos de dados a serem mostrados

no relatório que não foram contemplados por esta solução, sendo necessário então, adaptar a

implementação de forma a permitir a extensão das funcionalidades de busca dos dados do

relatório.

10. Informações gerais sobre as soluções

Para o correto funcionamento das soluções aqui propostas, o usuário deverá estar

devidamente “logado” no sistema e o mesmo deverá possuir permissão para criar e alterar

atividades.

43

Page 44: Criação de Modulos para o Moodle

As soluções compõem o diagrama de caso de uso4 apresentado na figura 9.

Figura 9. Diagrama de caso de uso

11. Solução do Fórum de Discussão

Para se implementar esta solução, foi necessário realizar alterações no módulo de

Fórum do Moodle. Essas modificações foram feitas visando o menor impacto possível sobre

os arquivos e o fluxo das funcionalidades já existentes e sem prejudicar ou alterar o

4 Diagrama da UML que permite visualizar, entre outras coisas, a interação do usuário com as funcionalidades de um programa.

44

Page 45: Criação de Modulos para o Moodle

funcionamento destas, de forma que as funções desenvolvidas tão logo após realizarem suas

operações, devolvem o controle da aplicação para as funções nativas.

11.1 Funcionamento da Solução do Fórum de Discussão

Após a correta instalação dos arquivos necessários, basta o usuário selecionar algum

dos fóruns de discussão do curso. Estando na página de postagens o sistema exibirá o fórum

normalmente, juntamente com uma lista contendo os nomes de todos os usuários que

postaram, alunos ou não, ao lado de um botão “buscar”.

Figura 10. Tela do fórum com novo botão para busca do aluno.

Após o professor escolher algum nome da lista e pressionar o botão, o sistema

retornará as postagens do aluno referido. Cada postagem será exibida separadamente dentro

de um elemento em formato de janela, que pode conter um link chamado “respondido”, acima

do post,e outro chamado “respostas”, logo abaixo da postagem. A janela contém na parte

superior esquerda, um link “comentário” seguido de uma numeração.

O mesmo efeito é obtido ao se clicar em algum dos resultados da busca do Bloco de Relatório

de Postagens dos Alunos.

45

Page 46: Criação de Modulos para o Moodle

Figura 11. Tela com filtragem por aluno

Ao se pressionar no botão “respondido” será exibida a postagem a qual o aluno

pesquisado respondeu. Clicando-se novamente, esta será ocultada.

Figura 12. Tela do post pai

Caso o professor clique em “respostas” o sistema exibirá todas as respostas diretas à

referida postagem, podendo ser ocultadas novamente se repetindo o procedimento.

46

Page 47: Criação de Modulos para o Moodle

Figura 13. Tela resposta relacionadas

Pressionando em “comentário” a janela ficará em estado oculto, sendo exibido

somente uma barra contendo este mesmo link. Repetindo-se o procedimento o elemento por

completo voltará a ser exibido.

Figura 14. Tela comentário oculto

11.2 Descrição de caso de uso da Solução do Fórum de Discussão

47

Page 48: Criação de Modulos para o Moodle

ID do Caso de Uso: UC-01Nome do Caso de Uso:

Filtragem do fórum de discussão

Criado por: Gabriel Última atualização:

20/05/2010

Data da Criação: 20/05/2010 Data da última atualização:

20/05/2010

Ator: ProfessorDescrição: Permitir ao usuário a filtragem das postagens por aluno

Pré-condições: O usuário com permissão de alteração previamente logado no sistema e visualizando a tela do Fórum desejado ou o usuário ter clicado em algum dos nomes dos fóruns exibidos no UC-04 - Exibição do Relatório dos Alunos do Fórum.

Pós-condições: Postagens apresentadas de forma filtradaPrioridade: Alta

Freqüência de Uso: AltaFluxo Principal: P1. O caso de uso se inicia quando o usuário seleciona um dos

participantes do fórum exibidos e clica em “buscar”.P2. O sistema retorna as postagens filtradas pelo nome escolhido [A1] [A2] [E1]P3. O caso de uso se encerra.

Fluxo Alternativo: A1: Visualizar os posts resposta de uma determinada postagem do participante do fórum escolhido.A1.1 O usuário clica no link “respostas” abaixo da postagem do participante do fórum escolhido.A1.2. O sistema retorna as respostas ao post do participante do fórum escolhido.A1.3 O caso de uso se encerra.

A2: Visualizar o post o qual o participante do fórum respondeu através da postagem exibida.A2.1 O usuário clica em “respondido”A1.2. O sistema retorna o post que o participante do fórum respondeu.A1.3 O caso de uso se encerra.

Exceções: E1. Nenhuma postagem do participante do fórum escolhido foi encontrada. E1.1 O sistema retorna a mensagem informando que não foi encontrado (M008)E1.2 O caso de uso se encerra.

Pontos de extensão:Requerimentos

Especiais:Suposições:

48

Page 49: Criação de Modulos para o Moodle

Notas e casos: 1. As mensagens estão especificadas na Tabela Mensagens do Sistema (ANEXO 01)

UC-0. Caso de uso Filtragem do fórum de discurssão

11.3 Implementação da Solução do Fórum de Discussão

Para a criação desta solução, foi necessário realizar alterações em arquivos nativos do

módulo de fórum. Nos arquivos view.php e discuss.php, foi adicionado a chamada de uma

função que cria a lista de alunos. No arquivo lib.php, conforme explicado, contém as

principais funções do módulo de atividade. Foram feitas as seguintes modificações:

Foi definido um quinto tipo de exibição de postagens, além dos já existentes;

Inclusão de mais uma opção, relativo ao novo tipo de exibição de postagens criado, na

função nativa forum_print_discussion, a qual é responsável pela recuperação das

postagens do fórum no banco de dados e a chamada das funções conforme o tipo de

exibição escolhido.

Figura 15. Tabela contendo as postagens dos fóruns

Inclusão de funções responsáveis pela ordenação e apresentação dos grupos de posts, a

serem invocadas pela função citada acima.

As alterações foram realizadas de forma a causar o menor impacto possível sobre a

aplicação, evitando prejudicar alguma funcionalidade pré-existente. É importante lembrar que

de acordo com as regras de desenvolvimento de aplicações para o Moodle, os nomes de

funções devem começar com o nome do módulo.

A figura apresenta a interação entre principais funções nativas ao módulo do fórum e as

criadas para a solução.

49

Page 50: Criação de Modulos para o Moodle

Figura 16. Fluxo de chamadas das funções

A primeira postagem do fórum é exibida separadamente e as demais ficam a cargo das

funções designadas para cada tipo de exibição. Quando o usuário escolhe algum aluno para

que seja feita a filtragem das postagens, a função forum_print_discussion recebe o modo de

exibição, no caso mostrado o novo modo criado. A partir disso ele invoca a função

forum_set_posts_by_user a qual é responsável pelo arranjo das postagens. Esse arranjo

acontece em três etapas:

São localizados os objetos Post do aluno desejado dentro de uma coleção através do

atributo userid;

Cada objeto também possui um atributo parent (pai) que indica de qual Post este é

uma resposta. Sabendo disto é localizado, para cada objeto selecionado por conter o id

referente ao aluno, seu Post “pai” e seus “filhos”, caso os tenha;

Finalmente são organizados em estruturas de dados em que para cada postagem do

aluno existe uma coleção contendo o próprio Post e seu pai e filhos, caso haja.

Figura 17. Estrutura de dados criadaEssas estruturas são passadas para a função forum_print_posts_by_user a qual tem a

responsabilidade de exibir os conteúdos das estruturas de dados da maneira desejada. Cada

50

Page 51: Criação de Modulos para o Moodle

parte da estrutura contendo o objeto Post desejado e “pai” e “filhos” será exibida dentro de

um elemento em formato de janela, como exibido na seção 11.2. Está função é encarregada,

também, por exibir os demais elementos em volta das postagens dentro da janela criada, como

os links.

Após a execução destas tarefas, a função forum_print_posts_by_user invoca, para cada

postagem a ser exibida, a função forum_print_post, devolvendo assim, o controle da execução

para as funções nativas do módulo.

12. Solução do Lançamento de Notas

51

Page 52: Criação de Modulos para o Moodle

Durante o desenvolvimento um dos focos principais era não alterar

funcionalidades já existentes na plataforma. Desta forma a solução do lançamento de nota e só

uma funcionalidade adicional a qual não altera nem modifica o lançamento de notas padrão.

Antes de apresentar como funciona a nova solução para o lançamento de notas, será

apresentar como funciona o lançamento de notas dos fóruns na versão padrão do Moodle.

12.1 Lançamento de notas desenvolvido

Para solucionar a dificuldade do lançamento de notas foi desenvolvida uma tela na

qual está contida a informação da quantidade de participação do aluno, um campo para ser

digitada a nota, campo comentário que não é obrigatório, opção para envio de e-mail e um

botão que realiza a integração com a solução do fórum de discussão.

Figura 18. Nova tela de lançamento de notas

A idéia desta tela é permitir que o professor possa, de forma ágil e direta, avaliar os

alunos simplesmente atribuindo uma nota geral para o fórum, enviar um comentário sobre a

avaliação e realize o envio de correios eletrônicos para diversos alunos para efetuar algum

aviso.

52

Page 53: Criação de Modulos para o Moodle

12.2 Funcionamento Lançamento de notas

A solução foi implementada de forma a causar o menor impacto sobre a aplicação já

existente.

Após a instalação será adicionado um link chamado “Lançamento de Notas” na parte

superior do fórum, como na (figura 13).

Figura 19. Tela com link para o novo lançamento de notas

Ao se pressionar no link “Lançamento de Notas” será aberta a tela de lançamento de

notas com as seguintes funções: (Figura lançamento)

Aluno: Nome do aluno.

Participação: Quantidade de participações do aluno no fórum.

Nota: Campo para inserção da nota do aluno. Esse campo só permite a entrada de

números e o caractere “.” . A nota deve ser atribuída entre 0 e 100 aceitando ate 2

casas decimais.

Comentário: Campo para inserção do comentário sobre a nota do aluno, caso desejado.

Campo texto para até 500 caracteres.

E-mail: Campo para selecionar os alunos que se deseja enviar um correio eletrônico

quando acionar o botão “Enviar E-mail”.

Visualizar: Botão que realiza a integração com a solução do fórum de discussão. Abre

a tela de visualização post individual de um determinado aluno.

Salvar: Salva as notas e comentários.

53

Page 54: Criação de Modulos para o Moodle

Enviar E-mail : Abre a tela de Envio de E-mail para os alunos selecionado na opção E-

mail.(Figura 15)

Além dessas funcionalidades existe sobre cada campo um ícone de ajuda que exibe

informações sobre o que deve ser escrito nos campos.

Figura 20. Funções do lançamento de notas

Figura 21. Tela de envio de e-mail

12.3 Implementação do Lançamento de notas

No decorrer do desenvolvimento deste recurso, foi necessário analisar a fundo a

estrutura do Moodle já que essa funcionalidade influenciava não somente no fórum mais

54

Page 55: Criação de Modulos para o Moodle

também na estrutura de notas do Moodle.

Para tornar possível essa implantação foi necessário realizar modificações somente em

um arquivo do Moodle e nesse arquivo foram tomados todos os cuidados visando o menor

impacto sobre as funcionalidades nativas da plataforma.

12.3.1 Instalação

A instalação do Lançamento de notas possui alguns passos não triviais por ser uma

funcionalidade que requer alteração de alguns arquivos e a copia de outros arquivos para a

pasta do módulo do Fórum. Para isso deve ser realizada a seguinte seqüência de operações a

fim de evitar alguma perda de informação ou funcionalidade;

Backup dos arquivos que vão sofrer alteração:

1) Acesse o diretório Moodle do seu servidor.

2) Acesse a pasta \mod\forum\

3) Crie uma pasta backup

4) Copie os arquivos discuss.php e view.php para a sua nova pasta de backup.

Esta pasta de backup tem a finalidade de possibilitar o retorno das configurações

originais caso ocorra algum erro durante o uso ou simplesmente a funcionalidade não seja

mais desejada.

Copia dos arquivos de lançamento de nota:

1) Extraia o conteúdo do arquivo Lançamento_de_notas_moodle.zip para a pasta \

mod\forum.

A funcionalidade já estará instalada e pronta para uso.

12.3.2 Funcionalidades

A arquitetura da solução implementada utiliza, além dos arquivos e funções do

Moodle, outros arquivos desenvolvidos.

55

Page 56: Criação de Modulos para o Moodle

Figura 22. Arquivos do novo lançamento de nota

Figura 23. Arquivos da biblioteca JqueryDurante o processo de desenvolvimento se viu necessário a alteração de determinados

arquivos para que os mesmos servissem de ponte de ligação entre o módulo de lançamento de

nota e módulo de fórum. Por esse motivo os arquivo discuss.php e view.php sofreram

pequenas alterações. Nesses dois arquivos foi realizado uma inclusão do arquivo índex.php

que contém o link para a janela de lançamento de notas e a funcionalidades da biblioteca

Jquery para criação dos efeitos visuais.

O Arquivo lança_nota.php é responsável pela apresentação da tela de lançamento de

nota. Neste arquivo é realizada toda a busca no banco de dados do Moodle e apresentação

destas informações para o usuário.

O processo para salvar notas é executado pelo arquivo salvando_notas.php. Todos os

dados são validados e verificados conforme o padrão da plataforma Moodle e somente após

essa validação os dados são inseridos no banco de dados.

Os arquivos email_forum.php e enviando_email.php são responsáveis pela tela para

preenchimento do conteúdo e o envio do e-mail.

56

Page 57: Criação de Modulos para o Moodle

Figura 24. Diagrama de seqüência do envio de e-mail

É importante lembrar que todos os requisitos de segurança de acesso são atendidos pela

plataforma Moodle.

12.3.3 Caso de uso Lançamento de Notas

ID do Caso de Uso: UC-02Nome do Caso de Uso:

Lançamento de Notas

Criado por: Vanderson Última atualização:

20/05/2010

Data da Criação: 20/05/2010 Data da última atualização:

20/05/2010

Ator: ProfessorDescrição: Permitir ao usuário o lançamento e alteração das notas do

fórumPré-condições: O usuário previamente já logado no sistema e opção de

lançamento de notas do fórum habilitadoPós-condições: Inserção dos dados referente a nota de participação dos alunos

no fórumPrioridade: Alta

Freqüência de Uso: AltaFluxo Principal: P1. O caso de uso se inicia quando o usuário clica em lança

Notas (Tela01).P2. E aberto à (Tela02) referente ao cadastro ou alteração de nota.P3. O usuário digita a nota do aluno e caso desejar o campo comentário poderá ser preenchido. [A1][A2](RN01)P4. O sistema verifica se os campos foram digitados corretamente.[E1]P6. O sistema verifica se e para realizar um novo cadastro ou

57

Page 58: Criação de Modulos para o Moodle

atualizar o registro.P5. O sistema realiza a inserção ou alteração no banco de dados.[E2]P6. E apresentada a mensagem de cadastro realizado com sucesso (M001).P7. O caso de uso se encerra.

Fluxo Alternativo: A1: Visualizar post de um determinado aluno.A1.1 E apresentado a (Tela02) com os post do aluno.A1.2. O caso de uso se encerra.

A2: Sair do sistemaA2.1 O sistema fecha a tela de lançamento de nota.A2.2 O caso de uso se encerra.

Exceções: E1. Possui campos preenchidos incorretamente. E1.1 E apresentado a mensagem informando que existe campos incorretos. (M003)E1.2 Segue para o passo P2

E2: Erro de banco de dadosE2.1 Mensagem de erro(M004)E2.2 Segue para o passo P1

Extender: UC-03 - Enviar múltiplos e-mailsRequerimentos

Especiais:Suposições:

Notas e casos: 2. As regras de negócio estão especificadas na Tabela Regras de Negócio (anexo 01).

3. As mensagens estão especificadas na Tabela Mensagens do Sistema (ANEXO 01)

UC-0. Caso de uso Lançamento de Notas

Anexo 01 - Tabela Regras de Negócio

Identificação Campo Tipo Tamanho Descrição Conteúdo (Regra)

RN01 nota float A nota deve ser de 0 á 100 aceitando até 2 casas decimais.

ID do Caso de Uso: UC-03Nome do Caso de Uso:

Enviar múltiplos e-mails

58

Page 59: Criação de Modulos para o Moodle

Criado por: Vanderson Última atualização:

20/05/2010

Data da Criação: 20/05/2010 Data da última atualização:

20/05/2010

Ator: ProfessorDescrição: Possibilita o envio de correio eletrônico a múltiplos alunos

Pré-condições: Execução do UC-01 - Lançamento de Notas ou UC-04 – Exibição do Relatório dos Alunos do Fórum

Pós-condições: E-mail enviado aos alunos selecionadosPrioridade: Média

Freqüência de Uso: MédiaCurso normal dos

eventos:P1.O usuário seleciona os alunos os quais ele deseja enviar uma cópia do e-mail e clica em “enviar e-mail”.P2.E apresentado a (Tela03) de envio de e-mail [A1].P3.O usuário digita o texto que será enviado.P4.O sistema verifica se foi digitado o texto. [E1]P5.O sistema verifica se foi selecionado algum aluno para o envio do e-mail.[E2]P6.O sistema envia o e-mail.[E3]P7.E apresentada a mensagem de envio realizado com sucesso (M002).P8.O caso de uso se encerra.

Cursos alternativos: A1. O usuário deseja cancelar o envio do e-mailA1.1 O usuário clica a qualquer momento no “X” da janela de e-mail.A1.2 O caso de uso se encerra.

Exceções: E1. Possui campos obrigatórios em branco. E1.1 E apresentado a mensagem informando que existe campo em branco. (M005)E1.2 Segue para o passo A2.1

E2. Não foi selecionado nenhum aluno para enviar o e-mail. E2.1 E apresentado a mensagem informando que deve selecionar pelo menos 1 aluno. (M006)E2.2 Segue para o passo A2.1

E3 Erro durante o envio do e-mail. E3.1 E apresentado a mensagem informando ocorreu um erro durante o processo de envio de e-mail. (M007)E3.2 O caso de uso se encerra.

Incluir:Requerimentos

Especiais:Usuário deve ter privilégios de acesso a essas funções especificas

Suposições:Notas e casos: As mensagens estão especificadas na Tabela Mensagens do

Sistema (ANEXO 01)

UC-0. Caso de uso Enviar múltiplos e-mails

59

Page 60: Criação de Modulos para o Moodle

13. Solução para a Apresentação de Relatório

Para a implementação desta solução foi verificado que a melhor alternativa seria a

criação de um novo Bloco para o Moodle, criando mais uma alternativa de visualização do

desempenho dos alunos e evitando realizar alterações na funcionalidade de relatório já

existente. Esta funcionalidade será integrada com a solução do Fórum de Discussão

implementada nesta monografia, de maneira que quando o professor selecionar algum dos

fóruns que o aluno participou as postagens serão exibidas de forma filtrada.

13.1 Funcionamento do Bloco de Relatório de Postagens dos Alunos

60

Page 61: Criação de Modulos para o Moodle

O Bloco depois de instalado e escolhido na lista de Blocos para poder ser utilizado,

exibe uma lista contendo os nomes de todos os alunos do curso e um botão de busca.

Figura 25. Bloco na pagina inicial

Ao se escolher um dos alunos e pressionar em “buscar” o sistema exibe uma tabela contendo informações sobre o aluno desejado:

Nome do fórum: discussão na qual o aluno fez comentários;

Participações: quantidade de participações no fórum mostrado;

Última participação: data da última vez em que o aluno escreveu no fórum;

Notas: caso exista, será exibida a nota total dada nessa discussão;

Opinião: comentários feitos pelo professor sobre a nota dada ou sobre a

participação do aluno em questão.

Figura 26. Apresentação de Relatório

61

Page 62: Criação de Modulos para o Moodle

Essas informações serão retornadas para cada fórum que o aluno tena participado no

curso. Caso o aluno não tenha participado de nenhum fórum, o sistema irá exibir a mensagem

“O aluno desejado não participou de nenhum dos fóruns.”.

Será exibido também um botão “enviar mensagem”, por meio do qual é possível

enviar mensagens para o aluno exibido. Ao se clicar no botão o sistema retornará a tela de

envio de mensagem, pelo qual o professor poderá digitar a mensagem desejada e esta será

enviada por correio eletrônico e a mesma também aparecerá no Bloco Mensagens assim que o

aluno efetue o acesso a página inicial do curso.

Figura 27. Tela de envio de mensagem do Moodle

A solução também conta com um botão de configuração dos campos do relatório. Ao

clicar no botão “configurar tabela”, o sistema retornará uma tela de seleção de campos os

quais o professor poderá escolher quais ele deseja visualizar e quais não são necessários. Após

escolher os campos basta pressionar em “salvar mudanças” e o sistema retornará a tela de

relatório apenas com os campos desejados.

Figura 28. Opções para configurar tabela

62

Page 63: Criação de Modulos para o Moodle

Ao se pressionar sobre algum dos Nomes de fóruns o sistema retornará a tela da

discussão no modo de exibição filtrada por aluno, de acordo com o aluno o qual foi feito o

relatório.

Na tela principal do curso, caso o professor deseje visualizar um relatório sobre todos

os alunos basta apenas selecionar a opção “todos” na lista e clicar em “buscar”.

Após isso o sistema retornará relatórios sobre todos os alunos do curso, exibindo

para cada um todos os campos citados acima e o botão de envio de mensagens.

Figura 29. Relatório da participação nos fóruns de todos os alunosAlém dessas informações o sistema retornará também um botão “enviar e-mail” e

para cada aluno exibido, um campo de seleção “enviar copia do e-mail”. Caso o usuário

deseje enviar um mesmo correio eletrônico para vários alunos, basta o professor selecionar os

alunos através do campo de seleção “enviar copia do e-mail” e pressionar o botão de envio. O

sistema retornará uma tela com um campo para que o usuário digite o texto e pressiona no

botão “enviar”. Caso nenhum aluno tenha sido selecionado, o sistema irá exibir a mensagem

“É necessário selecionar pelo menos um aluno para enviar o e-mail.”.

63

Page 64: Criação de Modulos para o Moodle

Figura 30. Envio de correio eletrônico para múltiplos alunos

13.2 Implementação do Bloco de Relatório de Postagens dos Alunos

Para a criação da solução foram utilizados os padrões de criação de Blocos no

Moodle, além da criação de novas classes e paginas de exibição para o usuário. A instalação é

feita se utilizando dos mecanismos nativos da plataforma, de forma que para realizar a criação

da tabela necessária para o funcionamento da solução, bastou utilizar a configuração descrita

na próxima seção.

13.2.1 Instalação

Além da implementação da configuração padrão do Bloco, foi realizada a criação do

arquivo Install.xml contendo o código xml no formato apresentado na seção 8.3 para a criação

de uma tabela mdl_block_search_comments, cuja estrutura esta descrita na figura 27. Além

disso o arquivo xml contem também o código necessário à inclusão de dados relativos aos

campos a serem mostrados no relatório da participação dos alunos nos fóruns.

Figura 31. Tabela mdl_block_search_comments

13.2.2 Descrição do caso de uso de Exibição de Relatório de Postagens dos Alunos

ID do Caso de Uso: UC-04 Nome do Caso de Uso:

Exibição do Relatório dos Alunos do Fórum

Criado por: Gabriel Última atualização:

20/05/2010

64

Page 65: Criação de Modulos para o Moodle

Data da Criação: 20/05/2010 Data da última atualização:

20/05/2010

Ator: ProfessorDescrição: Exibe diversas informações sobre a participação dos alunos no

fórumPré-condições: Bloco devidamente instalado e configurado para visualização

no curso, usuário com permissão de alteração previamente logado no sistema e visualizando a tela inicial do curso.

Pós-condições: Exibição do relatório Prioridade: Alta

Freqüência de Uso: AltaCurso normal dos

eventos:P1.O usuário seleciona nome do aluno os qual ele deseja visualizar o relatório e clica em “buscar” [E1] [A1].P2.O sistema retorna a tela contendo o relatório do aluno [E2] [A2] [A3].P3.O caso de uso se encerra.

Cursos alternativos: A1. O usuário escolhe a opção “todos” da lista.A1.1 O usuário seleciona a opção “todos” e clica em “buscar” [E1] [A1].A1.2 O sistema retorna a tela contendo o relatório de todos os alunos cadastrados no curso [E2] [A2] [A3].A1.3 O caso de uso se encerra.

A2. O usuário deseja enviar uma mensagem ao alunoA2.1 O usuário clica em “enviar mensagem”.A2.2 O sistema retorna a tela de envio de mensagem.A2.3 O usuário digita a mensagem e clica em “enviar”.A2.4 O sistema exibe a confirmação de envio.A2.5 O caso de uso se encerra.

A3. O usuário deseja visualizar as participações do aluno em algum fórum.A3.1 O usuário clica em algum dos nomes dos fóruns que algum aluno participou.A3.2 O sistema retorna o passo P2 do UC-01 – Filtragem do Fórum de Discussão.

Exceções: E1. Nenhum aluno cadastrado no curso. E1.1 O sistema exibe no local que seria apresentada a lista de alunos a mensagem que não existem alunos cadastrados no curso. (M009)E1.2 O caso de uso se encerra.

E2. O aluno não possui nenhuma participação em nenhum dos fóruns do curso. E2.1 E apresentada a mensagem informando que o aluno não participou de nenhum dos fóruns. (M010)E1.2 O caso de uso se encerra.

Extender: UC-01 – Filtragem do Fórum de Discussão e UC-03 – Enviar

65

Page 66: Criação de Modulos para o Moodle

múltiplos e-mails Requerimentos

Especiais:Usuário deve ter privilégios de acesso a essas funções especificas

Suposições:Notas e casos: As mensagens estão especificadas na Tabela Mensagens do

Sistema (ANEXO 01)

UC-0. Caso de uso Exibição do Relatório dos Alunos do Fórum

13.2.3 Descrição do caso de Configuração dos campos do relatório

ID do Caso de Uso: UC-05Nome do Caso de Uso:

Configuração dos campos do relatório

Criado por: Gabriel Última atualização:

20/05/2010

Data da Criação: 20/05/2010 Data da última atualização:

20/05/2010

Ator: ProfessorDescrição: Permite ao usuário configurar quais campos ele deseja

visualizar nos relatórios de participação dos alunos nos fóruns.Pré-condições: Bloco devidamente instalado e configurado para visualização

no curso, usuário com permissão de alteração previamente “logado” no sistema e visualizando a tela inicial do curso ou a tela de exibição de relatórios.

Pós-condições: Exibição da tela de relatório com a configuração desejada Prioridade: Média

Freqüência de Uso: BaixaCurso normal dos

eventos:P1.O usuário clica em “configurar campos”.P2.O sistema retorna a tela de configuração dos campos.P3.O usuário marca os campos que ele deseja ver e desmarca os que não deseja.P4.O sistema retorna a mensagem confirmando a alteração da configuração (M011) [E1].P5. O sistema retorna a tela de exibição de relatórios.P6. O caso de uso se encerra.

Cursos alternativos:Exceções: E1. O sistema não consegue gravar as alterações.

E1.1 O sistema exibe a mensagem que não foi possível gravar as alterações. (M004)E1.2 O caso de uso retorna ao passo P5.

Requerimentos Usuário deve ter privilégios de acesso a essas funções

66

Page 67: Criação de Modulos para o Moodle

Especiais: especificasSuposições:

Notas e casos: As mensagens estão especificadas na Tabela Mensagens do Sistema (ANEXO 01)

UC-0. Caso de uso Configuração dos campos do relatório

13.2.4 Funcionalidades

A arquitetura da solução implementada utiliza, além dos arquivos padrão para a

criação de um Bloco, outros arquivos e classes.

Figura 32. Organização dos diretórios do Bloco

O arquivo block_search_comments.php possui a estrutura padrão para a instalação e

exibição de um Bloco. É importante destacar que conforme as orientações de

desenvolvimento do Moodle (Moodle.org, 2010), os métodos auxiliares criados dentro da

classe block_search_comments devem ter o nome se iniciando pelo nome do Bloco em

questão para que não haja conflito entre os Blocos. Assim dois métodos auxiliares foram

criados para a recuperação dos nomes dos alunos do curso e impressão dos mesmos em uma

lista HTML, respectivamente, block_search_comments_find_students e

block_search_comments_printer e chamados pelo método get_content.

Após o usuário escolher a forma de relatório desejada, ou por aluno ou todos, o

sistema retorna a página results.php contendo o resultado descrito na (Figura 25).

Cada instituição pode ter diferentes interesses nos relatórios das participações dos

alunos nos fóruns. Algumas podem querer saber a quantidade de postagens dos educandos ou

suas notas, mas outras podem ter o desejo de obter outros dados não contemplados por essa

solução. A partir desse conhecimento foi definido que a solução, para a programação da

67

Page 68: Criação de Modulos para o Moodle

recuperação dos dados dos alunos e apresentação do relatório, deveria utilizar o paradigma

orientado a objetos5, pois este oferece recursos para a implementação de código reutilizável e

de fácil extensão. A figura 33 mostra o diagrama de classes6 referente a essa implementação.

Figura 34. Diagrama de classes Exibição do Relatório dos Alunos do Fórum

Visando a modularidade e o baixo acoplamento entre as classes responsáveis pelas

colunas da tabela e sua exibição, foram criadas classes responsáveis pela recuperação dos

dados de cada coluna as quais implementam uma interface7 Icampo. Uma classe chamada

student_report é responsável por armazenar esses diversos objetos e recuperar informações

úteis para alguns ou todos estes.

A classe tableprinter é a responsável pela impressão dos dados para o usuário. Ela

foi projetada de forma a ser totalmente independente dos objetos responsáveis pela

recuperação dos dados, sendo que esta depende apenas dos métodos da interface Icampo. Seu

método notify permite que inúmeros objetos sejam “cadastrados” e que os mesmos possam ser

utilizados posteriormente. Apesar de esta classe armazenar os objetos, ela não tem

conhecimento de sua implementação interna. A figura 30 mostra através de um diagrama de

seqüência8 a interação entre as classes para a realização do fluxo principal do caso de uso

Exibição de Relatório de Postagens dos Alunos.5 Paradigma de programação no qual os dados e funcionalidades são encapsulados em forma de objetos.6 Diagrama pertencente à UML que mostra tipo de relacionamento entre classes: dependência, realização, agregação, entre outros.7 Na orientação a objetos, é uma estrutura que define um meio de acesso padrão para as funcionalidades de uma classe e quais métodos essa classe deve implementar.

68

Page 69: Criação de Modulos para o Moodle

Figura 35. Diagrama de seqüência Exibição do Relatório dos Alunos do Fórum

Assim a implementação e adição de outros campos a serem exibidos causará baixo

impacto ao código já existente.

A funcionalidade de envio de mensagens foi implementada utilizando uma

funcionalidade nativa do Moodle, bastando implementar o formulário HTML que a partir do

qual, ao ter seu botão pressionado, realiza a invocação de uma janela popup contendo toda a

interface de envio e configuração da mensagem a ser enviada ao aluno desejado. A única

customização necessária é a passagem via GET do número de identificação (id) do usuário

que se deseja enviar a mensagem.

A funcionalidade de envio de múltiplos correios eletrônicos é feita de forma

semelhante à implementada na solução do Envio de Notas, sendo as funções responsáveis

invocadas pela janela de envio de e-mail ao se clicar no botão “enviar”.

Para opção de configuração dos campos a serem exibidos, foi implementado o

seguinte esquema:

Cada objeto que implementa a interface Icampo possui um atributo id

contendo um valor único, correspondente ao valor do campo id da tabela

mdl_block_search_comments;

8 Diagrama pertencente à UML que mostra o fluxo de mensagens entre as classes necessárias para a realização de um caso de uso.

69

Page 70: Criação de Modulos para o Moodle

Quando da iniciação desses objetos dentro da classe student_report, durante a

exibição do relatório de participação dos alunos, é realizada uma consulta à

tabela mdl_block_search_comments retornando o id e o nome dos campos em

que o campo visible possui valor “1”. Assim somente os objetos que

possuírem o atributo id igual ao campo id serão carregados e

consequentemente exibidos;

Na pagina de configuração são exibidos todos os nomes dos campos e de

acordo com a marcação do usuário, a tabela terá seus valores dos campos

visible alterados.

CONCLUSÕES

O Moodle possui grande importância entre as ferramentas computacionais de apoio

ao ensino a distancia. Como tal, ele deve proporcionar um ambiente fluido, prático e ágil para

que os professores possam avaliar e direcionar a interação dos alunos nos fóruns e possibilitar

aos docentes as informações e funcionalidades necessárias a um melhor processo de ensino.

Como ambiente virtual de aprendizagem, o Moodle possui funcionalidades muito

importantes, sendo que algumas já foram incorporadas de tal maneira ao processo de ensino

de diversas instituições que tanto suas qualidades quanto seus defeitos causam um grande

impacto sobre interação entre alunos e professores.

70

Page 71: Criação de Modulos para o Moodle

Tomando como exemplo a instituição Universidade Católica de Brasília, em que,

entre outras, a funcionalidade de fórum está sendo cada vez mais utilizada por mais

professores para o ensino das mais diversas disciplinas. Apesar da facilidade de uso e

praticidade de exposição de opiniões, os Fóruns de Discussão não provêm agilidade para o

processo de avaliação, entre outros problemas que foram explicitados nesta monografia.

Assim uma experiência de aprendizagem que poderia ser melhor acompanhada e avaliada

pelos docentes, se torna prejudicada pela deficiência em alguns aspectos de um módulo tão

essencial.

Visto isso, as soluções aqui propostas suprem as necessidades verificadas, trazendo

melhor visualização de postagens, maior agilidade no processo de avaliação e maior

completude de informações relevantes sobre as participações dos alunos nos fóruns. Dada a

importância do Fórum de Discussão para o ambiente do Moodle, a adição dessas novas

funcionalidades vem agregar valor à ferramenta, possibilitando ao professor usufruir melhor

dos recursos que o ambiente virtual de ensino pode oferecer.

É importante ressaltar que o trabalho aqui realizado busca a resolução de uma

pequena parte das necessidades do software e que para um maior aprimoramento tanto do

módulo de fórum, quanto do Moodle em si, o apoio da comunidade de desenvolvimento é

fundamental, pois, conforme o uso da plataforma vai aumentando, da mesma forma crescem

as necessidades do ensino, sendo este um processo natural que se bem aproveitado, trará

benefícios tanto para o Moodle quanto para os que fazem uso do ambiente virtual de

aprendizagem.

As dificuldades encontradas durante a pesquisa e desenvolvimento deste trabalho,

provem da falta de documentação sobre as tabelas do banco de dados e a inexistência de um

documento que expressasse o relacionamento entre elas, a dificuldade ou a impossibilidade de

localizar documentação sobre alguns módulos e suas funções, assim como, apesar de existir

um bom detalhamento de atributos e métodos de algumas classes utilizadas no Moodle não

existem diagramas que representem o relacionamento entre elas.

Dificuldades e Trabalhos futuros

Estes problemas abrem espaço para a tradução da documentação em inglês já

existente para o português, que apesar de já existir algumas paginas ainda é escassa, ou a

realização de engenharia reversa no código fonte para se obter os diagramas necessários.

Outra linha de pesquisa interessante seria a geração de documentação básica de forma

71

Page 72: Criação de Modulos para o Moodle

automática, que, por exemplo, possa conter descrições e assinaturas de funções e métodos e

no caso de classes a sua finalidade e atributos.

Como contribuição à comunidade de desenvolvimento, durante a realização desta

monografia foi criado, através da analise do banco de dados, um diagrama contendo a

estrutura e o relacionamento entre os principais grupos de tabelas utilizadas no

desenvolvimento do projeto, o qual pode ser visualizado no apêndice B.

REFERÊNCIAS BIBLIOGRÁFICAS

ALMEIDA, Maria Elizabeth Bianconcini de, Tecnologia e Educação a Distância: Abordagens

e Contribuições dos Ambientes Digitais e Interativos de Aprendizagem – PUC-SP, 2003.

ANDRADE, P. (2000) - Ensino à distância - Breve introdução histórica,

http://student.dei.uc.pt/~pandrade/sf/texto.htm, visto em 13/08/09.

BIBEAULT, Bear - jQuery in Action, Ed.Hanning de 2008.

72

Page 73: Criação de Modulos para o Moodle

BELLONI, Maria Luiza - Educação a Distância - 2.ed. -Campinas, SP: Autores Associados,

2001.

Dall’Oglio, Pablo - PHP- Programando com Orientação a Objeto - Ed. NOVATEC, 2002.

En.Wikipedia, Mysql, Acesso em 26/10/2009, disponível em: http://en.wikipedia.org/wiki/MySQL.

En.Wikipedia, Moodle, Acesso em 17/05/2010, disponível em:http://en.wikipedia.org/wiki/Moodle.

HEUSER, Carlos Alberto - Projeto de Banco de Dados, Ed. Sagra Luzardo, 4ª edição, 2008.

POPPOVIC, Pedro Paulo - Educação a Distância: Problemas da Incorporação de Tecnologias

Modernas nos Países em Desenvolvimento. In: Revista Em Aberto, Brasília , ano 16, n. 70.

Abr/jun., 1996.

LEGOINHA, Paulo, e outros -

http://dspace.fct.unl.pt/bitstream/10362/1646/1/o_moodle_e_as_comunidades_virtuais_de_ap

rendizagem.pdf, visto em 17/09/09.

MARQUES, Camila (2004) - Ensino a distância começou com cartas a agricultores

http://www1.folha.uol.com.br/folha/educacao/ult305u396511.shtml, visto em 15/09/09.

Moodle.org, Historia do Moodle, Acesso em 26/09/2009, disponível em: http://docs.moodle.org/pt/Hist%C3%B3ria_do_Moodle.

Moodle Livre, Moodle no Brasil e no Mundo, Acesso em 26/09/2009, disponível em: http://moodlelivre.com.br/moodle-no-brasil-e-no-mundo/.

Moodle.org, Moodle Statistics, Acesso em 26/09/2009, disponível em: http://moodle.org/stats.

Moodle.org, Development:Blocks, Acesso em 10/04/2010, disponível em: http://docs.moodle.org/en/Development:Blocks.

Moodle.org, Development: Modules, Acesso em 15/04/2010, disponível em: http://docs.moodle.org/en/Development:Modules.

Moodle.org, Development:Coding style, Acesso em 27/02/2010, disponível em: http://docs.moodle.org/en/Development:Coding_style.

Php.net, Predefined Classes, Acesso em 10/04/2010, disponível em: http://php.net/manual/en/reserved.classes.php.

73

Page 74: Criação de Modulos para o Moodle

PULINO FILHO, Athail Range - l Manual Introdução ao Moodle – Ambiente de

Aprendizagem – Módulo 1, de 2004.

ROMANI, Luciana Alvim Santos - InterMap: Ferramenta para Visualização da Interação em

Ambientes de Educação a Distância na Web; Autores Associados, 2000.

SILVA, Maurício Samy - JQuery - A Biblioteca do Programador JavaScript – Ed.

NOVATEC, 2008

SEPULVIDA, Lucas Manhães - Desenvolvimento das Ferramentas Relatórios e Estatísticas

do Espaço Virtual de Aprendizagem – EVA, Campos dos Goytacazes – RJ, 2008.

SCHUMACHER, Robin e LENTZ, Arjen - Disponível em: http://dev.MySQL.com/tech-

resources/articles/dispelling-the-myths.html, Dispelling The Myths, visto em 25/10/09.

GLOSSÁRIO

Plugins: Na informática define-se plugin todo programa, ferramenta ou extensão que

se encaixa a outro programa principal para adicionar mais funções e recursos a ele.

On-line: "Estar online" ou "estar em linha" significa "estar disponível ao vivo". No

contexto de um web site, significa estar disponível para acesso imediato a uma página de

Internet, em tempo real. 

Links: É uma palavra, texto, expressão ou imagem que permite o acesso imediato à

outra parte de um mesmo, ou outro documento ou site, bastando ser acionado pelo ponteiro do

mouse. Num hipertexto, um link, na forma de palavra ou expressão, vem sublinhado ou

74

Page 75: Criação de Modulos para o Moodle

grafado em cor distinta da utilizada para o resto do texto. Ao se clicar no link, o usuário é

levado a uma outra página ou parte da mesma página.

Strings: Em programação e em linguagens formais, uma cadeia de caracteres é uma

seqüência ordenada de caracteres (símbolos) escolhidos a partir de um conjunto pré-

determinado. Em programação, cada símbolo armazenado na memória é representado por um

valor numérico. Uma variável declarada com tipo de dado cadeia geralmente armazena um

número pré-determinado de caracteres.

Array: Em programação de computadores, um array, também conhecido

como vector ou matriz, é uma das mais simples estruturas de dados. Os arrays mantêm uma

série de elementos de dados, geralmente do mesmo tamanho e tipo de dados.

Sockets: Um soquete (do inglês socket) é generalizado uma tomada que designa uma

cavidade ou região usada para ligar algum artifício específico. Especificamente

em computação, um soquete pode ser usado em ligações de redes de computadores para um

fim de um elo bidirecional de comunicação entre dois programas.

Post: Termo em inglês que significa “postagem” em português.

Clicar: Ato referente a pressionar algum dos botões do periférico mouse sobre

determinado objeto, ícone ou outro elemento na tela de um computador.

UML: Sigla para Linguagem de Modelagem Unificada (Unified Modeling

Language). É uma linguagem que se utiliza de elementos visuais para especificar, visualizar,

construir e documentar aspectos técnicos de um programa.

Webmaster: Termo que designa a pessoa que administra algum sítio da Internet.

Login: Termo em inglês que significa o ato de realizar a autenticação de um usuário

em um sistema, criando uma sessão de uso para este.

Logout: Termo em inglês que significa o ato de realizar a interrupção da sessão de

uso de um usuário em um sistema.

Log: Arquivo em que informações sobre ações realizadas em um sistema ficam

armazenadas.

HTML: sigla para a expressão HyperText Markup Language, que significa

Linguagem de Marcação de Hipertexto. É uma linguagem utilizada para produzir arquivos

que podem ser interpretados por navegadores e assim exibir uma pagina da Internet.

75

Page 76: Criação de Modulos para o Moodle

ANEXO 01- TABELA DO SISTEMA

Código da mensagem

Mensagem

M001 “Cadastro realizado com sucesso.”M002 “E-mail enviado com sucesso.”M003 “Existe algum campo preenchido incorretamente.”M004 “Erro durante o acesso ao banco de dados. Contate o administrador do sistema.”M005 “Existe algum dado obrigatório não preenchido.”M006 “E necessário selecionar pelo menos um aluno para enviar o e-mail.”M007 “Erro durante o envio do e-mail. Contate o administrador do sistema.”M008 “Posts não encontrados.”M009 “Não existem alunos cadastrados neste curso.”M010 “O aluno não participou de nenhum dos fóruns.”M011 “A configuração foi salva.”

76

Page 77: Criação de Modulos para o Moodle

APÊNDICE A – ARQUIVO XML

Install.xml:

<?xml version="1.0" encoding="UTF-8" ?><XMLDB PATH="blocks/search_comments/db" VERSION="20060912" COMMENT="XMLDB file for Moodle search_comments block" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../lib/xmldb/xmldb.xsd"> <TABLES> <TABLE NAME="block_search_comments" COMMENT="Forums contain and structure discussion"> <FIELDS> <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="true" ENUM="false" NEXT="name"/> <FIELD NAME="name" TYPE="char" LENGTH="50" NOTNULL="true" SEQUENCE="false" ENUM="false" PREVIOUS="id" NEXT="visible"/>

77

Page 78: Criação de Modulos para o Moodle

<FIELD NAME="visible" TYPE="char" LENGTH="1" NOTNULL="true" SEQUENCE="false" PREVIOUS="name"/> </FIELDS> <KEYS> <KEY NAME="primary" TYPE="primary" FIELDS="id"/> </KEYS> </TABLE> </TABLES> <STATEMENTS> <STATEMENT NAME="insert block_search_comments" TYPE="insert" TABLE="block_search_comments" COMMENT="Initial insert of records on table block_search_comments"> <SENTENCES> <SENTENCE TEXT="(name, visible) VALUES ('nparticipations', '1')" /> <SENTENCE TEXT="(name, visible) VALUES ('lastpostdate', '1')" /> <SENTENCE TEXT="(name, visible) VALUES ('notas', '1')" /> <SENTENCE TEXT="(name, visible) VALUES ('feedback', '1')" /> </SENTENCES> </STATEMENT> </STATEMENTS></XMLDB>

APÊNDICE B – RELACIONAMENTO ENTRE TABELAS

78