O que é um CMS?

Costumo falar com freqüência sobre os CMSs no 11pixels, mas muitas pessoas ainda não sabem muito bem o que eles são. Os CMSs (content management system), algo como sistemas de gerenciamento de conteúdo em português, são softwares que ficam hospedados em seu servidor e podem ser acessados pelo seu computador pessoal conectado a Internet. Estes gerenciadores servem para administrar o conteúdo do seu site, simplificando tarefas simples, como acrescentar ou editar uma página ou funcionalidade do site, como uma seção de notícias ou galeria de imagens. Depois que você acessa o sistema e salva as inclusões ou modificações em seu site, o conteúdo é publicado automaticamente na Web.

Quando você não utiliza um CMS, precisa de um programa de edição WYSIWYG para editar o seu HTML ou então de um programa como o Notepad++ para editar o código na unha, se for um usuário mais avançado. Além disso, quando precisar fazer uma alteração em todas as páginas do site, precisará alterar uma por uma ou, na melhor das hipóteses, utilizar algum comando (uma macro ou action) que altere todas ao mesmo tempo no programa que está utilizando para editar seu website. Depois disso, ainda precisará fazer o upload de todos os arquivos alterados, tornando todo o processo muito mais trabalhoso. Se você utilizar um CMS, nada disso será necessário e o processo ficará bem mais dinâmico, pois todas as alterações são feitas online e entram em funcionamento automaticamente, depois de efetuadas. A maioria desses sistemas utiliza templates (ou temas) customizáveis que serão a parte visual do seu site. Dessa forma, você tem um template para cada seção específica e também templates para blocos do site, como o menu de navegação, o rodapé e o cabeçalho. Então, se precisar colocar alguma informação no rodapé do seu site, em todas as páginas ao mesmo tempo, basta alterar um único arquivo e voilá, todas as centenas de páginas do seu site serão alteradas ao mesmo tempo.

Normalmente os sistemas que indico no 11pixels constroem as páginas dinamicamente quando acessados por um visitante, através do uso da linguagem de programação PHP e do banco de dados MySQL. Esta combinação de tecnologia é a mais difundida atualmente, mas também existem sistemas que trabalham com outras linguagens como o Perl ou o Python. Além disso, existem sistemas que funcionam com conteúdo estático no servidor, páginas que não são construídas dinamicamente cada vez que são acessadas, mas sim uma única vez, quando o administrador do site cadastra um novo conteúdo, gerando páginas estáticas com terminação HTML ou PHP. Normalmente quem defende esta abordagem tem o bom argumento de que desta forma o processador do servidor onde está hospedado o website não fica sobrecarregado, pois não precisa trabalhar com ações como acessos ao banco de dados e processamento PHP cada vez que a página é acessada. Mas para contornar este problema das páginas dinâmicas (que pode até causar o bloqueio da sua conta pelo seu administrador se o seu CMS não for bem otimizado) existem plugins que criam páginas estáticas e caches do conteúdo do seu site no servidor, diminuindo assim o poder de processamento. Em defesa das páginas dinâmicas também está a agilidade para atualizar seu website, que não precisa ser completamente reconstruído cada vez que é feita uma atualização estrutural.

Além de utilizar mais os sistemas dinâmicos baseados em PHP/MySQL, tenho uma preferência pelos sistemas de código aberto e gratuitos (que são duas coisas diferentes). Acredito no software livre e não tenho grana para investir em um sistema robusto, que pode ser muito caro. Gosto também da maneira colaborativa como os problemas são resolvidos e os sistemas aperfeiçoados nas comunidades de código aberto. Não concordo com a idéia de sistemas pagos e proprietários, mas acho que cada um tem a liberdade para acreditar no que quiser e trabalhar da forma como melhor lhe convêm. E sei que existem ótimos sistemas pagos no mercado, com ótimos profissionais trabalhando em torno deles para torná-los sistemas de ponta. Um bom exemplo é o Expression Engine, que também oferece uma opção grátis com menos funcionalidades que a versão paga. A vantagem de um sistema pago é que você geralmente tem direito a suporte técnico e não precisa ficar fuçando os fóruns de discussão para encontrar as respostas para sua dúvida. Se você tem pouco tempo e algum dinheiro para desembolsar, pode ser uma boa opção.

Listo abaixo os 11 CMSs que considero os mais importantes atualmente, a maioria de código aberto e rodando em ambiente LAMP (Linux, Apache, MySQL e PHP). São sistemas variados e muito diferentes entre si, alguns próprios para sites pequenos, outros originalmente desenvolvidos para blogs e alguns potentes o suficiente para administrar mega-portais. Nos próximos posts, vou falar sobre cada um desses sistemas. Minha experiência com cada um deles, seus prós e contras.

CMS Made Simple
Drupal
WordPress
Textpattern
sNews
Typo3
Typolight
Joomla
SilverStripe
ExpressionEngine
Movable Type

Rápidas no reino dos Blogs e CMSs

logo-wordpressDepois de dois atrasos no lançamento do WordPress 2.5, que estava novamente previsto para ser lançado ontem, a Automattic finalmente disponibilizou o WordPress 2.5 RC (release candidate) no seu blog oficial. Como eu já havia conferido em uma versão baixada no Trac, e pessoalmente não gostei, o backend foi completamente redesenhado e o sistema conta com algumas melhorias que podem ser conferidas neste post.

logo-drupallogo-joomlaO Drupal e o Joomla são considerados os dois principais CMSs open source do momento e a comunidade de ambos vive trocando farpas. O site All Drupal Themes publicou os resultados da comparação de desempenho entre as últimas versões de cada um (Joomla 1.5 & Drupal 6.1). Parece que o Drupal ganhou disparado, vale a pena conferir.

logo-movabletypeE falando em farpas, o pessoal da Movable Type e do WordPress estão se pegando nos últimos dias. Tudo começou com um post publicado no blog da Movable Type com o título “Movable Type: A WordPress 2.5 Upgrade Guide” onde o autor sugeria a mudança para o sistema MT ao invés de fazer upgrade para a nova versão do WP, que parece não ter agradado a todos. O pessoal da Moveble Type, que se converteu para open source há 9 meses atrás (too late) resolveu jogar pesado e acabou despertando a indignação dos desenvolvedores do WP. Matt Mullenweg, um dos desenvolvedores fundadores do WordPress, respondeu muito bem a provocação.

logo-textpatternE para quem busca outras opções de Blog/CMS, vale a pela conferir o Textpattern, que apesar de ter uma comunidade bem menor e ser um sistema pouco atualizado, é muito prático e eficiente para quem procura por uma solução simples e sem muitas frescuras, que possa ser utilizada tanto como ferramenta de blog, como também CMS out of the box. A última versão do sistema, lançada dia 3 de fevereiro, é a 4.0.6

Pathauto

transliteraçãoUm dos significados de transliteração, em programação, é o recurso de converter os caracteres acentuados em caracteres limpos, ou seja: ã,á,à,â tornam-se simplesmente “a”. A palavra aviação, torna-se aviacao, e assim por diante. Pathauto é um módulo para o Drupal que cria URLs amigáveis para os nós do sistema. Assim o artigo “Não é aviação” que teria como endereço algo como http://www.teste.com.br/node/3 fica http://www.teste.com.br/nao-e-aviacao já com o último patch do Pathauto. No entanto, para que a transliteração funcione corretamente, você precisa renomear o arquivo i18n-ascii.example.txt que fica na pasta do módulo para i18n-ascii.txt. Este TXT contém a lista com os caracteres acentuados e suas respectivas transliterações, portanto pode ser editado e aprimorado.