A Aldeia Numaboa ancestral ainda está disponível para visitação. É a versão mais antiga da Aldeia que eu não quis simplesmente descartar depois de mais de 10 milhões de pageviews. Como diz a Sirley, nossa cozinheira e filósofa de plantão: "Misericórdia, ai que dó!"

Se você tiver curiosidade, o endereço é numaboa.net.br.

Leia mais...

Informática Numaboa - Tutoriais e Programação

Entenda o Framework do Joomla 1.5

Sab

12

Jan

2008


20:53

(22 votos, média 4.68 de 5) 


O Joomla 1.5 é o aperfeiçoamento do Joomla versões 1.0.x. Totalmente redesenhado, oferece muito mais segurança e maior flexibilidade. Acontece que, para passar de uma versão 1.0.x para a versão 1.5 não é tão simples assim: módulos, componentes e mambots (agora chamados de plugins) precisam ser reescritos, a base de dados precisa ser reestruturada e os templates precisam ser remodelados. Para quem possui um site movido a Joomla 1.0.x, a transição pode parecer quase impossível.

Este tutorial mostra o que mudou e dá uma panorâmica das novas capacidades do Joomla - assuntos mais específicos são tratados em tutoriais próprios. Tudo para facilitar o trabalho dos primeiros curiosos que, assim como eu, não resistem à tentação de embarcar na nova versão e encarar os desafios desta fase de transição.

As camadas do Joomla 1.5

A camada framework

O "motor" do Joomla 1.5 é o chamado Framework. Tudo no Joomla é construído sobre esta base constituída por classes de objetos que controlam, geram informações e coordenam as ações do Joomla. Possui vários pacotes:

  • o pacote aplicativo, que alimenta a camada aplicativo e contém a classe JApplication
  • o pacote com as bibliotecas de cache
  • o pacote chamado de comum e que contém as classes básicas e as bibliotecas de compatibilidade com versões anteriores
  • o pacote conector com bibliotecas para clientes como FTP e LDAP
  • o pacote para a base de dados que contém a classe JDatabase e as bibliotecas necessárias
  • o pacote documento com as bibliotecas necessárias para criar e apresentar páginas
  • o pacote do sistema de arquivos com bibliotecas para interagir com o filesystem
  • o pacote i18n com bibliotecas de internacionalização (idiomas)
  • o pacote de instalação com bibliotecas para poder instalar extensões (componentes, módulos, plugins, templates, etc)
  • o pacote de e-mail com bibliotecas
  • o pacote modelo com bibliotecas o objeto de acesso de dados
  • o pacote de parâmetros com bibliotecas para a manipulação de parâmetros
  • o pacote de registro (registry) com bibliotecas de armazenamento de configurações
  • o pacote de modelos com bibliotecas de templates
  • o pacote de utilidades com diversas bibliotecas de uso geral
  • a classe JFactory que permite instanciar os objetos do framework
  • a classe JVersion que permite obter a versão do Joomla

O framework não pode ser acessado diretamente, mas o Joomla oferece uma ponte para criar seus vários objetos através do JFactory.

Os plugins, antigos mambots, são extensões que trabalham par e passo com o framework ampliando suas funcionalidades. Por exemplo, podemos ter um plugin que analisa o texto de uma página antes que seja apresentado e mude algumas das suas características substituindo partes do texto ou trocando alguns marcadores por imagens.

info Além do JFactory e dos plugins, não tem como alterar o comportamento do framework do Joomla, a não ser alterando seu código fonte!

A camada aplicativo

A camada aplicativo é formada por todos os objetos necessários para que o sistema funcione de forma integrada e coordenada. Esta camada também é a interface para as extensões.

A camada das extensões

Esta camada é constituída por componentes, módulos e templates. Os componentes são aplicativos escritos para o Joomla que ampliam a funcionalidade do sistema. Por exemplo, um sistema de gerenciamento de weblinks ou de downloads. Os componentes são elementos incluídos no corpo da página.

Os módulos também são pequenos aplicativos que podem ser incluídos em todas as páginas (ou apenas nas da sua escolha) no topo, nas laterais ou no rodapé. Exemplos são o módulo de login e o módulo de estatística do site.

Templates são modelos de apresentação das páginas. Controlam a disposição dos módulos e fornecem informações sobre a aparência e disposição do texto.

Entendendo o mecanismo

Para produzir extensões para o Joomla é muito importante entender o mecanismo do sistema. Conhecendo o funcionamento do sistema fica mais fácil criar extensões que se integrem de forma harmônica e que incorporem a segurança e a coordenação oferecida pelo sistema.

Simplicando as coisas ao máximo, o mecanismo é o seguinte: um script "acorda" o framework para que ele forneça os modelos (classes) necessários para produzir todos os objetos que vão compor o sistema. Usando o JFactory como ferramenta, o script vai criando todos os objetos necessários para o funcionamento do mesmo, ou seja, vai compondo a camada aplicativo povoando-a com objetos e com referências a bibliotecas. Quando esta camada estiver pronta e ativa, os componentes, módulos e templates são incorporados e os plugins são "ativados".

Para poder entrar neste universo de objetos interligados precisamos conhecer as características de cada um deles, ou seja, saber quais métodos (funcionalidades) oferecem e quais as variáveis que usam. Como este assunto é muito extenso, não será possível colocar tudo isto num só tutorial - os principais objetos ganharam um tutorial próprio. Neste aqui vamos ficar na camada framework e descrever apenas o JFactory.

Para localizar o código fonte de todo o framework procure no diretório (pasta) /libraries/joomla/ e seus subdiretórios.

Informações adicionais