• Nenhum resultado encontrado

Visão Geral do CMS e Framework Joomla

N/A
N/A
Protected

Academic year: 2021

Share "Visão Geral do CMS e Framework Joomla"

Copied!
17
0
0

Texto

(1)

Visão Geral do CMS e

Framework Joomla®

Brazil CMS

Business IT South America

(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

(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

Inteligente

Busca

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

(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

(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",

(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

Referências

Documentos relacionados

BEDÊ, Judith Aparecida de Souza FAFIMAN – Fundação Faculdade de Filosofia, Ciências e Letras de

No primeiro, destacam-se as percepções que as cuidadoras possuem sobre o hospital psiquiátrico e os cuidados com seus familiares durante o internamento; no segundo, evidencia-se

Otto: Este filósofo e teólogo toma como base para sua definição de religião a experiência religiosa e introduz na discussão um conceito que muito vai influenciar a compreensão

No entanto, maiores lucros com publicidade e um crescimento no uso da plataforma em smartphones e tablets não serão suficientes para o mercado se a maior rede social do mundo

Taking into account the theoretical framework we have presented as relevant for understanding the organization, expression and social impact of these civic movements, grounded on

Neste estudo foram estipulados os seguintes objec- tivos: (a) identifi car as dimensões do desenvolvimento vocacional (convicção vocacional, cooperação vocacio- nal,

O relatório encontra-se dividido em 4 secções: a introdução, onde são explicitados os objetivos gerais; o corpo de trabalho, que consiste numa descrição sumária das

Os principais resultados obtidos pelo modelo numérico foram que a implementação da metodologia baseada no risco (Cenário C) resultou numa descida média por disjuntor, de 38% no