Desenvolvimento do Joomla CMS (GPL): Visão da Construção ... · Joomla: Uma Visão Geral do...

24
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

Transcript of Desenvolvimento do Joomla CMS (GPL): Visão da Construção ... · Joomla: Uma Visão Geral do...

Page 1: Desenvolvimento do Joomla CMS (GPL): Visão da Construção ... · Joomla: Uma Visão Geral do Projeto Organização Os grupos de trabalho foram criados para que cada time focasse

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

Page 2: Desenvolvimento do Joomla CMS (GPL): Visão da Construção ... · Joomla: Uma Visão Geral do Projeto Organização Os grupos de trabalho foram criados para que cada time focasse

Copyleft Everton R. Silva 2

Todos juntos ...

Page 3: Desenvolvimento do Joomla CMS (GPL): Visão da Construção ... · Joomla: Uma Visão Geral do Projeto Organização Os grupos de trabalho foram criados para que cada time focasse

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

Page 4: Desenvolvimento do Joomla CMS (GPL): Visão da Construção ... · Joomla: Uma Visão Geral do Projeto Organização Os grupos de trabalho foram criados para que cada time focasse

Copyleft Everton R. Silva 4

Introdução

Page 5: Desenvolvimento do Joomla CMS (GPL): Visão da Construção ... · Joomla: Uma Visão Geral do Projeto Organização Os grupos de trabalho foram criados para que cada time focasse

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

Page 6: Desenvolvimento do Joomla CMS (GPL): Visão da Construção ... · Joomla: Uma Visão Geral do Projeto Organização Os grupos de trabalho foram criados para que cada time focasse

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

Page 7: Desenvolvimento do Joomla CMS (GPL): Visão da Construção ... · Joomla: Uma Visão Geral do Projeto Organização Os grupos de trabalho foram criados para que cada time focasse

Copyleft Everton R. Silva 7

Joomla: Uma Visão Geral do Projeto

Page 8: Desenvolvimento do Joomla CMS (GPL): Visão da Construção ... · Joomla: Uma Visão Geral do Projeto Organização Os grupos de trabalho foram criados para que cada time focasse

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.

Page 9: Desenvolvimento do Joomla CMS (GPL): Visão da Construção ... · Joomla: Uma Visão Geral do Projeto Organização Os grupos de trabalho foram criados para que cada time focasse

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

Page 10: Desenvolvimento do Joomla CMS (GPL): Visão da Construção ... · Joomla: Uma Visão Geral do Projeto Organização Os grupos de trabalho foram criados para que cada time focasse

Copyleft Everton R. Silva 10

Estudo de Caso: Portal Corporativo

Page 11: Desenvolvimento do Joomla CMS (GPL): Visão da Construção ... · Joomla: Uma Visão Geral do Projeto Organização Os grupos de trabalho foram criados para que cada time focasse

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.

Page 12: Desenvolvimento do Joomla CMS (GPL): Visão da Construção ... · Joomla: Uma Visão Geral do Projeto Organização Os grupos de trabalho foram criados para que cada time focasse

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.

Page 13: Desenvolvimento do Joomla CMS (GPL): Visão da Construção ... · Joomla: Uma Visão Geral do Projeto Organização Os grupos de trabalho foram criados para que cada time focasse

Copyleft Everton R. Silva 13

A Construção do Módulo joomLDAP

Page 14: Desenvolvimento do Joomla CMS (GPL): Visão da Construção ... · Joomla: Uma Visão Geral do Projeto Organização Os grupos de trabalho foram criados para que cada time focasse

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“.

Page 15: Desenvolvimento do Joomla CMS (GPL): Visão da Construção ... · Joomla: Uma Visão Geral do Projeto Organização Os grupos de trabalho foram criados para que cada time focasse

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

Page 16: Desenvolvimento do Joomla CMS (GPL): Visão da Construção ... · Joomla: Uma Visão Geral do Projeto Organização Os grupos de trabalho foram criados para que cada time focasse

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.

Page 17: Desenvolvimento do Joomla CMS (GPL): Visão da Construção ... · Joomla: Uma Visão Geral do Projeto Organização Os grupos de trabalho foram criados para que cada time focasse

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.

Page 18: Desenvolvimento do Joomla CMS (GPL): Visão da Construção ... · Joomla: Uma Visão Geral do Projeto Organização Os grupos de trabalho foram criados para que cada time focasse

Copyleft Everton R. Silva 18

Conclusões e Trabalhos Futuros

Page 19: Desenvolvimento do Joomla CMS (GPL): Visão da Construção ... · Joomla: Uma Visão Geral do Projeto Organização Os grupos de trabalho foram criados para que cada time focasse

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.

Page 20: Desenvolvimento do Joomla CMS (GPL): Visão da Construção ... · Joomla: Uma Visão Geral do Projeto Organização Os grupos de trabalho foram criados para que cada time focasse

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.

Page 21: Desenvolvimento do Joomla CMS (GPL): Visão da Construção ... · Joomla: Uma Visão Geral do Projeto Organização Os grupos de trabalho foram criados para que cada time focasse

Copyleft Everton R. Silva 21

Referências Bibliográficas

Page 22: Desenvolvimento do Joomla CMS (GPL): Visão da Construção ... · Joomla: Uma Visão Geral do Projeto Organização Os grupos de trabalho foram criados para que cada time focasse

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.

Page 23: Desenvolvimento do Joomla CMS (GPL): Visão da Construção ... · Joomla: Uma Visão Geral do Projeto Organização Os grupos de trabalho foram criados para que cada time focasse

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/

Page 24: Desenvolvimento do Joomla CMS (GPL): Visão da Construção ... · Joomla: Uma Visão Geral do Projeto Organização Os grupos de trabalho foram criados para que cada time focasse

Copyleft Everton R. Silva 24

Muito Obrigado!

� Everton Rodrigues Silva

[email protected]

� www.tconibo.com