desenvolvimento do joomla cms (gpl): visão da construção ... · joomla: uma visão geral do...
TRANSCRIPT
Desenvolvimento do Joomla CMS (GPL):
Visão da Construção de um Módulo
Everton R. Silva Lavras, 23/05/2008
PSL - Produção de Software Livre
Copyleft Everton R. Silva 2
Todos juntos ...
Copyleft Everton R. Silva 3
Sumário� Introdução
� Joomla: Uma Visão Geral do Projeto
� Organização
� Colaboração
� Estudo de Caso: Portal Corporativo
� Projeto e Implementação
� Manutenção e Desenvolvimento Atual
� A Construção do Módulo joomLDAP
� Processo e Desenvolvimento
� Gerenciamento e Lançamento
� Tutorial
� Conclusões e Trabalhos Futuros
� Referências Bibliográficas
Copyleft Everton R. Silva 4
Introdução
Copyleft Everton R. Silva 5
� Joomla é um sistema de software de gerenciamento deconteúdo de código aberto (CMS Open Source).
� 2800 extensões (abril 2008): componente, módulo, plugin(Mambot), pacote de tradução, ferramenta (aplicativo externo),extensão especial (requer outra extensão para funcionar).http://extensions.joomla.org
� Joomla surgiu em agosto de 2005 a partir de um fork do Mambo,outro CMS.
� Licenciado através da GPL (GNU Public License). Roda em servidor webApache, banco de dados MySQL e linguagem PHP. WampServer(www.wampserver.com).
� Considerado no ano de 2007 pela Packt Publishing (editora internacional)o Melhor CMS Open Source em PHP.
Introdução
Copyleft Everton R. Silva 6
Introdução
� Agile Journal: www.agilejournal.com
� ANPOCS – Assoc. Nac. de Pós-Graduação e Pesquisa em Ciências Sociais:www.anpocs.org.br
� Catan – Site oficial do famoso jogo de tabuleiro: www.catan.com
� DB FreeMagazine – Revista de Banco de Dados: ww.dbfreemagazine.com.br
� MEC – Ministério da Educação: www.mec.gov.br
� Morada da Floresta: www.moradadafloresta.org
� NTE – Núcleo de Tecnologia Educacional da UFLA: www.nte.ufa.br
� Ogilvy Brasil – Intranet
� Porsche Brasil: www.porsche.com.br
� Portal Via Digital: www.viadigital.org.br
� SBBq – Sociedade Brasileira de Bioquímica e Biologia Molecular:www.sbbq.org.br
� Slow Food Brasil – assoc. internacional sem fins lucrativos:www.slowfoodbrasil.com
� Sociedade Vegetariana Brasileira: www.svb.org.br
� Tiny ERP: www.tinyerp.org
� USP – Universidade de São Paulo: www.usp.br
Copyleft Everton R. Silva 7
Joomla: Uma Visão Geral do Projeto
Copyleft Everton R. Silva 8
Joomla: Uma Visão Geral do Projeto
Organização
� Os grupos de trabalho foram criados para que cada time focasse em umaspecto do Joomla, o que é considerado essencial para o crescimento e
desenvolvimento do projeto. Os “Working Groups“ promovem o debate
e a comunicação entre a comunidade e o “Core Team“ para gerarquestionamentos, provocar mudanças, difundir informação. A comunicação
entre todos é feita através de Fórum, Wiki e Listas de Discussão.
Copyleft Everton R. Silva 9
Joomla: Uma Visão Geral do Projeto
Colaboração
� A comunidade Joomla é aberta para a colaboração de qualquer pessoa.
� Ser membro de um grupo de trabalho
� Traduzir conteúdo
� Construir uma extensão
� Participar dos fóruns
� Submeter patches ou correções de código
� Enviar notícias
� Reportar bugs ou solicitar mudanças
� Organizar um evento
� Ser empresa parceira
� Fazer doação Financeira
� Comprar produtos
Copyleft Everton R. Silva 10
Estudo de Caso: Portal Corporativo
Copyleft Everton R. Silva 11
Estudo de Caso: Portal Corporativo
Projeto e Implementação
� Razões para o Joomla CMS ter sido escolhido como Portal Corporativo:
� Rápida implementação;
� Custo reduzido em relação a soluções proprietárias;
� Pouca manutenção pois seu código é bastante estável;
� Interface descomplicada para operar;
� Inúmeros módulos e componentes que podem ser facilmenteinstalados.
� Foi feito então um novo levantamento de requisitos, com as seguintesatividades:
� Fazer pequenas alterações de cores, fontes e layout;
� Uma busca que pesquisasse na base do sistema de RH;
� Desenvolvimento de componente de pesquisa e enquete,utilizado para promover um“quiz“ de perguntas.
Copyleft Everton R. Silva 12
Estudo de Caso: Portal Corporativo
Manutenção e Desenvolvimento Atual
� Desafio de trazer para o portal o processo de Relatórios Diários eMensais do departamento financeiro.
� O processo era feito de uma maneira antiquada e pouco segura. A
solução deste problema resultou no módulo joomLDAP.
� Atualmente o portal encontra-se numa fase de integração comoutros sistemas da empresa (RH, ERP), utilizando para isso tecnologiascomo webservices e LDAP.
� Também está em desenvolvimento outros sistemas (Eventos,Treinamento e Banco de Currículos). Está sendo desenvolvidos de formaque venham a ser componentes e módulos do Joomla.
Copyleft Everton R. Silva 13
A Construção do Módulo joomLDAP
Copyleft Everton R. Silva 14
A Construção do Módulo joomLDAP
Processo e Desenvolvimento
� joomLDAP: módulo de autenticação via LDAP que autorizadeterminados usuários visualizarem documentos confidenciais.
� Requisitos > Projeto > Codificação > Teste > Operação eManutenção.
� Uso do protocolo LDAP através da biblioteca nativa do PHP “phpldap“.
Copyleft Everton R. Silva 15
A Construção do Módulo joomLDAP
Processo e Desenvolvimento
� As ferramentas de software utilizadas durante todo o processo dedesenvolvimento e manutenção foram:
debuglib: atomar.de/debuglib;
Gantt Project:ganttproject.biz;
Cobian Backup: educ.umu.se/˜cobian;
Firefox 2.0.0.11: mozilla.org;
FoxitReader: foxitsoftware.com;
FreeCommander: freecommander.com;
Heidi SQL 3.2: heidisql.com;
HTTrack Website Copier 3.42:
httrack.com;
Notepad++ v4.1.2: notepad-
plus.sourceforge.net;
Internet Explorer 6: microsoft.com;
Irfan View: irfanview.com;
LDAP Admin: ldapadmin.sourceforge.net;
LDAP Search: ldapsearch.codigolivre.org.br;
MySQLdiff: mysqldiff.org;
TortoiseSVN: tortoisesvn.tigris.org;
Wamp Server 2.0a (Apache, MySQL, PHP,
phpMyAdmin): wampserver.com;
WinZip: winzip.com
Copyleft Everton R. Silva 16
A Construção do Módulo joomLDAP
Gerenciamento e Lançamento
� Com a entrada do módulo joomLDAP em produção no portal resolvemos
organizar o módulo de uma forma que pudessemos disponibilizar estepequeno software para a comunidade de software livre.
� Refatoração;
� Criar pacote;
� Instalação e Configuração no ambiente;
� Tutorial;
� Cadastrar no Joomla Code(http://joomlacode.org/gf/project/joomldap/);
� Manutenção e Evolução.
Copyleft Everton R. Silva 17
A Construção do Módulo joomLDAP
Tutorial� O módulo joomLDAP autentica o acesso no
Active Directory (através do protocolo LDAP),redirecionando o usuário para a página de umcomponente (ex: DOCMAN). O DOCMAN é umcomponente que disponibiliza e gerenciaarquivos de várias extensões organizados porcategoria.
� O usuário insere login e senha pelo Joomlaporém o sistema autentica via LDAP no ActiveDirectory, procurando o usuário em um grupo(ex: GrupoRestritoJoomla) que foi previamenteconfigurado no Active Directory. O usuário deve,no Active Diretory, fazer parte deste grupo (ex:’memberof’ de ’GrupoRestritoJoomla’). O nomedeste grupo precisa ser adicionado na páginade configuração do módulo joomLDAP na áreade administração do Joomla.
Copyleft Everton R. Silva 18
Conclusões e Trabalhos Futuros
Copyleft Everton R. Silva 19
Conclusões e Trabalhos Futuros
� Sistema de CMS maduro, flexível e de bastantequalidade.
� Extensões mais utilizadas, extensões open source,extensões comerciais. Resolvem inúmeros problemas.
� Por dia são centenas de novas colaborações depessoas do mundo inteiro.
� O fórum do projeto possui um númeroconsiderável de brasileiros e temas diversos sendodiscutidos.
� Há eventos sobre o Joomla no país. Houve o IIIEncontro de Usuários Joomla no último FISL.
� Alguns sites como joomla.com.br e joomlabrasil.orgfazem o papel de divulgar o CMS para a comunidadebrasileira.
Copyleft Everton R. Silva 20
Conclusões e Trabalhos Futuros
� Para trabalhos futuros pensamos em
aprimorar o módulo joomLDAP.
� Refatorar, documentar e disponibilizaroutras extensões que desenvolvemospara o Estudo de Caso.
� Aumentar a participação no fórumoficial do Joomla.
� Escrever mais artigos sobre oJoomla e suas extensões, com oobjetivo de colaborar com oconhecimento livre em relação a umsistema que pode facilmente ajudar namelhoria do gerenciamento da informaçãode muitas instituições, orgãos eempresas.
Copyleft Everton R. Silva 21
Referências Bibliográficas
Copyleft Everton R. Silva 22
Referências Bibliográficas
� WEBSITES
� Joomla! <http://www.joomla.org>
� Joomla Code. <http://www.joomlacode.org>
� LDAP–BRASIL. Artigos sobre OpenLDAP. <http://www.ldap.org.br>.
� PSL Brasil. <http://www.softwarelivre.org>
� LIVROS
� Gestão de Projetos de Software Livre: Uma Abordagem de Práticas.<http://www.viadigital.org.br/docs/Praticas.pdf>
� IEEE COMPUTER SOCIETY. Guide to the Software Engineering: Body ofKnowledge 2004 Version SWEBOK.<http://www.swebok.org/ironman/pdf/SWEBOK Guide 2004.pdf>
� SILVEIRA, Sergio Amadeu da. Software Livre: A luta pela liberdade doconhecimento. 2004.
Copyleft Everton R. Silva 23
Créditos e Licenças
� Imagens liberadas sob Licença Creative Commons.
� Pags 2, 4, 8: Open Source Matters, www.joomla.org
� Págs 7, 19 e 20: joomlatools, www.flickr.com/photos/joomlatools/
� Pág. 10: Jens Lilienthal, www.flickr.com/photos/21532948@N04/
� Pág. 13: Nicholas Bittencourt, www.flickr.com/photos/nicholasbittencourt/
� Págs 14 e 17: Everton R. Silva
� Pag. 18: Foto pública
� Pág. 21: Max Demens, www.flickr.com/photos/idiozia_unica_via/
� Pág. 24: Keppyslinger, www.flickr.com/photos/keppyslinger/
� Apresentação liberada sob Licença Creative Commons,http://creativecommons.org/licenses/by/2.0/br/
Copyleft Everton R. Silva 24
Muito Obrigado!
� Everton Rodrigues Silva
� www.tconibo.com