PHP-Nuke – Parte I

O mais popular, versátil e poderoso dos Sistemas de Gerenciamento de Conteúdo

                                                                            Luiz Gustavo Aleagi Nunes

 

lganphpnukefig01.jpg


Montar e gerenciar um website não é tarefa das mais simples. Todos os que já tentaram fazê-lo “à moda antiga” sabem da dificuldade que é gerar as páginas, organizar os conteúdos e o pior, manter tudo isso funcionando perfeitamente. Pequenas alterações de conteúdo tornam-se um martírio. Temos que abrir diversos softwares, fazer conexões com o servidor, enfim, gastar de um precioso recurso que se torna a cada dia mais escasso: o tempo!

 

Mas acalme-se, há uma luz no fim do túnel... O PHP-Nuke é, sem dúvida alguma, o mais versátil dos Sistemas de Gerenciamento de Conteúdo e neste artigo você será apresentado e convidado a entrar no vasto universo que o envolve. Iremos apresentar, portanto essa ferramenta e os principais componentes que o compõe, assim como suas principais características, usabilidade e principalmente, sua versatilidade.

 

O que é Conteúdo?

Já que estamos dispostos a gerenciar conteúdo (digital), temos que saber exatamente o que pretendemos gerenciar.

 

Conteúdo pode ser denominado: uma “unidade” de informação digital. Esta unidade pode ser um texto, uma imagem, um vídeo, uma música, um documento e até mesmo um dado em um Banco de Dados. Resumindo, é qualquer coisa que pode ser gerenciada em formato digital.

No contexto de um portal web, conteúdo é uma notícia de um portal, é uma imagem de uma galeria de fotos ou ainda uma mensagem em um Fórum de discussão, enfim, é toda e qualquer informação de um site.

 

Afinal, o que é um Sistema de Gerenciamento de Conteúdo?

Um Sistema de Gerenciamento de Conteúdo (CMS - Content Management System) é uma ferramenta com uma série de regras e fluxos de trabalho (workflows) que, operada pelo administrador de um portal, permite a inserção, ordenação e recuperação de conteúdos. Esta ferramenta é utilizada, portanto principalmente para auxiliar o desenvolvimento e manutenção de um portal web.

 

Quando se desenvolve um portal de notícias, por exemplo, esse portal deve disponibilizar serviços que sejam responsáveis pelo cadastro de usuários, pela verificação de login destes usuários, pela inserção de conteúdo em uma área de acesso limitado a um administrador/editor (o texto da notícia, possíveis imagens, etc), pela exibição das notícias e outro responsável pelo gerenciamento de enquete. Portanto o administrador desse portal deve implementar esses serviços e depois manter o seu funcionamento. Quando se usa um CMS, esses serviços já estão implementados e foram construídos de forma integrada, o que facilita o trabalho do administrador, pois ele deverá somente ter que gerenciar cada um desses serviços.

 

Um CMS pode ser implementado nas mais diversas linguagens de programação e afins, tais como ASP, Perl, JavaScript e a mais usual de todas, o PHP (que não é linguagem de programação!). Vale a pena lembrar que é muito comum a associação destas ferramentas com um Banco de Dados (geralmente MySQL), devido às facilidades oferecidas pelos SGBD no gerenciamento de dados.

 

O CMS tem como característica disponibilizar uma interface amigável e ser totalmente portável (que pode ser rodado em qualquer plataforma, desde que tenha os pré-requisitos mínimos necessários: servidor de páginas + PHP + MySQL). A interface é extremamente amigável, pois utiliza um Menu de Administração com ícones e links categorizados.

 

Principais características de um CMS:

- Uma ferramenta que permite que o gerenciamento de conteúdo;

- Utiliza, quase que em sua totalidade, uma interface web;

- Geralmente utiliza um Banco de Dados;

 

Porque existem tantos CMS diferentes?

Há dezenas, senão centenas, de CMS diferentes, cada um deles com suas peculiaridades únicas. O que leva um desenvolvedor a criar um novo CMS  é, quase sempre, a necessidade de melhorar o que já existe, seja por simples questão ideológica ou por necessidade.

 

O fluxo de trabalho (workflow), a maneira que os dados são mostrados, a linguagem utilizada na programação dos scripts, a segurança do código, enfim, há um leque infindável de fatores que podem contribuir para o nascimento de mais um CMS, porém, todos eles possuem o mesmo propósito: facilitar a entrada, classificação, organização e recuperação de conteúdos que serão disponibilizados no portal.

 

A grande vantagem desse arsenal de ferramentas é que o usuário tem liberdade para testar cada uma delas, escolhendo aquela que melhor se adapta às suas necessidades.

A desvantagem fica por conta da dificuldade encontrada por quem pretende iniciar um portal utilizando uma ferramenta CMS. Essa pessoa terá que conhecer a fundo o potencial de cada uma das ferramentas para que a mais adaptada às características do portal a ser construído seja escolhida.

 

Por isso, é muito comum haver consultores especializados nestas ferramentas, pois essa ainda é a melhor maneira de se economizar tempo e capital. Essas consultorias podem incluir desde simples customizações, como o desenvolvimento de um serviço específico, customização visual e até treinamento nas funcionalidades disponibilizadas pelo CMS.

 

O que é PHP-Nuke?

Se não for o mais conhecido dos CMS existente, o PHP-Nuke é um dos versáteis. A versatilidade se dá por conta da variedade de possibilidades onde se é possível utilizar o PHP-Nuke, desde um weblog pessoal até um portal corporativo empresarial, passando por um site de fã de jogos (clãs), comunidade de usuários de um determinado programa, fãs de uma banda ou estilo musical, uma operadora de mergulho, uma imobiliária, enfim, não há limites para a sua versatilidade!

 

O PHP-Nuke (Figura 1) é uma coletânea de scripts escritos em PHP que deve ser instalado junto com um servidor de páginas (Apache) e um servidor de Banco de Dados (MySQL, preferencialmente) na máquina que será o servidor do portal.

 

O PHP-Nuke é um sistema bastante modular que proporciona uma posição de destaque dentre os muitos CMS. E por conta deste destaque, ele é o que possui o maior número de módulos e blocos (que disponibilizam diferentes funcionalidades), templates (que permitem customizar graficamente o portal) e grande disponibilidade de profissionais que podem oferecer suporte.

 

Estima-se que em pouco mais de 5 anos existam mais de 500.000 usuários que estão fazendo uso do PHP-Nuke. Eles estão espalhados por todo o planeta, tendo comunidades representativas nos 5 continentes, e “falando” mais de 25 idiomas diferentes. Estas Comunidades são bastante ativas e muitas delas desenvolvem ferramentas próprias para o PHP-Nuke, geralmente batizando-as com seu nome, como é o caso do CNB-YA (CNB Your_Account), um Módulo de gerenciamento de usuários que permite que se tenha muito mais controle sobre seus usuários.

 

Histórico do PHP-Nuke

Por volta de agosto de 1998, Francisco Burzi escreveu um script em Perl e o batizou de Nuke e o utilizou na construção e gerenciamento do site "Linux Preview", por mais ou menos 1 ano. O problema surgiu quando o site começou a crescer e surgiu a necessidade de utilizar um sistema mais versátil e poderoso. Francisco então decidiu usar o Slash, o mesmo sistema utilizado no site Slashdot.net. Ele era muito bom, mas o usuário precisava realmente saber Perl para modificá-lo, faltavam vários Módulos, necessitava rodar um deamon que sugava todo o processamento do servidor (um PIII parecia um 386!).

 

Então, Francisco, em sua busca por algo melhor e mais potente, encontrou o Thatware, um excelente Projeto para ter notícias em um site utilizando o PHP. Para isso, ele aprendeu PHP em menos de uma semana e começou a modificá-lo. Há muitas modificações que poderiam ser mencionadas, mas Francisco afirma que praticamente o re-escreveu. Ele adicionou algumas coisas muito úteis, apagou as que julgavam inúteis e após quase 380 horas de trabalho duro em 3 semanas nasceu o PHP-Nuke.

 

No dia 17 de agosto de 2000, ele vendeu o linuxpreview.org para o linuxalianza.com e então Francisco encontrou o tempo que necessitava para se dedicar exclusivamente para o desenvolvimento do PHP-Nuke.

 

De janeiro de 2001 a janeiro de 2002, o PHP-Nuke foi custeado pela MandrakeSoft, os desenvolvedores desta distribuição do Linux. Com essa contribuição da Mandrake, o PHP-Nuke recebeu uma carga extra de oxigênio que tornou possível a realização de diversos implementos no sistema.

 

Agora, sem o apoio da Mandrake, Francisco está sozinho no que ele chamou de "Projeto de matar!". No momento, são principalmente usuários que desenvolvem Módulos e Temas para o PHP-Nuke.

 

Phpnuke.org é um site enorme, com milhares de usuários e muita informação de suporte espalhadas por todos os cantos do mundo. Não se pode deixar de mencionar que existem diversos portais locais (Comunidades) que fornecem suporte para quase todos os idiomas que você pode imaginar. Para mais informações, dê uma olhada em http://phpnuke.org.

Abaixo, uma tabela com as datas e versões do PHP-Nuke.

 

Lançamento

Versão

Lançamento

Versão

06/2000

1.0

01/2002

5.4

07/2000

2.02

02/2002

5.5

08/2000

2.5

06/2002

5.6

08/2000

3.0

09/2002

6.0

09/2000

3.5

03/2003

6.5

09/2000

3.6

05/2003

6.6

10/2000

4.0

06/2003

6.7

10/2000

4.1

07/2003

6.8

10/2000

4.2

08/2003

6.9

12/2000

4.3

12/2003

7.0

01/2001

4.4

01/2004

7.1

02/2001

4.4.1

03/2004

7.2

06/2001

5.0

05/2004

7.3

07/2001

5.0.1

07/2004

7.4

08/2001

5.1

09/2004

7.5

08/2001

5.2

11/2004

7.6

11/2001

5.3

04/2005

7.7

11/2001

5.3.1

06/2005

7.8

 

A versão 7.9 foi lançada em Setembro de 2005 mais ainda não é uma versão estável.

 

lganphpnukefig02.jpg
Figura 1 – Aspecto inicial após a instalação padrão do PHP-Nuke. 

 

Tipos de usuários do PHP-Nuke

A grande vantagem em utilizar um Sistema de Gerenciamento de Conteúdo é que existem inúmeros Módulos e Blocos que podem ser agregados ao seu portal e que disponibilizam serviços que tornam esse portal cada vez mais atraente aos usuários. Esses add-ons são desenvolvidos por programadores e podem ser disponibilizados sob licença GNU/GPL ou não.

 

O Php-Nuke possui dois tipos de usuários, os usuários administradores e usuários comuns. O gerenciamento dos serviços que serão disponibilizados no seu portal é feito através de um Menu de Administração. Os usuários administradores estão divididos em duas subcategorias: God Admin (Administrador pleno) e Administrador de módulo. A diferença é que o segundo pode ter poderes limitados a um determinado Módulo, como por exemplo, um Administrador que seja responsável apenas pelo controle de usuários ou pela publicação de notícias.

 

Já a área de usuários é também subdividida em duas subcategorias: Usuário Anônimo, que é aquele que não é cadastrado no portal ou ainda não efetuou o login, e o Usuário Cadastrado. Este último é um usuário que por algum motivo tem acesso a conteúdos e serviços restritos.

Dentro do sistema ainda é possível determinar que conteúdo ficará disponível para qual destes tipos de usuários. Isso facilita bastante a possibilidade de se restringir o conteúdo a um determinado grupo.

 

Componentes disponibilizados pelo PHP-Nuke

Existem principalmente dois tipos de componentes que formam um portal PHP-Nuke: os módulos e blocos.

 

lganphpnukefig03.jpg 

Figura 2 –Tipo de Bloco que pode ser instalado em uma página. Este lista os Módulos instalados no Sistema.

 

Entende-se por Módulo um ou mais scripts que realizam uma função específica, como por exemplo, o cadastro de usuários, a publicação de uma notícia, uma enquete ou ainda uma galeria de fotos ou um fórum.

 

Já Blocos são as chamadas “caixinhas” que ficam na lateral dos portais feitos em PHP-Nuke. Elas são, basicamente, atalhos para informações interessantes, podendo ser de 3 tipos:

 

1. Bloco HTML

Este tipo de Bloco é o mais simples deles. Ele é composto por codificação HTML pura e serve para, por exemplo, mostrar uma imagem ou inserir um (ou mais) links simples.

 

2. Bloco PHP

Este tipo é o mais utilizado. Ele é, na verdade, um atalho para um Módulo e possui codificação PHP dentro dele. Ele deve ser nomeado como block-Nome_do_Bloco.php e ser acondicionado no diretório /blocks, para que o Sistema o identifique como tal. Dessa maneira através do Menu de Administração é possível adicionar e excluir Blocos deste tipo.

 

3. Bloco RSS/RDF

Talvez o menos utilizado, porém, não menos importante. Este Bloco serve para vericulação de notícia de sites de terceiros, desde que o referido site possua um sistema de divulgação de notícias via RSS.

 

Para que ele funcione adequadamente basta inserir o endereço do RSS do site, por exemplo: http://phpnuke.org.br/backend.php.

 

 

Luiz Gustavo Aleagi Nunes (aleagi@phpnuke.org.br | aleagi@gmail.com) é Biólogo Marinho, webmaster especializado em Temas e design, além de ser um dos administradores e idealizadores da CNB - Comunidade PHP-Nuke Brasil (http://phpnuke.org.br), o maior Portal de PHP-Nuke em idioma Português. É também Consultor Técnico do Grupo Baggio (http://baggio.com), Empresa que atua na área de Tecnologia da Informação, Hospedagem corporativa e Soluções Web.

Leia também