CMS é a sigla para Content Management System, ou em bom português, Sistema Gerenciador de Conteúdo.

Essencialmente, um CMS tem como objetivo facilitar a criação, edição, publicação e distribuição de informação. Imagine um CMS como um esqueleto de um web site, necessitando apenas que você preencha este esqueleto com conteúdo, que é a informação que você deseja compartilhar.

Um CMS apresenta várias vantagens para dois principais tipos de público. Para começar um CMS é excelente para alguém que quer ter um web site, mas não tem conhecimento técnico, tempo ou dinheiro para produzir um site ou contratar terceiros para fazê-lo. Com um CMS, o conhecimento técnico para colocá-lo para funcionar é muito pequeno (mas não inexistente), e o editor só precisa se preocupar em desenvolver (ou pagar para desenvolver) um layout próprio. Mas se ele não se preocupar com isso, pode utilizar temas prontos distribuídos gratuitamente.

No outro lado, o CMS também facilita a vida dos desenvolvedores, pois apresentam várias soluções prontas (exemplo: enquete, sistema de comentários, gerenciamento de usuário, fórum, formulário de contato, entre outras coisas), reduzindo o tempo de desenvolvimento, e permitindo que os desenvolvedores se concentrem em produzir soluções mais específicas e na produção do layout.

Onde eu trabalho, utilizamos um CMS próprio, criado internamente. O sistema não possui tantos módulos quanto o Drupal, por exemplo (até porque sua criação é bem recente), mas o objetivo é o mesmo (para nós, desenvolvedores): reaproveitamento de código, reduzindo o tempo de desenvolvimento.

Existem gerenciadores de conteúdo Open Source e também de código fechado, assim como também existem gerenciadores de conteúdo gratuitos e claro, os pagos. Além disso, existem CMS para todo tipo de site e gosto: existe os específicos, como por exemplo, o Wordpress (para blogs) e o BBForum (para fóruns), e existe também os genéricos ou para grandes portais de conteúdo, como o próprio Drupal ou o Mambo.

Algumas características presentes na maioria dos CMS modernos:

  • Suporte a múltiplos usuários (registro, gerenciamento e atribuição de papéis a vários usuários).
  • Edição de conteúdo facilitada.
  • As funcionalidades iniciais podem ser ampliadas ou novas podem ser adicionadas através de plugins e/ou módulos.
  • Gerenciamento e controle de documentos através de publicação, revisão, arquivamento e eliminação de documentos.
  • Camada de apresentação gerenciada através de templates, permitindo a troca rápida da interface independente do conteúdo.
  • Controle de Fluxo. Por exemplo, um usuário pode enviar um artigo para um site, mas este não é publicado imediatamente, até que seja revisto por um editor e depois aprovado por um editor-chefe.

História do CMS

Os CMS foram desenvolvidos internamente por organizações que trabalhavam com edição e publicação de conteúdo online em grande quantidade, como revistas, portais, jornais e emails corporativos. Contudo, cada empresa possuía seu próprio sistema, e não existia a possibilidade de adquirir um gerenciador de conteúdo genérico, a menos que você contratasse alguém ou alguma empresa para desenvolvê-lo.

Em 1995, a CNET, uma empresa de mídia web, resolveu comercializar seu CMS através de uma empresa à parte, denominada Vignette, iniciando assim o comércio de gerenciadores de conteúdo.

Leitura complementar

Complementando este artigo, sugiro a visita de destes dois sites:

  • WebLivre.br101 - O autor lista e analisa uma grande lista de CMS, de vários tipos, como blogs, forums, intranet, wiki e CMS propriamente dito.
  • OpenSourceCMS (em inglês) - Se você quiser conhecer uma vasta gama de CMS, este site é o ideal. Ele lista vários (muitos mesmo) CMS de código aberto, e instala uma versão demo para os visitantes experimentarem cada um deles.