terça-feira, 19 de outubro de 2010

Joomla! Brasileiro

Seja qual a razão de você ter chegado aqui, no mínimo tem interesse em opensource , em CMS e mais especificamente, no Joomla. Se chegou aqui por acaso considere-se com sorte pois acaba de descobrir uma das ferramentas web mais interessantes do momento. O objetivo deste pequeno artigo é o de fornecer uma visão geral do que vem a ser o Joomla, sem ter nenhuma pretensão de entrar em detalhes técnicos ou de instalação (para isso, procure ler algum tutorial de instalação e customização do Joomla).

Assim como outros CMS, o Joomla ajuda a resolver um problema muito comum, que é o custo de se criar e manter um web site ou web portal razoavelmente complexo, repleto de recursos e conteúdo e que tem que ser mantido por várias pessoas com pouco ou nenhum conhecimento técnico. A forma tradicional de se produzir um website ou web portal é a de se utilizar uma equipe de designers e programadores para construir o site e publicar o conteúdo. Os autores e editores de conteúdo ficam na dependência do pessoal técnico para conseguir publicar seu material no dia a dia. Acrescentar novos recursos envolve bastante tempo e dinheiro. O Joomla e outros CMS foram criados para ajudar a aliviar este problema.

CMS é um acrônimo para Content Management System ou Sistema Gerenciador de Conteúdo. Atualmente o emprego mais popular desta sigla se refere especificamente ao gerenciamento de conteúdo web. Um CMS serve para ajudar você a criar um web site ou um web portal de forma rápida e eficiente. Até mais importante, serve para ajudar a publicar e administrar conteúdo web mais facilmente, inclusive por pessoas não técnicas - tudo isso à partir de uma “base” já pronta.

Uma grande parte das funções necessárias para fazer funcionar um website/portal são comuns e previsíveis, tais como login de usuários, criação , edição e publicação de conteúdo, publicação de banners de propaganda, etc. Num CMS esses recursos já estão pré-programados e prontos para ser utilizados. Além disso, o CMS é extensível, através da instalação de módulos e componentes que servem para agregar funcionalidades eventualmente não presentes na instalação básica (por exemplo, uma galeria de imagens ou fórum de discussão). Muitos desses recursos estão disponíveis como componentes para download comercial ou gratuito na internet. Caso o usuário precise de uma funcionalidade e não encontre nenhum componente disponível na internet, ele mesmo pode programar ou contratar alguém para fazer isso, podendo tornar o componente disponível para outros usuários comercialmente ou através de licença GNU/GPL . Como usuário ou desenvolvedor, ele irá passar a integrar a comunidade Joomla.

Então um CMS é um modelo de website já pronto?”
Podemos dizer que um CMS é um framework, “um esqueleto” de website/portal pré-programado, com recursos básicos e de manutenção e administração já prontamente disponíveis. É algo muito mais sofisticado do que um “modelo de website”, pois é um sistema que permite a criação, armazenamento e administração de conteúdo web de forma dinâmica, através de uma interface de usuário via web, não um mero conjunto de páginas HTML estáticas. Obviamente a aparência de um website criado com um CMS é customizável, através da utilização de templates (estes sim “modelos visuais” de website), que podem ser facilmente substituídos.

Como não poderia deixar de ser, a utilização de um CMS apresenta algumas desvantagens. Como em todo framework, trabalhar com um “modelo” pré-concebido implica em aceitar algumas características, restrições ou limitações desse “modelo”. Por exemplo, o CMS Joomla foi escrito em PHP e utiliza o banco de dados MySql, fatos que podem ser problema para alguns usuários (Observação: suporte a outros bancos de dados populares está a caminho em versões futuras do Joomla). A aparência do site, apesar da relativa facilidade da customização, também fica de certa forma limitada pelo sistema de templates do CMS. O mesmo pode ser dito com relação a fatores como usabilidade e acessibilidade.

Por outro lado, os ganhos em produtividade e custo são enormes e, para uma grande parte dos casos, tornam essas limitações preocupações secundárias. A maioria dos CMS populares estão disponíveis na forma de software livre o que praticamente elimina os custos com licença de uso e garantem o acesso ao código-fonte. A presença de comunidades online crescendo em volta desses sistemas faz com que a mão de obra disponível torne-se cada vez mais abundante.

Com certeza existem inúmeras necessidades específicas, padrões corporativos de segurança, investimento em outras tecnologias, operação em larguíssima escala, etc, que podem inviabilizar a adoção de um CMS opensource, mas para uma vasta gama de aplicações e usuários, a relação custo/benefício é bem clara.