O Joomla é hoje uns dos sistemas de gestão de conteúdo mais utilizados no mundo. Acredita-se que seu sucesso se deve, em parte, à sua simplicidade de instalação, configuração, administração e uso.
De fato, não há necessidade de conhecimento de programação para desenvolver um bom site.
Outro fator de destaque do Joomla é a imensa oferta de extensões.
No momento em que estas linhas estão sendo escritas, pela análise do site http://extensions.joomla.org/extensions observa-se que há mais de 4.000 extensões disponíveis e prontas para baixar e usar. Essas extensões abrangem quase tudo que é preciso para desenvolver um site. Ou seja, é possível facilmente incluir em um site desde uma solução de e-commerce, chat, fórum, help desk, CRM e mailing até ferramentas de administração de banco de dados e sistema operacional.
O Livro mostra que a simplicidade do Joomla não está somente nas facilidades mencionadas anteriormente. O leitor verá que com um mínimo de experiência em programação na linguagem PHP é possível estender ainda mais as funcionalidades do Joomla.
Mas, com tantas extensões disponíveis para o Joomla, por que é preciso aprender a construir extensões?
Há várias razões:
• a maioria das extensões desenvolvidas para Joomla consiste em código aberto. Ou seja, você poderá adaptar ou melhorar uma já existente;
• é provável que você ou alguém se depare com um problema único cuja solução seja desenvolver uma extensão;
• é possível transformar uma aplicação padrão Apache + PHP + MySQL em funcionalidades do Joomla;
• pelo simples fato de aprender uma nova tecnologia.
Sobre o que é este livro
O capítulo 1 conceitua extensões e apresenta um esboço de um componente Joomla. Desenvolve um frontend de um componente com o mínimo de codificação. Isso dará ao leitor um bom começo para a construção de seu próprio componente. Introduz o J!Dump, ferramenta de depuração que permite que o desenvolvedor inspecione variáveis em uma janela pop-up. O final deste capítulo mostra uma estratégia de desenvolvimento que busca separar lógica e apresentação em scripts distintos para tornar o código mais legível.
O capítulo 2 continua o desenvolvimento do frontend iniciado no capítulo anterior e acrescenta o uso de banco de dados para guardar conteúdo. Mostra como um componente é registrado para que seja usado como os demais componentes instalados.
O capítulo 3 implementa a interface de administração do componente conhecida como backend-component, ou simplesmente backend. Programa as funções de CRUD, termo em inglês para Create, Read, Update e Delete, deixando o componente muito próximo de uma solução real.
O capítulo 4 sugere algumas melhorias no componente. Explora os recursos do framework Joomla para implementar o padrão de projeto MVC (acrônimo para Model-View-Control). Acrescenta validação de formulário. Tanto o frontend como o backend são alterados para atender aos novos requisitos. Demonstra na prática alguns benefícios em utilizar a abordagem de desenvolvimento sugerida nos capítulos anteriores.
O capítulo 5 aborda a construção de módulo. Implementa um módulo que trabalhará em conjunto com o componente, provendo informações úteis quanto à utilização dos recursos do componente desenvolvido neste livro. Desenvolve também um módulo-formulário para preenchimento e envio pelos usuários do site.
O capítulo 6 detalha o conceito de plug-in. Desenvolve alguns plug-ins para ilustrar o tratamento de eventos no Joomla.
O capítulo 7 orienta o leitor quanto à construção de templates e desenvolve um template simples para ser incorporado ao site usado no exemplo deste livro.
O capítulo 8 mostra como empacotar as extensões para distribuição em qualquer site do Joomla. Descreve as funções das principais tags do arquivo de manifesto XML. No final do capítulo, as extensões utilizadas como exemplo são apresentadas como produtos acabados, podendo ser usadas como um modelo para construção de qualquer outra aplicação.
O capítulo 9 altera as extensões nativas do Joomla (Componente, Módulo e Plug-in) relacionados à busca para permitir filtro por seção.
O apêndice A lista e explica as principais constantes utilizadas para desenvolvimento de extensões.
O apêndice B mostra como foi configurado o ambiente de desenvolvimento das extensões implementadas neste livro. Apresenta como instalar o LAMPP/XAMPP e NetBeans tanto no ambiente GNU Linux bem como no Windows.
De fato, não há necessidade de conhecimento de programação para desenvolver um bom site.
Outro fator de destaque do Joomla é a imensa oferta de extensões.
No momento em que estas linhas estão sendo escritas, pela análise do site http://extensions.joomla.org/extensions observa-se que há mais de 4.000 extensões disponíveis e prontas para baixar e usar. Essas extensões abrangem quase tudo que é preciso para desenvolver um site. Ou seja, é possível facilmente incluir em um site desde uma solução de e-commerce, chat, fórum, help desk, CRM e mailing até ferramentas de administração de banco de dados e sistema operacional.
O Livro mostra que a simplicidade do Joomla não está somente nas facilidades mencionadas anteriormente. O leitor verá que com um mínimo de experiência em programação na linguagem PHP é possível estender ainda mais as funcionalidades do Joomla.
Mas, com tantas extensões disponíveis para o Joomla, por que é preciso aprender a construir extensões?
Há várias razões:
• a maioria das extensões desenvolvidas para Joomla consiste em código aberto. Ou seja, você poderá adaptar ou melhorar uma já existente;
• é provável que você ou alguém se depare com um problema único cuja solução seja desenvolver uma extensão;
• é possível transformar uma aplicação padrão Apache + PHP + MySQL em funcionalidades do Joomla;
• pelo simples fato de aprender uma nova tecnologia.
Sobre o que é este livro
O capítulo 1 conceitua extensões e apresenta um esboço de um componente Joomla. Desenvolve um frontend de um componente com o mínimo de codificação. Isso dará ao leitor um bom começo para a construção de seu próprio componente. Introduz o J!Dump, ferramenta de depuração que permite que o desenvolvedor inspecione variáveis em uma janela pop-up. O final deste capítulo mostra uma estratégia de desenvolvimento que busca separar lógica e apresentação em scripts distintos para tornar o código mais legível.
O capítulo 2 continua o desenvolvimento do frontend iniciado no capítulo anterior e acrescenta o uso de banco de dados para guardar conteúdo. Mostra como um componente é registrado para que seja usado como os demais componentes instalados.
O capítulo 3 implementa a interface de administração do componente conhecida como backend-component, ou simplesmente backend. Programa as funções de CRUD, termo em inglês para Create, Read, Update e Delete, deixando o componente muito próximo de uma solução real.
O capítulo 4 sugere algumas melhorias no componente. Explora os recursos do framework Joomla para implementar o padrão de projeto MVC (acrônimo para Model-View-Control). Acrescenta validação de formulário. Tanto o frontend como o backend são alterados para atender aos novos requisitos. Demonstra na prática alguns benefícios em utilizar a abordagem de desenvolvimento sugerida nos capítulos anteriores.
O capítulo 5 aborda a construção de módulo. Implementa um módulo que trabalhará em conjunto com o componente, provendo informações úteis quanto à utilização dos recursos do componente desenvolvido neste livro. Desenvolve também um módulo-formulário para preenchimento e envio pelos usuários do site.
O capítulo 6 detalha o conceito de plug-in. Desenvolve alguns plug-ins para ilustrar o tratamento de eventos no Joomla.
O capítulo 7 orienta o leitor quanto à construção de templates e desenvolve um template simples para ser incorporado ao site usado no exemplo deste livro.
O capítulo 8 mostra como empacotar as extensões para distribuição em qualquer site do Joomla. Descreve as funções das principais tags do arquivo de manifesto XML. No final do capítulo, as extensões utilizadas como exemplo são apresentadas como produtos acabados, podendo ser usadas como um modelo para construção de qualquer outra aplicação.
O capítulo 9 altera as extensões nativas do Joomla (Componente, Módulo e Plug-in) relacionados à busca para permitir filtro por seção.
O apêndice A lista e explica as principais constantes utilizadas para desenvolvimento de extensões.
O apêndice B mostra como foi configurado o ambiente de desenvolvimento das extensões implementadas neste livro. Apresenta como instalar o LAMPP/XAMPP e NetBeans tanto no ambiente GNU Linux bem como no Windows.