SlideShare uma empresa Scribd logo
1 de 17
Baixar para ler offline
Visão Geral do CMS e
Framework Joomla®
Brazil CMS
Business IT South America
13 de maio de 2014
Emerson Rocha Luiz
• Full Stack Web Developer e sócio fundador na Alligo
• Especialista Joomla; membro do Joomla Bug Squad; mentor em 2012 e 2013 do Google
Summer of Code pelo projeto Joomla (...)
• emerson@alligo.com.br
• Twitter, linkedIn, Facebook: @fititnt (lê-se: Fi-ti-tê-êne-tê)
Que tipos de profissionais usam Joomla?
Desenvolvedor de sites Dev Frontend Dev Backend Integrador
Quer agilidade
para
Fazer site completo sem
precisar programar,
possivelmente só trocando
cores e imagens
Liberdade para
estilizar ao extremo
interface sem grande
dificuldade
Quer criar aplicações
manuteníveis de
forma rápida, e,
mesmo sem ser
designer, fique
visualmente bonita
Integrar aplicações
diferentes e
aproveitar o melhor
de cada uma; usar
CMS apenas como
"frontend"
Exemplo de
vantagem do
Joomla
Extensões nativas e de
terceiros tendem a focar
usuário não programador;
é possível pagar por
extensões mais complexas;
pode usar CCKs
Lógica é separada da
aplicação, o que
reduz complexidade
e chances de
alteração com
atualizações do CMS
Padronização MVC
ajuda no
reuso/manutenção
de código de
terceiros;
Plugins como LDAP
são nativos;
flexibilidade com
integrações e reuso;
terceirização de
serviços
Exemplo de
resultado
E-commerce completo Site responsivo,
acessível, boa UX e
carregamento leve
Intranet Joomla + OTRS +
Alfresco + Jbilling +
(...)
Passado do Joomla
2000:
Mambo
2005:
Joomla 1.0
2008:
Joomla 1.5
2011:
Joomla 1.6
2012:
Joomla 2.5
Padrão MVC
(suporte legado a
componentes não
MVC)
Suporte a bugfixes em versões LTSs
v1.0: 3 anos 10 meses;
v1.5: 4 anos 10 meses;
v2.5*: ~4 anos
CMS Joomla & Joomla Framework
E drivers para
Oracle
SQL Lite
SQL Azure
PHP PDO
Framework Joomla
pode ser usado
sem o CMS Joomla,
como alternativa a
Symphony,
CakePHP, Zend ...
CMS Joomla: algumas funcionalidades
Nativas, sem necessidade de extensões adicionais
Permissão de
acesso granular
Versionamento
de conteúdo
Gerenciamento
de conteúdo
multilíngue
Categorias
aninhadas
Tags
Busca
Inteligente
Media Manager
Gerenciamento
de Banners,
Links (...)
Gerenciamento
de Artigos
Blog
Interface
administrativa
responsiva
CMS Joomla: tipos de extensões
• Componente: funcionalidade principal;
• Padrão MVC; um, e apenas um, por página
• Módulo: bloco de conteúdo
• 0-N por página; exibe informação
• Template: base da visual de uma página
• Flexibilidade para sobrepor saída HTML de componentes e módulos
• Plugins: alteram comportamento;
• Diversos subgrupos e gatilhos
• Enorme poder também de lógica de funcionamento sem alterar o core do Joomla
• Linguagens (traduções); Bibliotecas
Framework Joomla: mais a respeito
• https://github.com/joomla/joomla-framework
• É um framework PHP completo;
• Pode reusar e ser reusado por outros frameworks que atendam padrão PSR-0
• Pode ser usado sem o CMS Joomla;
• Criar seu próprio CMS, App, CLI, como qualquer outro framework
• Pode aproveitar reuso de apenas partes específicas do CMS em uma app nova
• O CMS Joomla não usa todo potencial do framework Joomla (ex.: drivers de DB)
Protip:
Reuso de
código do
CMS pode
salvar MUITO
esforço
Rapid Application Framework (Joomla! RAD)
• Biblioteca FoF “Framework over Framework”, agora no Core do Joomla
• FoF já é usada há muitos anos em extensões conhecidas, como o AkeebaBackup
• Foco em ser ainda mais simples de aprender do que o modo tradicional
• DRY code, com reuso de classes no front-end e backend
• Implementa HMVC
• Implementa interface RESTfull
• Convention over configuration
• (...)
Ref: http://goo.gl/yZw54j
Protip:
Joomla! RAD
agiliza ainda mais
desenvolvimento
de componentes
Performance & benchmarks
Imagem: http://joyreactor.com/post/1297750
1. Maioria dos benchmarks de performance de CMS fazem comparações tecnicamente exageradas
2. Principais CMSs tem performance semelhante em condições realmente idênticas
3. No mundo real da alta disponibilidade, nenhum site sobrevive sem cache e boa infraestrutura
Estratégia de atualização
• Semantic Versioning: major.minor[.patch]
• Patch (1 de v3.2.1), é correção de erro ou atualização de segurança
• Minor (2 de v3.2.1) acrescenta funcionalidades, e é compatível com versões anteriores de v3
• Major (3 de v3.2.1) acrescenta funcionalidades e mudanças de API em Majors anteriores (v2, v1)
• Versões Major tem suporte prometido de pelo menos 2 anos.
• Na prática tende a ser ~4 anos. Isso é muito tempo!
• http://developer.joomla.org/news/586-joomla-development-strategy.html
Mesmo entre versões major, em
geral poucas alterações e apenas
em extensões não nativas são
necessárias, i.e. de v2.5 para v3.0
(atualizações não são traumáticas)
Segurança: principais motivos de invasão
de Joomla e provavelmente de CMSs em geral
1. Extensões e/ou CMS desatualizado
• Geralmente desatualizado há muito tempo, e com falhas de segurança publicamente conhecidas
2. Extensões de origem duvidosa
• Extensões piratas costumam ter backdoor: podem invadir seu site ou usar ele como zumbi
3. Ambiente comprometido
• Permissões de arquivos erradas em ambiente compartilhado; Servidor desatualizado; Falhas em
outros softwares como cPanel/WHM ...
4. Senha de acesso roubada por usar protocolo fraco (FTP) ou ter malware
1. Usar FTP (em vez de SFTP e SSH) permite que seja roubada via rede
2. Vírus podem infectar máquina local e roubar senhas de programas FTPs que não as criptografam
Segurança: através da Obscuridade
Imagem: http://xkcd.com/257/
1. Segurança por obscuridade não realmente uma
forma de segurança, e tende a ser pior do que
nenhuma segurança por passar uma falsa
impressão
2. Se realmente quer apelar para segurança por
obscuridade, é mais seguro usar um CMS
largamente usado e ocultar digitais do CMS do
que criar seu próprio CMS ou usar um de
código fechado: apenas oculte referências no
código ao termo “joomla”
Suporte para usuário e administradores
• Fórum Oficial Joomla (Global)
• http://forum.joomla.org
• Fórum Oficial Joomla (Português)
• http://forum.joomla.org/viewforum.php?f=23
• JoomlaClube
• http://www.joomlaclube.com.br
• Stackoverflow
• Chat via IRC
• Servidor irc.freenode.net, Canal #joomla
• Via Web: http://irc.lc/freenode/joomla/
Suporte avançado
• Lista de email "Joomla CMS Developer“
• https://groups.google.com/forum/#!forum/joomla-dev-cms
• Lista de email "Joomla! Framework Development",
• https://groups.google.com/forum/#!forum/joomla-dev-framework
Grupos de Usuários
• http://community.joomla.org/user-groups.html
• Grupos Brasileiros registrados:
• Joomla User Group Rio Grande do Sul
• Joomla! User Group Bahia
• Joomla! User Group Distrito Federal Calango
• Joomla! User Group Paraná Brasil
• Joomla! User Group Rio de Janeiro
• Joomla User Group Carioca
Obrigado!
• emerson@alligo.com.br
• http://alligo.com.br
• http://linkedin.com/in/fititnt
• http://twitter.com/fititnt
• https://github.com/fititnt
• http://fititnt.org

Mais conteúdo relacionado

Mais procurados

WordPress - Gerenciando Conteúdo
WordPress - Gerenciando ConteúdoWordPress - Gerenciando Conteúdo
WordPress - Gerenciando ConteúdoAbel Ribeiro
 
Joomla
JoomlaJoomla
Joomlanasjo
 
GUTENBERG EM PRODUÇÃO: QUALIDADES, DESAFIOS
GUTENBERG EM PRODUÇÃO: QUALIDADES, DESAFIOSGUTENBERG EM PRODUÇÃO: QUALIDADES, DESAFIOS
GUTENBERG EM PRODUÇÃO: QUALIDADES, DESAFIOSWordCamp Floripa
 
6 Vantagens de Usar WordPress
6 Vantagens de Usar WordPress6 Vantagens de Usar WordPress
6 Vantagens de Usar WordPressMateada
 
Gestão de conteúdos com aplicações instaladas em servidores
Gestão de conteúdos com aplicações instaladas em servidoresGestão de conteúdos com aplicações instaladas em servidores
Gestão de conteúdos com aplicações instaladas em servidoresHenriqueta Sofia Djalo
 
4º FastShow - WPF Windows Presentation Foundation Overview
4º FastShow - WPF Windows Presentation Foundation Overview4º FastShow - WPF Windows Presentation Foundation Overview
4º FastShow - WPF Windows Presentation Foundation Overviewqualidatavix
 
Orquestrando Aplicações PHP com Symfony
Orquestrando Aplicações PHP com SymfonyOrquestrando Aplicações PHP com Symfony
Orquestrando Aplicações PHP com SymfonyFlávio Lisboa
 
Manual Joomla 1.5
 Manual Joomla 1.5 Manual Joomla 1.5
Manual Joomla 1.5Nuno Pereira
 
Apresentação ti pdf
Apresentação ti pdfApresentação ti pdf
Apresentação ti pdflanepb
 
Blue Systems Enterprise CMS Versão 5.0
Blue Systems Enterprise CMS Versão 5.0Blue Systems Enterprise CMS Versão 5.0
Blue Systems Enterprise CMS Versão 5.0Andre Jaccon
 
O que é WordPress - numeros, usabilidade e diferenca do wordpress-org e wordp...
O que é WordPress - numeros, usabilidade e diferenca do wordpress-org e wordp...O que é WordPress - numeros, usabilidade e diferenca do wordpress-org e wordp...
O que é WordPress - numeros, usabilidade e diferenca do wordpress-org e wordp...Guga Alves
 
Meetup tecnologia - desenvolvimento, infra e processos
Meetup  tecnologia - desenvolvimento, infra e processosMeetup  tecnologia - desenvolvimento, infra e processos
Meetup tecnologia - desenvolvimento, infra e processosGuilherme Veras
 
Bertuzzi Xamarin Summit 2018
Bertuzzi Xamarin Summit 2018Bertuzzi Xamarin Summit 2018
Bertuzzi Xamarin Summit 2018Thiago Bertuzzi
 
Aprenda Joomla! 1.5 fácil!
Aprenda Joomla! 1.5 fácil!Aprenda Joomla! 1.5 fácil!
Aprenda Joomla! 1.5 fácil!Jennifer Payne
 
T@rget trust asp.net avançado
T@rget trust   asp.net avançadoT@rget trust   asp.net avançado
T@rget trust asp.net avançadoTargettrust
 
Joomla.
Joomla.Joomla.
Joomla.Taivr
 

Mais procurados (20)

WordPress - Gerenciando Conteúdo
WordPress - Gerenciando ConteúdoWordPress - Gerenciando Conteúdo
WordPress - Gerenciando Conteúdo
 
Joomla
JoomlaJoomla
Joomla
 
Profissão Front-end
Profissão Front-endProfissão Front-end
Profissão Front-end
 
GUTENBERG EM PRODUÇÃO: QUALIDADES, DESAFIOS
GUTENBERG EM PRODUÇÃO: QUALIDADES, DESAFIOSGUTENBERG EM PRODUÇÃO: QUALIDADES, DESAFIOS
GUTENBERG EM PRODUÇÃO: QUALIDADES, DESAFIOS
 
MVC e Frameworks MVC
MVC e Frameworks MVCMVC e Frameworks MVC
MVC e Frameworks MVC
 
6 Vantagens de Usar WordPress
6 Vantagens de Usar WordPress6 Vantagens de Usar WordPress
6 Vantagens de Usar WordPress
 
Gestão de conteúdos com aplicações instaladas em servidores
Gestão de conteúdos com aplicações instaladas em servidoresGestão de conteúdos com aplicações instaladas em servidores
Gestão de conteúdos com aplicações instaladas em servidores
 
4º FastShow - WPF Windows Presentation Foundation Overview
4º FastShow - WPF Windows Presentation Foundation Overview4º FastShow - WPF Windows Presentation Foundation Overview
4º FastShow - WPF Windows Presentation Foundation Overview
 
Orquestrando Aplicações PHP com Symfony
Orquestrando Aplicações PHP com SymfonyOrquestrando Aplicações PHP com Symfony
Orquestrando Aplicações PHP com Symfony
 
Manual Joomla 1.5
 Manual Joomla 1.5 Manual Joomla 1.5
Manual Joomla 1.5
 
Apresentação ti pdf
Apresentação ti pdfApresentação ti pdf
Apresentação ti pdf
 
Emsl Minicurso Joomla
Emsl Minicurso JoomlaEmsl Minicurso Joomla
Emsl Minicurso Joomla
 
Blue Systems Enterprise CMS Versão 5.0
Blue Systems Enterprise CMS Versão 5.0Blue Systems Enterprise CMS Versão 5.0
Blue Systems Enterprise CMS Versão 5.0
 
Mod06 licao01-apostila
Mod06 licao01-apostilaMod06 licao01-apostila
Mod06 licao01-apostila
 
O que é WordPress - numeros, usabilidade e diferenca do wordpress-org e wordp...
O que é WordPress - numeros, usabilidade e diferenca do wordpress-org e wordp...O que é WordPress - numeros, usabilidade e diferenca do wordpress-org e wordp...
O que é WordPress - numeros, usabilidade e diferenca do wordpress-org e wordp...
 
Meetup tecnologia - desenvolvimento, infra e processos
Meetup  tecnologia - desenvolvimento, infra e processosMeetup  tecnologia - desenvolvimento, infra e processos
Meetup tecnologia - desenvolvimento, infra e processos
 
Bertuzzi Xamarin Summit 2018
Bertuzzi Xamarin Summit 2018Bertuzzi Xamarin Summit 2018
Bertuzzi Xamarin Summit 2018
 
Aprenda Joomla! 1.5 fácil!
Aprenda Joomla! 1.5 fácil!Aprenda Joomla! 1.5 fácil!
Aprenda Joomla! 1.5 fácil!
 
T@rget trust asp.net avançado
T@rget trust   asp.net avançadoT@rget trust   asp.net avançado
T@rget trust asp.net avançado
 
Joomla.
Joomla.Joomla.
Joomla.
 

Destaque

Web semântica e html5 na recuperação de conteúdo informacional
Web semântica e html5 na recuperação de conteúdo informacionalWeb semântica e html5 na recuperação de conteúdo informacional
Web semântica e html5 na recuperação de conteúdo informacionalRichard Duchatsch Johansen
 
Time line do armazenamento de dados
Time line do armazenamento de dadosTime line do armazenamento de dados
Time line do armazenamento de dadosFlavio Souza
 
O problema da utilização de CSS HACKS para garantia de resultados em diferent...
O problema da utilização de CSS HACKS para garantia de resultados em diferent...O problema da utilização de CSS HACKS para garantia de resultados em diferent...
O problema da utilização de CSS HACKS para garantia de resultados em diferent...Richard Duchatsch Johansen
 
Aula 4 - Tecnicas de Prototipação I
Aula 4 - Tecnicas de Prototipação IAula 4 - Tecnicas de Prototipação I
Aula 4 - Tecnicas de Prototipação IPaolo Passeri
 
Joomla! como plataforma de desenvolvimento de soluções próprias
Joomla! como plataforma de desenvolvimento de soluções própriasJoomla! como plataforma de desenvolvimento de soluções próprias
Joomla! como plataforma de desenvolvimento de soluções própriasEmerson Rocha Luiz
 
Moldere Apresentação - Empreendendo.me
Moldere Apresentação - Empreendendo.meMoldere Apresentação - Empreendendo.me
Moldere Apresentação - Empreendendo.meLeandro Santos
 
Programação de Jogos - Design Patterns
Programação de Jogos - Design PatternsProgramação de Jogos - Design Patterns
Programação de Jogos - Design PatternsBruno Cicanci
 
FLISOL 2009 - Modelos de Negócios com Software Livre
FLISOL 2009 - Modelos de Negócios com Software LivreFLISOL 2009 - Modelos de Negócios com Software Livre
FLISOL 2009 - Modelos de Negócios com Software LivreFábio Prudente
 
Teacher, I blew up the lab. I am glad it was only a game. [PDF
Teacher, I blew up the lab. I am glad it was only a game. [PDFTeacher, I blew up the lab. I am glad it was only a game. [PDF
Teacher, I blew up the lab. I am glad it was only a game. [PDFRoger Tavares
 
090916 Roteiro01
090916 Roteiro01090916 Roteiro01
090916 Roteiro01Diego Doná
 
Criatividade Comercial - Trust Summit 2014
Criatividade Comercial - Trust Summit 2014Criatividade Comercial - Trust Summit 2014
Criatividade Comercial - Trust Summit 2014Marcos David Bendrao
 
Apresentação da Comunidade PHPDF
Apresentação da Comunidade PHPDFApresentação da Comunidade PHPDF
Apresentação da Comunidade PHPDFDaniel Maffioletti
 
#DeveloperDay - Front-end API html5
#DeveloperDay - Front-end API html5#DeveloperDay - Front-end API html5
#DeveloperDay - Front-end API html5Leandro Santos
 
Escreva menos e faça mais com a jQuery
Escreva menos e faça mais com a jQueryEscreva menos e faça mais com a jQuery
Escreva menos e faça mais com a jQuery2km interativa!
 

Destaque (20)

Introdução ao CakePHP
Introdução ao CakePHPIntrodução ao CakePHP
Introdução ao CakePHP
 
Web semântica e html5 na recuperação de conteúdo informacional
Web semântica e html5 na recuperação de conteúdo informacionalWeb semântica e html5 na recuperação de conteúdo informacional
Web semântica e html5 na recuperação de conteúdo informacional
 
Time line do armazenamento de dados
Time line do armazenamento de dadosTime line do armazenamento de dados
Time line do armazenamento de dados
 
O problema da utilização de CSS HACKS para garantia de resultados em diferent...
O problema da utilização de CSS HACKS para garantia de resultados em diferent...O problema da utilização de CSS HACKS para garantia de resultados em diferent...
O problema da utilização de CSS HACKS para garantia de resultados em diferent...
 
HTML5
HTML5HTML5
HTML5
 
Aula 4 - Tecnicas de Prototipação I
Aula 4 - Tecnicas de Prototipação IAula 4 - Tecnicas de Prototipação I
Aula 4 - Tecnicas de Prototipação I
 
Apresentação PhpDescribe
Apresentação PhpDescribeApresentação PhpDescribe
Apresentação PhpDescribe
 
Joomla! como plataforma de desenvolvimento de soluções próprias
Joomla! como plataforma de desenvolvimento de soluções própriasJoomla! como plataforma de desenvolvimento de soluções próprias
Joomla! como plataforma de desenvolvimento de soluções próprias
 
Moldere Apresentação - Empreendendo.me
Moldere Apresentação - Empreendendo.meMoldere Apresentação - Empreendendo.me
Moldere Apresentação - Empreendendo.me
 
Programação de Jogos - Design Patterns
Programação de Jogos - Design PatternsProgramação de Jogos - Design Patterns
Programação de Jogos - Design Patterns
 
FLISOL 2009 - Modelos de Negócios com Software Livre
FLISOL 2009 - Modelos de Negócios com Software LivreFLISOL 2009 - Modelos de Negócios com Software Livre
FLISOL 2009 - Modelos de Negócios com Software Livre
 
Open Courseware 3D
Open Courseware 3DOpen Courseware 3D
Open Courseware 3D
 
Teacher, I blew up the lab. I am glad it was only a game. [PDF
Teacher, I blew up the lab. I am glad it was only a game. [PDFTeacher, I blew up the lab. I am glad it was only a game. [PDF
Teacher, I blew up the lab. I am glad it was only a game. [PDF
 
090916 Roteiro01
090916 Roteiro01090916 Roteiro01
090916 Roteiro01
 
REVISTA COMPUTER ARTS BRASIL #52
REVISTA COMPUTER ARTS BRASIL #52REVISTA COMPUTER ARTS BRASIL #52
REVISTA COMPUTER ARTS BRASIL #52
 
Criatividade Comercial - Trust Summit 2014
Criatividade Comercial - Trust Summit 2014Criatividade Comercial - Trust Summit 2014
Criatividade Comercial - Trust Summit 2014
 
Apresentação da Comunidade PHPDF
Apresentação da Comunidade PHPDFApresentação da Comunidade PHPDF
Apresentação da Comunidade PHPDF
 
I Heart Stuxnet
I Heart StuxnetI Heart Stuxnet
I Heart Stuxnet
 
#DeveloperDay - Front-end API html5
#DeveloperDay - Front-end API html5#DeveloperDay - Front-end API html5
#DeveloperDay - Front-end API html5
 
Escreva menos e faça mais com a jQuery
Escreva menos e faça mais com a jQueryEscreva menos e faça mais com a jQuery
Escreva menos e faça mais com a jQuery
 

Semelhante a Visão Geral do CMS e Framework Joomla - Business IT South America

Consultoria sobre Joomla!
Consultoria sobre Joomla! Consultoria sobre Joomla!
Consultoria sobre Joomla! Grupo Treinar
 
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendAnálise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendThiago Sinésio
 
Curso de Joomla na Pratica
Curso de Joomla na PraticaCurso de Joomla na Pratica
Curso de Joomla na PraticaGrupo Treinar
 
Criação de sites Joomla com CCKs e frameworks de template - Joomla Day Ribeir...
Criação de sites Joomla com CCKs e frameworks de template - Joomla Day Ribeir...Criação de sites Joomla com CCKs e frameworks de template - Joomla Day Ribeir...
Criação de sites Joomla com CCKs e frameworks de template - Joomla Day Ribeir...jCursos
 
Joomla 3.0 - Novidades sobre a versão
Joomla 3.0 - Novidades sobre a versãoJoomla 3.0 - Novidades sobre a versão
Joomla 3.0 - Novidades sobre a versãoBule Comunicação
 
Informática para Internet - Aula 03
Informática para Internet - Aula 03Informática para Internet - Aula 03
Informática para Internet - Aula 03Anderson Andrade
 
Curso PHP UNIFACS 2014.1 – Frameworks
Curso PHP UNIFACS 2014.1 – FrameworksCurso PHP UNIFACS 2014.1 – Frameworks
Curso PHP UNIFACS 2014.1 – FrameworksJonata Weber
 
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122Bruno Souza
 
Seminário de Desenvolvimento Mobile - Etec Cafelândia
Seminário de Desenvolvimento Mobile - Etec CafelândiaSeminário de Desenvolvimento Mobile - Etec Cafelândia
Seminário de Desenvolvimento Mobile - Etec CafelândiaDiego Cavalca
 
Introdução ao Joomla.pdf
Introdução ao Joomla.pdfIntrodução ao Joomla.pdf
Introdução ao Joomla.pdfOrlando Nunes
 
Desenvolvimento web com (cms) Drupal
Desenvolvimento web com (cms) DrupalDesenvolvimento web com (cms) Drupal
Desenvolvimento web com (cms) DrupalEmerson Barros
 
Aprenda joomla
Aprenda joomlaAprenda joomla
Aprenda joomlapedokajr
 
Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Eric Gallardo
 

Semelhante a Visão Geral do CMS e Framework Joomla - Business IT South America (20)

Consultoria sobre Joomla!
Consultoria sobre Joomla! Consultoria sobre Joomla!
Consultoria sobre Joomla!
 
Por que Joomla!? - Evidosol 2011
Por que Joomla!? - Evidosol 2011Por que Joomla!? - Evidosol 2011
Por que Joomla!? - Evidosol 2011
 
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendAnálise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
 
Curso de Joomla na Pratica
Curso de Joomla na PraticaCurso de Joomla na Pratica
Curso de Joomla na Pratica
 
Criação de sites Joomla com CCKs e frameworks de template - Joomla Day Ribeir...
Criação de sites Joomla com CCKs e frameworks de template - Joomla Day Ribeir...Criação de sites Joomla com CCKs e frameworks de template - Joomla Day Ribeir...
Criação de sites Joomla com CCKs e frameworks de template - Joomla Day Ribeir...
 
Joomla
JoomlaJoomla
Joomla
 
apresentacao e instalacao do Joomla3
apresentacao e instalacao do Joomla3apresentacao e instalacao do Joomla3
apresentacao e instalacao do Joomla3
 
Joomla 3.0 - Novidades sobre a versão
Joomla 3.0 - Novidades sobre a versãoJoomla 3.0 - Novidades sobre a versão
Joomla 3.0 - Novidades sobre a versão
 
Informática para Internet - Aula 03
Informática para Internet - Aula 03Informática para Internet - Aula 03
Informática para Internet - Aula 03
 
A Linguagem Php
A Linguagem PhpA Linguagem Php
A Linguagem Php
 
Curso PHP UNIFACS 2014.1 – Frameworks
Curso PHP UNIFACS 2014.1 – FrameworksCurso PHP UNIFACS 2014.1 – Frameworks
Curso PHP UNIFACS 2014.1 – Frameworks
 
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
 
Seminário de Desenvolvimento Mobile - Etec Cafelândia
Seminário de Desenvolvimento Mobile - Etec CafelândiaSeminário de Desenvolvimento Mobile - Etec Cafelândia
Seminário de Desenvolvimento Mobile - Etec Cafelândia
 
Introdução ao Joomla.pdf
Introdução ao Joomla.pdfIntrodução ao Joomla.pdf
Introdução ao Joomla.pdf
 
CMS - Joomla
CMS - JoomlaCMS - Joomla
CMS - Joomla
 
marketing digital aula 6
marketing digital aula 6marketing digital aula 6
marketing digital aula 6
 
Desenvolvimento web com (cms) Drupal
Desenvolvimento web com (cms) DrupalDesenvolvimento web com (cms) Drupal
Desenvolvimento web com (cms) Drupal
 
Wordpress
WordpressWordpress
Wordpress
 
Aprenda joomla
Aprenda joomlaAprenda joomla
Aprenda joomla
 
Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Treinamento ASP.NET 2014
Treinamento ASP.NET 2014
 

Visão Geral do CMS e Framework Joomla - Business IT South America

  • 1. Visão Geral do CMS e Framework Joomla® Brazil CMS Business IT South America 13 de maio de 2014
  • 2. Emerson Rocha Luiz • Full Stack Web Developer e sócio fundador na Alligo • Especialista Joomla; membro do Joomla Bug Squad; mentor em 2012 e 2013 do Google Summer of Code pelo projeto Joomla (...) • emerson@alligo.com.br • Twitter, linkedIn, Facebook: @fititnt (lê-se: Fi-ti-tê-êne-tê)
  • 3. Que tipos de profissionais usam Joomla? Desenvolvedor de sites Dev Frontend Dev Backend Integrador Quer agilidade para Fazer site completo sem precisar programar, possivelmente só trocando cores e imagens Liberdade para estilizar ao extremo interface sem grande dificuldade Quer criar aplicações manuteníveis de forma rápida, e, mesmo sem ser designer, fique visualmente bonita Integrar aplicações diferentes e aproveitar o melhor de cada uma; usar CMS apenas como "frontend" Exemplo de vantagem do Joomla Extensões nativas e de terceiros tendem a focar usuário não programador; é possível pagar por extensões mais complexas; pode usar CCKs Lógica é separada da aplicação, o que reduz complexidade e chances de alteração com atualizações do CMS Padronização MVC ajuda no reuso/manutenção de código de terceiros; Plugins como LDAP são nativos; flexibilidade com integrações e reuso; terceirização de serviços Exemplo de resultado E-commerce completo Site responsivo, acessível, boa UX e carregamento leve Intranet Joomla + OTRS + Alfresco + Jbilling + (...)
  • 4. Passado do Joomla 2000: Mambo 2005: Joomla 1.0 2008: Joomla 1.5 2011: Joomla 1.6 2012: Joomla 2.5 Padrão MVC (suporte legado a componentes não MVC) Suporte a bugfixes em versões LTSs v1.0: 3 anos 10 meses; v1.5: 4 anos 10 meses; v2.5*: ~4 anos
  • 5. CMS Joomla & Joomla Framework E drivers para Oracle SQL Lite SQL Azure PHP PDO Framework Joomla pode ser usado sem o CMS Joomla, como alternativa a Symphony, CakePHP, Zend ...
  • 6. CMS Joomla: algumas funcionalidades Nativas, sem necessidade de extensões adicionais Permissão de acesso granular Versionamento de conteúdo Gerenciamento de conteúdo multilíngue Categorias aninhadas Tags Busca Inteligente Media Manager Gerenciamento de Banners, Links (...) Gerenciamento de Artigos Blog Interface administrativa responsiva
  • 7. CMS Joomla: tipos de extensões • Componente: funcionalidade principal; • Padrão MVC; um, e apenas um, por página • Módulo: bloco de conteúdo • 0-N por página; exibe informação • Template: base da visual de uma página • Flexibilidade para sobrepor saída HTML de componentes e módulos • Plugins: alteram comportamento; • Diversos subgrupos e gatilhos • Enorme poder também de lógica de funcionamento sem alterar o core do Joomla • Linguagens (traduções); Bibliotecas
  • 8. Framework Joomla: mais a respeito • https://github.com/joomla/joomla-framework • É um framework PHP completo; • Pode reusar e ser reusado por outros frameworks que atendam padrão PSR-0 • Pode ser usado sem o CMS Joomla; • Criar seu próprio CMS, App, CLI, como qualquer outro framework • Pode aproveitar reuso de apenas partes específicas do CMS em uma app nova • O CMS Joomla não usa todo potencial do framework Joomla (ex.: drivers de DB) Protip: Reuso de código do CMS pode salvar MUITO esforço
  • 9. Rapid Application Framework (Joomla! RAD) • Biblioteca FoF “Framework over Framework”, agora no Core do Joomla • FoF já é usada há muitos anos em extensões conhecidas, como o AkeebaBackup • Foco em ser ainda mais simples de aprender do que o modo tradicional • DRY code, com reuso de classes no front-end e backend • Implementa HMVC • Implementa interface RESTfull • Convention over configuration • (...) Ref: http://goo.gl/yZw54j Protip: Joomla! RAD agiliza ainda mais desenvolvimento de componentes
  • 10. Performance & benchmarks Imagem: http://joyreactor.com/post/1297750 1. Maioria dos benchmarks de performance de CMS fazem comparações tecnicamente exageradas 2. Principais CMSs tem performance semelhante em condições realmente idênticas 3. No mundo real da alta disponibilidade, nenhum site sobrevive sem cache e boa infraestrutura
  • 11. Estratégia de atualização • Semantic Versioning: major.minor[.patch] • Patch (1 de v3.2.1), é correção de erro ou atualização de segurança • Minor (2 de v3.2.1) acrescenta funcionalidades, e é compatível com versões anteriores de v3 • Major (3 de v3.2.1) acrescenta funcionalidades e mudanças de API em Majors anteriores (v2, v1) • Versões Major tem suporte prometido de pelo menos 2 anos. • Na prática tende a ser ~4 anos. Isso é muito tempo! • http://developer.joomla.org/news/586-joomla-development-strategy.html Mesmo entre versões major, em geral poucas alterações e apenas em extensões não nativas são necessárias, i.e. de v2.5 para v3.0 (atualizações não são traumáticas)
  • 12. Segurança: principais motivos de invasão de Joomla e provavelmente de CMSs em geral 1. Extensões e/ou CMS desatualizado • Geralmente desatualizado há muito tempo, e com falhas de segurança publicamente conhecidas 2. Extensões de origem duvidosa • Extensões piratas costumam ter backdoor: podem invadir seu site ou usar ele como zumbi 3. Ambiente comprometido • Permissões de arquivos erradas em ambiente compartilhado; Servidor desatualizado; Falhas em outros softwares como cPanel/WHM ... 4. Senha de acesso roubada por usar protocolo fraco (FTP) ou ter malware 1. Usar FTP (em vez de SFTP e SSH) permite que seja roubada via rede 2. Vírus podem infectar máquina local e roubar senhas de programas FTPs que não as criptografam
  • 13. Segurança: através da Obscuridade Imagem: http://xkcd.com/257/ 1. Segurança por obscuridade não realmente uma forma de segurança, e tende a ser pior do que nenhuma segurança por passar uma falsa impressão 2. Se realmente quer apelar para segurança por obscuridade, é mais seguro usar um CMS largamente usado e ocultar digitais do CMS do que criar seu próprio CMS ou usar um de código fechado: apenas oculte referências no código ao termo “joomla”
  • 14. Suporte para usuário e administradores • Fórum Oficial Joomla (Global) • http://forum.joomla.org • Fórum Oficial Joomla (Português) • http://forum.joomla.org/viewforum.php?f=23 • JoomlaClube • http://www.joomlaclube.com.br • Stackoverflow • Chat via IRC • Servidor irc.freenode.net, Canal #joomla • Via Web: http://irc.lc/freenode/joomla/
  • 15. Suporte avançado • Lista de email "Joomla CMS Developer“ • https://groups.google.com/forum/#!forum/joomla-dev-cms • Lista de email "Joomla! Framework Development", • https://groups.google.com/forum/#!forum/joomla-dev-framework
  • 16. Grupos de Usuários • http://community.joomla.org/user-groups.html • Grupos Brasileiros registrados: • Joomla User Group Rio Grande do Sul • Joomla! User Group Bahia • Joomla! User Group Distrito Federal Calango • Joomla! User Group Paraná Brasil • Joomla! User Group Rio de Janeiro • Joomla User Group Carioca
  • 17. Obrigado! • emerson@alligo.com.br • http://alligo.com.br • http://linkedin.com/in/fititnt • http://twitter.com/fititnt • https://github.com/fititnt • http://fititnt.org